dsh-plugin-t-expert 0.4.48 → 0.4.53
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 +139 -0
- package/README.md +2 -2
- package/THIRD-PARTY-NOTICES +3 -3
- package/data/roster.json +2220 -756
- package/data/source.json +2 -2
- package/lib/client.js +29 -3
- package/lib/fetch-assets.js +37 -2
- package/lib/index.js +37 -10
- package/lib/remote.js +13 -0
- package/package.json +2 -2
- package/vendor/third-party-licenses/README.md +1 -1
- package/data/experts/engineering/data-analytics-reporter/agents/data-analytics-reporter.md +0 -174
- package/data/experts/engineering/data-analytics-reporter/skills/analytics-reporting/SKILL.md +0 -213
- package/data/experts/engineering/data-analytics-reporter/skills/data-quality-assessment/SKILL.md +0 -167
- package/data/experts/engineering/data-analytics-reporter/skills/data-visualization/SKILL.md +0 -94
- package/data/experts/engineering/data-analytics-reporter/skills/kpi-design/SKILL.md +0 -134
- package/data/experts/engineering/data-analytics-reporter/skills/metric-diagnostics/SKILL.md +0 -143
- package/data/experts/finance/vietnam-finance-tax-expert/.codebuddy-plugin/plugin.json +0 -60
- package/data/experts/finance/vietnam-finance-tax-expert/.downloaded_at +0 -1
- package/data/experts/finance/vietnam-finance-tax-expert/.imported-from-workbuddy +0 -7
- package/data/experts/finance/vietnam-finance-tax-expert/README.md +0 -84
- package/data/experts/finance/vietnam-finance-tax-expert/persona.md +0 -323
- package/data/experts/hr/fbsir-beike-yi/agents/fbsir-beike-yi.md +0 -225
- package/data/experts/hr/fbsir-beike-yi/contracts/first-value-contract.json +0 -33
- package/data/experts/hr/fbsir-beike-yi/contracts/high-value-delivery.schema.json +0 -36
- package/data/experts/hr/fbsir-beike-yi/contracts/material-scope.schema.json +0 -46
- package/data/experts/hr/fbsir-beike-yi/contracts/option-decision-contract.json +0 -34
- package/data/experts/hr/fbsir-beike-yi/contracts/reuse-capsule.schema.json +0 -28
- package/data/experts/hr/fbsir-beike-yi/contracts/teaching-quality-review-contract.json +0 -38
- package/data/experts/hr/fbsir-beike-yi/contracts/writeback-contract.json +0 -34
- package/data/experts/hr/fbsir-beike-yi/examples/acceptance-cases.json +0 -104
- package/data/experts/hr/fbsir-beike-yi/examples/local-workspace-scenarios.json +0 -43
- package/data/experts/hr/fbsir-beike-yi/examples/output-structures.md +0 -111
- package/data/experts/hr/fbsir-beike-yi/references/evidence-and-source-ledger.md +0 -56
- package/data/experts/hr/fbsir-beike-yi/references/user-visible-copy.md +0 -60
- package/data/experts/hr/fbsir-beike-yi/references/workbuddy-local-mode-boundary.md +0 -41
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/SKILL.md +0 -152
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/bounded-revision.md +0 -30
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/high-value-delivery.md +0 -33
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/local-writeback.md +0 -35
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/material-sensemaking.md +0 -43
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/option-decision.md +0 -40
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/reuse-capsule.md +0 -34
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/teaching-quality-review.md +0 -28
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/high-value-delivery-card.md +0 -35
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/material-understanding-card.md +0 -47
- package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/teaching-option-card.md +0 -38
- package/data/experts/marketing/kdocs-ppt-creator/agents/kdocs-ppt-creator.md +0 -42
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/SKILL.md +0 -164
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/auth.md +0 -32
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/file-locating-guide.md +0 -34
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_master.md +0 -83
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_presentation.md +0 -85
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_shape.md +0 -118
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_slide.md +0 -94
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/export.md +0 -178
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/jsapi_shape.md +0 -131
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/jsapi_slide.md +0 -126
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/slide.md +0 -139
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/theme.md +0 -204
- package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp.md +0 -164
- package/data/experts/specialized/job-companion-team/agents/job-companion-interview.md +0 -74
- package/data/experts/specialized/job-companion-team/agents/job-companion-negotiation.md +0 -82
- package/data/experts/specialized/job-companion-team/agents/job-companion-reflection.md +0 -87
- package/data/experts/specialized/job-companion-team/agents/job-companion-resume.md +0 -82
- package/data/experts/specialized/job-companion-team/agents/job-companion-team-lead.md +0 -162
- package/data/experts/specialized/job-companion-team/skills/interview-prep/SKILL.md +0 -73
- package/data/experts/specialized/job-companion-team/skills/mock-interview/SKILL.md +0 -65
- package/data/experts/specialized/job-companion-team/skills/onboarding-reflection/SKILL.md +0 -142
- package/data/experts/specialized/job-companion-team/skills/resume-polish/SKILL.md +0 -82
- package/data/experts/specialized/job-companion-team/skills/salary-negotiation/SKILL.md +0 -105
- package/data/experts/specialized/job-companion-team/skills/self-inventory/SKILL.md +0 -67
- package/data/experts/specialized/job-companion-team/skills/target-positioning/SKILL.md +0 -64
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,145 @@
|
|
|
16
16
|
> 发布时**不要再跑 `npm version`**(那会把已提交好的版本又升一级,发出去的号与 CHANGELOG、tag 就对不上),
|
|
17
17
|
> 只补一个 annotated tag(`git tag -a`,因为 `git push --follow-tags` 只推带注释的 tag)。
|
|
18
18
|
|
|
19
|
+
## [0.4.53] — 未发布
|
|
20
|
+
|
|
21
|
+
**面板与 @ 弹窗显示专家头像** —— 0.4.52 只做到数据链路,这一版接上最后一环。
|
|
22
|
+
|
|
23
|
+
### 做法
|
|
24
|
+
|
|
25
|
+
- **host**:`lib/index.js` 的 catalog 服务加 `avatars()` —— 扫本地各专家包的
|
|
26
|
+
`avatars/avatar.webp`,返回 `{ slug: dataUrl }`。**只含已下载过资源的专家**(没下载的本地
|
|
27
|
+
根本没这个文件,自然不在返回里),这正是「没下载过显示默认头像」的落地方式。
|
|
28
|
+
- **remote**:`lib/remote.js` 加 `getAvatars` 描述符 + 转发方法,**并加进 `exposeRemoteMethods`
|
|
29
|
+
的装饰清单** —— 漏这一步 `remoteMethods()` 就扫不到它,verify 的「方法与描述符一一对应」会直接拦下。
|
|
30
|
+
- **客户端**:`src/client/remote.js` 加配对的 direct 声明;`settings.jsx`(面板卡片)与
|
|
31
|
+
`summon.jsx`(@ 弹窗)各取一次头像 map,**有头像渲染 `<img>`、否则回退原来的 emoji / 分区图标**;
|
|
32
|
+
`css.js` 给两个头像圆各加 `img{width:100%;height:100%;border-radius:50%;object-fit:cover}`。
|
|
33
|
+
- **代价**:只返回本地已有的那些,未下载过资源的专家不产生任何数据传输,列表加载不受影响。
|
|
34
|
+
|
|
35
|
+
### 自检
|
|
36
|
+
|
|
37
|
+
546/546(「卡片头像」那条断言已更新以反映新渲染)。
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
**专家头像:从 WorkBuddy 取回、压成 128px WEBP,随资源包按需下发(不进 npm 包)。**
|
|
42
|
+
|
|
43
|
+
### 背景
|
|
44
|
+
|
|
45
|
+
WorkBuddy 的头像在**拉取阶段**就被丢弃了(`workbuddy-expert-fetch` 默认不保存头像,省 315 MB),
|
|
46
|
+
面板此前只有 emoji。现在按用户口径加回来:**没下载过的专家显示默认(emoji),下载过的显示真实头像**。
|
|
47
|
+
|
|
48
|
+
### 做法
|
|
49
|
+
|
|
50
|
+
- **拉取**:`--only <281 位> --with-avatars --force`,只拉现役专家,已删的不拉。
|
|
51
|
+
- **压缩**:新增 `tools/import-avatars.py` —— 取 `plugin.json` 的 `avatar` 字段指定的**主头像**,
|
|
52
|
+
压成 **128px WEBP**,统一命名为 `avatars/avatar.webp`,**原图一概不留**。
|
|
53
|
+
实测原图是 1024² PNG、约 200 KB~1.5 MB,压后 **3.4 KB/张**,281 位合计 **0.94 MB**。
|
|
54
|
+
- **上云**(`pack-assets.mjs` 两处):
|
|
55
|
+
① `avatars` 列入**强制上云** —— 它只有 5 KB、远低于 50 KB 阈值,否则会被塞进 npm 包;
|
|
56
|
+
② 附件本来就小(≤ 阈值)但含头像的包,**tar.gz 只装 avatars**,其余(skills 等)继续随 npm 包
|
|
57
|
+
发布、立即可用 —— 不因为一张头像就把整个包挪上云端。
|
|
58
|
+
- **运行时**:`ASSET_DIRS` 加 `avatars`;解包逻辑不用改(它按 roster 的 `dirs` 走)。
|
|
59
|
+
|
|
60
|
+
### 自检
|
|
61
|
+
|
|
62
|
+
roster **181 → 289 条**(105 个「只装头像」的小包 + 若干含头像的大包),云端 174 MB;546/546。
|
|
63
|
+
抽验 `marketing/seo-content-team` 的 sha256 与 OBS 元数据一致 ✓。
|
|
64
|
+
|
|
65
|
+
### 遗留
|
|
66
|
+
|
|
67
|
+
面板显示头像还差**客户端与 host 那一层**:浏览器读不到本地文件,需要 host 提供读取接口。
|
|
68
|
+
|
|
69
|
+
### 教训
|
|
70
|
+
|
|
71
|
+
本轮**又踩了一次「别单独手跑 `pack-assets.mjs`」** —— 附件早已 prune,它按「本地还能打包的包」
|
|
72
|
+
重算,把 181 条 roster 清成了 281 条纯头像条目。靠 `git checkout -- data/roster.json` 恢复,
|
|
73
|
+
再用 `assets.mjs fetch --all` 把附件拉回本地,才重新打对。
|
|
74
|
+
|
|
75
|
+
## [0.4.51] — 未发布
|
|
76
|
+
|
|
77
|
+
**`upload-obs.mjs` 新增 `--delete-orphans`:清理删过专家后留在桶里的孤儿对象。**
|
|
78
|
+
|
|
79
|
+
### 新增
|
|
80
|
+
|
|
81
|
+
node tools/upload-obs.mjs --delete-orphans # 只列不删
|
|
82
|
+
node tools/upload-obs.mjs --delete-orphans --yes # 真删
|
|
83
|
+
|
|
84
|
+
- 用 ListObjects(自动翻页)扫 `<prefix>/packs/`,与 `roster.json` 引用的 path 集合比对,
|
|
85
|
+
列出没被引用的对象;**只扫 `packs/` 前缀**,不碰桶里其它东西,免得误删手工放进去的。
|
|
86
|
+
- **默认只列不删**,要 `--yes` 才真删(破坏性操作两道闸)。
|
|
87
|
+
- 实现细节:OBS v2 签名里 `prefix` / `marker` / `max-keys` **不属于**要签的子资源,
|
|
88
|
+
桶级 LIST 的 CanonicalizedResource 只有 `/<bucket>/` —— 所以直接复用 `authorize({ key: "" })`。
|
|
89
|
+
|
|
90
|
+
### 实测(这就是加它的原因)
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
桶里 244 个对象 / 清单引用 181 个 / 孤儿 63 个 / 合计 529.0 MB
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
其中 `vietnam-finance-tax-expert.tar.gz` 一个就 495.6 MB(占 93.7%),其余 62 个来自更早的几次删除:
|
|
97
|
+
内部依赖专家(`omics-*`、`fundus-disease-analysis`…)与「去分区前缀重名」那批
|
|
98
|
+
(`ui-designer`、`backend-architect`、`frontend-developer`… —— 判重修复之前导入的)。
|
|
99
|
+
|
|
100
|
+
## [0.4.50] — 未发布
|
|
101
|
+
|
|
102
|
+
**移除 `finance/vietnam-finance-tax-expert`(495.6 MB)** —— roster 里最大的包,是第二名的 12.5 倍。
|
|
103
|
+
|
|
104
|
+
### 为什么
|
|
105
|
+
|
|
106
|
+
它是个「**离线 RAG 型**」专家:自带 723 篇越南财税法规语料,外加
|
|
107
|
+
|
|
108
|
+
| 文件 | 大小 |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `tfidf_matrix.npz`(预计算检索索引)| **382.9 MB** |
|
|
111
|
+
| `chunks_metadata.json`(分块元数据)| 41.7 MB |
|
|
112
|
+
| 法规原文(PDF/HTML/TXT)| 约 70 MB |
|
|
113
|
+
|
|
114
|
+
功能上很完整(不联网就能查越南税法,还配了企业所得税/工资/关税/选址四个计算器),
|
|
115
|
+
但**单个专家 495.6 MB 太重**(第二名 `legal/malaysia-hr-admin` 才 39.6 MB),
|
|
116
|
+
按需下载的设计不值得为它付这个代价。
|
|
117
|
+
|
|
118
|
+
名册 **624 → 623**;roster **182 → 181**;README / npm description / THIRD-PARTY-NOTICES /
|
|
119
|
+
许可说明 / source.json / verify 数字同步校准。
|
|
120
|
+
|
|
121
|
+
### 遗留
|
|
122
|
+
|
|
123
|
+
OBS 上的 `packs/finance/vietnam-finance-tax-expert.tar.gz`(495.6 MB)现在是**孤儿对象** ——
|
|
124
|
+
`roster.json` 里没有它,不会有任何客户端去下载,但占着云端空间。清理方式见技能
|
|
125
|
+
`t-expert-roster-sync` 的说明(`tools/upload-obs.mjs` 目前只有上传与校验,没有删除)。
|
|
126
|
+
|
|
127
|
+
## [0.4.49] — 未发布
|
|
128
|
+
|
|
129
|
+
**远端清单的两个缺陷:一个是功能性的(495 MB 附件拿不到),一个是我自己设错的上限。**
|
|
130
|
+
|
|
131
|
+
### 背景
|
|
132
|
+
|
|
133
|
+
按用户要求实测「召唤专家能否下载附件」:两位专家(`seo-content-team`、`fin-research-expert`)
|
|
134
|
+
都下载成功,sha256 与清单**逐字节一致**,解包后文件齐备。但顺带查出远端清单的两个问题。
|
|
135
|
+
|
|
136
|
+
### 修复
|
|
137
|
+
|
|
138
|
+
1. **远端清单改成「并集合并」而非替换**。远端可能比包内**旧**(改了专家但还没重传 roster),
|
|
139
|
+
直接替换会让包内独有的条目查不到 —— 表现是那位专家被判成「没有云端附件」,附件**永远下载不下来**。
|
|
140
|
+
实测踩到:`finance/vietnam-finance-tax-expert`(**495.6 MB**)在包内清单里有、远端那份是旧的因而没有,
|
|
141
|
+
它的 `agents/` 与 `references/` 一直缺失。
|
|
142
|
+
现在 `mergeRosters(bundled, remote)`:远端同名条目优先(那是新版本),包内独有条目保留(兜底)。
|
|
143
|
+
**所有返回路径都过合并**(含缓存命中 —— 否则插件升级后、缓存 TTL 内,包内新增条目会因
|
|
144
|
+
「缓存还新鲜」而丢失)。
|
|
145
|
+
2. **单包体积上限 200 MB → 2 GB**。这是我上一版设错的:roster 里真实存在 495.6 MB 的包,
|
|
146
|
+
200 MB 上限会把它当异常条目**整条拒掉**,同样导致附件拿不到。
|
|
147
|
+
|
|
148
|
+
### 自检
|
|
149
|
+
|
|
150
|
+
新增 5 条断言(并集的覆盖/保留/undefined 回退 + 「495 MB 大包必须放行」),541 → **546**。
|
|
151
|
+
端到端验证:包内 182 条 ∪ 远端 203 条 = **204 条**,那条 495.6 MB 的条目现在查得到。
|
|
152
|
+
|
|
153
|
+
### 运维提醒
|
|
154
|
+
|
|
155
|
+
远端 `agetn/roster.json` 目前比包内**旧**(它是删掉那批内部依赖专家之前上传的:多 22 条孤儿条目、
|
|
156
|
+
少 1 条)。并集逻辑已保证不影响使用,要让它干净就重跑一次 `node tools/upload-obs.mjs`。
|
|
157
|
+
|
|
19
158
|
## [0.4.48] — 未发布
|
|
20
159
|
|
|
21
160
|
**逐行审查 0.4.47 的远端清单代码,修掉一个会导致「远端故障时频繁打远端」的 bug。**
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# T专家(dsh-plugin-t-expert)
|
|
2
2
|
|
|
3
|
-
dsh-plugin-t-expert 插件:包含 **22 个分类 /
|
|
3
|
+
dsh-plugin-t-expert 插件:包含 **22 个分类 / 623 位专家**的名册(中文名、简介全量覆盖)。
|
|
4
4
|
|
|
5
5
|
装上以后你能做两件事:
|
|
6
6
|
|
|
@@ -89,7 +89,7 @@ remote 入口 `lib/skill-gate-remote.js`(wire 名仍是 `skillGate`,客户
|
|
|
89
89
|
|
|
90
90
|
```
|
|
91
91
|
~/.t-team/
|
|
92
|
-
├── experts/ 名册:<分类>/<slug>.md 或 <分类>/<slug>/(包内快照 22 个分类、
|
|
92
|
+
├── experts/ 名册:<分类>/<slug>.md 或 <分类>/<slug>/(包内快照 22 个分类、623 位;你自建的另计)
|
|
93
93
|
├── zh/ 中文侧车:names.json、descriptions.json、<分类>/<slug>.md
|
|
94
94
|
├── custom/ 你在面板里自建的专家
|
|
95
95
|
├── source.json 名册清单(专家数 / 分类 / 更新时间)
|
package/THIRD-PARTY-NOTICES
CHANGED
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
| 英文名册 | The Agency / AgentLand(`msitarzewski/agency-agents`)— MIT,Copyright (c) 2025 AgentLand Contributors。完整文本随包:`vendor/third-party-licenses/agency-agents.LICENSE` |
|
|
12
12
|
| 中文译文 | `jnMetaCode/agency-agents-zh`(中文翻译与本地化)— MIT,Copyright (c) 2025 Michael Sitarzewski(英文原版)、Copyright (c) 2026 jnMetaCode(中文翻译与本地化)。完整文本随包:`vendor/third-party-licenses/agency-agents-zh.LICENSE` |
|
|
13
13
|
| 分发形态 | 上述两部分内容随 `@michengai/dsh-agency-agents` 一同分发(该包自身的 TypeScript 源码与构建脚本为 Apache-2.0,**本插件不打包其任何代码**) |
|
|
14
|
-
| 位置 | `data/experts/`(22 个分类 /
|
|
14
|
+
| 位置 | `data/experts/`(22 个分类 / 623 位)、`data/zh/`(中文名字 / 简介 / 人格正文 / 分类标签) |
|
|
15
15
|
| 维护方式 | 上述内容随本插件分发(`data/` 是发布源,不再从上游重新镜像);`data/source.json` 是该名册的清单(专家数 / 分类 / 更新时间) |
|
|
16
16
|
|
|
17
|
-
名册的构成分五部分(总计
|
|
17
|
+
名册的构成分五部分(总计 623 位):
|
|
18
18
|
|
|
19
19
|
- **279 位来自 `msitarzewski/agency-agents`**(上表英文名册一行)。
|
|
20
20
|
- **35 位来自 `@michengai/dsh-agency-agents` 的包内快照**(company / hr / legal / supply-chain
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
它们没有中文译文正文(`data/zh/` 已冻结);作为例外,中文名与中文简介手写在
|
|
36
36
|
`data/zh/names.json` 与 `data/zh/descriptions.json` 里,人格正文回退英文。
|
|
37
|
-
- **
|
|
37
|
+
- **300 位来自 WorkBuddy 专家市场**(腾讯 CodeBuddy 的公开专家市场,2026-09-29 导入)。
|
|
38
38
|
它们以「目录形态专家包」随包分发:`<分类>/<slug>/persona.md` 是名册入口,原始 `agents/`、
|
|
39
39
|
`skills/` 与全部附件(references、Databases 等)一并保留在包内。
|
|
40
40
|
**其版权与许可归腾讯及其各自的专家作者所有**,本插件只做本地聚合与形态转换,不声称对其拥有
|