Skip to content

v0.9.0 - host plane over ACP

Choose a tag to compare

@dushaobindoudou dushaobindoudou released this 18 Aug 03:11
· 3 commits to main since this release

What's new

Host plane over ACP — dsh/* vendor extensions

ACP v1 standardizes one conversation, not the host around it. This release exposes the host through read-only vendor methods any client can consume:

Method Returns
dsh/sessions/list every persisted + live session (id, title, createdAt, cwd, parentSession, acp flag)
dsh/sessions/read one session's transcript as {seq, type, text} entries
dsh/sessions/resume reopen a persisted session as a live ACP session (full context)
dsh/jobs/list background jobs (id, kind, label, status, owner)
dsh/goals/list active goal per live agent (objective, phase, rounds)
dsh/skills/list installed skills (name, description, provider)
dsh/agents/tree live agents with parent/model/cwd (the subagent tree)

Push: dsh/changed {topics} notifications fire on turn ends, session lifecycle, and job changes.

Interop-safe by construction — vendor traffic is sent only to connections that opted in via the schema-sanctioned clientCapabilities._meta['dsh/extensions'] extension point. Standard clients (Zed, acpx, Neovim plugins, …) see a fully standard ACP server. Each method degrades to a clean -32601 in compositions without the underlying service.

Built-in web UI: host sidebar

The serve-mode web client (GET /) gains a host sidebar next to the chat: sessions with titles and one-click resume + transcript loading, jobs, goals, skills, and the live agent tree — auto-refreshing on dsh/changed.

Full changelog: https://github.com/dushaobindoudou/dsh-acp/blob/main/CHANGELOG.md