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

Claude Code 后端 katsos/dsh-claude-cli

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

用已登录的 Claude Code CLI 充当模型后端,无需 API 密钥

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add katsos/dsh-claude-cli
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-claude-cli(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 10:24:49

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
  • 读取本地文件
    bridge.mjs:28
    const tools = JSON.parse(readFileSync(manifestPath, 'utf8'))
  • 写入本地文件
    src/adapter.ts:267
    await writeFile(manifestPath, JSON.stringify(spec.tools), 'utf8')
  • 删除本地文件递归
    src/adapter.ts:280
    if (workDir !== undefined) await rm(workDir, { recursive: true, force: true })
  • 执行外部命令来自配置/变量
    src/cli.ts:55
    const child: ChildProcessWithoutNullStreams = spawn(
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 复用本机命令行作后端
  • 无需API密钥

DeepSeek Harness 的 LLM 服务商,把本机装好的 Claude Code 命令行当作模型后端来跑,无需 API key。

README

由 DeepSeek 最新模型翻译生成
dsh-claude-cli 将你已安装的 Claude Code CLI 用作 DeepSeek Harness 的 LLM 提供方。 无需 API 密钥。该插件以子进程方式运行 claude,并通过 harness 的 LLM 接缝将其输出流式传回,因此请求会以 claude 当前已登录的身份进行认证——在自动化之前,你应当对照你套餐的使用条款检查该登录身份。 harness 仍然是智能体。CLI 自身的智能体循环、工具、设置、记忆文件和 MCP 服务器全部关闭;剩下的就是模型调用,由 harness 的系统提示、历史记录和工具驱动。 安装 需要在 PATH 上有可用的 claude(Claude Code)、Node ^22.19 || >=24,以及一个带有 @deepseek-ai/dsh-llm 的 harness。 将其安装到你实际运行的 profile 中,并指向本仓库的检出目录。该包声明了 dsh.bundle,因此它会加入该 profile 的层栈,并且 anthropic-claude-cli 路由会在每次启动时被组合进来: dsh plugin --profile web add ../dsh-claude-cli 此处使用相对于你运行命令所在位置的路径即可。该插件不在 npm 上,因此目前只能通过目录来安装它。
展开完整文档(README 剩余 1 节)
dsh-claude-cli

将你已安装的 Claude Code CLI 用作 DeepSeek Harness 的 LLM 提供方。

无需 API 密钥。该插件以子进程方式运行 claude,并通过 harness 的 LLM 接缝将其输出流式传回,因此请求会以 claude 当前已登录的身份进行认证——在自动化之前,你应当对照你套餐的使用条款检查该登录身份。

harness 仍然是智能体。CLI 自身的智能体循环、工具、设置、记忆文件和 MCP 服务器全部关闭;剩下的就是模型调用,由 harness 的系统提示、历史记录和工具驱动。

安装

需要在 PATH 上有可用的 claude(Claude Code)、Node ^22.19 || >=24,以及一个带有 @deepseek-ai/dsh-llm 的 harness。

将其安装到你实际运行的 profile 中,并指向本仓库的检出目录。该包声明了 dsh.bundle,因此它会加入该 profile 的层栈,并且 anthropic-claude-cli 路由会在每次启动时被组合进来:

dsh plugin --profile web add ../dsh-claude-cli

此处使用相对于你运行命令所在位置的路径即可。该插件不在 npm 上,因此目前只能通过目录来安装它。

之后重启 harness——profile 的层栈在启动时读取,因此正在运行的服务器会保持它启动时的组合。随后这些模型会出现在模型选择器中的 Claude Code CLI 下。

调用 dsh

这里的命令假设 dsh 可以解析。你如何访问它取决于 harness 的安装方式:

| Harness 安装方式 | 命令 |
| 全局 | dsh … |
| 源码检出 | pnpm dsh … |
| 两者皆非 | npx @deepseek-ai/dsh … |

与 npx 一起使用时请使用带作用域的名称。npm 上不带作用域的 dsh 是一个无关的 JavaScript shell,最后一次发布于 2022 年。

话虽如此,第三行是个例外:这是为 harness 准备的插件,因此要安装它的 profile 必须已经存在。如果你从未运行过 dsh,请先安装 harness,而不是直接使用 npx。

不安装 — 从 --patch 覆盖层运行一次

cordis.yml 是一个独立的 --patch 覆盖层,用于在一次运行中试用该插件,或用于你不想修改的 profile。将其中的占位路径替换为本目录的绝对路径——补丁中的插件路径必须是绝对路径,因为补丁贡献的是配置,而不会改变加载器解析模块路径时所依据的目录。

dsh --profile headless --patch /absolute/path/to/dsh-claude-cli/cordis.yml "your task"

与 bundle 层不同,该覆盖层还会将 agent-default-model 重新指向 anthropic-claude-cli,因此一次性运行无需模型选择器即可使用它。

工具调用如何工作 CLI 没有“这里有一些工具,把它们的调用交还给我”这种模式,因此插件将 harness 的工具作为 MCP 服务器声明给它(bridge.mjs)。模型随后会发出带有提供商验证参数的真正 tool_use 块,插件将其转换为 harness 的 tool-call 块。

桥接器从不执行任何操作。工具执行由 harness 负责。插件在模型消息结束的那一刻就结束请求,因此 CLI 进程在它能够自行派发调用之前就已经消失了。

harness request ──▶ claude --print ──▶ model
│ │
bridge.mjs ◀──────────┘ (tool schemas only)
│
harness chunks ◀─────────┘ tool_use → tool-call → the harness runs the tool

配置

| 字段 | 默认值 | 含义 |
| providers | ['anthropic-claude-cli'] | 此适配器所服务的提供商路由。 |
| executable | 'claude' | CLI 的路径或命令名。 |
| cwd | harness cwd | CLI 进程的工作目录。 |
| streamIdleTimeoutMs | 300000 | CLI 输出行之间的最大间隔,超过则请求以 TIMEOUT 失败。 |
| unsupportedFields | 'error' | error 会拒绝 CLI 无法满足的请求字段;ignore 会丢弃它们。 |
| defaultEffort | — | low \| medium \| high \| xhigh \| max,当请求未选择任何值时使用。 |
| extraArgs | [] | 用于此插件未建模的 CLI 标志的额外参数。 |

extraArgs 会在插件自身的标志之前传入,而命名了其中某个标志的条目会在插件加载时被拒绝。这两点都很重要:CLI 会保留重复标志的最后一次出现,因此否则追加的参数会胜出。仅一个 --tools default 就足以在 harness 的工作目录内恢复 CLI 的完整工具集——包括 Bash 和 Edit。对于插件不干预的标志(例如 --betas),请使用 extraArgs。

模型可以是 CLI 接受的任何内容:别名 fable、opus、sonnet、haiku,或完整 id,例如 claude-sonnet-5。目录仅供参考——未列出的 id 会原样传递给 --model。

限制

这些限制源于驱动 CLI 而非 HTTP API,在将长会话切换到它之前值得了解。

- 轮次之间没有提示缓存。 harness 是历史的唯一事实来源——它会压缩、编辑和重放 CLI 从未见过的消息——因此每个请求都会将 harness 历史渲染为一个全新的轮次。模型的视图始终等于 harness 日志,代价是每一轮都要重新读取对话。预计这会在长会话中产生影响,并计入你的 Claude 使用限制。
- temperature、maxTokens 和 stop 无法被满足。 CLI 没有为其中任何一个暴露标志。默认情况下它们会被报告为 UNSUPPORTED,而不是被静默丢弃;如果你的 agent 预设为每条路由都设置它们,请设置 unsupportedFields: ignore。
- 不发送图像。 图像块在记录中渲染为可见的占位符。
- 不重放先前的推理。 提供商会丢弃历史中未签名的思考内容,因此将其作为文本重放只会消耗上下文。
- 没有应用归属标头。 测试框架的 attributionHeaders() 无法触及 CLI 代表自身发出的请求。
- 速率限制属于该账户。 订阅登录与你的交互式 Claude Code 会话共享。参见使用条款。

使用条款

此处没有任何内容绕过身份验证。请求通过官方 CLI 运行,以 claude 已登录的身份,使用 Claude Code 为非交互式使用而提供的同一套有文档记录的 --print 模式。

此插件所添加的内容在性质上有所不同:它使订阅登录成为另一个智能体框架的模型后端。Anthropic 的消费者条款将程序化访问保留给 API 密钥,称你不得“通过自动化或非人类手段,无论是通过机器人、脚本还是其他方式”访问服务。以这种方式驱动 CLI 是否属于该句子的范围,是 Anthropic 的判断,而非本 README 的判断。

请以你自己计划的条款和使用政策作为此处所写任何内容的权威依据。特别是:

- 对于无人值守、高流量或生产流量,优先使用 API 密钥和 HTTP 提供商。此插件适合你原本会在 Claude Code 中手动运行的工作。
- 转售访问权限、为他人请求提供服务,以及评估模型以构建竞争产品,无论你使用何种凭证,均分别被禁止。

开发

npm test # 单元测试,无需 CLI 或令牌
npm run test:e2e # 真实 CLI,消耗真实令牌
npm run typecheck
npm run build # 生成 lib/,以便插件在已发布的 dsh 下加载

src/ 是源码启动(pnpm dsh,通过 tsx 运行)所加载的内容;lib/ 是已发布的 dsh 在纯 Node 下运行时所加载的内容。npm run build 从前者生成后者,prepare 在安装时运行它。

当未安装 claude 时,e2e 测试套件会自动跳过。它涵盖带使用顺序的文本流式传输、带有效 JSON 参数的原生工具调用、调用方中止,以及不支持字段的拒绝。

| 模块 | 职责 |
| src/index.ts | 插件入口:配置 schema、适配器注册。 |
| src/adapter.ts | LlmAdapter 实现、调用组装、模型元数据。 |
| src/cli.ts | 进程生命周期:行分帧、空闲看门狗、中止、拆除。 |
| src/protocol.ts | CLI 的 stream-json 词汇表,在进程边界处解析。 |
| src/translate.ts | 线路事件 → 测试框架 StreamChunk 协议。 |
| src/render.ts | 测试框架历史 → 一个 CLI 用户轮次。 |
| src/tools.ts | 工具 schema → MCP 桥接规范,以及工具名称还原。 |
| src/models.ts | 建议性模型目录和推理努力级别。 |
| src/failure.ts | CLI 失败 → 提供商中立的 LlmFailure 代码。 |
| bridge.mjs | CLI 启动的 stdio MCP 服务器。 |

许可证

MIT
预览分享卡片长什么样 ↓katsos/dsh-claude-cli
分享 · DeepSeek Harness Hub
katsos/dsh-claude-cli

用已登录的 Claude Code CLI 充当模型后端,无需 API 密钥

这是你的仓库?认领条目

回到顶部