dsh-xiaoyiwork-connect:在 DSH 里复用小艺Work 桌面端本地模型代理

前言

在 DeepSeek Harness(DSH)里接第三方模型,常见做法是单独申请 API Key、在配置里填 base URL 和密钥。若你已经在 Windows 上日常使用小艺Work 桌面端,且对话额度走小艺Work 账号,再为 DSH 单独维护一套 Key 往往显得重复。

下面介绍社区插件 dsh-xiaoyiwork-connect(维护者 moxiaoren,分类:模型推理):把已登录的小艺Work 桌面端自带的本地 OpenAI 兼容代理,注册进 DSH 对话窗口的模型选择器,无需单独申请 API Key,请求经本机代理转发,直接消耗小艺Work 额度。插件当前版本 0.2.0,许可证 MIT;DSH 社区目录见 SkillHub 条目,源码与说明见 GitHub 仓库。

这是什么

dsh-xiaoyiwork-connect 是 DSH 的 LLM 路由插件(bundle id:llm-xiaoyiwork)。它在 DSH 进程内读取 Windows 上小艺Work 已保存的代理凭据(不落盘明文文件),向 127.0.0.1:19693 的本地代理发起对话,行为与在小艺Work App 内走云模型一致,额度计入小艺Work 账号。

平台限制:仅 Windows。 凭据存放在注册表,主密钥由 DPAPI(CurrentUser) 保护;macOS / Linux 不可用。

小艺Work 本地代理在做什么

据 README 说明(作者称已逆向核实、且不修改小艺Work 客户端),桌面端在 App 运行时会监听本地端口:

  • 地址:127.0.0.1:19693(环境变量 GAUSSPD_MODEL_PROXY_PORT)
  • 流式路径:/celia/v1/sse-api/chat/completions(SSE)
  • 鉴权:请求头 Authorization: Bearer <proxyKey> 或 X-Api-Key

代理把小艺Work 侧的请求转发到小艺云模型端点,因此 DSH 经该地址发出的对话会走小艺Work 计费/额度体系。

凭据如何进入 DSH(不落盘)

早期思路曾把解密后的 proxyKey 写到本地明文文件再由插件读取;当前实现已弃用该方案。原因:DSH 桌面端与小艺Work 同属当前 Windows 登录用户,DPAPI(CurrentUser) 可由同用户进程解密,插件在进程内完成取钥即可。

简要流程:

  1. 通过一次 PowerShell 调用:从注册表 HKCU\Software\ClawDesktop\keychain\model-proxy 读取 Chromium OSCrypt v10 信封,并从 %APPDATA%\xiaoyiwork\Local State 的 os_crypt.encrypted_key 经 DPAPI 还原 32 字节 AES 主密钥(PowerShell 5.1 需先 Add-Type -AssemblyName System.Security)。
  2. 在 Node 侧用 aes-256-gcm 解信封,得到 JSON 明文,取字段 v 作为 proxyKey。
  3. 仅在内存中持有并注入请求头,不写任何磁盘文件。

若小艺Work 未运行或未登录,取不到 key 时模型分组会隐藏,插件约每 30 秒重试;小艺Work 启动并登录后,分组会在约 30 秒内出现。

手动指定密钥(可选,优先级高于读注册表):

  • 插件 config 中的 apiKey
  • 环境变量 DSH_XIAOYIWORK_PROXY_KEY

二者不依赖 PowerShell 读注册表。

在 DSH 里注册的路由

插件通过 ctx.llm.registerAdapter 与 PiAiAdapter(与 dsh-workbuddy-connect 同款 API)注册路由 xiaoyiwork。宿主日志中可见「小艺Work 模型代理插件已加载(llm-xiaoyiwork)」与「已注册小艺Work 模型代理路由「xiaoyiwork」」;取不到 key 时日志会给出具体原因,便于排障。

对话窗口模型选择器会出现 「小艺Work 模型代理」 分组,README 列举的模型名带「· 小艺Work」后缀,例如 DeepSeek-V4-Flash、V4-Pro、GLM-5.3、MiniMax M3、Kimi K3 等(以 App 与云端实际提供为准)。

安装与启用

环境要求(来自 package.json):

  • dsh: >=2.0.0
  • node: ^22.19.0 || >=24.0.0

在 DSH 桌面端插件市场搜索 dsh-xiaoyiwork-connect 安装,或在终端执行:

dsh plugin add dsh-xiaoyiwork-connect

该命令会把依赖写入 profile 的 package.json、用 pnpm 链接插件到 node_modules、并加入 bundles。执行完成后重启 DSH 桌面版。

也可从源码安装:

dsh plugin add github:moxiaoren/dsh-xiaoyiwork-connect

安装前建议自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程所属 Windows 用户的权限运行,会读取本用户注册表与 AppData 下的密钥材料。

典型用法

  1. 在 Windows 上保持 小艺Work App 运行且已登录(代理仅在 App 运行时监听 19693)。
  2. 安装并重启 DSH 桌面端,确认插件已加载(可看宿主日志)。
  3. 打开 DSH 对话窗口 → 在模型选择器中选择「小艺Work 模型代理」分组下的具体模型 → 正常对话。

若启动时尚未登录小艺Work,模型组会隐藏;登录后等待约 30 秒直至分组出现。

适用场景与注意事项

适合谁:

  • 已在 Windows 使用小艺Work 桌面端,希望在 DSH 同一套对话界面里复用该账号额度,而不想再维护独立 API Key。

务必知悉:

  • 额度消耗真实存在:经此路由的对话计入小艺Work 账号,资费以官方为准。
  • 仅本机、同 Windows 用户:DPAPI 绑定用户态;换用户或换机不可用。
  • 依赖小艺Work 进程:未运行 App 时本地代理不监听,DSH 侧无法使用。
  • 不修改小艺Work:插件只读注册表、内存内解密并转发到本地代理,不注入、不改 App 进程。
  • 社区插件:SkillHub 为 DSH 社区目录站点,与 DeepSeek / 幻方无官方从属关系;安装前请自行审阅 GitHub 仓库 源码。

结尾

dsh-xiaoyiwork-connect 把 DSH 接到小艺Work 桌面端已有的本地模型代理上,在 Windows 同用户环境下零配置(或可选 apiKey / DSH_XIAOYIWORK_PROXY_KEY)完成鉴权,并在进程内处理凭据、避免明文落盘。若你的主力环境是 Windows + 小艺Work,又希望在 DSH 里统一选模型对话,可按上文安装命令启用,并保证 App 常驻运行。

  • 目录页:https://www.skillhub.cn/plugins/moxiaoren/dsh-xiaoyiwork-connect
  • GitHub:https://github.com/moxiaoren/dsh-xiaoyiwork-connect
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜