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 的签到逻辑相互独立,互不干扰。