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

CodeBuddy 登录插件 Lbryany/dsh-codebuddy

DeepSeek Harness
Lbryany15 天前有提交已提供中文文档扫描:无法判定

已迁移2026-10-19:本仓库已归档,只读。后续开发与发布都在…

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

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

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

状态速览

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

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

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

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

展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 11:41:39

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · Lbryany
  • · dsh-codebuddy
  • · tarball)
扫描于 2026/11/4(0 天前)

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-commands@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 动态模型选择
  • 推理控制

CodeBuddy OAuth、动态模型和推理控制,为 DeepSeek Harness 而设

README

由 DeepSeek 最新模型翻译生成
已迁移(2026-10-19):本仓库已归档,只读。后续开发与发布都在 Lbryany/dsh-plugins/packages/dsh-codebuddy。 Moved (2026-10-19): this repository is archived; development and releases continue at Lbryany/dsh-plugins/packages/dsh-codebuddy. dsh-codebuddy DeepSeek Harness 的 CodeBuddy 插件:提供 OAuth 登录、账号动态模型目录、流式请求以及推理等级选择。 本分支面向 DSH 0.2.x:engines.dsh 声明为 >=0.2.1-rc.2 <0.3.0-0,已验收的准确版本为 0.2.1-rc.2,SDK 开发依赖固定到该版本。本分支不承诺兼容 0.1.x。插件从 0.1.4 起包含设置与接入改造,0.1.5 起会话级 x-conversation-id 修复提示缓存每轮失效的问题(见下文);0.1.6 起模型目录落盘缓存、支持图片输入、可开请求诊断。 功能 - “设置 → CodeBuddy”中登录、取消或退出账号,刷新目录,保存 DSH 默认模型及推理等级。
展开完整文档(README 剩余 1 节)
已迁移(2026-10-19):本仓库已归档,只读。后续开发与发布都在 Lbryany/dsh-plugins/packages/dsh-codebuddy。
Moved (2026-10-19): this repository is archived; development and releases continue at Lbryany/dsh-plugins/packages/dsh-codebuddy.

dsh-codebuddy

DeepSeek Harness 的 CodeBuddy 插件:提供 OAuth 登录、账号动态模型目录、流式请求以及推理等级选择。

本分支面向 DSH 0.2.x:engines.dsh 声明为 >=0.2.1-rc.2 <0.3.0-0,已验收的准确版本为 0.2.1-rc.2,SDK 开发依赖固定到该版本。本分支不承诺兼容 0.1.x。插件从 0.1.4 起包含设置与接入改造,0.1.5 起会话级 x-conversation-id 修复提示缓存每轮失效的问题(见下文);0.1.6 起模型目录落盘缓存、支持图片输入、可开请求诊断。

功能

- “设置 → CodeBuddy”中登录、取消或退出账号,刷新目录,保存 DSH 默认模型及推理等级。
- 默认站点通过 DSH 配置持久化;默认模型统一使用宿主 agentDefaultModel。
- /codebuddy-login [site] 登录国内版、国际版或自定义 CodeBuddy 站点。
- 在 dsh 模型选择器中显示独立的 CodeBuddy 分类。
- 登录后动态加载当前账号可用的模型。
- 支持 Off / Minimal / Low / Medium / High / Xhigh / Max 推理等级。选 Off 时请求体不带 reasoning_effort(同官方 CLI 关闭思考);调用方没指定等级时才默认补 high(PI_CODEBUDDY_REASONING_EFFORT 可改或关闭)。
- OAuth 凭据通过 dsh Credential Store 持久化;模型目录落盘到 $DSH_HOME/codebuddy/models-cache.json,重启后先恢复上次目录再按需联网。
- 目录里标 supportsImages 的模型可以在 dsh 里直接发图片(经 dsh 附件服务缩放后内联 base64)。
- 提供 /codebuddy-status 和 /codebuddy-logout。

前置要求

- DeepSeek Harness 0.2.1-rc.2 及之后的 0.2.x(engines.dsh:>=0.2.1-rc.2 <0.3.0-0;0.2.0 及更早版本请用 0.1.x 的 release)
- Node.js 22.19+ 或 24+

从 GitHub 安装

将插件安装到实际运行 Web 应用的同一个 profile:

dsh plugin --profile web add github:Lbryany/dsh-codebuddy
dsh web

如果 Web 应用使用自定义 profile,请将 web 换成该 profile 名称,并使用 dsh --profile <name> 启动。

DSH 0.2.x 的 pnpm 安全策略

@earendil-works/pi-ai 的传递依赖包含两个安装脚本,但 CodeBuddy 的 OpenAI 兼容路径不需要运行它们。若安装时出现 ERR_PNPM_IGNORED_BUILDS,请在 $DSH_HOME/profiles/web/pnpm-workspace.yaml 中把 DSH 自动生成的占位值改为:

allowBuilds:
'@google/genai': false
protobufjs: false

如果文件里已有 allowBuilds,请合并这两项而不是重复该键。首次失败的安装可能已经写入依赖但尚未激活 bundle;修改后先移除再重新安装:

dsh plugin --profile web remove @lbryany/dsh-codebuddy
dsh plugin --profile web add github:Lbryany/dsh-codebuddy

在 dsh 输入框执行:

/codebuddy-login cn

站点参数:

- cn / china:https://copilot.tencent.com
- global / intl:https://www.codebuddy.ai;留空使用设置页保存的默认站点(初始为国际站)。
- 也可以传入完整的 http(s) 站点 URL

命令会直接显示授权 URL;请点击该 URL(或复制到本地浏览器)完成授权。这个流程不依赖服务器上的 Chrome,因此也适用于无头或远程环境。授权成功后,模型选择器会出现 CodeBuddy 分类、当前账号的模型列表和可选推理等级。

从源码构建安装

git clone https://github.com/Lbryany/dsh-codebuddy.git
cd dsh-codebuddy
npm ci
npm run check
npm pack --ignore-scripts
dsh plugin --profile web add ./lbryany-dsh-codebuddy-0.1.6.tgz
dsh web

更新与卸载

重新安装最新 GitHub 版本:

dsh plugin --profile web add github:Lbryany/dsh-codebuddy

卸载:

dsh plugin --profile web remove @lbryany/dsh-codebuddy

会话标识与提示缓存

CodeBuddy 服务端按 x-conversation-id 识别一个对话。0.1.5 之前插件每次请求都生成一个随机的 conversation id(pi-ai 每次请求都重新调用 toAuth,那里拿不到会话),同一个 dsh 会话的每一轮都像一个新对话,服务端的提示缓存每轮都失效。现在:

- X-Conversation-ID 由 dsh 的会话 id 哈希成稳定的 UUID,同一会话每轮相同(没有会话 id 的调用用随机 UUIDv7)。思路与 cc-switch 一致:跨轮稳定的 session / conversation id 才能当会话身份。
- 其余上下文头与官方 CLI 2.168.2 对齐,由适配器按调用生成:
- turn 按 dsh 消息来源划分(官方 CLI 只在用户输入被接纳时更新 turn id):从历史末尾往前找第一条决定性消息,真正的用户输入(本轮输入、user / schedule / webhook 来源)开新 turn,模型输出复用当前 turn;工具结果、子 agent 通知(subagent-settled / agent-message / team-message 等)、model-selection / runtime-context 等上下文注入以及未知来源都跳过。X-Conversation-Request-ID 与 X-Root-Request-ID 取 turn id。已知局限:dsh 不区分 steer 与新输入,工具循环中途插入的用户消息会开新 turn。
- X-Request-ID = X-Conversation-Message-ID,每次调用新生成。
- X-Agent-Type / X-Agent-Purpose:主调用 main / conversation,上下文压缩 compaction / context_compact(另带 X-Compaction: manual,复用当前 turn),会话标题 auxiliary / conversation_topic。压缩成功后同一会话的下一次主调用带一次 X-Context-Compacted:压缩检查点由 /compact 命令产生(带 sourceCommandId)时为 manual,否则为 auto。
- 会话标题同 CLI 用独立的标题子会话:每次新的 X-Conversation-ID、新的 run id 与 trace,只有 X-Root-Request-ID 指向主会话当前任务(主会话还没有任务时等于自己的 run id),不影响主会话的 turn。
- X-Agent-Runtime 取环境变量 CODEBUDDY_AGENT_RUNTIME(local-agent / cloud-agent / agent-agent,其余为 other,未设置为 other)。
- trace:每个 turn 一个 trace id、每次调用一个 span id,写 traceparent、b3、X-B3-TraceId / X-B3-SpanId / X-B3-Sampled、X-Trace-ID;baggage 带会话 id 与 turn id。
- 不发 X-Parent-Conversation-ID:dsh 不告诉插件父子会话关系,子 agent 会话按独立会话处理。
- PI_CODEBUDDY_CLI_HEADERS=0 关闭 CLI 请求头时,上述上下文头全部不发。
- 聊天请求体默认带 cache_retention: "long"(约 1 小时,同官方 CLI);设置页“模型与运行”的“提示缓存保留时长”可改为“短(5 分钟)”即 "short"。同 CLI,取值在每个 dsh 会话的首次请求时锁定,会话内的标题、压缩调用沿用;修改设置只影响之后新开的会话。0.1.6 及之前保存的 default / 1h 都按 long 读取。
- 适配器声明 systemPromptUpdate: "in-history":系统提示变化(如进入 plan 模式)由 dsh 追加到历史,而不是改写首条系统提示,之前的请求前缀不变、缓存继续命中。历史中途的系统提示以 <system-reminder> 包裹的 user 消息放在原位(同官方 CLI 注入上下文的方式),首条系统提示仍走 system 角色。工具更新不声明,每次请求都带完整工具列表。
- 可选:PI_CODEBUDDY_PROMPT_CACHE_KEY=1 时在请求体里加 OpenAI 的 prompt_cache_key(取 dsh 会话 id,最长 64 字符),供 OpenAI 兼容上游按会话路由缓存。默认关闭,因为严格的上游会拒绝未知字段。

模型目录缓存

- 目录由 pi-ai 的 ModelsStore 落盘到 $DSH_HOME/codebuddy/models-cache.json(没有 DSH_HOME 时是 ~/.dsh/...)。Host 重启后先从文件恢复(设置页标"正在显示上次成功的目录"),第一次请求或手动"刷新目录"再联网核对。
- 每次请求前适配器都会刷新一次目录;上次成功联网刷新距今不超过 PI_CODEBUDDY_CATALOG_TTL_MS(默认 600000,即 10 分钟;设 0 表示每次都联网)时直接跳过网络。设置页的"刷新目录"始终联网。
- 联网刷新失败时保留上次目录;退出登录会一并删掉缓存文件里的本账号条目。

图片输入

- 目录里 supportsImages 为真的模型(如 Deepseek-V4.1-Flash)在 dsh 里声明图片输入;用户消息与工具结果里的图片经 dsh 附件服务按长边 2048 像素、4 MiB 以内取出,再以 base64 data URL 放进 OpenAI 兼容请求体。
- 不支持图片的模型仍只声明文本,dsh 会在发送前拦下带图消息。dsh 标记为已卸载的图片只发占位文本。

请求诊断

- PI_CODEBUDDY_DEBUG_LOG=<文件> 时,每次聊天请求追加一行请求体摘要(字段、字节数、消息角色与长度、工具名)和一行响应状态 / 响应头(不含任何凭据、不含响应体)。
- 诊断开启时 PI_CODEBUDDY_STRIP=tools,reasoning_effort,stream_options,temperature,max_tokens 可按字段名从请求体剔除指定字段,用于排查某个部署或模型不接受哪个字段。
- 2026-10-18 实测:国内站网关对本插件的聊天请求最初返回 HTTP 400、业务码 11128 "request illegal"(提示「没通过渠道校验,可能不是官方客户端发出」),目录接口正常。同日按 CodeBuddy 技术团队指导,把聊天请求的 User-Agent 改为恰好 CLI/2.125.0 CodeBuddy/2.125.0,去掉 dsh 署名后缀(偏离 dsh 的 attributionHeaders() 约定)。结果:待补。之后对齐的 CLI 版本升到 2.168.2,当前 User-Agent 为 CLI/2.168.2 CodeBuddy/2.168.2,x-ide-version 同步为 2.168.2。

命令

- /codebuddy-login [cn|global|site URL]
- /codebuddy-status
- /codebuddy-logout

OAuth 凭据存储在 dsh 凭据引用 CODEBUDDY_OAUTH 中。插件不会把 access token 或 refresh token 写入日志。

设置页

打开「设置 → CodeBuddy」:

1. 在「账号与连接」选择中国站、国际站或自定义 URL,按需保存默认站点,然后登录并打开授权页面。
2. 页面显示授权等待、成功、失败或取消状态;「已保存登录凭据」不代表模型目录一定可用。
3. 在「模型与运行」刷新目录,选择模型和推理等级,保存为 DSH 默认模型。保存只影响后续采用默认模型的会话。
4. 在「模型与运行」的「提示缓存保留时长」选择「1 小时(默认,同 CLI)」或「短(5 分钟)」,保存到插件配置;只对之后新开的会话生效。

刷新失败时保留账号凭据和上次成功目录,缓存目录不能用于新的默认模型保存。非推理模型隐藏推理选项;七档推理强度是适配器映射,不表示已对每个模型验证所有档位。只读配置会明确显示不可保存。

退出登录会取消旧账号请求并移除凭据。命令与设置页共用账号管理服务,原有 CODEBUDDY_OAUTH 凭据格式不变。

开发

npm ci
npm run typecheck
npm test
npm run build

lib/ 会提交到仓库,以便 dsh 可以直接通过 GitHub 安装;CI 会验证提交的 bundle 与源码构建结果一致。

隔离宿主验收

以下命令只创建仓库下 .tmp/ 的测试宿主与 profile,不修改全局 DSH。浏览器测试默认使用本机 Edge 的无界面模式,CodeBuddy 网络由本地模拟服务提供。

npm install --prefix .tmp/host-020 --ignore-scripts --no-audit --no-fund --save-exact @deepseek-ai/dsh@0.2.0-rc.2 playwright@1.56.1
npm run check
npm pack --ignore-scripts --pack-destination .tmp
node scripts/verify-dsh.mjs --version 0.2.0-rc.2 --mode web --mock-provider
node scripts/verify-dsh.mjs --version 0.2.0-rc.2 --mode commands --mock-provider

脚本从发布安装包创建独立 profile;依赖脚本配置也只作用于该测试 profile。测试日志和页面截图保存在 .tmp/verification-artifacts/。详细范围与未验证项见 验收记录。

License

MIT
预览分享卡片长什么样 ↓Lbryany/dsh-codebuddy
分享 · DeepSeek Harness Hub
Lbryany/dsh-codebuddy

已迁移2026-10-19:本仓库已归档,只读。后续开发与发布都在…

这是你的仓库?认领条目

回到顶部