dothething
THE AGENT THAT GETS IT DONE

You describe
the thing.
It does
the thing.

An autonomous AI agent that runs locally, thinks for itself, and gets stuff done. Give it a task, walk away, come back to results.

Main Agent
Claude Fable 5 executes core logic and tools
Oracle
GPT-5.5 consulted for complex reasoning
INITIALIZATION // INSTALL SCRIPT
curl -fsSL dotheth.ing/install.sh | bash
SYS.REQ: Python 3, Git, OpenRouter API key. // ENV: macOS / Linux / WSL. // DIR: /tmp/dothething/
SEC 01 // CAPABILITIES

NOT just a coding agent. DTT operates across functional domains autonomously.


  • Research & Analysis Synthesizes data and writes comprehensive reports.
  • Data Extraction Processes documents and outputs structured formats.
  • System Administration Automates local configuration and maintenance tasks.
  • Web Investigation Conducts competitive analysis via real browser instances.
  • Email Automation Sends and receives email through AgentMail.
SEC 02 // CORE MECHANICS
  • Workflow Architecture Describe task in plain language → agent drafts numbered plan → executes autonomously → searches web, reads/writes files, runs shell commands → delivers final output.
  • Result Mode Every tool call includes a result_mode. "raw" delivers exact output; "goal" string pipes output through a cheaper model (Gemini 3.5 Flash) for focused summary, preserving context window.
  • Stacked Tool Calls Many tool calls per reply, all parallel by default. An optional exec_order field sequences them into stages: calls sharing a number run together, and the next stage waits for the previous one to finish. "Make a directory, write three files into it, list it" is one round-trip instead of three. If a whole stage fails, everything after it is skipped.
  • Browser Automation Notte + Camoufox (stealth Firefox) under the hood. fetch_page pulls clean markdown, no LLM cost. Captchas get solved in the background. For login flows or multi-step SPAs, browser_agent hands the session off to a Sonnet-powered browser agent.
  • Orchestrator Mode --orchestrator opens a Textual terminal UI for running multiple agents in parallel. One line per session showing status, phase, elapsed time, and cost. Expand any session to watch its log, send input, terminate, or copy output. A smart launcher takes your prompt, has Fable split the work, and spins up to 16 concurrent agents. Shows a cost estimate before launch.
  • Live Input Press any key while the agent runs to open an input bar. Enter injects your message immediately, Ctrl-Q queues it for after the current step, Esc cancels. The agent can also ask you questions: OTP codes, preferences, confirmation before destructive actions.
  • Email Send and receive email through AgentMail. First time: the agent signs up, you confirm a one-time OTP from your personal email, and the API key is saved. After that, email works on its own across sessions.
  • Quick Mode dtt q "what's the weather in Cape Town" for small tasks. Runs Opus 4.8 with a trimmed toolset (no oracle, no planning bookkeeping) and aims to finish in two turns: one reply carrying every tool call the job needs, staged with exec_order, then the answer. Loop cap drops to 15. Add --fast for Opus 4.8-fast.
  • Thread Persistence Sessions save to ~/.dtt/threads/ with timestamped IDs. Pick up where you left off with --resume <id>. Full cost breakdown prints on exit: tokens, cache hits, dollars.
  • Prompt Caching OpenRouter sticky routing plus Anthropic block-level cache controls. Long tasks hit the cache on subsequent turns and input costs drop sharply.
  • Skills & MCP Drop any Claude Code SKILL.md into ~/.dtt/skills/<name>/. Skills with allowed-tools inject into the system prompt; others run as isolated Gemini 3.5 Flash sub-tasks. MCP servers plug in via ~/.dtt/mcp.json (same format as Claude Code).
  • Clipboard Copies text or images to and pastes from the system clipboard. macOS, Linux (X11 and Wayland), and Windows.
  • Self-Management The agent manages its own configuration at runtime. Tell it to add an API key, install a skill, or connect an MCP server and it handles the file edits and reloads itself. Three tools: manage_config, manage_skill, manage_mcp.
  • Auto-Update The script checks dotheth.ing/VERSION every 6 hours and self-updates if there's a newer version. --update forces an immediate check.
SYS.TOOLS // MODULE REGISTRY
file_ops
read_file, write_file, edit_file, batch_read, diff_files
search
glob, list_dir, search_file
shell
run_command, run_code (Python/Bash/TS), wait, request_user_input
web
search_web (SearXNG), fetch_page (Notte), browser_agent, http_request
vision
analyze_image
oracle
oracle, think. GPT-5.5 second opinion + free reasoning scratchpad.
notes
notes_add, notes_read, notes_clear
planning
plan_create, plan_remaining, plan_update, plan_completed
delegate
Farm sub-tasks to cheaper Gemini 3.5 Flash workers.
skills
use_skill. Loads ~/.dtt/skills/<name>/SKILL.md (Claude Code format).
mcp
Any Claude Code MCP server via ~/.dtt/mcp.json.
batch
batch_process, analyze_data. Parallel Gemini 3.5 Flash workers for bulk jobs.
clipboard
clipboard_copy, clipboard_paste. macOS, Linux, Windows.
config
manage_config, manage_skill, manage_mcp. Runtime self-configuration.
email
email_auth, email_list_inboxes, email_create_inbox, email_list, email_read, email_send, email_delete
CLI.FLAGS // PARAMETERS
--promptInitial task description.
q / --quickQuick mode: one-shot on Opus 4.8, stacked tool calls, no oracle.
--fastSwaps to Opus 4.8-fast.
--oracleproUpgrades oracle to GPT-5.5-pro.
--model ROLE=SLUGOverride any model role: main, worker, oracle, browser. Repeatable; also via DTT_MODEL_* env vars.
--max-effortPin oracle effort to high, its native ceiling (Fable always xhigh).
--cwd DIRSet working directory.
--resume IDLoad thread from ~/.dtt/threads/
--max-loops NLimit iteration cycles.
--verboseStream raw thought process.
--headedShow the browser window for visual debug.
--debugLog raw API payloads and cache metrics.
--orchestratorLaunch orchestrator mode (multiple parallel agents).
--pipeFinal report to stdout; suppress everything else.
--tuiFull-screen TUI for single-agent mode.
--notify-desktopDesktop notification when the task finishes.
--notify-email EMAILEmail a notification when the task finishes.
--max-cost USDStop and checkpoint at this cumulative cost.
--version / -VPrint version and exit.
--updateForce an update check (bypasses 6-hour rate limit).
--keep-tempKeep /tmp/dothething on exit.