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

账号中心 gurio-wine/dsh-account-hub

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

DeepSeek Harness 插件,提供「账号中心」面板和七个 LLM 服务商路由:CodeArts、Buddy…

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成

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

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

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

展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 06:34:48

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

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

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 53 处,展示前 52 条)
  • 读取本地文件
    lib/index.js:48
    readFile: (path) => nodeReadFile(path, 'utf8'),
  • 写入本地文件
    lib/index.js:50
    await nodeWriteFile(path, content, 'utf8');
  • 读取本地文件
    lib/index.js:53
    const entries = await nodeReaddir(path, { withFileTypes: true });
  • 发起网络请求
    lib/index.js:56
    fetcher: (input, init) => globalThis.fetch(input, init),
  • 执行外部命令来自配置/变量
    lib/index.js:66
    const child = nodeSpawn(command, [...args], {
  • 执行外部命令固定命令
    lib/index.js:127
    nodeExecFile('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true }, () => {
  • 读取密钥环境变量
    lib/llm-adapter.js:269
    return Number.parseInt(process.env.DSH_CODEARTS_SSE_FIRST_TOKEN_TIMEOUT_MS ?? '', 10) || 300_000;
  • 读取密钥环境变量
    lib/buddy-adapter.js:405
    return Number.parseInt(process.env.DSH_BUDDY_SSE_FIRST_TOKEN_TIMEOUT_MS ?? '', 10) || 120_000;
  • 读取密钥环境变量
    lib/lobsterai-adapter.js:522
    return Number.parseInt(process.env.DSH_LOBSTERAI_SSE_FIRST_TOKEN_TIMEOUT_MS ?? '', 10) || 120_000;
  • 写入本地文件
    lib/auto-route-adapter.js:622
    const promise = mkdir(directory, { recursive: true }).then(() => undefined);
  • 读取本地文件
    lib/auto-route-adapter.js:638
    existingSize = (await stat(logPath)).size;
  • 删除本地文件
    lib/auto-route-adapter.js:647
    await unlink(backupPath);
  • 写入本地文件
    lib/auto-route-adapter.js:653
    await rename(logPath, backupPath);
  • 写入本地文件
    lib/auto-route-adapter.js:655
    return appendFile(logPath, `${new Date().toISOString()} [auto-route] ${details}\n`, 'utf8').then(() => undefined);
  • 发起网络请求
    lib/account-hub-rpc.js:1280
    async fetch(request) {
  • 读取本地文件
    lib/qoder-wasm.js:233
    return new Uint8Array(await readFile(path));
  • 写入本地文件
    lib/qoder-wasm.js:241
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/qoder-wasm.js:243
    await writeFile(tmp, bytes);
  • 写入本地文件
    lib/qoder-wasm.js:244
    await rename(tmp, path);
  • 读取本地文件
    lib/qoder-wasm.js:249
    if (!existsSync(path))
  • 读取本地文件
    lib/qoder-wasm.js:251
    return readFileSync(path, 'utf8');
  • 发起网络请求
    lib/qoder-wasm.js:262
    const response = await fetch(url, { signal: controller.signal });
  • 写入本地文件
    lib/models.js:252
    mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/models.js:254
    writeFileSync(tmp, JSON.stringify(models), 'utf-8');
  • 写入本地文件
    lib/models.js:255
    renameSync(tmp, path);
  • 读取本地文件
    lib/models.js:267
    if (!existsSync(path))
  • 读取本地文件
    lib/models.js:269
    const text = readFileSync(path, 'utf-8');
  • 写入本地文件
    lib/models.js:308
    mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/models.js:310
    writeFileSync(tmp, JSON.stringify(ids), 'utf-8');
  • 写入本地文件
    lib/models.js:311
    renameSync(tmp, path);
  • 读取本地文件
    lib/models.js:323
    if (!existsSync(path))
  • 读取本地文件
    lib/models.js:325
    const text = readFileSync(path, 'utf-8');
  • 执行外部命令固定命令
    lib/login.js:114
    const child = spawn('cmd', args, { detached: true, stdio: 'ignore', windowsVerbatimArguments: true });
  • 执行外部命令来自配置/变量
    lib/login.js:125
    const child = spawn(cmd, [url], { detached: true, stdio: 'ignore' });
  • 读取本地文件
    lib/qoder-device-flow.js:113
    readFile: (path) => readFile(path, 'utf8'),
  • 写入本地文件
    lib/qoder-device-flow.js:114
    mkdir: async (path) => { await mkdir(path, { recursive: true }); },
  • 写入本地文件
    lib/qoder-device-flow.js:115
    writeFile: (path, data) => writeFile(path, data, 'utf8'),
  • 读取本地文件
    lib/account-hub-migration.js:87
    text = await readFile(path, 'utf8');
  • 读取本地文件
    lib/qoder-machine-identity.js:93
    return (await stat(path)).isFile();
  • 读取本地文件
    lib/qoder-machine-identity.js:101
    const entries = await readdir(path, { withFileTypes: true });
  • 执行外部命令来自配置/变量
    lib/qoder-machine-identity.js:121
    const child = execFile(file, [...args], {
  • 读取本地文件
    lib/masquerade-patch.js:188
    if (existsSync(file))
  • 读取本地文件
    lib/masquerade-patch.js:212
    const raw = readFileSync(join(dirname(file), '..', 'package.json'), 'utf8');
  • 读取本地文件
    lib/masquerade-patch.js:242
    const original = readFileSync(target, 'utf8');
  • 读取本地文件
    lib/masquerade-patch.js:280
    const content = readFileSync(target, 'utf8');
  • 读取本地文件
    lib/masquerade-patch.js:304
    content = readFileSync(target, 'utf8');
  • 读取本地文件
    lib/masquerade-patch.js:578
    const current = readFileSync(target, 'utf8');
  • 写入本地文件
    lib/masquerade-patch.js:593
    writeFileSync(handle, content, 'utf8');
  • 写入本地文件
    lib/masquerade-patch.js:599
    chmodSync(temp, mode);
  • 写入本地文件
    lib/masquerade-patch.js:600
    renameSync(temp, target);
  • 写入本地文件
    lib/masquerade-patch.js:606
    chmodSync(temp, 0o666);
  • 删除本地文件
    lib/masquerade-patch.js:612
    unlinkSync(temp);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 四服务商登录
  • 凭据管理

README

由 DeepSeek 最新模型翻译生成
dsh-account-hub DeepSeek Harness 插件,提供「账号中心」面板和七个 LLM 服务商路由:CodeArts、Buddy CN、Buddy、LobsterAI、Trae CN、Qoder 与 Qoder CN。可在面板中管理多账号、模型列表、账号切换与积分功能。 仓库来源 本仓库是独立维护的 GitHub 上游:gurio-wine/dsh-account-hub。早期代码源自 Gitee 的 iJetLi/deepseek-harness-codearts,现已独立演进。 安装 从 GitHub 安装(推荐) GitHub 仓库已随源码提交预构建 lib/ 产物,直接安装即可。 然后安装: dsh plugin --profile <name> add "https://github.com/gurio-wine/dsh-account-hub.git" Git 安装不触发本地构建,直接使用仓库中已提交的 lib/ 产物。 从源码目录安装(本地开发) pnpm build:all dsh plugin --profile <name> install <path-to-this-repo> 本地 link: 安装不会自动运行构建;每次修改源码后重新执行 pnpm build:all。
展开完整文档(README 剩余 1 节)
dsh-account-hub

DeepSeek Harness 插件,提供「账号中心」面板和七个 LLM 服务商路由:CodeArts、Buddy CN、Buddy、LobsterAI、Trae CN、Qoder 与 Qoder CN。可在面板中管理多账号、模型列表、账号切换与积分功能。

仓库来源

本仓库是独立维护的 GitHub 上游:gurio-wine/dsh-account-hub。早期代码源自 Gitee 的 iJetLi/deepseek-harness-codearts,现已独立演进。

安装

从 GitHub 安装(推荐)

GitHub 仓库已随源码提交预构建 lib/ 产物,直接安装即可。

然后安装:

dsh plugin --profile <name> add "https://github.com/gurio-wine/dsh-account-hub.git"

Git 安装不触发本地构建,直接使用仓库中已提交的 lib/ 产物。

从源码目录安装(本地开发)

pnpm build:all
dsh plugin --profile <name> install <path-to-this-repo>

本地 link: 安装不会自动运行构建;每次修改源码后重新执行 pnpm build:all。

从旧包迁移

若安装的是 dsh-codearts-auth,先移除旧包,再安装新包:

dsh plugin --profile <name> remove dsh-codearts-auth
dsh plugin --profile <name> add "https://github.com/gurio-wine/dsh-account-hub.git"

账号、登录凭据和模型列表设置沿用原有存储,无需重新登录。

服务商改名与数据迁移

旧 buddy 路由现为 buddy-cn,旧 workbuddy 现为 buddy。账号条目和凭据 ref 会自动迁移;迁移判据与冲突处理见账号中心存储文档。

用法

在 DeepSeek Harness 的插件设置中打开「账号中心」面板。选择对应服务商后可登录账号、启停或删除账号、调整账号顺序,并管理模型显示与积分功能。登录会先打开授权页,再在后台完成账号登记。

CodeArts 也提供命令入口:/codearts-login 登录、/codearts-status 查看状态、/codearts-refresh 手动续期。其他服务商从账号中心面板登录。自动路由可在面板中配置候选模型与优先级;它作为虚拟服务商出现在模型选择器中。

检查更新与一键更新

打开账号中心页面时会静默检查一次;也可点击页面右上角的 ⇩ 按钮(「检查更新」)。当前更新检查只读取 GitHub Release/Tag,不包含尚未发布的提交。

发现新版本时,提示行会提供「立即更新」按钮。点击后会自动更新配置档的版本 pin、执行安装并校验 lockfile;完整 pnpm 安装日志可展开查看。已是最新时,「账号中心」标题旁会显示常驻的「已是最新」标签,直到再次检查更新或出现新版本;检查失败则静默处理。

检查和下载需要能访问 api.github.com 与 codeload.github.com。更新成功后提示建议重启会话生效,因为插件运行时代码在会话启动时加载。

开发

pnpm build:all
pnpm typecheck
pnpm test

推送或发布 release 前,必须先运行 pnpm build:all 刷新已入库的 lib/ 产物,并将产物与源码一起提交。

pnpm test:e2e:* 会运行按服务商划分的线上用例,部分用例可能触发真实登录或积分操作;运行前请查看 e2e 测试说明。

详细文档

- Buddy 系服务商:登录、请求协议、模型能力与积分接口。
- LobsterAI 服务商:登录续期、模型目录、思考档位与积分接口。
- Trae CN 服务商:PKCE 登录、SOLO 通道、模型目录、上下文档位与签到。
- Qoder 服务商:设备流、双 region、WASM 签名链、模型与积分接口。
- Qoder 签到调查:账号签到状态无法判定问题的真机调查与结论。
- CodeArts 服务商:OAuth、请求签名、续期与积分接口。
- 积分与签到:签到结果语义、积分余额和能力矩阵。
- 自动签到设计:状态存储、触发时机、sweep 与 RPC 设计。
- 账号中心存储与通用机制:账号池、存储迁移、模型开关、账号选择和自动路由配置。
- 自动路由运行机制:请求转发、失败降级、注册生命周期和可见性。
- CodeArts 上下文窗口:远端窗口数据与静态兜底规则。
- 思考死循环止损:检测判据、各服务商接线和止损行为。
- 行首泄漏清洗:课 / course 清洗判据与请求历史处理。
预览分享卡片长什么样 ↓gurio-wine/dsh-account-hub
分享 · DeepSeek Harness Hub
gurio-wine/dsh-account-hub

DeepSeek Harness 插件,提供「账号中心」面板和七个 LLM 服务商路由:CodeArts、Buddy…

这是你的仓库?认领条目

回到顶部