Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ tokio = { version = "1.53", features = ["full"] }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tracing = "0.1.44"
tracing-appender = "0.2"
fs2 = "0.4"
uuid = { version = "1", features = ["v4"] }
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,14 @@ Alan is a minimal coding agent written in Rust. It runs in your terminal and use
- Optional OpenRouter web search and web fetch tools
- Tool-call execution with configurable round limits
- Plan mode toggled with `/plan` or `Shift+Tab`
- Interactive provider login overlay
- File/folder path completion in the prompt (`@`)
- Configurable reasoning effort
- Session history persisted under `~/.alan/sessions`
- Session history is stored under `$ALAN_HOME/.alan/sessions` (or
`$HOME/.alan/sessions` when `ALAN_HOME` is unset). Each working directory
gets its own hashed subdirectory, containing append-only JSONL session files.
Sessions are created on the first non-empty prompt.
- To resume a session, set `ALAN_SESSION` to the session ID (the filename
without `.jsonl`) and start Alan from the same working directory. For
example: `ALAN_SESSION=018f... cargo run -p alan`. The configured model and
provider must match the stored session.

## Requirements

Expand Down Expand Up @@ -60,7 +64,8 @@ All variables are optional:
| Variable | Purpose | Default |
|---|---|---|
| `ALAN_MODEL` | Model id | `openai/gpt-4o-mini` |
| `ALAN_HOME` | Alan home directory | `$HOME` |
| `ALAN_HOME` | Alan home directory (Alan uses `$ALAN_HOME/.alan/`) | `$HOME` |
| `ALAN_SESSION` | Resume this session ID from the current working directory | unset |
| `ALAN_REASONING_EFFORT` | `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max` | unset |
| `ALAN_OPENROUTER_WEB_SEARCH` | Enable web search tool (`1`, `true`, `yes`, `on`) | off |
| `ALAN_OPENROUTER_WEB_FETCH` | Enable web fetch tool (`1`, `true`, `yes`, `on`) | off |
Expand Down
3 changes: 2 additions & 1 deletion crates/agent/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ futures-util = { workspace = true }
llm = { workspace = true }
providers = { path = "../providers" }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
tools = { path = "../tools" }
uuid = { workspace = true }
fs2 = { workspace = true }

[dev-dependencies]
futures-util = { workspace = true }
serde_json = { workspace = true }
Loading