32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
|
|
# `@deepseek-ai/dsh-acp-app`
|
||
|
|
|
||
|
|
English | [中文](README.zh.md)
|
||
|
|
|
||
|
|
The automation-only ACP stdio application as a `dsh` profile bundle over [`dsh-base`](../base/README.md). Its patch sets the coding-agent persona and default model route, disables module HMR, mounts an app-owned zero-option command provider, and starts [`dsh-acp`](../../acp/acp/README.md) only after that provider accepts the invocation. `dsh --profile acp --help` therefore writes help and exits without claiming stdin or stdout.
|
||
|
|
|
||
|
|
The startup provider binds stdin EOF to the launcher's bounded successful shutdown. ACP connection close, SIGINT, and SIGTERM drain the bridge-owned agents and the root profile tree before exit. Stdout is reserved for newline-delimited ACP JSON-RPC frames. A deployment selects a different complete composition through profile bundles and patch files, not another app bin.
|
||
|
|
|
||
|
|
The shipped row creates sessions with `deepseek-official` and `deepseek-v4-flash`; a later patch can replace that row's complete config. The base profile owns adapters, tools, persistence, policy, settings, credentials, and the per-session workspace supplied by the ACP client.
|
||
|
|
|
||
|
|
## Model Experience
|
||
|
|
|
||
|
|
### ACP coding-agent persona
|
||
|
|
|
||
|
|
#### What the model sees
|
||
|
|
|
||
|
|
The profile supplies `You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.` before the base tool and context contributions. The ACP row's route and each `session/new` cwd resolve the placeholders.
|
||
|
|
|
||
|
|
#### Token effect
|
||
|
|
|
||
|
|
One short stable persona plus the data-dependent base prompt sections and selected tool schemas.
|
||
|
|
|
||
|
|
#### KV Cache effect
|
||
|
|
|
||
|
|
Stable for a fixed profile, provider, model, and tool roster. Profile changes take effect on the next process because the shipped ACP profile uses startup-only patches.
|
||
|
|
|
||
|
|
## Known Limitations and Deferred Work
|
||
|
|
|
||
|
|
- **A profile can omit the ACP bridge** — a custom ACP launch profile must retain this bundle or another `dsh-acp` row; otherwise no peer answers the client.
|
||
|
|
- **User plugins can violate stdout purity** — profile and per-launch patches are trusted application composition. The shipped bundle writes no non-protocol stdout, but it cannot contain an arbitrary inserted plugin.
|
||
|
|
- **Configuration changes require restart** — the shipped `acp` profile uses `patchReload: startup` so one stdio connection never observes a replacement bridge or Agent dependency.
|