seek://map/obsidian-dsh-acp
obsidian-dsh-acp — Drive DSH from Obsidian
#acp #obsidian #client
TL;DR
An ACP adapter that puts DeepSeek Harness inside Obsidian: registered as a Custom Agent in the Agent Client plugin, each turn runs a headless single-shot task with output streamed back; a persistent session layer covers list/fork/delete/resume, turn archives are DSH-shaped, and install.sh wires both the DSH profile and Obsidian in one step. Maintained by SilenZerOrz.
Obsidian users can reach DeepSeek Harness without leaving the editor: the adapter speaks ACP over stdin/stdout, Obsidian's Agent Client plugin launches it as a Custom Agent, and every prompt turn runs a fresh dsh --profile headless task whose output streams back into the chat. On top of the stateless turns it keeps a durable session store — list, fork, delete, resume — and writes each finished turn to a DSH-shaped archive on disk.
Facts
- install
- dsh plugin --profile web add obsidian-dsh-acp
- license
- MIT
- note
- 需在 Obsidian 安装 Agent Client 社区插件并把 nodePath 指到真实 node 可执行文件,shebang 才能解析。
Key points
- Speaks ACP over stdin/stdout so Obsidian's Agent Client plugin can launch it as a Custom Agent; each prompt turn spawns a fresh dsh --profile headless task, streams DSH output back as agent_message_chunk updates, and ends with end_turn
- A persistent session layer on top: session/list reloads real sessions from a JSON index on disk, session/fork deep-copies history with a parent link, session/delete removes the record and its disk archives, plus resume/load
- Every completed turn (user and assistant) is appended to a DSH-shaped event archive under dsh-acp-archives/, deliberately outside the main process's zstd-compressed sessions/ logs
- Ships install.sh for one-click setup — idempotent, backs up files before touching them, supports any Obsidian vault, with a --dry-run preview — alongside the documented manual Custom Agent steps
FAQ
How does it relate to the ACP bridge for Zed and other editors on this map?
deepseek-harness-acp targets general ACP clients such as Zed, putting the full DSH agent inside them and sharing DSH credentials and sessions; this project is built for Obsidian's Agent Client — per its README, each prompt turn spawns dsh --profile headless and it carries its own disk-persistent session index and turn archives. Different repositories, different clients.
What does it require?
Node.js 22.13 or newer and a bootable dsh backend; per its README, the headless profile must resolve a default model provider — if your global settings pin a web-only provider, give headless its own settings.
Is the npm package installable today?
Yes — the npm package is published; this site's registry probe on 2026-09-22 read 0.2.3 as the latest. Per its README, install with dsh plugin --profile web add obsidian-dsh-acp.
Where does session data live, and does it clash with DSH's own sessions?
The durable index defaults to ~/.dsh-acp/dsh-acp-sessions.json; turn archives land under <DSH_HOME>/dsh-acp-archives/<encoded-cwd>/session-<id>/session.jsonl, kept outside the main process's sessions/ so plain files never clash with zstd-compressed logs; session/delete clears the record and the disk archives together.
Official references