DeepSeek Harness 插件:dsh-dual-checkin

DeepSeek Harness(DSH)采用插件化架构,旨在为开发者提供灵活的功能扩展能力。dsh-dual-checkin 是一款工作流插件,由 G57651 维护(MIT 许可证),核心价值在于通过读取本地登录态,同时完成 Trae、WorkBuddy 与 Qoder 三个平台的每日签到,并在侧边栏提供统一的积分与状态监控面板。

核心功能

该插件聚焦于签到流程的自动化与状态的可视化:

  • 三平台状态卡:在主页侧边栏新增「签到」入口,点击后打开全宽面板,分别展示 Trae、WorkBuddy 与 Qoder 的签到状态(已签/未签)、24 小时制签到时间及最近备注。
  • 积分与到期跟踪:常驻积分行显示剩余/已用/三天内到期的积分。当积分包临近到期时,卡片内会出现醒目提醒。签到后的积分变化通过 creditsBefore / creditsAfter 暴露。
  • 启动自动签到:仅随 DSH 进程启动自动执行,具有幂等性。当日已签的平台会自动跳过,插件内部无手动签到入口。
  • PAT 首次启用录入与到期提醒:在插件配置或 cordis.yml 中填写 qoderPat(令牌)与 qoderPatExpiresAt(到期时间)即可启用 Qoder 签到。剩余时间 ≤ 7 天(默认)时面板显示黄色警告,过期显示红色警告。
  • 互不阻塞:使用 Promise.allSettled 并行跑三个平台,单一平台的失败、超时或未登录状态不会影响其他平台的执行。
  • 状态面板可刷新:数据通过状态路由 /plugins/dsh-dual-checkin/status 提供支持。GET 请求读取快照(TTL 默认 5 分钟),POST 请求强制重查积分与状态。

安装

可以通过 CLI、Web UI 或本地克隆三种方式安装:

CLI 从 GitHub 安装

dsh plugin --profile desktop add github:G57651/dsh-dual-checkin

Web UI
在 Plugins 页输入 Git 地址 github:G57651/dsh-dual-checkin,或下载 Release / pnpm pack 产出的 tarball 后执行:

dsh plugin --profile desktop add dsh-dual-checkin-1.3.10.tgz

克隆后本地安装

git clone https://github.com/G57651/dsh-dual-checkin.git
dsh plugin --profile desktop add ./dsh-dual-checkin

使用说明

配置 Qoder 凭据

Qoder 的签到依赖于 PAT(Personal Access Token)。首次启用时,需在插件配置(或 cordis.yml)中录入:

  • qoderPat:令牌字符串。
  • qoderPatExpiresAt:到期时间戳。
  • qoderRegion:可选,切换 cn 或 intl 区域。

若未填写 PAT,插件会回退读取 DSH 凭据服务里的 qoderCredentialRef(默认为 QODER_MANAGED_CREDENTIAL)。插件内置了 PAT 有效性检查,无效时会在备注中提示更新。

登录态处理

插件严格遵循「只读本地」原则,不读取青龙环境变量或写入敏感信息:

  • Trae:读取本地文件(如 ~/Library/Application Support/TRAE SOLO CN/User/globalStorage/storage.json)或 CLI 的 trae-jwt-token。
  • WorkBuddy:读取本地文件(如 ~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info)。若需要解密 WorkBuddy 的加密数据,插件会拉起本机的 WorkBuddy.app(Electron)获取 AES-256-GCM 密钥进行解密。
  • Qoder:不读取任何本机登录文件,不访问系统钥匙串,零解密代码,零子进程。所有凭据仅复用 DSH 已配置的 PAT,并在内存中通过 POST /api/v1/jobToken/exchange 换取短期令牌。

数据与安全

数据文件

签到结果与积分快照存储在 ~/.dsh/ 目录下,文件名带 profile 维度(如 …-trae-<profile>.json):

  • ~/.dsh/.dsh-dual-checkin-trae.json
  • ~/.dsh/.dsh-dual-checkin-workbuddy.json
  • ~/.dsh/.dsh-dual-checkin-qoder.json

升级后首次运行会优先按新名查找,找不到则回退读取旧名,因此改名不会导致重复签到。所有快照在写入与读回前都会剔除包含凭据的字段(token、pat 等)。

接口安全

状态路由 /plugins/dsh-dual-checkin/status 带有严格的访问守卫:

  • 来源校验:只服务回环地址(127.0.0.0/8、::1)与回环 Host。
  • Host 校验:拒绝非法 authority(含 @、/ 或非纯数字端口)。
  • 协议校验:Origin 必须为回环或 dsh-app: 协议。
  • 安全头:响应包含 cache-control: no-store、x-content-type-options: nosniff、referrer-policy: no-referrer。

此外,WorkBuddy 登录域名必须匹配 (^|\.)(workbuddy|codebuddy)\.cn$,且 URL 不得携带用户名/密码。所有平台请求均显式设置 redirect: 'error',不跟随 3xx 跳转。

注意事项

  • 无设置页:插件未注册 settings.section,不支持通过 UI 手动配置或触发签到。
  • 活动窗口:Qoder 活动窗口(每日 00:40 UTC+8 滚动)未开启时,插件会按「未完成」处理,并在下次启动时自动重试。
  • 并发执行:Trae、WorkBuddy、Qoder 的签到逻辑相互独立,互不干扰。
羽毛球分组比赛记分
小程序二维码

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

小夜