Anthropic · OpenAI · Gemini · DeepSeek · Kimi · Qwen · Zhipu · MiniMax · Ollama · LM Studio · custom endpoints. /model to switch mid-session.
Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, NotebookEdit, GetDiagnostics, Memory, Tasks, Agents, Skills, and more. Everything the agent needs.
Drop a .mcp.json. Any MCP server registers instantly as mcp__server__tool. stdio, SSE, HTTP. Manage with /mcp.
Auto-Adapter onboards any Python repo with zero manifest. Hot-reload in-session. No restart. Tools appear immediately.
Spawn typed agents — coder, reviewer, researcher, tester — each in its own git worktree. Agents communicate via message passing.
Offline STT via Whisper. No API key. No cloud. /voice lang zh · /voice device. Hint domain terms with voice_keyterms.txt.
Multi-persona AI debate. Dulus generates expert roles and has them argue. Council of ghosts. Skeptic PM, Staff Eng 2037, Hot-take Intern.
Ten workflow shortcuts behind one keystroke. Refactor → review → test → commit → ship. Chained. Unattended. /ssj.
Run Dulus from your phone. Slash commands, vision, and voice from Telegram. Poke a long-running agent from the bus. /telegram token id.
Auto-snapshot conversation + files every turn. Break something? /checkpoint 042 and files + context rewind together.
Dual-scope (user + project). Ranked by confidence × recency. Mark memories gold to pin them forever. /memory consolidate.
Read-only analysis phase before touching anything. Only plan.md is writable. Think first, break things later. /plan.
Swap models mid-session with /model <name>. Auto-detection handles provider prefix. Colon syntax also works.
NVIDIA NIM hosts frontier models at 40 RPM each, free. Sign up at build.nvidia.com and Dulus routes to them automatically — with fallback when limits hit.
Clone the repo. No monorepo, no workspace, no lockfile drama. Just a folder.
Use uv tool install . for a global install or pip install -r requirements.txt and run directly. No build step.
Any of the provider keys. Or skip entirely and use Ollama locally — no API key needed.
Type dulus. Hit Enter. Tell it what to do. /help if you need a map.
Dulus spawns model personas and has them argue your problem in parallel — then lets you interrupt, address one directly, or stop the whole table mid-debate.
Sub-agents work autonomously in parallel. Every push, review, and message is logged in real time. The flock never sleeps.
Plugins are not built-in — that's the point. Dulus ships with zero plugins by default. When you need one, point it at any Python repo and the Auto-Adapter reads the code, generates the manifest, installs deps, and registers the tools live. No YAML. No API. No manifest file required. This is a Dulus-exclusive feature.
plugin_tool.py, instala dependencias, verifica exports.Dulus connects natively to Composio — the largest library of Anthropic-compatible tools. GitHub, Slack, Linear, Notion, Jira, Gmail, Google Sheets, Postgres, Stripe… inject any skill in seconds.
Dulus can talk to Claude, Kimi, Gemini and DeepSeek through their browser sessions — no API key, no per-token billing. Your Pro subscription becomes a Dulus provider.
One flag. Any provider. Dulus speaks every dialect — cloud, local, free, paid. Switch mid-session with /model.
CUSTOM_BASE_URL at it. Same Dulus, zero changes.ollama/qwen2.5-coder:32bollama/qwqollama/phi4-mini
Full offline voice pipeline. Whisper in, Kokoro out. No cloud. No subscription. Your machine, your voice.
/voice device/voice lang zhvoice_keyterms.txtFull Dulus in Telegram. Slash commands, model switching, file sharing, streaming responses. Poke a long-running agent from the bus.
TELEGRAM_BOT_TOKEN — that's the whole config. Auto-starts next launch./telegram <token> <chat_id>SSJ = Super Saiyan. When you need to see everything. Token counts, provider debug logs, stream latency, tool inspector, prompt viewer. Nothing hidden.
Like git commits for your conversations. Persistent memory survives sessions. Checkpoints let you rewind files and context together.
Facts, preferences, project context — remembered across sessions. Ranked by confidence × recency.
Auto-snapshot conversation + files every turn. Break something? Rewind. Files and context restored together.
No terminal required. Spin up a local web UI with one command — Flask backend, full streaming, task manager, personas, everything. Same Dulus, glass UI.
/webchat — starts Flask on localhost:5000. LAN-accessible too.Create, assign, filter, and close tasks from the REPL, the WebChat, or the Desktop GUI. Agents report progress automatically. Everything in one board.
Full PyQt app. Sidebar history, persona switching, integrated task board, tool panel, theme selector, settings dialog. Every Dulus feature, no terminal required.
gui/themes.py. Hot-swap without restart.python dulus_gui.pypython dulus_gui.py --theme darkqwen2.5-coder, llama3.3, mistral, phi4. Base models without tool-use fine-tuning won't dispatch tools reliably./config custom_base_url=http://your-server:8000/v1 then /model custom/your-model-name. Any OpenAI-compatible server works.--accept-all auto-approves every write and shell command. On prod: don't. Use plan mode (read-only, only plan.md writable) or the default auto mode that prompts before writes. Use your brain — Dulus will use its talons..dulus/voice_keyterms.txt, one per line. Whisper respects the hint list. Works great for obscure package names, internal project names, acronyms./cost in the REPL. Dulus tracks token usage and estimates USD cost for every turn, broken down by model. Session totals persist across /save//load.dulus/spinners.py, add your line, PR it. Bonus points for a cultural reference we'll understand in 2046. The current record holder: "☕ If I'm taking so long, don't worry, I'm just talking to your mom."