Skip to content

dsh-llm-adapters

Verified

dsh-llm-adapters · v1.2.4 · MIT · Web UI

DeepSeek Harness adapters for Loomy, SenseTime Raccoon and Trae. Sign in through the provider’s own web page (WeChat QR for Loomy and Raccoon, a dedicated browser window for Trae), or reuse a signed-in local Trae client for the mainland check-in, then use

Install

dsh plugin add dsh-llm-adapters

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Readme

dsh-llm-adapters

把 Loomy(讯飞)、商汤小浣熊、Trae 与 华为云 CodeArts 接进 DeepSeek Harness(DSH)。

  • 默认在网页里登录,不用装客户端:Loomy、小浣熊点「打开扫码登录」用微信扫码; Trae 点「打开浏览器登录」在独立浏览器窗口里登录官网;CodeArts 点「打开浏览器登录」在华为云 完成一次 OAuth 授权。插件自己接回结果,不读日常浏览器的 cookie,也不接收密码。
  • Trae 可选复用本机客户端:本机安装了 Trae 且已登录时,Trae 卡片会多出「复用客户端登录态」; 插件只读客户端的登录态,不修改也不退出客户端。签到只在用这种方式登录时显示。
  • Trae 两种区域:国内版(trae.cn)与国际版(trae.ai)各自保存账号,同一张卡片切换。
  • 额度可见:Loomy 显示可用 / 永久 / 每日积分;小浣熊显示剩余积分;Trae 国内版与 CodeArts 显示「已用 / 总额」进度条与资源包,国际版显示套餐与美元用量(如 $0.00 / $1.00)及重置时间。 进度条只画在能同时拿到总额和已用额度的供应商上,只有剩余额度的供应商仍显示数字,不会凭空补 一个分母。
  • 四套设置页:每个供应商独立的模型开关、上下文窗口与登录卡片。

非官方插件。四家都是网页 / 客户端私有接口,不是官方开放 API;上游升级后协议可能变化。

为什么需要它

四家都没有面向个人用户的开放 API。网页版登录后的会话不能直接当模型网关凭据;桌面客户端的 登录态通常锁在客户端自己的文件里,Trae 是唯一提供显式、只读复用的例外(见下文)。

插件因此在宿主侧完成登录:Loomy 与小浣熊起一个本地登录页,页面上是真正的微信登录二维码; Trae 则启动一个独立配置目录的浏览器窗口,让用户在官网正常登录,再通过调试协议读回 cookie 与 localStorage 里的设备指纹。全程由宿主轮询,不依赖浏览器回调,也不接收密码。 拿到凭据后,模型调用沿用各家的网页网关协议;插件负责把 DSH 的消息、图片、工具调用与思考流 翻译成对应格式。

Trae 的网页登录把设备指纹(x-device-id / x-machine-id)和短期 JWT 一起保存在插件 自己的账号文件里(仅当前用户可读),用于在 JWT 到期前自动续期。若本机 Trae 客户端已登录, 插件也可以只读解析客户端自己的加密登录态,复用它的 JWT、客户端设备号与 machine id;这条路径 不会回写客户端,也不会退出客户端。两种来源的令牌都只存在插件自己的账号文件里。

CodeArts 走华为云 OAuth:浏览器里授权后,宿主拿到 AK/SK 与 STS 安全令牌,之后每个请求都用 SDK-HMAC-SHA256 签名调用网关。它同样不读本机 CodeArts IDE 的任何文件,也不需要安装 IDE。

安装

插件 → 添加插件,填 dsh-llm-adapters 并安装(npm);也可以从 github:k1-h2/dsh-llm-adapters 或本地目录安装。装完按提示重启 DSH。

登录

设置 → Loomy 或 设置 → 商汤小浣熊 → 点「打开扫码登录」。浏览器会打开一个本地 登录页,用微信扫码并在手机上确认即可;成功后账号、额度与模型列表随即刷新。

设置 → Trae → 先选区域(国内版 / 国际版),然后二选一:

  • 点「打开浏览器登录」:插件会启动一个独立且持久的浏览器配置目录(不影响你自己的浏览器), 在其中登录 Trae 官网;登录成功后窗口自动关闭,账号、额度与模型列表随即刷新。之后约 8 小时 到期的 JWT 会用这次登录的网页会话自动续期。
  • 若本机已安装并登录 Trae 客户端,点「复用客户端登录态」:插件只读客户端自己的登录态,直接 复用其 JWT、客户端设备号与 machine id。客户端退出登录或令牌过期后,先在客户端重新登录,再点 一次「重新读取客户端登录态」即可。国内版的签到按钮只在这个方式下出现。

设置 → 华为云 CodeArts → 点「打开浏览器登录」,在华为云页面完成授权。授权后浏览器回到 本机,宿主接回凭据,页面无需复制任何内容。

  • Loomy:首次使用的微信账号会被要求在该登录页里绑定手机号(短信验证码),这是讯飞 账号侧的要求;绑定完成后才会下发 session。
  • 小浣熊:二维码由官方服务端一次性签发,扫码确认后自动接回,没有额外表单;过期或已用过 的码会明确提示,重新点一次即可换新码。
  • Trae:两种登录方式。网页登录使用插件自己的持久配置目录,再次登录会复用同一设备指纹; 网页会话约 14 天,期间 8 小时的 JWT 会自动续期,只有网页会话失效才需要重新登录。复用本机 客户端登录态则直接读取客户端已保存的 JWT、客户端设备号与 machine id,不回写、不退出客户端; 客户端自己续期,插件里的令牌过期后重新复用即可。区域在卡片上切换,两个区域的账号互不影响, 切换回来仍是原账号。国际版若提示 account is at risk,请用 Log in 登录已有账号(与你在 Edge 里能正常登录的 Google/GitHub 账号一致),不要用新邮箱注册;独立配置首次登录会被 Trae 视为新设备。
  • CodeArts:授权页是华为云自己的 OAuth portal,回调地址是 127.0.0.1 上的临时端口; 凭据只在宿主侧保存,浏览器拿不到。STS 令牌两小时有效,到期自动续期;续期令牌失效(登录 起 30 天)后重新点一次登录即可。
  • 登录页由插件在本机临时提供,关闭窗口不会中断宿主侧的轮询;但重新打开需要点「重新打开 登录页」。弹窗被浏览器拦截时也用这个链接。

排障与端口、凭据位置见 常见问题。

设置页

  • 登录卡:显示账号、到期时间、登录方式与额度;未登录时可发起登录,登录中可取消,也可退出登录。 Trae 的卡片顶部是区域切换(国内版 / 国际版),并提供网页登录与复用本机客户端两种方式; Trae 国内版(仅客户端登录态)与 CodeArts 有「签到领积分」按钮;签到状态按 「今日已签到」(账号)与「本机今日已签到」(设备)分别显示。小浣熊只检测、不领取:插件读积分 流水里的 daily_grant(只认今天的记录),到账时显示具体到账时间,按钮是「检测今日积分」;积分由 服务端在当天首次打开网页时发放,领取请走「打开网页签到」(该链接无论是否到账都始终保留)。
  • Trae 本机客户端登录:检测到本机安装了 Trae CN / 国际版客户端时,登录卡会显示客户端账号与 「复用客户端登录态」。插件只读 User/globalStorage/storage.json 里的加密登录态并在本机解密, 不修改客户端,也不把令牌返回给页面;网页登录与客户端登录可以随时切换,退出插件登录不会退出 客户端。签到按钮只出现在客户端登录态下。 Trae 国内版与 CodeArts 的资源包默认只显示一行 摘要(包数、合计额度、最近到期),点「详细信息」才展开每个包的已用 / 总额与到期时间,展开区限高可滚动。 这两家的额度区顶部是「已用 / 总额」进度条;CodeArts 的账号名取自登录令牌里的用户信息,老账号 不需要重新登录,读状态时当场解出来。Trae 国际版读取官网「Dollar Usage」同一份数据,显示 $已用 / $总额、套餐、试用到期与额度重置时间。
  • 模型清单:来自账号实时目录,名称会归一化(GLM-5-3 → GLM 5.3,倍率括号移除), 其余括号内容转为标签;逐个启用 / 关闭,并可指定上下文窗口。Trae 会显示目录里的倍率 (如 x0.06),上下文下拉同时提供默认窗口、500K 与上游声明的 Max 档(如 1M),同一标签的 窗口只出现一次;CodeArts 同样显示倍率(如 0.18x,随峰谷时段变化),窗口取自 IDE 配置里的 实测值。CodeArts 的思考档位保留原来的 On / Off,其余档位取 OpenRouter 实时表与网关可 接受取值的交集;Off 仍直接关闭思考,On 不额外发送参数。切换模型时一律默认最强的档位。 四个供应商共用同一套 能力规则:OpenRouter 的实时表优先,匹配不到回退各自目录,两边都没有就全部开放; 所以 DeepSeek V4.1 Flash 的菜单是 None / Low / High / Max(默认 Max),xhigh 保持小写。Trae 只列出客户端当前主通道(solo_work_*)里有可调用 config 的模型(实网 21 个):旧 chat_v3 / solo_coder 通道的老模型、Qwen3.8-Flash / Kimi-K2.8-Preview 这类只在 客户端 TraeCode 通道可用的模型、以及内部 custom_model_* / 子代理配置都不会出现;两条不同 id 归一成同一显示名时只保留更宽的一行,不在名称里拼接括号。
  • OpenRouter 模型同步:插件页可设置自动同步间隔(关闭 / 15 分钟 / 1 小时 / 6 小时 / 24 小时), 也可点「立即同步」。快照保存在本机,下载并解析完整成功后才原子替换;失败时继续使用上次成功 的数据,刷新模型列表不会清空它。一次网络抖动或上游 429/5xx 会自动重试一次,客户端标识也随 请求发送,避免被 CDN 当作匿名脚本限流。
  • 小浣熊每日积分(只检测):卡片上的按钮是「检测今日积分」,只读今日流水并把到账时间显示出来。 插件不替你领取——积分由服务端在当天首次打开网页时发放,要领取请点「打开网页签到」。既没有自动 监测项(定时轮询每个间隔都要花一次真实请求),也不会把网页访问调用(setting_info)当成副作用发出去。
  • CodeArts 的模型清单:合并两个端点(免费额度模型与常规模型),窗口表里没有的模型回退到 当前目录最小的真实窗口;签到只在积分计费账户上可用。所有模型都接收图片:kimi-k2.6-vl 与 Qwen3-VL-235B 直接读图,其余模型(含 DeepSeek、GLM、openpangu)先用 VL 模型转述成文字再回答; 转述结果按图片内容缓存,同一张图只在第一次多花一次对话。模型清单里的「读图」只标注这两个原生 多模态模型,转述能力写在列表下方的一句提示里。
  • CodeArts 的会话预算:体验版按账号只允许 3 个并发会话,一个会话在请求结束后仍占位约 60 秒。 网关按 x-ot-session-id 这个头区分会话(不是 chat-id / session-id),插件因此用一个从账号身份 派生的固定值:所有轮次共用一个会话,连续对话不会被自己的历史请求挤掉名额。真被别处占满时(例如同时 开着码道 IDE),3 次退避重试后给出可读提示。
  • 高级设置:分组名称、强制识图 / 纯文本模型、模型别名、默认输出上限。
  • 供应商开关:在插件管理页关闭某个供应商后,它的设置页、模型分组与 provider 路由一起移除。

再次打开页面时先显示上次快照,账号与模型在后台刷新。

用 YAML 配置

设置页之外,也可以直接写进 profile 的 cordis.patch.yml:

- id: llm-adapters
  name: dsh-llm-adapters
  config:
    loomyEnabled: true
    raccoonEnabled: true
    traeEnabled: true
    traeRegion: cn
    codeartsEnabled: true
    loomyDisplayName: Loomy
    raccoonDisplayName: 商汤小浣熊
    traeDisplayName: Trae
    codeartsDisplayName: 华为云 CodeArts
    loomyDisabledModels: []
    raccoonDisabledModels: []
    traeDisabledModels: []
    codeartsDisabledModels: []
    loomyModelContextWindows: {}
    raccoonModelContextWindows: {}
    traeModelContextWindows: {}
    codeartsModelContextWindows: {}
    defaultMaxTokens: 32000

每个 provider 的模型开关、窗口与别名是分开的字段;超时、缓存等运行参数共享。 traeRegion 只接受 cn(国内版)或 global(国际版),其他值按国内版处理。

更多

  • 扫码登录排障、凭据位置与常见问题:常见问题
  • 实现要点、本地登录页与开发说明:开发文档

免责声明

本项目仅供个人学习和研究使用,仅驱动使用者自己的账号在本机调用。上游条款由你遵守;因使用 本项目产生的账号限制、额度变化、登录态被刷新或服务中断等后果,由使用者自行承担。本项目与 讯飞、商汤科技、字节跳动、华为均无关联,相关名称仅用于描述兼容关系。

许可

MIT。