mandeven is an agent for research work and everyday life written in Rust.
Note
Prebuilt binaries are Apple Silicon macOS only. Other platforms build from source — anywhere a Rust 2024 toolchain runs.
curl -fsSL https://raw.githubusercontent.com/Si1w/mandeven/main/scripts/install.sh | shOr from source (installs into ~/.cargo/bin/):
git clone https://github.com/Si1w/mandeven.git
cd mandeven
cargo install --path .1. Set your provider API key
| Provider | Env var |
|---|---|
| Deepseek | DEEPSEEK_API_KEY |
| Mistral | MISTRAL_API_KEY |
2. Launch
mandevenFirst launch walks an interactive prompt for provider, model, and
context window, then writes ~/.mandeven/mandeven.toml. A typical
result looks like this — multiple providers and profiles can coexist;
the default key picks which one runs:
[llm]
default = "deepseek/deepseek-v4-flash"
[llm.mistral.mistral-small]
model_name = "mistral-small-latest"
max_context_window = 256000
[llm.deepseek.deepseek-v4-flash]
model_name = "deepseek-v4-flash"
max_context_window = 1000000
[agent.memory]
enabled = true
max_bytes = 25000
max_lines = 2003. Chat
Type into the composer. /help shows the slash-command panel.
Registered automatically and advertised to the model on every turn.
| Capability | Covers |
|---|---|
| File | Read regular UTF-8 files up to 5 MiB; write/edit inside the workspace; content search |
| Shell | Run commands with read-only allow-listing or workspace-write deny-listing; not an OS sandbox |
| Web | DuckDuckGo search and URL fetch with HTML→Markdown + SSRF guard |
| Task | Markdown-backed work items (create / update / list / get / run) for multi-step plans and scheduled work |
| Timer | JSON-backed at / every / cron schedules bound to task ids (create / update / list / delete / fire now) |
The agent talks to the user through a pluggable channel layer.
| Channel | Status |
|---|---|
tui |
built-in ratatui terminal UI |
discord |
DM-only adapter, opt-in via [channels.discord] |
wechat |
text-only personal WeChat iLink adapter with QR login, opt-in via [channels.wechat] |
These are backing stores for the tool instruction set and optional
subsystems, not separate tool categories. Runtime-mutable state lives in
sidecar files; durable enable/budget knobs live in mandeven.toml.
| State | Source | Effect |
|---|---|---|
skills |
built-in + ~/.mandeven/skills/<name>/SKILL.md |
Surfaced as /<name> slash commands + the skill tool |
hooks |
~/.mandeven/hooks.json |
Shell commands fired on lifecycle events |
tasks |
project bucket tasks/*.md |
User-visible task state and explicit task executions |
timers |
~/.mandeven/timers.json |
Schedule triggers for tasks and skills |
exec |
project bucket execution/*.jsonl |
Machine-readable history for task executions |
memory |
~/.mandeven/MEMORY.md + [agent.memory] |
Durable user memory injected as transient user context |
Apache License 2.0. See LICENSE.