feat(acp): add native DeepSeek Harness support - #2272
Merged
Conversation
wgqqqqq
added a commit
that referenced
this pull request
Aug 14, 2026
The harness has no ACP entry point of its own, and the published @deepseek-ai/dsh-acp is an automation surface: it withholds tool calls, reasoning, and mode selection, because a script does not need to watch an agent think. An IDE needs exactly those. So add packages/dsh-acp and ship it as a dsh PROFILE rather than as something the user installs separately. dsh symlinks its whole dependency closure into $DSH_HOME/profiles/node_modules on every launch, so a profile resolves every harness plugin out of the user's own installation. BitFun therefore carries a compiled bridge, not a second copy of the harness, and launches `dsh --profile bitfun-acp`. The model and the key stay in dsh. cordis.yml mounts the harness's own settings, credentials, and default-model rows, so whatever the user picked in dsh's Models page is what an IDE session runs on. BitFun stores nothing about the account. This replaces the `dsh` preset from #2272, which launched the automation surface under the same id. Two of the changes here are not dsh-specific and apply to every ACP agent: tool calls now render as BitFun's native Bash/Read/Edit cards grouped by round, and the model picker handles an agent that publishes a `mode` option instead of models, collapsing to a locked entry once a conversation has fixed its mode. packages/dsh-acp is deliberately not a pnpm workspace member: it pins the whole harness 0.1.0-rc.6 train and carries its own package-lock.json, so installing the harness is the desktop bundle build's cost rather than every contributor's. prepare-dsh-profile.mjs fails the build rather than shipping a bridgeless app, since the two are indistinguishable until a user starts a session. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dsh) as a built-in native ACP clientdsh-acp-demostdio server directly, with no protocol adapter@deepseek-ai/dsh-acp-demo@nextlocally or on a remote workspace host--configpath needed for a DSHcordis.ymlValidation
cargo test -p bitfun-acp(114 passed)cargo check -p bitfun-acp --no-default-features --features clientcargo check -p bitfun-acp --no-default-features --features serverpnpm --dir src/web-ui run test:run src/infrastructure/config/components/AcpAgentsConfig.test.tsx(11 passed)pnpm run type-check:webpnpm run check:repo-hygieneAcpClientServicelaunched publisheddsh-acp-demo0.1.0-rc.6 and completedinitialize -> session/new -> session/prompt, receiving the replayedPONGresponseRemote scenarios