🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

ACP 适配桥 OffloopHQ/dsh-acp

DeepSeek Harness
OffloopHQ91 天前有提交已提供中文文档扫描:含敏感能力

让任意 ACP 客户端通过 stdio 接入本机 DSH 会话

26.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add OffloopHQ/dsh-acp
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · other
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 91 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 23 处,展示前 20 条)
  • 发起网络请求
    src/acp/types.ts:75
    return this.#context.request("session/request_permission", params, {
  • 发起网络请求
    src/acp/types.ts:84
    return this.#context.request("elicitation/create", params, {
  • 发起网络请求
    src/acp/types.ts:94
    const response = await this.#context.request("fs/read_text_file", params, {
  • 发起网络请求
    src/acp/types.ts:101
    await this.#context.request("fs/write_text_file", params, {
  • 读取本地文件
    src/cli/services.ts:49
    realpath(resolve(nodePath)),
  • 读取本地文件
    src/cli/services.ts:50
    realpath(process.execPath),
  • 读取本地文件
    src/discovery/fingerprint.ts:276
    const content = await readFile(join(input.rootPath, relativePath));
  • 读取本地文件
    src/discovery/index.ts:99
    entryInfo = await stat(candidatePath);
  • 读取本地文件
    src/discovery/index.ts:110
    const rootPath = await realpath(entryPath);
  • 读取本地文件
    src/discovery/index.ts:120
    const resolvedEntryPath = await realpath(entryPath);
  • 读取本地文件
    src/discovery/index.ts:121
    const rootPath = await realpath(join(dirname(resolvedEntryPath), ".."));
  • 读取本地文件
    src/discovery/index.ts:123
    const expectedPhysical = await realpath(expectedLauncher).catch(() => "");
  • 读取本地文件
    src/discovery/index.ts:265
    return (await lstat(path)).isSymbolicLink();
  • 读取本地文件
    src/discovery/layout.ts:42
    raw = await readFile(path, "utf8");
  • 读取本地文件
    src/discovery/layout.ts:92
    physical = await realpath(absolute);
  • 读取本地文件
    src/discovery/layout.ts:93
    await access(physical, constants.X_OK);
  • 执行外部命令来自配置/变量
    src/discovery/layout.ts:97
    const result = spawnSync(physical, ["--version"], {
  • 读取本地文件
    src/discovery/layout.ts:120
    physical = await realpath(requested);
  • 读取本地文件
    src/discovery/layout.ts:121
    const info = await stat(physical);
  • 读取本地文件
    src/discovery/layout.ts:138
    const rootPath = await realpath(rootCandidate).catch((error: unknown) => {
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 接入本机DSH会话
  • 基于stdio通信
  • 与客户端无关

与客户端无关的 ACP 适配器,用于 DeepSeek Harness

README

由 DeepSeek 最新模型翻译生成
dsh-acp dsh-acp 是一个独立的、客户端中立的 Agent Client Protocol (ACP) 适配器,用于用户安装的 DeepSeek Harness (DSH)。 任何支持协商协议版本和所公布能力的 ACP 客户端都可以通过 stdio 进行连接。 它的功能 - 发现现有的 DSH 源代码安装,而不安装、更新或修改它。 - 拒绝未知的 DSH 版本、未知的布局、基名冲突以及运行时漂移。 - 仅在发现和指纹验证之后,才加载所选的、带版本的 DSH 驱动程序。 - 将 DSH 会话、流式事件、取消、引导和权限转换为 ACP。 - 仅公布所选驱动程序已实现的能力。 当前驱动程序支持 DSH 0.0.1 源代码布局。有关确切的接口面和限制,请参阅兼容性。 其当前会话接口面为 new、load、resume、fork、工作区范围的 list 和 close。它还支持文本/资源链接提示、引导、一次性权限请求以及 stdio/Streamable HTTP MCP 服务器。没有安全 DSH 0.0.1 接缝的功能——包括删除、认证/提供商管理、图像、嵌入式上下文、引导和 SSE MCP——仍然不予公布。 DSH 由凭据支持的内置 Web 搜索/获取接口面和仓库插件加载器已禁用;ACP 显式 MCP 服务器仍然是一个独立的、由客户端配置的工具边界。
展开完整文档(README 剩余 1 节)
dsh-acp

dsh-acp 是一个独立的、客户端中立的 Agent Client Protocol (ACP) 适配器,用于用户安装的 DeepSeek Harness (DSH)。

任何支持协商协议版本和所公布能力的 ACP 客户端都可以通过 stdio 进行连接。

它的功能

- 发现现有的 DSH 源代码安装,而不安装、更新或修改它。
- 拒绝未知的 DSH 版本、未知的布局、基名冲突以及运行时漂移。
- 仅在发现和指纹验证之后,才加载所选的、带版本的 DSH 驱动程序。
- 将 DSH 会话、流式事件、取消、引导和权限转换为 ACP。
- 仅公布所选驱动程序已实现的能力。

当前驱动程序支持 DSH 0.0.1 源代码布局。有关确切的接口面和限制,请参阅兼容性。

其当前会话接口面为 new、load、resume、fork、工作区范围的 list 和 close。它还支持文本/资源链接提示、引导、一次性权限请求以及 stdio/Streamable HTTP MCP 服务器。没有安全 DSH 0.0.1 接缝的功能——包括删除、认证/提供商管理、图像、嵌入式上下文、引导和 SSE MCP——仍然不予公布。
DSH 由凭据支持的内置 Web 搜索/获取接口面和仓库插件加载器已禁用;ACP 显式 MCP 服务器仍然是一个独立的、由客户端配置的工具边界。

命令

dsh-acp [serve] [--dsh-path ] [--dsh-home ]
dsh-acp inspect --json [--dsh-path ] [--dsh-home ]
dsh-acp doctor --json [--dsh-path ] [--dsh-home ]
dsh-acp --version

serve 是默认命令。其 stdout 专用于换行分隔的 ACP JSON-RPC 帧。诊断信息输出到 stderr,并且是有界的且经过凭据脱敏的。

inspect --json 执行只读发现并打印一个 JSON 结果。doctor --json 还会检查所发现的安装是否保持不变。这两个命令都不能证明存在活动的 ACP 连接;ACP 客户端的有界 initialize 握手才是最终的就绪检查。

对于运行时指纹围栏:

dsh-acp serve \
--dsh-path /absolute/path/to/dsh \
--node /absolute/path/to/node \
--expected-runtime-fingerprint sha256:...

旧式 --candidate 和 --dsh-root 拼写可作为 --dsh-path 的别名接受。它们仍会经过完整发现,并且不能绑定未检查的检出。

请参阅完整的 CLI 契约。

npm 安装

已发布的版本使用 dsh-acp 作为规范 npm 名称,并发布与 @offloophq/dsh-acp 作用域镜像相同的版本和可执行负载。
安装其中任一身份,而不要在同一 npm 前缀中同时安装两者,因为两者都拥有相同的 dsh-acp 可执行文件:

npm install --global dsh-acp
或
npm install --global @offloophq/dsh-acp

分发和运行时边界

源代码仓库及其发布的 GitHub Releases 是公开的:
- GitHub Release 资产可以匿名下载,并与发布版 SHA256SUMS 文件进行校验。
- dsh-acp 包及其 @offloophq/dsh-acp 镜像通过公开的 npm 身份发布相同的可执行负载。
- 下游分发者可以获取固定的公开发布产物,验证其校验和,并将适配器打包进自己的包中。

默认发布产物是由 esbuild 生成的、适用于 Node.js ^22.19.0 或 >=24.0.0 的可移植 JavaScript 包。此适配器不以 TypeScript 形式发布或执行,并且它在运行时不会调用 npm、pnpm、npx、tsx CLI 或网络下载。带版本的驱动程序确实会通过 DSH 自身经过验证的 tsx 加载器导入 DSH 已安装的 TypeScript 源码;该加载器和源码树仍是 DSH 拥有的先决条件。

针对六个桌面目标存在实验性的 Bun 独立编译,但 CI 任务仅保留其清单,而不保留二进制文件。当前进程内的 DSH 驱动程序与 Bun 不兼容,并且 Bun 内嵌了 LGPL 许可的 JavaScriptCore/WebKit,因此每个二进制分发仍受制于运行时兼容性以及单独的重链接和许可证审查。参见分发。

开发

要求为 Node.js ^22.19.0 或 >=24.0.0 以及 npm 11。

npm ci
npm run check
node scripts/package-release.mjs
node scripts/verify-release.mjs

构建输出写入 dist/;发布资产写入 release/。有关双包身份、一次性注册表引导、Trusted Publisher、发布标签、信任边界和恢复契约,参见 npm 发布。

安全属性

- 发现过程从不下载或修改 DSH。
- PATH 基名匹配被视为候选,而非身份证明。
- 逻辑安装锚点、物理检出、关键文件内容、Node 版本和 tsx 版本在构建前以及 DSH 启动前再次被围栏保护。
- serve 将非协议输出保持在 stdout 之外。
- 诊断序列化是有界的,并会脱敏形似凭据的键、标头、URL 和值。
- 驱动程序使用的 DSH 组合会禁用 DSH 遥测,并负责会话和根纤程的清理。
- 每次启动都使用适配器拥有的私有临时配置,强制采用经过审查的 workspace-write/ask 基线,并保持已安装的 DSH 源码配置不变。
- 持久化的、以 fork 为种子的以及新返回的 DSH 事件日志,如果其权限预设、沙箱模式或审批策略是危险的、未知的,或超出确切审查过的事件形态,则会被拒绝。只有缺失的事实或 read-only/workspace-write 加 ask 可以被采纳。
- 最终启动层会禁用 DSH 内置的仓库、网页搜索/抓取和遥测行,然后验证组合后没有全局 Web 服务或 web_search/web_fetch 工具残留。

这不是进程范围的网络隔离。DSH workspace-write 约束文件写入;bash/执行命令仍可能使用主机网络,而普通工具调用不一定触发 ACP 权限请求。所选的模型传输和 ACP 显式 MCP 服务器是有意分开的网络路径。独立客户端必须应用适合其信任模型的政策。要求受保护准入的客户端必须保持故障关闭,直到其外部网络/提供商拦截一致性通过为止;仅 ACP initialize 成功并不构成受保护就绪的证明。供应商能力元数据将此明确报告为 offloop.dsh-acp.security。

请通过仓库的私有漏洞报告渠道报告漏洞。不要在公开 issue 中包含 API 密钥、凭据、提示词或客户数据。

许可证

原始项目代码根据 MIT 许可证 授权。捆绑的依赖项和可选运行时保留各自的许可证;请参阅 THIRD_PARTY_NOTICES.md。DSH 是外部先决条件,本项目不包含也不重新分发它。
预览分享卡片长什么样 ↓OffloopHQ/dsh-acp
分享 · DeepSeek Harness Hub
OffloopHQ/dsh-acp

让任意 ACP 客户端通过 stdio 接入本机 DSH 会话

这是你的仓库?认领条目

回到顶部