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

CodeBuddy 国际接入 1924225725-collab/dsh-codebuddy-cli-intl

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

DSH 国际版模型接入插件:官方 CodeBuddy CLI、自动检测模型与倍率、DSH…

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

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

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 1924225725-collab/dsh-codebuddy-cli-intl
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

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

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 18:23:23

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

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 38 处,展示前 35 条)
  • 发起网络请求
    lib/client.js:255
    const refresh = () => fetch(statusUrl, { signal: controller.signal, cache: 'no-store' })
  • 发起网络请求
    lib/client.js:286
    const response = await fetch(actionUrl, {
  • 发起网络请求
    lib/client.js:311
    const response = await fetch(statusUrl, { cache: 'no-store' })
  • 发起网络请求
    lib/client.js:331
    const response = await fetch(`${statusUrl}?checkCli=1`, { cache: 'no-store' })
  • 写入剪贴板
    lib/client.js:338
    try { await navigator.clipboard.writeText(status.loginCommand); setNotice(t('copied')) }
  • 发起网络请求
    lib/client.js:345
    const response = await fetch(ACCOUNTS_PATH, {
  • 发起网络请求
    lib/client.js:358
    const response = await fetch(props.diagnosticsUrl ?? DIAGNOSTICS_PATH, name ? {
  • 写入剪贴板
    lib/client.js:497
    h('button', { type: 'button', style: buttonStyle, onClick: async () => { try { await navigator.clipboard.writeText(account.loginCommand); setNotice(t(
  • 读取本地文件
    lib/cli-runtime.js:64
    await access(candidate, process.platform === 'win32' ? constants.F_OK : constants.X_OK)
  • 读取本地文件
    lib/cli-runtime.js:74
    try { await access(candidate, process.platform === 'win32' ? constants.F_OK : constants.X_OK) } catch { continue }
  • 读取本地文件
    lib/cli-runtime.js:105
    try { await access(candidate, process.platform === 'win32' ? constants.F_OK : constants.X_OK); return candidate } catch {}
  • 写入本地文件
    lib/cli-runtime.js:139
    await writeFile(installer, Buffer.concat(chunks), { mode: 0o700 })
  • 删除本地文件递归
    lib/cli-runtime.js:171
    if (relative && !relative.startsWith('..') && !path.isAbsolute(relative)) await rm(directory, { recursive: true, force: true }).catch(() => {})
  • 读取本地文件
    lib/cli-invocation.js:11
    if ((await stat(executable)).size < 65536) {
  • 读取本地文件
    lib/cli-invocation.js:12
    const shim = await readFile(executable, 'utf8')
  • 读取本地文件
    lib/cli-invocation.js:24
    await access(entry)
  • 读取本地文件
    lib/cli-invocation.js:26
    try { await access(node); return { command: node, args: [entry] } } catch {}
  • 读取本地文件
    lib/diagnostics.js:130
    if ((await stat(file)).size > MAX_BYTES) { storageError = 'LOG_FILE_TOO_LARGE'; return }
  • 读取本地文件
    lib/diagnostics.js:131
    const data = JSON.parse(await readFile(file, 'utf8'))
  • 写入本地文件
    lib/diagnostics.js:149
    await mkdir(directory, { recursive: true, mode: 0o700 })
  • 写入本地文件
    lib/diagnostics.js:150
    await writeFile(`${file}.tmp`, body, { mode: 0o600 })
  • 写入本地文件
    lib/diagnostics.js:151
    await rename(`${file}.tmp`, file)
  • 读取本地文件
    lib/accounts.js:59
    const stat = await lstat(file)
  • 读取本地文件
    lib/accounts.js:61
    const value = JSON.parse(await readFile(file, 'utf8'))
  • 读取本地文件
    lib/accounts.js:74
    try { existingProfiles = (await readdir(root)).some(name => UUID.test(name)) } catch (listError) { if (listError.code !== 'ENOENT') existingProfiles =
  • 读取本地文件
    lib/accounts.js:87
    try { const stat = await lstat(current); if (!stat.isDirectory() || stat.isSymbolicLink()) throw fail('ACCOUNT_PATH_INVALID', '账号目录包含链接或异常文件,已阻止调用。')
  • 读取本地文件
    lib/accounts.js:97
    for (const entry of await readdir(directory, { withFileTypes: true })) {
  • 读取本地文件
    lib/accounts.js:100
    try { await lstat(`${target}.logged-out`); continue } catch (error) { if (error.code !== 'ENOENT') throw error }
  • 写入本地文件
    lib/accounts.js:117
    supported(); await mkdir(root, { recursive: true, mode: 0o700 }); await noLinks(root)
  • 写入本地文件
    lib/accounts.js:124
    try { await writeFile(temporary, JSON.stringify(state), { mode: 0o600, flag: 'wx' }); await rename(temporary, file) }
  • 写入本地文件
    lib/accounts.js:124
    try { await writeFile(temporary, JSON.stringify(state), { mode: 0o600, flag: 'wx' }); await rename(temporary, file) }
  • 删除本地文件
    lib/accounts.js:125
    finally { await unlink(temporary).catch(() => {}) }
  • 删除本地文件
    lib/accounts.js:127
    } finally { await lock.close(); await unlink(path.join(root, '.lock')) }
  • 写入本地文件
    lib/accounts.js:173
    for (const directory of [profile.accountHome, profile.configDir, path.join(profile.accountHome, 'AppData', 'Local'), path.join(profile.accountHome, 'A
  • 写入本地文件
    lib/accounts.js:212
    await writeFile(scriptPath, '\ufeff' + guardedScript, { mode: 0o600 })
扫描于 2026/11/1(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-attachment@deepseek-ai/dsh-llm@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(95 字)↓

DSH 国际版模型接入插件:官方 CodeBuddy CLI、自动检测模型与倍率、DSH 工具执行。International CodeBuddy CLI provider for DSH.

README

由 DeepSeek 最新模型翻译生成
DSH CodeBuddy CLI(国际版) 简体中文 · English 下载国际版 0.2.2 · 备用仓库路径 · 安装教程 · 多账号指南 · 图片输入说明 · 故障处理指南 · 更新记录 0.2.2 通过 GitHub 仓库 main/releases/ 目录分发,不创建新的正式 Release 或 tag。正式 Release 页面最新仍为 v0.1.8;仓库此前已分发 0.2.0。0.2.1 未独立分发,其改动并入 0.2.2。 在 DeepSeek Harness(DSH)中,使用本机官方 CodeBuddy CLI 的国际站账号可用模型。插件负责转换模型请求和结果,DSH 继续管理对话、权限和工具执行。插件没有中转服务器,也不导入 WorkBuddy 桌面凭据。 0.2.1 中间候选(未独立分发,改动并入 0.2.2) - 明确说明历史 assistant tool-call 是之前的 DSH 提案、历史 tool 是 DSH 已返回的结果;本轮仍需唯一一次 StructuredOutput 提交,本轮新 toolCalls 在 DSH 执行前只是提案。 - 文字封装仍为 12 MiB;图片模式最终 JSONL 输入仍为国际版原有 24 MiB。超限时保留检查阶段、实际 UTF-8 字节和上限,并在配置页与普通日志展示尺寸分解。
展开完整文档(README 剩余 1 节)
DSH CodeBuddy CLI(国际版)

简体中文 · English

下载国际版 0.2.2 · 备用仓库路径 · 安装教程 · 多账号指南 · 图片输入说明 · 故障处理指南 · 更新记录

0.2.2 通过 GitHub 仓库 main/releases/ 目录分发,不创建新的正式 Release 或 tag。正式 Release 页面最新仍为 v0.1.8;仓库此前已分发 0.2.0。0.2.1 未独立分发,其改动并入 0.2.2。

在 DeepSeek Harness(DSH)中,使用本机官方 CodeBuddy CLI 的国际站账号可用模型。插件负责转换模型请求和结果,DSH 继续管理对话、权限和工具执行。插件没有中转服务器,也不导入 WorkBuddy 桌面凭据。

0.2.1 中间候选(未独立分发,改动并入 0.2.2)

- 明确说明历史 assistant tool-call 是之前的 DSH 提案、历史 tool 是 DSH 已返回的结果;本轮仍需唯一一次 StructuredOutput 提交,本轮新 toolCalls 在 DSH 执行前只是提案。
- 文字封装仍为 12 MiB;图片模式最终 JSONL 输入仍为国际版原有 24 MiB。超限时保留检查阶段、实际 UTF-8 字节和上限,并在配置页与普通日志展示尺寸分解。
- 不改变原生 Schema、唯一最终结果、DSH 工具执行、图片处理、区域或账号隔离规则;不自动压缩历史、删除内容、丢图、裁 Schema、切模型或重试。修复诊断缺失不等于证明原始超限故障已解决。

0.2.2 仓库目录分发:稳定请求前缀

- 仅调整 JSON 封装的键顺序:把稳定的 DSH 工具定义和可选响应 Schema 放在会增长的消息历史之前。协议字段、系统提示、提交说明、字段值、消息/工具顺序与内容均保持不变;DSH 权限、原生 Schema 和结果解析规则不变。
- 图片消息映射、原生图片块顺序与数据、卸载图片占位信息和最终图片输入字节数保持不变。文字封装 12 MiB 与图片模式最终 JSONL 输入 24 MiB 上限均不变。
- 更长的稳定前缀只为 CLI/服务端缓存提供机会,不保证缓存命中、节省额度或降低延迟;本轮没有测量真实缓存收益。
- bug005、bug006 原始症状、bug007 与 bug008 仍未查明或验收。0.2.1 中 bug006 仅修复失败前缺少尺寸诊断的子问题,不代表原始超限故障已解决。
- 本轮自动检查结果见更新记录。未发起真实国际模型请求、未执行 DSH 业务工具或验收 DSH 界面;这些检查不代表缓存收益或完整线上链路已验证。

0.2.0 仓库目录分发:结构化诊断(保留)

- 图片流失败会提供固定原因、解析阶段、帧大小和位置、init/result 状态、终止发起方、close 观察状态及总时限状态,帮助区分解析器主动终止与进程自然关闭。
- 原生结果诊断只记录 structured_output 是否存在和固定类型、result 类型有效性、有限 subtype 类别,以及已知 CLI 提示的分类与来源;不保存帧内容、stderr 原文或任意字段名和值。
- 配置页和本机日志分别统计用户取消、DSH 图片卸载请求及建议卸载图片数;请求不代表 DSH 已完成卸载。诊断数字使用有界整数白名单。
- 只增强诊断,不放宽 JSONL 事件顺序、唯一 result、原生 Schema、DSH 工具校验或失败边界。没有用户原始帧,原始偶发问题仍待复核。

0.1.8 CLI 网络错误识别

- 当无有效模型结果且官方 CLI 错误文本明确包含连接重置、TLS 建立失败或相关 502 时,显示 CLI_NETWORK_ERROR,不再误报为普通响应格式错误。
- 使用固定安全提示,不展示原始 stderr、URL 或凭据;插件不会改网络、代理或登录设置,也不会自动重试。
- 配置页与中英故障指南说明该分类只能帮助定位,不能恢复网络或证明具体根因。83 项合成自动检查通过;本版没有发起模型请求,也未复现真实网络故障。

0.1.7 工具结果图片

- 接受任意 DSH 工具标准 role=tool 结果中的图片附件,要求消息含有效 toolCallId,图片使用 DSH content 的标准附件引用;没有工具名白名单。仅表示格式兼容,不代表所有第三方工具都已逐个实测。
- 保留 toolCallId、isError 与内容顺序;工具图片和用户图片共用附件 API、5 张/2 MiB/8 MiB 图片预算、DSH 卸载与日志隐私处理。缺少 toolCallId 明确失败;assistant、system、developer 图片仍拒绝。
- 不读取任意本地路径、URL 或裸 Base64;原生音视频、PDF 内容解析、图片生成和工具自定义非标准截图格式未适配。业务工具继续由 DSH 执行。
- 图片通道安全处理官方 CLI error 帧。80 项合成检查通过,新增测试覆盖混合图片、工具单独截图、失败状态和日志隐私;未逐个验证实际桌面/浏览器/第三方截图工具或上传界面。

0.1.6 DSH 版本兼容(沿用)

- 支持 DSH 0.2.1-rc.2 与 0.2.1-rc.3;其他 DSH 版本未声明兼容。

0.1.5 用户图片输入(沿用)

- 在 0.1.4 原生 JSON Schema 路线上加入图片输入,只对官方动态目录明确标记 supportsImages 的模型启用。
- DSH 附件通过本机附件服务读取,并以官方 CLI 原生 stream-json 图片块发送;文本请求继续使用 JSON 输出。CLI 业务工具仍关闭,DSH 继续管理文件、命令及工具执行。
- 每次请求历史最多 5 张图片,单张最多 2 MiB、Base64 合计最多 8 MiB,最长边目标不超过 1920 像素。超限或模型未声明图片能力时明确报错,不静默丢图。
- 图片字节、Base64 和附件标识不会写入日志;诊断只记图片计数和字节数。DSH 已卸载的较早图片不会重新读取。
- 仍只读取唯一最终记录的 structured_output,不从自由文本回退;一次 CLI 调用不代表一次推理或固定用量。
历史验证范围:0.1.5 的 77 项合成自动检查通过。2026-10-24 使用实际适配器和国际 CLI 对 deepseek-v4.1-flash 完成文字对照及合成 360×240 六色图片识别,均通过且未执行 DSH 业务工具;gpt-5.6-luna 文字对照返回 CLI_OUTPUT_INVALID,没有发送图片。0.1.7 对工具结果图片的验证为合成适配器测试,没有发起新模型请求,也没有验收实际 DSH 工具截图或上传界面。未验证所有模型;实际调用仍需有效的国际版 CLI 登录和所选模型权限。

国际版和国内版是独立插件,使用独立提供方 ID、区域入口与 CLI 配置目录。国际版版本号独立:当前仓库目录分发版本为 0.2.2,正式 Release/latest tag 仍为 v0.1.8。版本按每段满十进位,不生成 0.1.10。

0.1.9 本地预览:独立账号环境

- 每个账号使用单独的 CLI 配置目录和 Windows 用户目录环境。官方登录由用户在生成的 PowerShell 命令中手动完成,并在官方 CLI 中选择 International Site。
- DSH 中带环境备注的模型会固定绑定该环境;切换设置页当前环境不会改变已有会话的账号。鉴权、网络、余额或权限失败后不会轮换账号或回落到默认登录。
- 仅支持 Windows + 官方 npm/Node CodeBuddy CLI 2.174.0。原生 exe、其他系统和未核查 CLI 版本拒绝使用独立账号功能;普通单账号路径保留。
- 环境统计是 CLI 返回并由插件按环境累计的调用与 Token 数,不是官方账单或余额。可用额度请以官方用量明细为准。
- 同步增加 400 上下文超限、402 余额不足的固定错误分类,并限制内联图片 data URI 总字符数;不会保存图片正文到日志。
- 本地预览通过 96 项自动检查。没有登录第二账号、发起模型请求或验证官方扣费归属;详见多账号指南。

安装与登录

1. 下载上方 .tgz 安装包,在 DSH 插件管理中导入并启用“CodeBuddy CLI(国际版)”。
2. 打开 llm-codebuddy-cli-intl 配置页,点击“一键配置 CLI”。已有 CLI 时会检测现有安装;全新安装使用官方国际版安装器或官方 npm 包。
3. 复制登录命令,在 PowerShell 或终端运行 CLI 的 /login,选择 International Site 并完成官方登录。
4. 返回 DSH,刷新模型与倍率,在会话中选择国际版提供方的模型。先用一条简短消息确认调用,再开始较大任务。

默认 CLI 配置目录为 ~/.dsh-codebuddy-cli-intl,可在设置中指定其他目录。此目录用于分开放置配置文件,不保证官方 CLI 的系统账号存储也独立。切换账号请使用官方登录流程。

故障处理与隐私

常见情况和操作步骤见完整指南。插件自动保存最近 100 次调用的基础诊断,日志文件最多 2 MiB;基础日志不包含请求或回复正文、CLI 标准错误、登录凭据和配置路径。日志不会自动上传。

需要排查原始回复时,可在设置页阅读提示后手动开启一次失败采集。采集范围最多 256 KiB,仅包含模型返回,不包含请求、登录文件或 CLI 标准错误。分享前请预览并检查全部内容,删除私人信息。

界面预览

两张界面图是 0.1.0 实际设置组件的布局预览;后续加入的故障指南、诊断日志和原生输出状态未显示在图中。模型、倍率和状态均为虚构数据,不代表当前账号目录或余额。

国际版配置页示例

虚构模型目录与倍率

工作流程与限制

DSH、插件与官方 CLI 调用流程

CLI 使用国际站公开环境并在本机运行;插件不直接请求 CodeBuddy 服务。文本和已声明支持的图片由官方 CLI 处理,DSH 负责执行工具。余额请在官方账号页面查看;本插件不读取账单,也不把 Token 数换算为积分。

这是第三方适配项目,不代表官方背书或账号安全保证。模型权限、可用额度与服务规则由官方账号和服务决定。

开发检查

在 Node.js ≥ 22.19.0 环境运行 npm test。自动检查使用合成 CLI 与测试数据,不需要账号,不会发送模型请求。源码和自动化测试保留在仓库中,安装包不包含测试、研究资料或日志。
预览分享卡片长什么样 ↓1924225725-collab/dsh-codebuddy-cli-intl
分享 · DeepSeek Harness Hub
1924225725-collab/dsh-codebuddy-cli-intl

DSH 国际版模型接入插件:官方 CodeBuddy CLI、自动检测模型与倍率、DSH…

回到顶部