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.
mkdir -p ~/.local/bin && curl -fsSL dotheth.ing/dtt.sh -o ~/.local/bin/dtt && chmod +x ~/.local/bin/dtt
SYS.REQ: Python 3, Git, OpenRouter API key. // ENV: macOS / Linux / WSL. // DIR: /tmp/dothething/
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.
- 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 (Sonnet 4.6) for focused summary, preserving context window. - Browser Automation
Notte + Camoufox (stealth Firefox) under the hood.
fetch_pagepulls clean markdown, no LLM cost. Captchas get solved in the background. For login flows or multi-step SPAs,browser_agenthands the session off to a Sonnet-powered browser agent. - Orchestrator Mode
--orchestratoropens 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 Opus 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.
- 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.mdinto~/.dtt/skills/<name>/. Skills withallowed-toolsinject into the system prompt; others run as isolated Sonnet 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/VERSIONevery 6 hours and self-updates if there's a newer version.--updateforces an immediate check.
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.4 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 Sonnet 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 Sonnet 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
| --prompt | Initial task description. |
| --fast | Swaps to Opus 4.6-fast. |
| --oraclepro | Upgrades oracle to GPT-5.4-pro. |
| --cwd DIR | Set working directory. |
| --resume ID | Load thread from ~/.dtt/threads/ |
| --max-loops N | Limit iteration cycles. |
| --verbose | Stream raw thought process. |
| --headed | Show the browser window for visual debug. |
| --debug | Log raw API payloads and cache metrics. |
| --orchestrator | Launch orchestrator mode (multiple parallel agents). |
| --version / -V | Print version and exit. |
| --update | Force an update check (bypasses 6-hour rate limit). |
| --keep-temp | Keep /tmp/dothething on exit. |