Talocode is a local-first control plane for coding agents.
Run agents on your machine. Control them from desktop or phone. Manage sessions, providers, logs, worktrees, and approvals from one cockpit.
Talocode lets you run coding agents on your machine, control them from desktop or phone, and manage sessions, providers, logs, worktrees, and approvals from one local cockpit.
It provides a desktop dashboard, a local daemon, a local HTTP API, a phone-optimized control surface, provider and model discovery, session logs, generated integration config, and worktree-oriented session workflows without depending on a hosted control plane.
- Local-first Talocode daemon with a desktop dashboard and CLI.
- Provider registry for Ollama, OpenRouter, OpenAI-compatible endpoints, OpenAI, Anthropic, and Gemini-style providers.
- Coding-agent adapter discovery for installed CLI tools.
- Project and session management with live output, logs, and start/stop/restart actions.
- Context caching — hash-based stable-file detection, cache hit/miss tracking, token estimation, and provider-neutral caching layer ready for Anthropic/Gemini prompt caching.
- Browser runtime — Playwright-based persistent browser sessions with create/start/stop/restart lifecycle, headless/headed modes, session profiles, storage export, and audit logging.
- Talocode Phone Control for trusted LAN monitoring and session actions.
- Integration config generation that stores environment variable names instead of raw API keys.
- Talocode-managed worktree session patterns documented for safe multi-agent workflows.
- Text/Mermaid architecture documentation with no generated binary architecture assets.
npm install
npm run build
npm run test
npm run smokeStart the local daemon:
talo startOpen the dashboard from the CLI:
talo openagentdeck remains temporarily available as a compatibility alias for the same CLI entrypoint.
Primary command examples:
talo status
talo discover
talo providers list
talo providers add --type ollama --name "Ollama Local" --baseUrl http://localhost:11434/v1 --model llama3.1
talo provider add --type openrouter --name OpenRouter --baseUrl https://openrouter.ai/api/v1 --apiKeyEnvVar OPENROUTER_API_KEY --model openai/gpt-4o-mini
talo providers test ollama
talo projects list
talo projects add C:\\code\\my-project
talo sessions list
talo sessions create --projectId <project-id> --agentId codex-cli --providerId ollama --model llama3.1
talo sessions start <session-id>
talo sessions stop <session-id>
talo browser list
talo browser create --name "My Workspace" --startUrl https://example.com
talo browser start <session-id>
talo browser stop <session-id>
talo remote enable
talo worktrees listBackward-compatible alias examples:
agentdeck start
agentdeck statusTalocode resolves environment variables in this order: TALOCODE_*, then legacy AGENTDECK_*, then defaults.
TALOCODE_HOSTdefaults to127.0.0.1.TALOCODE_PORTdefaults to3768.TALOCODE_URLpoints the CLI at another local daemon URL.TALOCODE_DATA_DIRoverrides the local data directory.TALOCODE_BROWSER_RUNTIME_ENABLEDset tofalseto disable browser runtime (default: enabled).TALOCODE_BROWSER_MAX_SESSIONSmax concurrent browser sessions (default: 3).TALOCODE_BROWSER_HEADLESSset totrueto run browsers without visible windows by default.TALOCODE_BROWSER_CHANNELoverride browser channel (e.g.,chrome,msedge).TALOCODE_BROWSER_SLOWMOmilliseconds of slow-motion delay for debugging.TALOCODE_BROWSER_VIEWPORTJSON viewport like{"width":1280,"height":720}.
Legacy aliases remain available for now: AGENTDECK_HOST, AGENTDECK_PORT, AGENTDECK_URL, and AGENTDECK_DATA_DIR.
Talocode can expose a phone-optimized /phone cockpit on your trusted LAN. Phone access is disabled by default. Enable it from Settings → Talocode Phone Control or with:
talo remote enablePair with the generated one-time token. Paired phones can monitor Talocode sessions, projects, providers, agents, logs, and start/stop/restart existing sessions. See docs/PHONE_CONTROL.md and docs/REMOTE_ACCESS_SECURITY.md.
Talocode scans project directories for stable files (AGENTS.md, package.json, README.md, docs/**/*.md, etc.), hashes their content, and builds context packs. Validate a pack to see which files have changed between agent runs. This operates at the Talocode orchestration layer — it does not call provider-native caching APIs yet, but the foundation is in place for Anthropic Prompt Caching and Google Context Caching. See docs/context-caching.md for details.
Talocode can manage persistent Playwright-based browser sessions. Each session gets its own Chromium profile, viewport, and headless/headed mode. Sessions persist across restarts, support storage state export, and log every lifecycle event to an append-only audit trail. This is designed for AI agent workflows, persistent web automation, and human takeover of agent-managed browser sessions — not for evasion, scraping, or captcha bypass. Use the Browser tab in the dashboard or the talo browser CLI commands.
Talocode-managed worktrees are intended to isolate coding-agent sessions by branch or task. See docs/WORKTREE_SESSIONS.md if present and docs/SESSION_ENGINE.md for the current session engine behavior.
The architecture documentation is maintained as Markdown and Mermaid text:
docs/ARCHITECTURE.mddocs/talocode-architecture.mmd
Core layers include Access Layer, Talocode Core, Provider Router, Context Cache Layer, Browser Runtime, Execution & Storage, and Talocode-managed worktrees.
This repository is an MVP-stage local-first control plane. The daemon, dashboard, CLI, phone access, providers, sessions, and smoke tests are designed to stay local and avoid hosted dependencies by default.
Talocode started as the AgentDeck prototype. The project has moved to the Talocode brand and repository at https://github.com/talocode/talocode.
Default data directories now use Talocode naming:
- Windows:
%APPDATA%/Talocode - macOS:
~/Library/Application Support/Talocode - Linux:
~/.config/talocode
Migration behavior:
TALOCODE_DATA_DIRwins when provided.AGENTDECK_DATA_DIRis honored as a legacy override whenTALOCODE_DATA_DIRis not set.- Otherwise Talocode uses the new default directory.
- If an old default AgentDeck directory exists and the new Talocode directory does not, Talocode creates the new directory and copies JSON config files such as
agentdeck.jsontotalocode.jsonwhen safe. - Talocode does not delete old AgentDeck data automatically.
Run these checks before submitting changes:
npm run lint
npm test
npm run build
npm run smokeDo not add generated binary architecture assets. Keep architecture diagrams in Mermaid/text or app-native React/CSS.
Email: talocodehq@gmail.com