A simple, open and extensible AI agent for the terminal. Connect to any OpenAI, Anthropic or Ollama-compatible endpoint and get session management, persistent memory, vector search, native and MCP tools, skills, external tool hooks and container support — all in one sleek CLI.
A simulated Wisemonkey session — the welcome screen you see on first launch, followed by example prompts showcasing natural-language control over tools, memory, sessions, providers, and MCP servers.
╻ ╻╻┏━┓┏━╸┏┳┓┏━┓┏┓╻╻┏ ┏━╸╻ ╻ ┃╻┃┃┗━┓┣╸ ┃┃┃┃ ┃┃┗┫┣┻┓┣╸ ┗┳┛ ┗┻┛╹┗━┛┗━╸╹ ╹┗━┛╹ ╹╹ ╹┗━╸ ╹ v2026.10.15 commit: 09cd2a5
Summarise what changed in this repo today and list anything I left unfinished.
Assistant:Five files touched this morning, mostly in src/cache. Two loose ends: the eviction path still has no test, and the retry backoff is hard-coded. Want me to open an issue for those? (continued)
Connect to OpenAI, Anthropic, Ollama, LM Studio, or any OpenAI-compatible router. Per-endpoint API keys resolve from an ordered chain — switch providers without moving a single key.
Session-scoped chat history, user profiles and notes that survive restarts. A rolling window and token-cap compaction keep the context bounded, with everything trimmed archived instead of lost.
Embed PDFs and documents into a per-session vector store with /embed. The agent retrieves relevant context on demand.
Connect to Model Context Protocol servers over stdio, HTTP or SSE for filesystem access, GitHub, databases, and more. Standard mcp.json format.
Files, search, shells and background jobs, images, web, memory, plans, screenshots. Register more at runtime — MCP tools are auto-discovered and injected.
Real-time token streaming with per-provider reasoning effort and a live token counter — the status line shows the turn's delta, prompt tokens and cost.
Guard programs run before every tool call, using the Claude Code / Codex hook protocol. Plug in dcg or any existing hook to allow, ask or deny — in the REPL and in daemon mode.
Run the agent with wmkc: no Python or uv on the host. It runs as your user, mounts only the workspace, config and data, and needs no capabilities.
Type while the model is working and your line is injected at the next tool-call seam — a real correction mid-turn, not a new one. Plus client/server mode for shared sessions.
uvOn first run, Wisemonkey creates ~/.config/wisemonkey/config.yaml with sensible defaults. Works with any OpenAI-compatible endpoint out of the box — and a session can override it with its own copy.
LM Studio, Claude, Ollama, OpenWebUI, or your own server. Just set base_url.
Set model.thinking.effort to none, minimal, low, medium, high, xhigh or max. Each provider translates the level to its own dialect; visibility is toggled with display.
Declare agent.hooks guards that inspect every tool call. A hook that cannot start fails open; one that hangs or misbehaves fails closed.
A session loads <session_dir>/config.yaml first and falls back to the global config, so sessions can diverge freely.
Enable vi_mode for vim-style editing (v opens your editor), and give the agent an identity with a global or workspace SOUL.md.
mcp.jsonEdit MCP servers in a format you are comfortable with — stdio, HTTP or SSE.