ACP bridge between BitFun and DSH.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:bobleer/dsh-acp-for-bitfun
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
BitFun 支持 ACP deepseek-harness。
一个 DeepSeek Harness (dsh) 插件 bundle:
通过 Agent Client Protocol (ACP) v1 over stdio 把 BitFun
接入 dsh,作为 dsh 会话的 subagent。dsh 里任意会话都可以用 subagent_bitfun
工具把任务委托给 BitFun 执行。
工作原理
dsh 会话 ──subagent_bitfun 工具──▶ dsh-subagent-acp (ACP 客户端)
│ 每个任务 spawn 一个独立进程
▼
bitfun acp (ACP server, stdio JSON-RPC)
│
▼
BitFun Agent Runtime
- 本 bundle 复用 dsh 官方的
@deepseek-ai/dsh-subagent-acp作为 ACP 客户端:每次委托启动一个全新的bitfun acp子进程,完成initialize → session/new → session/prompt并流式收集agent_message_chunk。 - 工具通过
@deepseek-ai/dsh-tool-subagent挂载,模型见到的工具名默认为subagent_bitfun。 - 任务结束时关闭子进程 stdin(EOF 宽限 6s → SIGTERM → SIGKILL),BitFun 子进程 在 SIGTERM 下立即退出,会话数据由 BitFun 自身持久化。
前置条件
- BitFun CLI:安装后确认
bitfun acp doctor通过(BitFun 的 ACP server 内置于 CLI)。 - dsh:
npx @deepseek-ai/dsh --version, 需要>= 0.1.0-rc.6(与依赖的 subagent 包版本匹配)。 - pnpm:
dsh plugin通过 pnpm 安装 bundle。
安装
# 把 bundle 加进你的 dsh profile(从 npm 或本地目录)
dsh plugin --profile web add dsh-acp-for-bitfun
# 或者从本地 checkout 安装
dsh plugin --profile web add ./dsh-acp-for-bitfun
# 启动
dsh web
加载时插件会用 bitfun --version 探测 BitFun CLI:不在 PATH 上时启动直接失败
(fail loud),错误信息会提示安装 BitFun 或配置绝对路径。
配置
在 profile 的 cordis.patch.yml($DSH_HOME/profiles/<name>/cordis.patch.yml)里
按 id 覆盖:
- id: bitfun-acp
name: dsh-acp-for-bitfun
config:
command: /absolute/path/to/bitfun # 默认 'bitfun'(PATH 解析)
providerName: bitfun # 默认 'bitfun'
toolName: subagent_bitfun # 默认 'subagent_bitfun'
permission: reject # 'reject' | 'allow'
acpArgs: ['acp'] # 默认 ['acp']
env: {} # 传给 BitFun 子进程的额外环境变量
checkOnStart: true # 加载时探测 bitfun,缺失则启动失败
| 配置项 | 默认值 | 说明 |
|---|---|---|
command |
bitfun |
BitFun CLI 可执行文件:PATH 上的名字或绝对路径 |
providerName |
bitfun |
ctx.subagents 上的 provider 名 |
toolName |
subagent_bitfun |
模型可见的工具名 |
permission |
reject |
BitFun 权限请求的自动应答策略(reject / allow) |
acpArgs |
['acp'] |
追加在 command 后的参数 |
env |
{} |
BitFun 子进程的额外环境变量 |
checkOnStart |
true |
加载时探测 command --version,缺失则 fail loud |
验证
BitFun 侧自检:
bitfun acp doctordsh 配置树里确认插件行:
dsh --profile web --dump-config | grep -A 2 bitfun在 dsh 会话里让模型调用
subagent_bitfun工具,委托一个简单任务 (例如 "用 subagent_bitfun 回复 hello"),确认返回 BitFun 的输出。
兼容性
- BitFun
>= 0.2.17(ACP v1 server,bitfun acp)。 - dsh
>= 0.1.0-rc.6。 - deepseek-harness 目前处于 developer preview,插件依赖其
rc版本, 升级 dsh 时请同步升级本 bundle。
License
Links
More in this category
xmanrui/dsh-im★ 1525
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 1396
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 572
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
omdsh-dev/dsh-notification★ 85
Desktop notifications for turn completions, with per-outcome controls and keyword rules.
whyihaveyou/dsh-suite#plugin-notify★ 57
IM webhook and local notifications on turn completion, errors, or approval (Feishu/WeCom/DingTalk/Slack/Discord/custom).
omdsh-dev/dsh-lark★ 55
Lark/Feishu bot channel for DeepSeek Harness: each chat drives its own agent, and tool approvals, model questions, and plan reviews return as cards answered by a button or a reply. Switch workspace and model from the chat (`/cd`, `/model`, `/new`), and run several bots that keep separate sessions and can hand turns to each other in one group.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.