WorkBuddy 多账号仪表盘 functy23/dsh-workbuddy-connect-functy
DeepSeek Harnessv0.13.20【已归档】上游风控持续加强、UA/请求头格式频繁变动,适配已难以为继。后续开发移步
42.5/100
综合分
10
GitHub 星标
706
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-workbuddy-connect-functynpm 源 · dsh-workbuddy-connect-functy 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-workbuddy-connect-functy @ 0.13.20
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 15:48:42
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 50 处,展示前 32 条)
- 发起网络请求lib/index.js:156
const doFetch = options.fetch ?? ((...args) => globalThis.fetch(...args)); - 执行外部命令来自配置/变量lib/index.js:3323
const child = spawn(command, [...args], { - 读取本地文件lib/index.js:3570
const manifest = JSON.parse(readFileSync(join(dir, "package.json"), "utf8")); - 写入本地文件lib/account-cli-BhPh0s5r.js:40
await rename(temp, filename); - 写入本地文件lib/account-cli-BhPh0s5r.js:67
await mkdir(dirname(filename), { - 写入本地文件lib/account-cli-BhPh0s5r.js:73
await writeFile(temp, content, { - 删除本地文件lib/account-cli-BhPh0s5r.js:79
await rm(temp, { force: true }); - 读取本地文件lib/account-cli-BhPh0s5r.js:89
await lstat(lockPath); - 读取本地文件lib/account-cli-BhPh0s5r.js:111
return await readFile(lockPath, "utf8"); - 写入本地文件lib/account-cli-BhPh0s5r.js:131
await writeFile(claim, `${process.pid}\n`, { - 删除本地文件lib/account-cli-BhPh0s5r.js:143
await rm(lockPath, { force: true }); - 删除本地文件lib/account-cli-BhPh0s5r.js:149
await rm(claim, { force: true }).catch((error) => {}); - 写入本地文件lib/account-cli-BhPh0s5r.js:201
await writeFile(lockPath, `${process.pid}\n`, { - 删除本地文件lib/account-cli-BhPh0s5r.js:220
await rm(lockPath, { force: true }); - 读取本地文件lib/account-cli-BhPh0s5r.js:371
text = await readFile(plistPath, "utf8"); - 读取本地文件lib/account-cli-BhPh0s5r.js:431
const saved = JSON.parse(await readFile(path, "utf8")); - 读取本地文件lib/account-cli-BhPh0s5r.js:529
pkg = parseJsonObject(await readFile(cliPackagePath(bundle), "utf8")); - 读取本地文件lib/account-cli-BhPh0s5r.js:646
const saved = JSON.parse(await readFile(savedPath, "utf8")); - 发起网络请求lib/account-cli-BhPh0s5r.js:1733
response = await fetch(`${chatBase(credential)}/v2/chat/completions`, { - 发起网络请求lib/account-cli-BhPh0s5r.js:1779
response = await fetch(`${chatBase(credential)}/v2/plugin/auth/token/refresh`, { - 发起网络请求lib/account-cli-BhPh0s5r.js:1844
const response = await fetch(`${chatBase(credential)}/v3/config`, { - 发起网络请求lib/account-cli-BhPh0s5r.js:1884
const response = await fetch(`${chatBase(credential)}/console/enterprises/personal/models`, { - 发起网络请求lib/account-cli-BhPh0s5r.js:1940
const response = await fetch(`${billingBase(credential)}/v2/billing/meter/get-user-resource`, { - 发起网络请求lib/account-cli-BhPh0s5r.js:2012
const response = await fetch(`${CN_BILLING_BASE}/v2/billing/meter/get-enterprise-user-usage`, { - 执行外部命令来自配置/变量lib/account-cli-BhPh0s5r.js:2931
const child = execFile(bin, [...args], { - 执行外部命令来自配置/变量lib/account-cli-BhPh0s5r.js:3007
const child = execFile(regPath, [ - 执行外部命令来自配置/变量lib/account-cli-BhPh0s5r.js:3282
execFile(electronPath, [HELPER_SCRIPT_ARGUMENT_FLAG, HELPER_SCRIPT], { - 删除本地文件lib/account-cli-BhPh0s5r.js:3766
await rm(this.ownPath, { force: true }); - 删除本地文件lib/account-cli-BhPh0s5r.js:3767
await rm(`${this.ownPath}.lock`, { force: true }); - 写入本地文件lib/account-cli-BhPh0s5r.js:3967
mkdirSync(dirname(path), { recursive: true }); - 执行外部命令固定命令lib/account-cli-BhPh0s5r.js:6116
const token = execFileSync("wmic", [ - 执行外部命令固定命令lib/account-cli-BhPh0s5r.js:6129
const out = execFileSync("ps", [
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cosmokit@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-sidebar给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 多账号轮换
- 额度展示
- 接入模型到Harness
最近更新
在 GitHub 查看全部 →v0.13.112026-10-06
输入框那两个小控件可配置了,额度徽标可以点开看分账号额度,设置页也不再等上游才出画面。
· 输入框额度徽标
· 移到 composer 那一行的最右侧,排在上下文占用右边。位置由 flex order 决定:DSH 把上下文占用控件追加在插槽条目之后,且插槽出口是 display:contents,只靠 DOM 顺序会落在它左边。
· 点击展开分账号面板,实现方式照 DSH 自己的上下文占用弹框(ContextMeter),不是另发明一个:同一套定位与关闭原语(useAnchoredPosition + useDismissOnOutsidePointer + Esc)、同样 portal 到 document.body(否则会被 composer 的 overflow 裁掉)、同一套菜单材质(--dsw-specific-menu + backdrop-filter + --dsw-elevation-prominent)、同样 min(264px, 100vw - 24px) 宽度、同样的「标题行 + 4px 容量条 + dl/dt/dd 行」结构。
· 面板内按 WorkBuddy / WorkBuddy AI 分组,每组一行一个已添加账号:有上限显示"剩余 / 上限",没读过显示「尚未读取」而不是 0,没有账号的产品整组不出现。
· 两个新开关
设置页「侧边栏」分组内,与侧边栏额度卡片开关并列、彼此独立:
| 开关 | 字段 | 作用 |
|---|---|---|
| 输入框额度徽标 | composerCreditVisible | 那一行的余额徽标 |
| 输入框检测按钮 | probeControlVisible | 模型选择器旁的思考强度检测控件(关掉后仍可在设置页模型列表里检测) |
字段缺失(旧宿主)一律按"显示"处理 —— 升级不会替你拿走任何表面。同时修掉分组自身的渲染条件:原先只看侧栏那两项偏好,三个独立偏好下会把第三个开关一起藏起来。
· 设置页不再空等
· 状态文档按产品缓存进 localStorage(键 dsh-workbuddy-connect-functy/status/,用法与 @mars-sea/dsh-commandcode-provider 同构,读写都容忍 storage 缺失或抛错):进页面先渲染上次的账号与余额,再并行拉实时数据替换,读失败保留屏幕内容。
· 账号区新增「刷新账号」:一次刷新两版所有已登录账号的余额与状态(只刷账号,模型目录仍走各自的「刷新列表」)。
· 删掉设置页里「仪表盘」那一行入口:仪表盘现在只从侧栏额度卡片进入。
· 本版数据
· pnpm run check:55 files / 763 tests 全过;pnpm run test:engine 全过
· 产物 14 files,shasum 266ff6240e176ec19a5c8cb5d47b047027b75c55
· 版本 0.13.11 · 对照 DSH 0.1.7-alpha.1 / 0.2.0-rc.1 / 0.2.0-rc.2
装法不变:dsh plugin --profile add dsh-workbuddy-connect-functy
详见 CHANGELOG.md。
v0.13.102026-10-06
刷新 npm 包的 git 出处:仓库历史经过一次身份重写 —— 早先在本机全局 git 身份未配置时推入的提交被登记成了另一个名字,现已在全部提交与 tag 上统一为维护者账号 functy23。
重写只改署名,文件内容逐字节未变:main 的 tree 哈希(4d1806cf9101b4b14e4a0a98f00f08bec8cc83cc)与 27 个 tag 指向的 tree 与重写前完全一致,提交数(194)与代码均无改动。本版据此重新构建并发布,使 npm 包记录到的提交与实际仓库对齐。
说明:GitHub 侧「删除贡献者列表里的旧署名」另需 GitHub Support 处理(该列表取自仓库的 mentionable users,不由提交历史决定),与本次发版无关。
v0.13.92026-10-05
思考强度探测不再被一次网络抖动判成「检测不出来」,失败也终于说得清原因。
· 修复:探测只报 TypeError: fetch failed
截图里那条 baseline status 0: transport error: TypeError: fetch failed 属于传输失败——请求根本没到上游(实测同一请求随后重放返回 200 + SSE,宿主侧重跑直接给出 validating)。本版把两件事分开:
| 情况 | 处理 |
|---|---|
| 传输失败(DNS / connect / TLS,请求没到) | 退避 400ms / 1200ms 重试两次,每次重试都计入请求数 |
| HTTP 应答(401 / 429 / 400…) | 只问一次——那已经是上游对这次请求的结论 |
| 探测自身 30 秒超时 | 不重试——会超时的请求不会因为重试而通过,只会把停顿变三倍 |
失败行也不再被 fetch 的固定一句话吃掉,新增共用的 cause 链渲染(src/fetch-failure.ts):
修前 baseline status 0: transport error: TypeError: fetch failed
修后 baseline status 0 (3 attempts): transport error: TypeError: fetch failed; cause: Error: connect ECONNREFUSED 127.0.0.1:7891
覆盖 undici 的 cause、happy-eyeballs 的 AggregateError 逐地址原因、超时的 TimeoutError;聊天、探测、令牌刷新三处共用同一条渲染。
· 并入上游 #54:桌面 IDE 归属头
chat 与 probe 请求补上 X-IDE-Type / X-IDE-Name / X-IDE-Version,版本取与 User-Agent 同一个解析出来的桌面 App 版本;refresh、catalog、billing 三条路径保持不带该头族。
· 本版数据
· 测试 pnpm run check:55 files / 743 tests 全过(新增 describer 8 例、重试 6 例、IDE 头断言)
· pnpm run test:engine 全过;发布产物 14 files / 225.5 kB,shasum e4a5b472704e804c0c4ffc9268db686bd6315ab5
· 版本 0.13.9 · 对照 DSH 0.1.7-alpha.1 / 0.2.0-rc.1 / 0.2.0-rc.2
装法不变:dsh plugin --profile add dsh-workbuddy-connect-functy
详见 CHANGELOG.md。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成[!IMPORTANT]
本仓库已归档(archived),不再维护。
上游风控还在持续加强:除了已有的渠道校验,UA 与请求头格式也在反复变动(X-Conversation-、acp-connection-id、X-No- 的取值与组合一再调整,每次变动都得重新对齐)。继续跟着官方客户端做字节级模仿已经越来越难,失效速度超过了可维护的节奏。
后续开发已移步至 functy23/dsh-workbuddy-panel —— 把 workbuddy2api 网关托管进 DSH:进程托管、模型自动发现、账号与登录管理全部收在插件内。
本仓库的代码、文档与 Release 仅作历史存档保留:不再接受 Issue / PR,不再发新版,也不保证仍然可用。
dsh-workbuddy-connect-functy
corrinehu/dsh-workbuddy-connect 的 Functy 分支:仪表盘界面、多账号轮换与额度展示,把 WorkBuddy 桌面 App 的模型接到 DeepSeek Harness。
Issues • Changelog • / English
⚠️ 先说风险:上游正在收紧,随时可能用不了
2026-10-20 起,WorkBuddy 对话网关启用了针对第三方客户端的渠道校验,本插件(以及所有同类第三方接入)都可能被直接拒绝。
展开完整文档(README 剩余 1 节)
[!IMPORTANT] 本仓库已归档(archived),不再维护。 上游风控还在持续加强:除了已有的渠道校验,UA 与请求头格式也在反复变动(X-Conversation-、acp-connection-id、X-No- 的取值与组合一再调整,每次变动都得重新对齐)。继续跟着官方客户端做字节级模仿已经越来越难,失效速度超过了可维护的节奏。 后续开发已移步至 functy23/dsh-workbuddy-panel —— 把 workbuddy2api 网关托管进 DSH:进程托管、模型自动发现、账号与登录管理全部收在插件内。 本仓库的代码、文档与 Release 仅作历史存档保留:不再接受 Issue / PR,不再发新版,也不保证仍然可用。 dsh-workbuddy-connect-functy corrinehu/dsh-workbuddy-connect 的 Functy 分支:仪表盘界面、多账号轮换与额度展示,把 WorkBuddy 桌面 App 的模型接到 DeepSeek Harness。 Issues • Changelog • / English ⚠️ 先说风险:上游正在收紧,随时可能用不了 2026-10-20 起,WorkBuddy 对话网关启用了针对第三方客户端的渠道校验,本插件(以及所有同类第三方接入)都可能被直接拒绝。 - 典型报错:400 / code 11128 / Illegal API invocation from an unapproved channel,中文提示「请求被拦截,请重新发送」「这次调用没通过渠道校验,可能不是官方客户端发出的」。 - 校验维度在持续增加:已确认的有系统提示词开头的固定句(DSH 核心注入的 You are an AI agent powered by DeepSeek Harness.),以及请求头格式(X-Conversation- 系列、acp-connection-id、X-No- 的用法)。历史版本已经因为漏掉 X-Conversation- 三件套、发错 X-No- 而各被拦过一次。 - 本插件是跟着官方客户端做字节级模仿,属于猫鼠游戏:上游改一次,插件就可能失效一次,直到有人再适配。没有任何版本能保证长期可用。 - 账号风险真实存在:本轮排查中,一个 CN 账号的 refresh token 被上游吊销(invalid_grant: User disabled),另一个被判定「账号存在异常行为,已被限制使用」(403 / 11140)。频繁重试、批量轮换、异常调用节奏都可能加速这一判定。 - 上游 corrinehu/dsh-workbuddy-connect 已于 2026-10-20 停止维护,明确表示「尊重这一边界,不再继续适配」此类校验,仓库计划 2026-10-22 下线。本仓库曾是这个方向的独立分支,现已归档停止维护(见顶部说明),这条路到这里为止。 请自行评估是否值得用你的账号承担这个风险。 介意的话,直接用官方 WorkBuddy 客户端。 这是 corrinehu/dsh-workbuddy-connect 的分支,不是上游本体。上游 npm 包仍叫 dsh-workbuddy-connect(当前 0.7.8,只认 DSH 0.2.1-rc.2)。本仓库发在 dsh-workbuddy-connect-functy,界面和账号模型都走了另一条线。 国内版 WorkBuddy 与国际版 WorkBuddy AI 同时支持:装哪个 App 就出现哪个模型分组,两个都装就两组并存,各自用自己的账号与积分。 和上游差在哪 对照上游稳定版 0.7.8(2026-10-17)。两边都有的不写进「本仓库才有」。 | | 上游 dsh-workbuddy-connect 0.7.8 | 本仓库 0.13.17 | | 界面 | 设置里两张旧插件卡片 | 侧栏额度卡 + 中栏仪表盘 + 设置分区页(账号按产品合并成卡片,额度/用量/token/恢复时间都在名字下一行) | | 账号 | 跟桌面 App 当前这一份登录 | 多账号池:轮换、扫码、令牌、桌面凭证;删除后不会被 30 秒扫描加回来;同一产品的账号合并在一张卡片里 | | 额度 | 只在设置卡片上 | 侧栏一眼可见,可切「剩余 / 用量」样式,可关掉;设置页每账号显示剩余 / 已用 / 请求数 / token / 恢复时间 | | DSH | 只 0.2.0-rc.2 | 只 0.2.1-rc.x(见下方「支持的 DSH 版本」) | | 更新提醒 | 右下角更新条 | 无(未移植) | | npm | dsh-workbuddy-connect | dsh-workbuddy-connect-functy | 两边都有:国内/国际分组、图片输入、推理档位检测、模型显隐、国内企业额度、选择器里的倍率与促销徽章、Windows Electron 发现、按区域识别 effort 拒绝码。 请求身份:chat 送出的是 WorkBuddy/<v> WorkBuddy/<v> CLI/<v> 的 UA(两服都是 WorkBuddy,不带 AI——两个官方包的网关代理都这么拼)、X-IDE- 归属头、X-Agent-Intent: craft / X-Agent-Purpose: conversation / X-Agent-Type: main / x-codebuddy-request: 1 / X-Private-Data: true,以及共享同一 traceId 的 traceparent + B3 + X-Trace-ID。会话头按官方规则分三层生命周期:X-Conversation-ID 一次会话稳定、X-Conversation-Request-ID 一轮稳定、X-Conversation-Message-ID 每请求新;空闲 30 分钟换会话、10 分钟换轮。chat 不带 Origin/Referer(官方原生客户端也不带),控制台接口仍然带。两服的 chat 头完全相同,只有 URL、X-Domain 和版本号按区域取;请求体差异也只有国际服补 system 消息、去掉 reasoning_effort: off 两条。 展示 对话里直接用 WorkBuddy 模型(输入框显示倍率与推理档位,底栏有用量和额度): 模型选择器按 WorkBuddy / WorkBuddy AI 分组,带倍率与免费标记: 设置页管账号池、周期额度与模型列表: 勾选要出现在选择器里的模型: 功能 - 开箱即用:装上并启用后,对话里直接选 WorkBuddy 模型。插件复用桌面 App 的登录,账号切换会跟。 - 仪表盘:侧栏底部一张额度卡,点开中栏看完整面板;设置 → DSH-WorkBuddy 管账号、模型、上下文长度和推理档位检测。卡片本身可以关掉。 - 多账号轮换:同一产品可放多个账号。请求在可用账号之间轮换;被上游限流的会暂时搁置,稍后自动重试。添加方式:扫码、网页令牌、桌面端凭证。 - 额度:侧栏可显示剩余额度或「已用 / 总量」;国内企业账号走企业计费接口。 - 图片输入:多数模型支持粘贴或拖入图片。 - 推理档位:上游声明了的直接显示。没声明的,Web / Desktop 可在选择器里点「推理等级」手动检测(会发少量请求,可能扣积分)。 - 模型显隐:按登录账号分别保存。隐藏只影响选择器,已有会话不受影响。 安装 前置:已安装并登录 WorkBuddy 桌面 App(国际版同理)。核心必须对上,否则 DSH 起不来。 ⚠️ 此次更新跨度较大,并未经过充分测试,更新后可能出现显示问题以及其他更严重的问题。 升级前建议备份 ~/.dsh(尤其 .workbuddy-.json 状态文件与 profiles/<profile>/cordis.patch.yml)。 本版另有两处不兼容变化:entry id 改为 llm-workbuddy-functy;locale 命名空间改为 settings.workbuddy.functy / panel.workbuddy.functy。与上游 dsh-workbuddy-connect 同时安装会因 provider id 冲突导致发消息失败,请只保留一个。 支持的 DSH 版本(只此一条线) | 版本 | 是否支持 | 说明 | | 0.2.1-rc.x(实测 0.2.1-rc.2) | ✅ 支持 | 本版按这条线的 kernel 与 pi-ai 1.1.0 编译并实测 | | 0.2.0-rc.x | ❌ 不支持 | 其 dsh-llm-pi-ai 基于 pi-ai ^0.87.1,与本版锁定的 1.1.0 冲突,进程里会同时存在两代 pi-ai,请求在发出 HTTP 之前就报 PI_AI_ERROR | | 0.1.7-alpha.x | ❌ 不支持 | 同上,那一线基于 pi-ai ^0.85.1 | | 0.2.1 之后的 prerelease | ⚠️ 未验证 | peer range 不接受,需要显式改动 | peerDependencies 已收窄到 ^0.2.1-rc.1 与 @earendil-works/pi-ai ^1.1.0,所以在装错的宿主上包管理器会直接拒绝安装,而不是装完才发现模型不能用。 本版 0.13.17 只支持 DSH 0.2.1-rc.x(实测 0.2.1-rc.2)。不要装在 0.1.7-alpha.x 或 0.2.0-rc.x 上 —— 原因见下。 不要装 npm 上的 dsh-workbuddy-connect。 那是上游包,和本仓库不是同一条线。 从界面安装 DSH 的 添加插件 对话框接受:npm 包名(可带版本)、Git 地址、tarball、或本机绝对路径。 1. 打开 设置 → 插件(有的客户端写「扩展管理」)。 2. 选 添加插件。 3. 填下面任一标识,确认: dsh-workbuddy-connect-functy 或: github:functy23/dsh-workbuddy-connect-functy 4. 装完刷新页面;没生效就重启 DSH 客户端。桌面 App 由它自己拉起 profile,不要用 dsh --profile desktop 当启动命令。 从命令行安装 把 <profile> 换成实际 profile(web / desktop)。 从 npm(推荐): dsh plugin --profile <profile> add dsh-workbuddy-connect-functy 从 GitHub(仓库里已有预构建 lib/,git 安装不会跑 prepack): dsh plugin --profile <profile> add github:functy23/dsh-workbuddy-connect-functy Web dsh plugin --profile web add dsh-workbuddy-connect-functy dsh web Desktop(DSH 0.2+ 才让 CLI 管 desktop profile) dsh plugin --profile desktop add dsh-workbuddy-connect-functy DSH 0.2 之前 CLI 不接受 desktop profile,请走上面的界面安装。套壳桌面 App(如 DSH NEXT)的 CLI 入口是自带的 desktop-cli,它要求 PATH 上有 pnpm。 配置入口: 设置 → 模型 ← 不显示 WorkBuddy 两行(有意如此)设置 → 内置插件 → workbuddy-connect ← 只读运行状态,不是配置入口侧栏底部 ← 额度卡,点开中栏仪表盘设置 → DSH-WorkBuddy ← 账号、模型、侧栏显示聊天模型选择器 ← WorkBuddy / WorkBuddy AI 分组 命令行 CLI 二进制仍叫 dsh-workbuddy-connect(和 provider id 一样没改,避免已装用户的脚本对不上): dsh plugin --profile <profile> exec dsh-workbuddy-connect status dsh plugin --profile <profile> exec dsh-workbuddy-connect accounts dsh plugin --profile <profile> exec dsh-workbuddy-connect doctor 默认国内版;加 --provider workbuddy-ai 走国际版。accounts 只读。logout 只删插件自留副本,不动桌面 App 的登录。 已知限制 - 在 macOS 的 Web / Desktop 下验证过(DSH 0.2.1-rc.2,Node 22+)。Windows 依次探 Local 与 Roaming AppData;WSL 优先读挂载的 Windows 用户目录。用户名不一致时用 WORKBUDDY_AUTH_FILE / WORKBUDDY_AI_AUTH_FILE。 - 侧栏两个显示偏好要宿主能写设置;状态文档没有对应字段时,设置页不画开关。 - 国际版模型目录来自 App 界面接口,属私有实现,可能失效;届时按「本账号上次成功目录 → 内置目录」降级。 - 国际版企业计费未验证;无凭据时该版模型分组不再显示。 - 依赖 WorkBuddy 客户端接口,App 更新后插件可能要跟。 - 网关的渠道校验是最容易失效的一环:它按「请求是否像官方客户端」判定,判定维度在增加(系统提示词开头、X-Conversation- 三件套、acp-connection-id、X-No- 的用法)。上游改一次,插件就可能整体不可用,直到有人再适配。 - 本插件当前按官方客户端的字节级特征做对齐,不做任何风控规避(不改 IP、不伪造设备指纹、不做批量注册)。因此上游若引入新的维度(设备、频率、签名),本插件不会尝试绕过。 免责声明 仅供个人学习研究,只驱动使用者自己的账号在本机调用。遵守 WorkBuddy 服务条款;后果自负。与腾讯、WorkBuddy、DeepSeek 均无关联。 关于封禁与稳定性的明确说明(不重复上方风险框,只补可操作的部分): - 本插件通过模仿官方客户端的请求特征来通过网关校验。这类校验属于对方单方面随时可变的机制,本仓库无法承诺任何可用性期限,也不保证你的账号不会因此被限制或封禁。 - 上游自 2026-10-20 起收紧后,社区里已出现账号被限制的实例(含本仓库排查过程中的两个)。建议只用自己的账号、控制调用频率、不要用于批量或多开场景。 - 如果出现 400 / 11128,先确认是不是上游又换了校验维度,而不是急着反复重试 —— 重试本身可能加速风控判定。把 requestId 附在 issue 里比反复试更有用。 - 不提供任何规避风控、批量注册、多账号池规模化使用的支持。 致谢 - corrinehu/dsh-workbuddy-connect(MIT)— 上游本体。 - Mars-Sea/dsh-commandcode-provider(MIT)— 设置页、仪表盘与账号行的布局。 - franksong2702/dsh-codex-connect(Apache-2.0)— 插件结构与输入框「推理等级」控件的参照。 - Sliverkiss/workbuddy2api(MIT)— 上游协议参照。 许可证 MIT © 2026 Corrine Hu and Functy
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
functy23/dsh-workbuddy-connect-functy
【已归档】上游风控持续加强、UA/请求头格式频繁变动,适配已难以为继。后续开发移步
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,778已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 549已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,011已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 1,969已汉化DSH
70.7