{"slug": "task-hounds-a-local-first-inspectable-multi-agent-dev-workspace", "title": "Task Hounds – a local-first, inspectable multi-agent dev workspace", "summary": "Task Hounds, a local-first, inspectable multi-agent development workspace powered by OpenCode, has been released as an MIT-licensed open-source project on GitHub. The tool turns one human goal into a visible development loop where a Manager plans, a Worker implements, and a Reviewer verifies each task, with all directives, plans, todos, reports, and agent state stored locally in a SQLite-backed database. It offers a web dashboard, Windows desktop app, Docker support, and an experimental Android client, designed for developers who want agent autonomy without giving up control or context.", "body_md": "**Work like a dog. Ship like a pack.**\n\nA local, inspectable multi-agent development workspace powered by OpenCode.\n\n[Website](https://task-hounds.com)\n· [GitHub](https://github.com/catowabisabi/task-hounds)\n· [Demo](https://www.youtube.com/watch?v=pu-Rt8Ye4EQ&t=174s)\n· [Issues](https://github.com/catowabisabi/task-hounds/issues)\n\nTask Hounds turns one human goal into a visible development loop. Give the pack a **Human Directive**; the Manager plans, the Worker implements, and the Reviewer checks the result before the next task begins.\n\nUnlike a black-box coding assistant, Task Hounds keeps the work inspectable. Directives, plans, todos, reports, agent state, and reusable OpenCode sessions are stored locally, while the dashboard shows what every agent is doing in real time.\n\nIt is designed for developers who want agent autonomy **without giving up control or context**.\n\n| Role | Responsibility |\n|---|---|\nYou |\nSet the durable project mission, add ideas, and redirect the work at any time. |\nManager |\nUnderstand context, maintain the plan, and assign one concrete task at a time. |\nWorker |\nImplement the selected task and report files changed, tests, and known issues. |\nReviewer |\nInspect the result for bugs, UX problems, edge cases, and safety risks. |\nChat |\nLet you discuss the project and interact with the system directly. |\n\n``` php\nflowchart LR\n    H[\"Human Directive\"] --> M[\"Manager<br>Plan & delegate\"]\n    M --> W[\"Worker<br>Implement\"]\n    W --> R[\"Reviewer<br>Verify\"]\n    R --> M\n    M --> D[\"Live dashboard<br>Todos, reports & state\"]\n    W --> D\n    R --> D\n```\n\n| Input | Meaning | Lifecycle |\n|---|---|---|\n`HUMAN_DIRECTIVE` |\nThe durable project or session mission. | Copied into each new session in the same project. The agent loop never edits or deletes it; only a human can change it. |\n`HUMAN_NEW_THOUGHT_AND_SUGGESTION` |\nDirection, questions, product taste, concerns, or ideas. | The Manager digests it, may turn it into todo items, then marks it processed while preserving its history. |\n`HUMAN_SUGGESTED_NEW_TASK_OR_ITEM` |\nAn explicit feature or work item. | The Manager adds it to the plan and todo system when appropriate, then marks it processed while preserving its history. |\n\nThe loop runs on an explicit message contract: the Manager digests input, decides, plans, and releases exactly one task; the Worker implements and files a structured report; the Reviewer verifies and routes feedback back to the Manager. Machine-readable todo JSON is validated (and repaired) before any work is released.\n\n**Full specification — complete loop, role/data-flow diagram, time sequence, and hard\nrules: docs/architecture/agent-loop-contract.md**\n\n**Local first**— your workspace, database, runtime state, and logs stay on your machine.** Inspectable by design**— follow live thinking, tool activity, todos, reports, and review feedback.** Persistent context**— SQLite-backed project state and reusable role sessions survive across loops.** Clear responsibilities**— planning, implementation, and review are handled by separate agents.** Human steerable**— change direction with durable directives, thoughts, and suggested tasks.** Multiple ways to run**— web dashboard, Windows desktop app, Docker, and an experimental Android client.** Open source**— MIT licensed and ready to adapt.\n\n```\ngit clone https://github.com/catowabisabi/task-hounds.git\ncd task-hounds\ndocker compose up\n```\n\nThen open [http://localhost:8765](http://localhost:8765). The image builds the dashboard for you — no Python or Node setup required. Project data persists in `./data`\n\n.\n\n- Windows (recommended for the managed runtime and desktop build)\n- Python 3.11+\n- Node.js 20+\n- npm\n\n```\ngit clone https://github.com/catowabisabi/task-hounds.git\ncd task-hounds\n\n.\\installation.cmd\npip install -r requirements.txt\npip install .\n```\n\n`installation.cmd`\n\ninstalls the pinned, managed OpenCode runtime used by Task Hounds.\n\n```\ncd ui/web\nnpm ci\nnpm run build\ncd ../..\nCopy-Item .env.example .env\n```\n\nTask Hounds keeps the legacy `POWER_TEAMS_`\n\nenvironment-variable prefix for compatibility. Review `.env.example`\n\nbefore adding provider keys or exposing the API beyond localhost.\n\n```\ntask-hounds-serve --port 8765\n```\n\n(Equivalent: `python -m task_hounds_api --port 8765`\n\n.)\n\nOpen [http://localhost:8765](http://localhost:8765), create or select a workspace, write a Human Directive, then choose **Start Loop** or **Run Once**.\n\nBy default, projects are created under `~/task-hounds-projects`\n\n. Override with the `TASK_HOUNDS_PROJECTS_DIR`\n\nenvironment variable. Existing installs that already use `C:\\task-hounds-projects`\n\nkeep working unchanged.\n\nTask Hounds will not begin autonomous work without a pending Human Directive.\n\nFor more detail, see the [Getting Started guide](/catowabisabi/task-hounds/blob/main/docs/guides/getting-started.md).\n\nTask Hounds talks to models through OpenCode's Anthropic-compatible providers. Three are bundled — bring any one key and the pack runs:\n\n| Provider | Models | Env key |\n|---|---|---|\n| MiniMax (default) | `MiniMax-M2.7` |\n`OPENCODE_API_KEY_MINIMAX` |\n| Moonshot Kimi | `kimi-k3` (1M context), `kimi-k2.7-code` , `kimi-k2.7-code-highspeed` |\n`OPENCODE_API_KEY_KIMI` |\n| Alibaba Bailian | Qwen3.x, GLM, Kimi K2.5 | `OPENCODE_API_KEY_BAILIAN` |\n\nThe default model for every role is `minimax-coding-plan/MiniMax-M2.7`\n\n.\n\nKimi K3 ships with a 1M-token context window and thinking on by default — a great fit for long agent loops. Get a key from the [Kimi Open Platform](https://platform.kimi.ai/console/api-keys), then in `.env`\n\n:\n\n```\nOPENCODE_API_KEY_KIMI=your_kimi_api_key\nTASK_HOUNDS_OPENCODE_MODEL=kimi-coding-plan/kimi-k3\n```\n\nRestart, and Manager, Worker, and Reviewer all run on Kimi K3. You can also paste the key in the dashboard's Runtime panel, or pick the model per role in the binding editor.\n\nEach role resolves its model independently, so you can put the strongest reasoner where it matters:\n\n```\nTASK_HOUNDS_MANAGER_OPENCODE_MODEL=kimi-coding-plan/kimi-k3\nTASK_HOUNDS_REVIEWER_OPENCODE_MODEL=kimi-coding-plan/kimi-k3\n# Worker stays on the default MiniMax-M2.7\n```\n\nRole bindings set in the dashboard (stored in the DB) override these env vars.\n\n```\ndocker build -t task-hounds .\ndocker run --rm -p 8765:8765 -v \"$(pwd)/data:/app/data\" task-hounds\npip install git+https://github.com/catowabisabi/task-hounds.git\ntask-hounds --port 8765\n```\n\nThis installs the backend server and CLI. The web dashboard is served when running from a repo checkout or Docker; a pip-only install exposes the HTTP API.\n\n```\n.\\build_exe.ps1\n```\n\nThe portable Electron build is written to `ui/desktop/dist/`\n\n.\n\nThe experimental React + Capacitor client is in `ui/mobile/`\n\n. It connects to the same backend and shares projects, sessions, todos, chat, and agent state. Private access through [Tailscale Serve](https://tailscale.com/docs/features/tailscale-serve) is recommended; do not expose the backend directly to the public internet.\n\nSee [ui/mobile/README.md](/catowabisabi/task-hounds/blob/main/ui/mobile/README.md) for setup instructions.\n\nSQLite is the runtime source of truth for project sessions, directives, todos, reports, suggestions, and agent state. Compatibility files under `core/runtime/`\n\nare local runtime mirrors and fallbacks.\n\n```\ntask-hounds/\n├── core/\n│   ├── db/                  # SQLite schema, migrations, and backups\n│   ├── runtime/             # Local runtime state and logs (not committed)\n│   └── task_hounds_api/     # Backend: FastAPI server, agent workflow, OpenCode runtime\n│       ├── api/             # HTTP API and dashboard server\n│       ├── db/              # DB access layer\n│       ├── opencode/        # Managed OpenCode runtime and client\n│       └── workflow/        # Manager/Worker/Reviewer loop, contracts, repair\n├── ui/\n│   ├── web/                 # React + Vite dashboard\n│   ├── desktop/             # Electr\n```\n\n", "url": "https://wpnews.pro/news/task-hounds-a-local-first-inspectable-multi-agent-dev-workspace", "canonical_source": "https://github.com/catowabisabi/task-hounds", "published_at": "2026-08-02 03:30:51+00:00", "updated_at": "2026-08-02 03:52:25.806911+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-products"], "entities": ["Task Hounds", "OpenCode", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/task-hounds-a-local-first-inspectable-multi-agent-dev-workspace", "markdown": "https://wpnews.pro/news/task-hounds-a-local-first-inspectable-multi-agent-dev-workspace.md", "text": "https://wpnews.pro/news/task-hounds-a-local-first-inspectable-multi-agent-dev-workspace.txt", "jsonld": "https://wpnews.pro/news/task-hounds-a-local-first-inspectable-multi-agent-dev-workspace.jsonld"}}