backchat
Discovered★ 7Local-first desktop workspace for ACP agents—DeepSeek Harness, Claude Code, Codex, Gemini CLI, OpenCode, Hermes, and OpenClaw—with projects, tools, files, browser, and sessions.
Backchat
A multi-agent desktop for Agent Client Protocol (ACP) harnesses, tools, and outputs.
New: DeepSeek Harness support through dsh-plugin and dsh-acp.
Use your existing dsh profile or the standalone ACP server from the same desktop.
Backchat gives developer agents a shared desktop without taking away the things that make each harness useful. Bring multiple agents into one conversation and keep the built-in browser, files, terminal, MCP Apps, and Codex plugins close.
Why Backchat
- One workspace, many agents. Run Claude Code, Codex CLI, DeepSeek Harness, Gemini CLI, OpenCode, Hermes, or OpenClaw from the same desktop surface.
- Agent-aware, not vendor-shaped. Backchat surfaces the capabilities, commands, models, modes, and permissions reported by the active harness instead of inventing a generic capability layer.
- Project-scoped context. Sessions are grouped by their working directory, so files, terminals, browser state, and conversations stay attached to the project where the work happened.
- Projects can span related folders. One primary folder supplies the chat
cwd, Git context, and project instructions; secondary folders extend the
agent's file scope through ACP
additionalDirectories. - Built-in tools that stay in the flow. Browse the web, inspect files, start a terminal, attach images, and work without leaving the conversation.
- Native extensions and apps. Render interactive MCP Apps directly in a turn and use Codex plugins without flattening them into generic text output.
- Multi-agent conversations. Bring several harnesses into one chat, or use side chats, ACP forks, and native subagent activity when available.
- Repeatable work. Create one-time or recurring schedules that run against a project and harness, with local run history.
A few things you can see
These are representative UI snapshots from the current artifact/E2E suite.
Readable activity history with grouped tool calls. |
Interactive MCP Apps rendered directly in a turn. |
Pop out a live result when the work needs more room. |
Theme, language, density, and font settings are first-class. |
Supported agents
Backchat currently ships registry entries for:
| Agent | ACP entry | Notes |
| --- | --- | --- |
| Claude Code | claude-acp | Claude Code through the official ACP adapter |
| Codex CLI | codex-acp | Codex through codex-acp |
| DeepSeek Harness | dsh-acp or dsh --profile acp | Standalone ACP server or dsh profile plugin |
| Gemini CLI | gemini | Gemini CLI's ACP mode |
| OpenCode | opencode | OpenCode's ACP mode |
| Hermes | hermes | Hermes ACP entry |
| OpenClaw | openclaw | OpenClaw ACP entry |
DeepSeek Harness can be connected in either form:
# Standalone ACP server
npm install -g @openma/deepseek-harness-acp
dsh-acp login
# Or install it into an existing dsh profile
dsh plugin --profile acp add -w @openma/deepseek-harness-acp
See openma-ai/deepseek-harness-acp for authentication, profile, model, permission, and MCP configuration.
Agent binaries are discovered or configured from Settings → Agents. The registry and setup layer are deliberately separate from the chat UI, so adding or updating a harness does not require changing the conversation model.
Quick start
Run from source
Requirements: Node.js 24 and pnpm 11.24.0 (matching CI).
git clone https://github.com/openma-ai/backchat.git
cd backchat
pnpm install --frozen-lockfile
pnpm dev
The shared @openma/common dependency is pinned to an immutable Git commit;
no sibling checkout or local link is required. The OpenMA SDK and daemon
connection snapshots live under packages/ with their upstream provenance.
On first launch, open Settings → Agents to install or point Backchat at an ACP-compatible agent, then choose a project and start a chat.
Build and package
pnpm build # production renderer/main bundles
pnpm package # unsigned local installer for the current OS
pnpm package:dir # unpacked app directory
Signed release packaging and notarization are documented in
docs/releasing.md.
Development commands
pnpm typecheck
pnpm test:ci # curated contract + release-regression lane (GitHub Actions)
pnpm test
pnpm test:e2e:fast
pnpm test:verify # typecheck + full unit tests + fast E2E lane
Pull requests run test:ci and test:e2e:fast. Pushes to main also build an
unsigned macOS DMG, then check that the packaged app can import its runtime and
complete a first prompt. The website download button always points at
https://github.com/openma-ai/backchat/releases/latest/download/Backchat-arm64.dmg
; tagged releases upload that stable filename next to the versioned DMG.
GitHub's official Dependency Review, CodeQL, and Dependabot for Actions run
alongside those gates.
The desktop shell is built with Electron, TypeScript, React, Vite, Tailwind
CSS, and shadcn/ui. The ACP runtime is vendored from
open-managed-agents and
trimmed to the local desktop use case.
How the pieces fit together
- Choose a project. A project is a working directory and the anchor for sessions and local artifacts.
- Choose a harness. Backchat starts the selected ACP agent as a local child process and keeps its real configuration and capabilities visible.
- Work in one surface. Conversation events, tool activity, MCP Apps, files, browser tabs, and terminals are projected into the same task.
- Branch when useful. Continue in a side chat, fork an ACP session when supported, or follow native subagent activity emitted by the harness.
Status
Backchat is pre-release and under active development. The product shape, packaging, persistence format, and ACP integration surface may change before a stable release. It is ready for local evaluation and development, not yet a promise of backwards compatibility.
Issues and focused pull requests are welcome. For a useful bug report, include your OS, Backchat build, agent/harness, project type, and the smallest reliable reproduction.
Learn more
Comments
Loading…
Similar plugins
by dushaobindoudou
Agent Client Protocol (ACP) server plugin for the DeepSeek Harness (dsh) - drive dsh agents from Zed, any ACP v1 client, or the built-in web UI over stdio / HTTP+SSE, with sessions, jobs, goals, skill
★ 9
↓ 485/wk
MIT
TypeScript
Sep 18, 2026
dsh plugin --profile web add dsh-acp-serverby LitoMore
Discord Rich Presence for Codex, Claude Code, OpenCode, Pi, and DeepSeek Harness, powered by one local service that keeps your active work visible in Discord.
★ 3
MIT
TypeScript
Sep 17, 2026
dsh plugin --profile web add agent-discord-presenceby noteflowai
Reuse Agent Skills across DeepSeek Harness and MCP. Check local SKILL.md files in the browser or CI, with parser diagnostics, file hashes and clear exit codes. Try the Hugging Face playground.
★ 6
↓ 1.8k/wk
MIT
TypeScript
Sep 16, 2026
dsh plugin --profile web add dsh-skills-anywhereby TNJ2026
Local-first, durable workflow runtime for Agent Apps—compile static Workflow DSL to LangGraph and orchestrate trusted multi-agent execution through Codex, WorkBuddy, DeepSeek Harness, or any MCP clien
★ 3
Python
Sep 11, 2026
dsh plugin --profile web add promptaflow-ui-testsby agentrq
AgentRQ: Human-in-loop realtime conversational task manager for AI Agents. Self-hosted! Control your own agents from wherever you want Mobile, Web, Desktop. Designed to work well with your own Claude
★ 1.1k
↓ 63/wk
Apache-2.0
JavaScript
Sep 18, 2026
dsh plugin --profile web add @agentrq/dsh-plugin-agentrqby mjylfz
Adds a subagent_codex tool that delegates tasks to the local OpenAI Codex CLI, running the work in an isolated external process.
★ 4
MIT
JavaScript
Aug 25, 2026
dsh plugin --profile web add dsh-subagent-codex