全部插件

DSH / BUNDLE / BUNDLES

dsh-acp-enhanced

v0.9.1grunmin / dsh-acp-enhancedbd77b57c42

可安装组合包组合包与其他模块社区 · Topic 自动分析

概览

dsh-acp-enhanced

Enhanced ACP server for DeepSeek Harness: block-level streaming, usage/stat telemetry (cache hit rate, token speed, input/output tokens, context length, turns, tool timing), model & reasoning-effort switching, and permission-preset control over the ACP wire (Zed-friendly)

README / ZH

插件文档

目录摘要

Enhanced ACP server for DeepSeek Harness: block-level streaming, usage/stat telemetry (cache hit rate, token speed, input/output tokens, context length, turns, tool timing), model & reasoning-effort switching, and permission-preset control over the ACP wire (Zed-friendly)

dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。

在 GitHub 阅读完整 README

LIMITATIONS

已知限制

Audio attachments are not supported (audio capability is not advertised), text streams at block granularity by default (`streamDeltas: true` opts into token-level streaming, see Features), one in-flight prompt per session. MCP supports stdio and streamable HTTP (legacy SSE / `acp` transports are not advertised). `session/fork` / `session/resume` are not implemented (capabilities undeclared, compliant clients will not call them). `session/delete` is not advertised either: the harness declares no public persistence delete, so persisted sessions are never removed by the bridge (see [Compatibility](#compatibility)). Multi-root workspaces are advertised and all roots are visible to the model, but dsh's sandbox policy resolves **one writable root per session** (the primary `cwd`, i.e. `session.header.cwd`) and the local sandboxes bind exactly that root for writes. Reads work in every root; under `workspace-write` a write under an additional root is denied first and needs escalation/approval, while `danger-full-access` writes everywhere. True multi-root write enforcement belongs in dsh core (`dsh-sandbox-policy` / `dsh-sandbox-local` would need a root list instead of a single root). Agent presets take over the model-facing rows: the shipped `cordis.patch.yml` disables the dsh-base rows a preset owns (tool-bash/fs/subagent/todo/web/… — exactly the official dsh-web-app/tui list minus `hmr`, kept version-agnostic across generations: a row a given generation does not ship is warned and skipped by the patch applier) and mounts the `agent-presets` roster (`standard` default; `ptc`/`minimal`/`cordis` ship with the dsh CLI; your own presets are declared as `@deepseek-ai/dsh-agent-preset` rows from 0.1.7 on — see [Your own presets](#your-own-presets)). The bundle's own patch applies automatically (package.json `dsh.bundle.patch`) — do **not** copy it into the profile's user-layer `cordis.patch.yml`, or the loader rejects the duplicate entry ids at boot. When **upgrading** a profile that already carries a customized user-layer patch, keep only your custom row configs there (e.g. `includeAllProviders: true` on the acp-enhanced row, restating provider/model/preset since patch entries replace whole rows, they do not merge). A session resumes under the preset its own log records (the last `agent-preset/selected` event, else the creation header); only a log that recorded none falls back to the roster's default.