dsh-workbuddy-xdpool 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/README.en.md +112 -45
- package/README.md +104 -53
- package/assets/automation-panel.png +0 -0
- package/assets/settings-card.png +0 -0
- package/lib/bin.js +1700 -21
- package/lib/client.js +437 -86
- package/lib/index.d.ts +928 -17
- package/lib/index.js +1975 -44
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,89 @@
|
|
|
4
4
|
|
|
5
5
|
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
6
6
|
|
|
7
|
+
## 1.3.0 (2026-09-23)
|
|
8
|
+
|
|
9
|
+
上一版把八类任务链接了进去,这一版修的是**「接进去了但你看不见」**的问题——功能在跑,界面上却没显示,等于白做。
|
|
10
|
+
|
|
11
|
+
### 猫猫旅行一天只跑一趟,等于坏了一半
|
|
12
|
+
|
|
13
|
+
旅行的流程是「派出去 → 回来领奖」,需要**两趟**。原来默认时段只配了 12:00 一个点,意味着猫早上出去之后,**要等到第二天**才有人管它。
|
|
14
|
+
|
|
15
|
+
改成 **09:00 + 21:00 两趟**(早上派出去,晚上回来领)。同时把每个任务的「今天跑过了」判断从**按日期**改成**按时间点**——按日期判断会把晚上那趟直接吞掉,这个守卫跟多时点本身是冲突的。单时点任务(签到、上报、任务奖励、连登)行为不变,同一小时内重复检查仍然不会重复跑。
|
|
16
|
+
|
|
17
|
+
> 参考项目的默认值就是 `[9, 21]`,注释里写的理由是「一趟派出 + 一趟领奖闭环」。
|
|
18
|
+
|
|
19
|
+
### 卡片现在告诉你「具体领到了什么」
|
|
20
|
+
|
|
21
|
+
原来每个任务只显示「日期 · 账号数」,回答不了「我最在意的那个任务领到了没」。
|
|
22
|
+
|
|
23
|
+
现在会**列出这一轮实际领到的奖励名**:
|
|
24
|
+
|
|
25
|
+
- 任务奖励 → 列出台任务标题(如「体验设计创意模式」「召唤 3 次专家团」)
|
|
26
|
+
- 每日签到 → `签到 +100`
|
|
27
|
+
- 猫猫旅行 → `猫猫旅行 +10`
|
|
28
|
+
|
|
29
|
+
连登奖励还没到解锁天数时,会显示**还差几天**(如 `7d in 4d`)——所有档位都是未解锁属于正常状态,但只写「未解锁」会让人以为坏了。
|
|
30
|
+
|
|
31
|
+
### 修掉「猫猫旅行永远不显示」
|
|
32
|
+
|
|
33
|
+
有个真 bug:积分自动化面板里只显示签到 / 上报 / 任务 / 连登四行,**猫猫旅行那行永远不出现**,尽管它确实在跑。
|
|
34
|
+
|
|
35
|
+
根因是那行任务的判断逻辑里,**列表本身就是缺的**——界面渲染一行一个任务,而列表里没有 travel,分支里也没有,类型定义里同样没有。这类「加了功能忘了加列表」的失败模式是**静默的**:任务照跑,用户看不见,也不会报错。
|
|
36
|
+
|
|
37
|
+
除了补齐三处,还加了个**防回归测试**:卡片的任务列表必须和调度器的任务列表逐项相等、顺序一致。这个不变量之前没人守。
|
|
38
|
+
|
|
39
|
+
### 其它
|
|
40
|
+
|
|
41
|
+
- 行内文案「未排程 / 尚未执行」改成「当天不跑 / 还没跑过」,原来的说法不好懂。
|
|
42
|
+
- 补上中英两份缺失的「猫猫旅行」标签(之前那行显示的是原始 key)。
|
|
43
|
+
- README 重写(中英双语):按「多账号池」和「积分自动化」两块组织,把 13 个任务名列出来、实测数据写进去,并把几个踩坑结论翻译成大白话。
|
|
44
|
+
- 截图更新:卡片全貌换成含自动化面板的新版,另加一张自动化面板特写。
|
|
45
|
+
- 测试从 134 增至 139。
|
|
46
|
+
|
|
47
|
+
### 已知限制(未变)
|
|
48
|
+
|
|
49
|
+
- `Expert_Philanthropy`(公益专家)需要真实捐款,不做。
|
|
50
|
+
- `black_cat`(夜猫子)只在 23:00–08:00 计分且无积分奖励,不做。
|
|
51
|
+
- `Model_chat_GLM5.2` 与 `wb_wechat_oa_subscribe_task` 留待下个版本。
|
|
52
|
+
- `Expert_team_use_3` 偶发卡在 2/3(怀疑单账号当日额度,跨天恢复,未验证;新账号不受影响)。
|
|
53
|
+
|
|
54
|
+
## 1.2.0 (2026-09-23)
|
|
55
|
+
|
|
56
|
+
把成长中心剩下的**八类客户端任务**也接进自动化。这些任务在任务中心里写的是「升级桌面客户端后点击某个入口」,听起来只有人坐在真实客户端前才能完成;实际上计分器看的是**行为事件流**,只要事件形状对、指纹对,任务就会涨进度。这一轮把每条链都在真实账号上跑通并回读确认了计分。
|
|
57
|
+
|
|
58
|
+
### 新增的任务链
|
|
59
|
+
|
|
60
|
+
| 任务 | 积分 | 判据 |
|
|
61
|
+
| --- | --- | --- |
|
|
62
|
+
| 探索优秀灵感 | +100 | `web_element_click` + `playbook_cta_click` + `playbook_prompt_send` 事件组(「发提示词」才是判据,不是卡片曝光) |
|
|
63
|
+
| 使用 5 个模板 | +100 | 五组 `agent_task_created_with_template` + `template_used`,判据是**五个不同模板**,所以一次要发五组 |
|
|
64
|
+
| 尝鲜热门技能 | +100 | 真实对话(**服务端** requestId)+ `skill_info`(润泽小馆·日报撰写),响应要标成 `finishReason: tool_calls` |
|
|
65
|
+
| 体验「和平精英」主题 | +100 | `appearance/set` 存主题 + `appearance_skin_apply` 事件,两者缺一不可 |
|
|
66
|
+
| 体验资料库 | +100 | 走 **web 指纹**上报 `library_doc_intro_click` |
|
|
67
|
+
| 召唤 5 次专家 | +100 | 专家市场真实 id + 召唤链 + 带 `X-Expert-Id` 的真实对话 |
|
|
68
|
+
| 召唤 3 次专家团 | +100 | 同上,`expert_type=team` |
|
|
69
|
+
| 体验轻量云专家 | +100 | 同上,但用事件要 `mode: LOCAL`、`type` 留空、`cost=0` |
|
|
70
|
+
|
|
71
|
+
### 这一轮踩到并修掉的两个坑
|
|
72
|
+
|
|
73
|
+
**专家链之间必须留间隔。** 连着发两条专家使用,计分器会判成**同一次会话**,只涨一个进度。实测:间隔 300 毫秒时两条链只计一条,拉到 6 秒后每条都计。专家任务因此改为链间固定 6 秒(`EXPERT_SUMMON_GAP_MS`,测试里置 0)。
|
|
74
|
+
|
|
75
|
+
**三类指纹不能混用。** 计分器按任务认不同的指纹家族:`Library_read` 只认 web 指纹,用桌面指纹发同样的 `web_element_click` 会被接受然后丢弃。事件链现在自带「走哪个通道」,由调度器分流到 `reportDesktopEvents` 或 `reportWebEvent`。
|
|
76
|
+
|
|
77
|
+
### 其它改进
|
|
78
|
+
|
|
79
|
+
- 事件链从调度器里搬到了独立的 `task-events.ts`:调度器决定**什么时候**发,这个模块决定**发什么**,每条链都是纯数据,好读也好测。
|
|
80
|
+
- `WorkBuddyScheduler` 及其常量现在从包入口导出,方便直接写脚本验证,不用绕过卡片走 HTTP。
|
|
81
|
+
- 新增 64 个测试(`task-events` 21 个 + 调度器链路 22 个 + 专家间隔等),全量 134 个通过。
|
|
82
|
+
|
|
83
|
+
### 已知限制
|
|
84
|
+
|
|
85
|
+
- **`Expert_team_use_3` 有个号停在 2/3**:该账号当天已用掉两次专家团,第三次不再计分,换未用过的专家团也不涨。怀疑是该任务对单账号有当日额度,跨天恢复,暂未确认。新账号不受影响(实测 0/3 → 3/3)。
|
|
86
|
+
- **`Expert_Philanthropy` 不做**:需要真实捐款,没有可绕过的路径。
|
|
87
|
+
- **`black_cat` 不做**:只在 23:00–08:00 计分,且纯对话无收益。
|
|
88
|
+
- **`Model_chat_GLM5.2` 与 `wb_wechat_oa_subscribe_task` 未接入**:实现路径已明确(前者要真实 glm-5.2 对话 + 对齐模型字段上报),留下个版本。
|
|
89
|
+
|
|
7
90
|
## 1.1.0 (2026-09-23)
|
|
8
91
|
|
|
9
92
|
新增**积分自动化**:插件可以在后台替你完成成长中心的日常动作,不用每天手动点一遍。
|
package/README.en.md
CHANGED
|
@@ -9,36 +9,83 @@
|
|
|
9
9
|
|
|
10
10
|
English | [中文](./README.md)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Every account you've signed into the WorkBuddy desktop app, merged into one DSH model pool. However many accounts you've used, that's how many the pool holds — no forms, no manual import.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
An account gets rate-limited or runs out of credits? The request just moves to the next one that works. You keep asking; it keeps handling the rest.
|
|
15
15
|
|
|
16
|
-
**
|
|
16
|
+
**It also throws in a full points-automation suite**: check-ins, task rewards, streak redemption, the buddy trip — all the chores you'd otherwise click through every day, done in the background.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
> **How this differs from the single-account connectors**: plugins like `dsh-workbuddy-connect` handle one account at a time. XD Pool treats **multiple accounts as the normal case** — it doesn't pick favourites or ask you to import anything. Every sign-in snapshot on this machine goes into one shared pool, exposed as a single `workbuddy-xdpool` provider group, with automatic failover inside.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
## Screenshots
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
**The plugin card (Settings → Plugins → DSH WorkBuddy XD Pool)**
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+

|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
**The points-automation panel**
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
**Model picker (CN and global as two separate groups)**
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
**CN / global dual provider (separate accounts, credits and models, usable at the same time)**
|
|
35
|
+
|
|
36
|
+

|
|
27
37
|
|
|
28
38
|
## Features
|
|
29
39
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- **
|
|
33
|
-
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
- **
|
|
37
|
-
|
|
40
|
+
### 1. The multi-account pool
|
|
41
|
+
|
|
42
|
+
- **Zero config**: install it, turn it on, done. Every account signed into the WorkBuddy desktop app is discovered and pooled automatically — nothing to enter by hand.
|
|
43
|
+
|
|
44
|
+
- **Automatic failover**: the pool tracks each account's rate-limit state. Hit a 429 and that account cools down while later requests land on the next healthy one; it rejoins automatically once the cooldown ends. Requests only wait when every account is cooling.
|
|
45
|
+
|
|
46
|
+
- **Pool health at a glance**: the card shows how many accounts there are, how many are cooling, which one is next, plus each account's token expiry and cooldown countdown.
|
|
47
|
+
|
|
48
|
+
- **Live credit balances**: per-account credit packages (`package · remaining / total`) with a large total, refreshed from upstream as it changes.
|
|
49
|
+
|
|
50
|
+
- **An annotated model catalog**: pool models with their credit multiplier (e.g. `GLM-5.2 · x0.79`), free / limited-free / night-discount tags, image-input support and context window — all tracking upstream live.
|
|
51
|
+
|
|
52
|
+
- **CN / global auto-detection**: the upstream origin is picked per account from its login domain — a global sign-in (`workbuddy.ai`) goes to `www.workbuddy.ai`, CN (the default) to `copilot.tencent.com`. Both kinds can live in the same pool.
|
|
53
|
+
|
|
54
|
+
- **Manual controls when you want them**: re-detect accounts, clear all cooldowns, and daily check-in — on the card and in the CLI.
|
|
55
|
+
|
|
56
|
+
### 2. Points automation
|
|
57
|
+
|
|
58
|
+
One switch on the card, and the plugin works through your growth-centre routine for you. **On by default, and you can hit "Run now" to force a pass whenever you like.**
|
|
59
|
+
|
|
60
|
+
Five jobs:
|
|
61
|
+
|
|
62
|
+
| Job | Default time | What it does |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| Daily check-in | 09:00 | Collect today's check-in reward |
|
|
65
|
+
| Activity report | 10:00 | Report activity so the growth centre counts the day |
|
|
66
|
+
| Task rewards | 11:00 | Enrol in open tasks and collect every reward that's ready |
|
|
67
|
+
| Streak bonus | 12:00 | Redeem streak tiers and spend the lottery draws |
|
|
68
|
+
| Buddy trip | 09:00 · 21:00 | Send the cat out, collect it when it's back |
|
|
69
|
+
|
|
70
|
+
**The task-rewards pass covers 13 board tasks**, including the ones that read as "somebody has to sit at the desktop and click these menus":
|
|
71
|
+
|
|
72
|
+
> Browse inspiration · Use 5 templates · Try a hot skill · Apply the "Peacekeeper Elite" theme · Read the library · Summon 5 experts · Summon 3 expert teams · Try the Tencent Lighthouse expert · Open any assistant app · Enter the QQ teacher assistant · Create a design canvas · Create a scheduled task · Chat with the cat
|
|
73
|
+
|
|
74
|
+
Measured across four accounts, one pass collected **3300 credits and 135 energy**.
|
|
75
|
+
|
|
76
|
+
**The card tells you what a pass actually collected** — it lists the task names rather than reporting a bare count. The streak countdown is spelled out too ("7d in 4d"), so a locked tier doesn't look like a failure.
|
|
77
|
+
|
|
78
|
+
**"Earned today"** breaks the day down by source — task rewards, check-in, streak, buddy trip — and resets at midnight.
|
|
79
|
+
|
|
80
|
+
**Credit floor per account**: set a minimum balance and an account below it stops being given work, so you can keep some credits in reserve.
|
|
81
|
+
|
|
82
|
+
> **The global region doesn't show this panel** — that gateway has no growth system at all.
|
|
38
83
|
|
|
39
84
|
## Install
|
|
40
85
|
|
|
41
|
-
Prerequisite: WorkBuddy desktop app installed and signed in (the plugin reuses the
|
|
86
|
+
Prerequisite: the WorkBuddy desktop app installed and signed in (the plugin reuses the sign-in state it stores locally). Multi-account = sign in and out a few times in the desktop app; each sign-in is absorbed into the pool. Built against DSH Desktop host `0.1.2`.
|
|
87
|
+
|
|
88
|
+
> Compatible with the `0.1.1-rc.2` / `0.1.2` host line: the settings section installs via `settings.installSection` (0.1.2-rc.1+) or the earlier free-function form, whichever the host supports.
|
|
42
89
|
|
|
43
90
|
**Option A — install from npm (recommended)**
|
|
44
91
|
|
|
@@ -48,15 +95,15 @@ dsh plugin --profile desktop add dsh-workbuddy-xdpool
|
|
|
48
95
|
```
|
|
49
96
|
|
|
50
97
|
> npm is the fast path: the only dependency pulled in is the plugin itself (**roughly 1 package, a few seconds**).
|
|
51
|
-
> Installing from GitHub source
|
|
98
|
+
> Installing from the GitHub source drags in the dev dependencies (bundler, test runner, hundreds of packages) and is much slower.
|
|
52
99
|
|
|
53
|
-
**Option B — install from GitHub source**
|
|
100
|
+
**Option B — install from the GitHub source**
|
|
54
101
|
|
|
55
102
|
```sh
|
|
56
103
|
dsh plugin --profile desktop add github:XDTrees/dsh-workbuddy-xdpool
|
|
57
104
|
```
|
|
58
105
|
|
|
59
|
-
**Option C —
|
|
106
|
+
**Option C — register the bundle by hand**
|
|
60
107
|
|
|
61
108
|
```sh
|
|
62
109
|
# 1) install the package (npm or GitHub)
|
|
@@ -68,26 +115,28 @@ dsh plugin --profile desktop add dsh-workbuddy-xdpool
|
|
|
68
115
|
# 3) restart DSH Desktop
|
|
69
116
|
```
|
|
70
117
|
|
|
71
|
-
**
|
|
118
|
+
**Building locally (developers)**
|
|
72
119
|
|
|
73
120
|
```sh
|
|
74
121
|
pnpm install
|
|
75
|
-
pnpm build
|
|
76
|
-
pnpm test
|
|
77
|
-
pnpm typecheck
|
|
78
|
-
pnpm typecheck:client
|
|
122
|
+
pnpm build # produces lib/index.js + lib/index.d.ts + lib/bin.js + lib/client.js
|
|
123
|
+
pnpm test # 138 tests
|
|
124
|
+
pnpm typecheck # host side
|
|
125
|
+
pnpm typecheck:client # client side
|
|
79
126
|
```
|
|
80
127
|
|
|
81
|
-
> `
|
|
128
|
+
> **The build output is committed** (`lib/` is not gitignored), so a GitHub install needs no install-time script and never trips pnpm's "build scripts were blocked" prompt. **After changing `src/`, re-run `pnpm build` and commit `lib/` too** — otherwise users get the old build.
|
|
129
|
+
|
|
130
|
+
> Note: `pnpm install` wants pnpm 11 (`npx pnpm@11`), and may need `--config.confirmModulesPurge=false --config.minimumReleaseAge=0` — pnpm 11's default `minimumReleaseAge` supply-chain policy blocks just-published rc packages.
|
|
82
131
|
|
|
83
|
-
|
|
84
|
-
> no install-time script and never hits pnpm's "build scripts are blocked" prompt. **After changing
|
|
85
|
-
> `src/`, re-run `pnpm build` and commit `lib/` too**, or users would receive the old build.
|
|
132
|
+
Once installed: a **WorkBuddy XD Pool** group appears in the model picker, and Settings → Plugins → **DSH WorkBuddy XD Pool** shows pool health, each account's token / credits / check-in / cooldown state, the "Detect accounts again" and "Clear all cooldowns" buttons, and a check-in button per account.
|
|
86
133
|
|
|
87
|
-
|
|
134
|
+
It also works under the Web / TUI profiles (`--profile web` / `--profile dsh-tui`).
|
|
88
135
|
|
|
89
136
|
## CLI
|
|
90
137
|
|
|
138
|
+
All commands run through `dsh plugin --profile desktop exec dsh-workbuddy-xdpool <subcommand>`:
|
|
139
|
+
|
|
91
140
|
```sh
|
|
92
141
|
dsh plugin --profile desktop exec dsh-workbuddy-xdpool status # pool accounts/cooldown + shim state (--credits, --json, --rates)
|
|
93
142
|
dsh plugin --profile desktop exec dsh-workbuddy-xdpool accounts # discovered accounts (--json)
|
|
@@ -131,32 +180,50 @@ workbuddy-xdpool:
|
|
|
131
180
|
|
|
132
181
|
## Architecture
|
|
133
182
|
|
|
134
|
-
- **Host side** (`src
|
|
135
|
-
-
|
|
136
|
-
-
|
|
183
|
+
- **Host side** (`src/`, inside the DSH main process)
|
|
184
|
+
- `index.ts` — registers the `workbuddy-xdpool` provider, the `workbuddy-xdpool` settings section, the same-origin routes (status / re-scan / clear cooldowns / check-in / automation run / credit reserve), plus account discovery and catalog seeding.
|
|
185
|
+
- `accounts.ts` — `WorkBuddyAccountPool`: reads the desktop auth snapshots, 429 cooldowns, rotation and token refresh; account disabling and credit reserves live here too.
|
|
186
|
+
- `scheduler.ts` — the points-automation scheduler: runs five jobs on local time points (check-in / report / tasks / streak / travel), persists the daily earnings ledger, and backs the card's "Run now" button with the same code path.
|
|
187
|
+
- `task-events.ts` — builds the 13 task event chains. Each chain is plain data plus the fingerprint channel it must go out on (desktop or web); the tasks that need a REAL conversation (skill, experts) open one here to get the server-side id.
|
|
188
|
+
- `catalog.ts` / `upstream.ts` — the upstream client: model catalog (with per-model multipliers and free / image tags), credits, check-in, and every automation endpoint, switching CN/global by credential domain.
|
|
189
|
+
- `web-status.ts` / `status-paths.ts` — the same-origin status document and routes the card reads. Mutations are gated on POST + loopback origin + an explicit `accountId`.
|
|
190
|
+
- `bin.ts` — the CLI above.
|
|
191
|
+
- **Client** (`src/client/`, the browser card loaded via `dsh.client`)
|
|
192
|
+
The collapsible shell reuses the host's `dsm-plugin-card*` style language (`--dsw-alias-*` theme tokens); content classes are namespaced `dsm-workbuddy-xdpool-*`, and copy lives under the `settings.workbuddy-xdpool` namespace.
|
|
193
|
+
- **Build**
|
|
194
|
+
`tsdown` produces `lib/index.js` (host entry) + `lib/index.d.ts` (types) + `lib/bin.js` (CLI) + `lib/client.js` (CJS browser bundle wrapped in `window.__ModuleLoader__.load`). All four are committed, so an install needs no build-time script.
|
|
137
195
|
|
|
138
196
|
## Known limitations
|
|
139
197
|
|
|
140
|
-
- **Only accounts on
|
|
141
|
-
|
|
142
|
-
-
|
|
198
|
+
- **Only accounts on THIS machine's desktop app**: the pool cannot — and will not — sign you in or scan a QR code (tokens are minted by the WorkBuddy desktop app's own Tencent SSO and bound to the device). Adding an account = signing in on the desktop app; XD Pool absorbs it.
|
|
199
|
+
|
|
200
|
+
- **A few automation tasks are deliberately not implemented**
|
|
201
|
+
- `Expert_Philanthropy` (charity expert): requires a real donation; there is no way around it.
|
|
202
|
+
- `black_cat` (night owl): only scores between 23:00 and 08:00, and pays **no credits** — all-nighters for nothing.
|
|
203
|
+
- `Model_chat_GLM5.2` (chat with a specific model) and `wb_wechat_oa_subscribe_task` (follow the official account): the path is mapped out, deferred to the next release.
|
|
204
|
+
|
|
205
|
+
- **`Expert_team_use_3` occasionally sticks at 2/3**: on one account, after two expert teams had been used that day, the third would not register (using a different, unused team didn't help either). Suspected per-account daily quota that resets the next day, unconfirmed. **Fresh accounts are unaffected** (measured 0/3 → 3/3).
|
|
206
|
+
|
|
207
|
+
- **Depends on WorkBuddy's client APIs** (not an official public API), so a WorkBuddy update may require a matching plugin update. If an account's refresh token lapses, sign in again on the desktop.
|
|
208
|
+
|
|
209
|
+
- If your Windows and Linux usernames differ and the Windows environment variable doesn't reach WSL, point `WORKBUDDY_AUTH_FILE` (or `authFile`) at the real location.
|
|
143
210
|
|
|
144
211
|
## Disclaimer
|
|
145
212
|
|
|
146
|
-
-
|
|
147
|
-
- You are responsible for complying with WorkBuddy's terms of service
|
|
148
|
-
- The authors
|
|
149
|
-
- This project is not affiliated with,
|
|
213
|
+
- This project is **for personal study and research only**. It drives only your own WorkBuddy accounts from your own machine — do not use it commercially or beyond reasonable personal use.
|
|
214
|
+
- You are responsible for complying with WorkBuddy's terms of service. Any consequences of using this project (including but not limited to account restrictions, cleared balances, or service interruption) are yours to bear.
|
|
215
|
+
- The authors accept no liability for any direct or indirect loss arising from the use or misuse of this project.
|
|
216
|
+
- This project is not affiliated with, authorised by, or endorsed by Tencent, WorkBuddy, or DeepSeek. Product names appear only to describe compatibility; trademarks belong to their respective owners.
|
|
150
217
|
|
|
151
218
|
## Acknowledgments
|
|
152
219
|
|
|
153
|
-
This project
|
|
220
|
+
This project draws on the following public projects and keeps their copyright notices as their licences require. What was taken is **design approach and established findings**; the code is an independent implementation. The modules that lean on a specific source say so in their file headers:
|
|
154
221
|
|
|
155
|
-
- [corrinehu/dsh-workbuddy-connect](https://github.com/corrinehu/dsh-workbuddy-connect) (MIT) — the
|
|
156
|
-
- [dingminhua/dsh-connect-workbuddy](https://github.com/dingminhua/dsh-connect-workbuddy) (MIT, Copyright (c) 2026 LaoDing) — the reference for the `dsm-plugin-card*` card style language and `--dsw-alias-*` theme tokens;
|
|
157
|
-
- [Sliverkiss/workbuddy2api](https://github.com/Sliverkiss/workbuddy2api) (MIT) — reference
|
|
222
|
+
- [corrinehu/dsh-workbuddy-connect](https://github.com/corrinehu/dsh-workbuddy-connect) (MIT) — the primary reference for settings-section registration (`settings.installSection`) and the DSH plugin structure, the client card loading mechanism, and desktop credential refresh plus loopback-shim hardening. This project follows its "host mounts the card via installSection" path.
|
|
223
|
+
- [dingminhua/dsh-connect-workbuddy](https://github.com/dingminhua/dsh-connect-workbuddy) (MIT, Copyright (c) 2026 LaoDing) — the reference implementation for the `dsm-plugin-card*` card style language and `--dsw-alias-*` theme tokens; **daily check-in** (`/v2/billing/meter/checkin-activity-status` and `/v2/billing/meter/daily-checkin`), the credit-package aggregation rules (monthly vs one-off packs), and picking the upstream origin per credential `domain` all follow interface shapes that project verified.
|
|
224
|
+
- [Sliverkiss/workbuddy2api](https://github.com/Sliverkiss/workbuddy2api) (MIT) — the reference for the WorkBuddy upstream protocol (`copilot.tencent.com` wire behaviour) and the credits APIs; **points automation** (growth-centre check-in, activity report, streak redemption, the buddy-trip state machine, the 13 task event chains, and the expert summon chains) was ported wholesale from that project's Go reverse-engineering, including the scoring criteria and measured conclusions behind every event chain.
|
|
158
225
|
|
|
159
|
-
All
|
|
226
|
+
All copyright in the above belongs to their respective authors. This project uses a **reference-the-approach, implement-independently** method and does not copy any reference project's source wholesale. If anything is mis-attributed or missing, please open an issue.
|
|
160
227
|
|
|
161
228
|
## License
|
|
162
229
|
|