dsh-ronge-adaptive-skill-archive 3.0.0 → 5.0.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/PRIVACY.md +19 -0
- package/README.md +222 -181
- package/SECURITY.md +53 -0
- package/THREAT_MODEL.md +50 -0
- package/client.js +937 -33
- package/docs/attribution.md +95 -0
- package/docs/benchmark.md +210 -0
- package/docs/claims.md +109 -0
- package/docs/cross-agent.md +2 -2
- package/docs/dsh-compatibility.md +52 -0
- package/docs/intelligence-architecture.md +55 -0
- package/index.js +351 -167
- package/lib/fsx.js +61 -0
- package/lib/intelligence/capability.js +374 -0
- package/lib/intelligence/compose.js +721 -0
- package/lib/intelligence/decompose.js +467 -0
- package/lib/intelligence/draft.js +467 -0
- package/lib/intelligence/efficiency.js +138 -0
- package/lib/intelligence/index.js +88 -0
- package/lib/intelligence/taxonomy.js +529 -0
- package/lib/security.js +68 -0
- package/library/NOTICE.md +9 -0
- package/library/README.md +13 -0
- package/library/capability-index.json +1 -0
- package/library/domain-packs.json +1921 -0
- package/mcp/server.mjs +86 -39
- package/package.json +31 -7
- package/scripts/benchmark.mjs +831 -0
- package/scripts/build-capability-index.mjs +66 -0
- package/scripts/dsh-compat-check.mjs +74 -0
- package/test/fixtures/intelligence-cases.json +1220 -0
package/PRIVACY.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Privacy and data
|
|
2
|
+
|
|
3
|
+
- **No telemetry, no accounts, no analytics SDK.** The plugin does not upload task
|
|
4
|
+
text, skill content, usage, or identifiers.
|
|
5
|
+
- **Network is user-triggered only.** It fetches `raw.githubusercontent.com` when
|
|
6
|
+
you preview/install/update a remote skill, and GitHub repo metadata was fetched
|
|
7
|
+
at build time for the bundled index. No background uploads.
|
|
8
|
+
- **Local data directory:** `${DSH_HOME:-~/.dsh}/dsh-ronge-adaptive-skill-archive/`
|
|
9
|
+
contains `experience.json`, `evolution.json`, `rec-feedback.json`,
|
|
10
|
+
`skills-lock.json`, `backups/`, and optional local audit logs. Legacy names are
|
|
11
|
+
merged and kept.
|
|
12
|
+
- **MCP data directory:** `~/.ronge-adaptive-skill-cockpit/` for the cross-agent
|
|
13
|
+
experience/lock state.
|
|
14
|
+
- **Skills directories:** installing a skill writes the selected `SKILL.md` into
|
|
15
|
+
the target agent directory (DSH/Claude/Codex/etc.) as the user requested.
|
|
16
|
+
- **Deletion:** remove the data directory to delete local history; remove installed
|
|
17
|
+
skills individually. No remote copy exists.
|
|
18
|
+
- **Audit logs** contain action, skill name, hash, timestamp and outcome; they never
|
|
19
|
+
contain full skill text or credentials.
|
package/README.md
CHANGED
|
@@ -3,164 +3,233 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">荣哥技能卷轴收藏馆</h1>
|
|
6
|
-
<h3 align="center">Ronge's Adaptive Skill Cockpit
|
|
6
|
+
<h3 align="center">Ronge's Adaptive Skill Cockpit · v5</h3>
|
|
7
7
|
|
|
8
|
-
<p align="center"><b
|
|
8
|
+
<p align="center"><b>把「该用哪个技能」升级成「拆任务 → 组队 → 造技能 → 验效率」的 DSH 原生技能驾驶舱。</b></p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<a href="https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive/actions/workflows/check.yml"><img src="https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive/actions/workflows/check.yml/badge.svg" alt="CI"></a>
|
|
12
12
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
|
|
13
|
-
<img src="https://img.shields.io/badge/version-
|
|
14
|
-
<
|
|
13
|
+
<img src="https://img.shields.io/badge/version-5.0.0-blue.svg" alt="version 5.0.0">
|
|
14
|
+
<img src="https://img.shields.io/badge/12-domains-8a6d2f.svg" alt="12 domains">
|
|
15
15
|
<img src="https://img.shields.io/badge/DeepSeek%20Harness-plugin-1f6feb.svg" alt="DeepSeek Harness plugin">
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
18
|
<p align="center">
|
|
19
|
-
<a href="https://bugtakue.github.io/dsh-ronge-adaptive-skill-archive/"
|
|
19
|
+
<a href="https://bugtakue.github.io/dsh-ronge-adaptive-skill-archive/">在线落地页 / Landing page</a>
|
|
20
|
+
·
|
|
21
|
+
<a href="docs/claims.md">声明与证据</a>
|
|
22
|
+
·
|
|
23
|
+
<a href="docs/eval.md">评测口径</a>
|
|
24
|
+
·
|
|
25
|
+
<a href="docs/benchmark.md">效率 benchmark</a>
|
|
20
26
|
</p>
|
|
21
27
|
|
|
22
28
|
<p align="center">
|
|
23
|
-
<img src="https://raw.githubusercontent.com/bugtakue/dsh-ronge-adaptive-skill-archive/main/docs/panel.png" width="360" alt="
|
|
29
|
+
<img src="https://raw.githubusercontent.com/bugtakue/dsh-ronge-adaptive-skill-archive/main/docs/panel.png" width="360" alt="技能面板:推荐、组队计划、经验与自进化">
|
|
24
30
|
<br>
|
|
25
|
-
<sub
|
|
31
|
+
<sub>会话右侧的「技能」抽屉:推荐 / 组队计划 / 经验 / 安全与更新,都在一个面板里。</sub>
|
|
26
32
|
</p>
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
> **v5.0.0 发布说明**:本 README 是 v5.0.0 对外稿。三大新能力 `plan → compose → draft`(任务拆解 / 技能组队 / 按缺口造技能)与 12 领域包为本次发布新增;每条声明的证据、实测状态与未验证项统一记录在 **[docs/claims.md](docs/claims.md)**。benchmark 数字见 **[docs/benchmark.md](docs/benchmark.md)**(2026-10-29 快照)。
|
|
35
|
+
|
|
36
|
+
## 为什么需要 v5
|
|
37
|
+
|
|
38
|
+
市面上大多数 skill 工具停在「货架」:列出技能、搜索、安装、更新。技能多了之后,真正的问题变成:
|
|
39
|
+
|
|
40
|
+
1. **这个任务该拆成几步?** 一句话里可能同时有 Office 交付物和视频交付物。
|
|
41
|
+
2. **哪几个技能该组队、按什么顺序、谁交给谁?** 单点推荐解决不了多技能协作。
|
|
42
|
+
3. **找不到合适技能时怎么办?** 缺的是「纪要模板」这类具体能力,不是再装一个泛用技能。
|
|
43
|
+
4. **做完到底省了什么?** 需要可复跑的估算与 benchmark,而不是感觉变快了。
|
|
44
|
+
|
|
45
|
+
v5 的驾驶舱把这条链路补全:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
选(推荐)→ 拆(decompose)→ 组(compose)→ 造(draft)→ 量(efficiency estimate)
|
|
49
|
+
↑ │
|
|
50
|
+
└────────────── 经验 / 反馈 / 自进化 持续回流 ◄───────────┘
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 30 秒安装
|
|
29
56
|
|
|
30
57
|
```bash
|
|
31
58
|
# 1) 先跑 npx 助手:检查环境 + 打印这台机器该用的安装命令(不装任何东西)
|
|
32
59
|
npx dsh-ronge-adaptive-skill-archive
|
|
33
60
|
# 想先体检:npx dsh-ronge-adaptive-skill-archive doctor
|
|
34
61
|
|
|
35
|
-
# 2) 把打印出的这一行交给任意 DSH 会话里的 Agent
|
|
36
|
-
plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@
|
|
62
|
+
# 2) 把打印出的这一行交给任意 DSH 会话里的 Agent 执行(v5.0.0 发布后可用)
|
|
63
|
+
plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.0
|
|
37
64
|
|
|
38
65
|
# 3) 刷新页面 → 右上角「技能」→ 右侧抽屉;计划模式 / 沉浸模式切换
|
|
39
66
|
```
|
|
40
67
|
|
|
41
|
-
> `npx`
|
|
68
|
+
> `npx` 是安装助手,不是替代 npm:它从 npm registry 取包,但**不修改 profile**,只检查 Node / profile / 数据目录 / 已装版本并打印安装命令。没有 npm 也能装:GitHub tag 或本地目录,见[安装](#安装)。
|
|
42
69
|
|
|
43
70
|
---
|
|
44
71
|
|
|
45
|
-
##
|
|
46
|
-
|
|
47
|
-
大多数 skill 工具回答的是「有哪些 skill、怎么装」。这个插件回答三个更贴近当下任务的问题:
|
|
72
|
+
## 3 分钟 demo:plan → compose → draft
|
|
48
73
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
3. **哪些做法真的有效?** —— 任务完成后写入经验,你的 👍/👎 会反过来教推荐器。
|
|
74
|
+
一个**跨领域、多意图**的真实任务:*「把这段会议录音整理成可交付的会议纪要 docx,再做一个 30 秒宣传片。」*
|
|
75
|
+
预期拆成 Office + 视频两条线,并在缺少「纪要模板」技能时现场造一个草稿。
|
|
52
76
|
|
|
53
|
-
|
|
77
|
+
### 0:00–0:40 打开驾驶舱
|
|
54
78
|
|
|
55
|
-
|
|
79
|
+
安装后打开任意会话,点右上角「技能」,切换到**计划模式**(先给方案、问过你再执行)。面板里能看到当前推荐、推荐理由和「正在使用」。
|
|
56
80
|
|
|
57
|
-
|
|
81
|
+
### 0:40–1:40 Step 1 · plan:拆任务
|
|
58
82
|
|
|
59
|
-
|
|
60
|
-
|---|---|---|---|---|
|
|
61
|
-
| 主形态 | DSH 右侧抽屉,单宿主深做 | 跨 agent 市场 + CLI | 官方插件市场 + skills | 目录 / 搜索 / 启停 / 安装 |
|
|
62
|
-
| 推荐 + 理由 | 会话上下文 → Top 4,附名称/关键词/类别/经验/手感理由 | 按安装量排行,无用户可见理由 | 模型按 `description` 自动加载,无用户可见排序 | 以列表、搜索为主 |
|
|
63
|
-
| 正在使用 | 真实 `skill` 工具调用,实时显示 | — | `/skill-doctor` 历史频次、Last used | 部分有使用记录 |
|
|
64
|
-
| Plan / Immersive | **skill 编排级**双模式:先问 = 计划,不问 = 沉浸 | — | Plan 属权限模式,不针对 skill 选择 | — |
|
|
65
|
-
| 经验 → 自进化 | 经验记忆 + 👍/👎 归因 + 本地权重学习 + 探索配额 | 安装量统计 | skill-creator 面向作者做评估 | 少数有使用记录,无权重学习 |
|
|
66
|
-
| 安装前安全 | 本地启发式扫描 + 信任分级 + 许可证 | 合作方审计(Vercel 公布) | 市场分层 + 来源校验 + sha256 | 部分有 trust score |
|
|
67
|
-
| 更新 / 回滚 | 内容 diff + 更新前备份 + 一键回滚 | lockfile + update | 市场内更新 | 部分有更新检查,回滚少见 |
|
|
68
|
-
| 数据 / 遥测 | **全本地,无遥测** | 安装遥测默认开启(可关) | 使用数据不回传作者 | 本地 |
|
|
69
|
-
| 规模口径 | 6,399 条 GitHub 公开 `SKILL.md` 可复核快照(2026-10-28) | 官方博客称 69,000+;站点另有 1.5M 级数字,口径未注明 | 官方 marketplace 精选,未公布总量 | 各家不同 |
|
|
83
|
+
在会话里让 Agent 调用 DSH 原生工具 `skill_archive_plan`:
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
```text
|
|
86
|
+
用 skill_archive_plan 拆解这个任务,先不要执行:
|
|
87
|
+
「把这段会议录音整理成可交付的会议纪要 docx,再做一个 30 秒宣传片。」
|
|
88
|
+
```
|
|
72
89
|
|
|
73
|
-
|
|
90
|
+
示意输出(字段以实际版本为准):
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
目标:会议录音 → 纪要 docx + 30 秒宣传片
|
|
94
|
+
主意图:Office(会议纪要) / 次意图:视频(宣传片)
|
|
95
|
+
交付物:minutes.docx, teaser.mp4
|
|
96
|
+
约束:宣传片 30 秒、竖屏 9:16、纪要引用原话需带时间戳
|
|
97
|
+
子任务:转写 → 纪要 → 校验 → 分镜 → 素材 → 渲染 → 交付
|
|
98
|
+
缺口:没有「会议纪要模板」能力 → 需要 draftSkill
|
|
99
|
+
假设:录音已在本机;宣传片素材从会议录屏截取
|
|
100
|
+
置信度:中等偏低(含 2 条假设,需你确认)
|
|
101
|
+
```
|
|
74
102
|
|
|
75
|
-
|
|
103
|
+
这一步只拆解,**不执行、不装技能、不写文件**。
|
|
76
104
|
|
|
77
|
-
|
|
105
|
+
### 1:40–2:30 Step 2 · compose:组队
|
|
78
106
|
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
|
|
107
|
+
```text
|
|
108
|
+
用 skill_archive_compose 给上面的任务组队:2–5 个技能,标出顺序、交接、缺口和冲突。
|
|
109
|
+
```
|
|
82
110
|
|
|
83
|
-
|
|
84
|
-
# [mcp_servers.ronge]
|
|
85
|
-
# command = "npx"
|
|
86
|
-
# args = ["-y", "dsh-ronge-adaptive-skill-archive", "mcp"]
|
|
111
|
+
示意输出(节选):
|
|
87
112
|
|
|
88
|
-
|
|
89
|
-
|
|
113
|
+
| 阶段 | 角色 | 技能 | 为什么 | 交给下一步 |
|
|
114
|
+
|---|---|---|---|---|
|
|
115
|
+
| 1 | 生产 | `office-docx` | 生成可交付的 .docx 纪要 | 文稿文件 |
|
|
116
|
+
| 2 | 校验 | `office-render` | 渲染检查版式 / 分页 | 校验结论 |
|
|
117
|
+
| 3 | 生产 | `beat-promo-director` | 30 秒卡点分镜 | 分镜表 |
|
|
118
|
+
| 4 | 生产 | `media-use` | 素材、配乐、剪辑合规 | 素材包 |
|
|
119
|
+
| — | 缺口 | `meeting-minutes-template` | 没有现成技能 → `draftNeeded: true` | 进入 Step 3 |
|
|
90
120
|
|
|
91
|
-
|
|
121
|
+
默认 **sequential**;检测到校验意图时升级 **review-gate**(Office 交付物先过校验,再做视频);两条线可以并行时给出并行段。`compose` 同时返回 assumptions / conflicts / fallback,并标注「这是计划,不是执行结果」。
|
|
92
122
|
|
|
93
|
-
|
|
123
|
+
### 2:30–3:00 Step 3 · draft:造技能
|
|
94
124
|
|
|
95
|
-
|
|
125
|
+
```text
|
|
126
|
+
用 skill_archive_draft_skill 补上「会议纪要模板」这个缺口:
|
|
127
|
+
只给我 SKILL.md 草稿、eval cases、lint 和安全扫描结果,不要写盘,不要执行。
|
|
128
|
+
```
|
|
96
129
|
|
|
97
|
-
|
|
98
|
-
- 组合切换时右下角弹出小通知(即使面板关着也会轮询提醒),点一下打开面板。
|
|
99
|
-
- 卷轴馆默认「只看未安装」,并新增「库里还没装的」区块:按整段会话从 6,399 条索引里挑 3 个未安装技能,带评分/预览/安装。
|
|
100
|
-
- **更优技能自动升级(默认关闭)**:推荐器会对比「已装技能」和「库里未装技能」;发现明显更匹配的未装技能时显示「发现更优的未装技能」(命中关键词、完整度、相比已装的证据)。自动安装需手动开启,只对 `autoSafe` 且低/中风险候选生效,高风险一律拒绝。
|
|
130
|
+
示意输出:
|
|
101
131
|
|
|
102
|
-
|
|
132
|
+
- `SKILL.md` 草稿:frontmatter(name / description / whenToUse)+ 步骤 + I/O + 质量检查 + 失败处理 + 示例;
|
|
133
|
+
- `evalCases`:3–5 条「什么任务该触发它」的用例;
|
|
134
|
+
- `lint`:kebab 名称、描述长度、结构完整性;
|
|
135
|
+
- `safety`:本地启发式扫描(shell / 网络 / 凭据 / 过度授权);
|
|
136
|
+
- **不写盘、不执行**:你确认后自己保存到 `~/.dsh/skills/<name>/SKILL.md`,或在面板点「新建技能」。
|
|
103
137
|
|
|
104
|
-
|
|
138
|
+
> 整个 demo 只产生**计划和草稿**,不会自动装技能、不会自动跑脚本。想让 Agent 真正执行,回到计划模式确认,或切沉浸模式(不问直接执行,风险自负)。
|
|
105
139
|
|
|
106
|
-
|
|
140
|
+
---
|
|
107
141
|
|
|
108
|
-
|
|
142
|
+
## 和技能市场 / 技能管理器比:我们只补「驾驶舱」这一层
|
|
109
143
|
|
|
110
|
-
|
|
144
|
+
> 口径:竞品信息来自其公开文档 / README(2026-10 整理),可能随版本变化;表格只比较与本插件重叠的维度。它们在生态规模、跨宿主、企业治理上远超本插件——那是它们的主场。**这是单宿主(DeepSeek Harness)的深度插件,不是通用技能市场。**
|
|
111
145
|
|
|
112
|
-
|
|
|
113
|
-
|
|
114
|
-
|
|
|
115
|
-
|
|
|
146
|
+
| 维度 | 本插件(v5) | skills.sh 生态 | Claude Code plugins | DSH 内技能管理插件 |
|
|
147
|
+
|---|---|---|---|---|
|
|
148
|
+
| 主形态 | DSH 右侧抽屉,单宿主深做 | 跨 agent 市场 + CLI | 官方插件市场 + skills | 目录 / 搜索 / 启停 / 安装 |
|
|
149
|
+
| 推荐 + 理由 | 会话上下文 → Top 4,附结构化理由 | 按安装量排行,无用户可见理由 | 按 `description` 自动加载 | 以列表、搜索为主 |
|
|
150
|
+
| 正在使用 | 真实 `skill` 工具调用,实时 | — | `/skill-doctor` 历史频次 | 部分有使用记录 |
|
|
151
|
+
| Plan / Immersive | skill 编排级双模式 | — | Plan 属权限模式 | — |
|
|
152
|
+
| **任务拆解 + 技能组队** | **v5:decompose → compose(阶段 / 交接 / 冲突 / 缺口)** | 无用户可见能力 | 有通用 plan 模式;无 skill 组队 | 无 |
|
|
153
|
+
| **按缺口造技能** | **v5:draft(SKILL.md + eval cases + lint + 安全扫描,不写盘)** | 无(作者自己写) | `skill-creator` 面向作者 | 无 |
|
|
154
|
+
| **效率可证** | **v5:estimate + 可复跑 benchmark(docs/benchmark.md)** | 安装量统计 | 作者侧评估 | 无 |
|
|
155
|
+
| 经验 → 自进化 | 经验记忆 + 👍/👎 归因 + 权重学习 + 10% 探索 | 安装量统计 | 作者侧评估 | 少数有使用记录 |
|
|
156
|
+
| 安装前安全 | 本地启发式扫描 + 信任分级 + 许可证 | 合作方审计(Vercel 公布) | 市场分层 + 来源校验 | 部分有 trust score |
|
|
157
|
+
| 更新 / 回滚 | 内容 diff + 备份 + 一键回滚 | lockfile + update | 市场内更新 | 部分有更新检查 |
|
|
158
|
+
| 数据 / 遥测 | 全本地,无遥测 | 安装遥测默认开启(可关) | 使用数据不回传作者 | 本地 |
|
|
159
|
+
| 规模口径 | 6,399 条 GitHub 公开 `SKILL.md` 元数据快照(2026-10-28) | 官方博客称 69,000+ / 站点另有 1.5M 级数字 | 官方精选,未公布总量 | 各家不同 |
|
|
160
|
+
|
|
161
|
+
> 「任务拆解 / 组队 / 造技能 / 效率估算」是 v5.0.0 新增,实现状态见 [docs/claims.md](docs/claims.md);「四项同时具备」基于我们对 28 个相关项目 2026-10 公开资料的梳理,属自报口径,欢迎 issue 指正。
|
|
116
162
|
|
|
117
|
-
|
|
163
|
+
---
|
|
118
164
|
|
|
119
|
-
|
|
165
|
+
## 12 领域覆盖
|
|
120
166
|
|
|
121
|
-
|
|
167
|
+
v5 的领域包覆盖 12 个领域,每个领域有任务 playbook、真实技能候选与 held-out 用例;覆盖率、组合合法率、上下文成本等结果统一记录在 [docs/benchmark.md](docs/benchmark.md)。
|
|
122
168
|
|
|
123
|
-
|
|
169
|
+
| 领域 | 典型交付物 | 会触发它的任务(示例) |
|
|
170
|
+
|---|---|---|
|
|
171
|
+
| 视频 / 创意 | mp4、分镜、动效 | 做一条 30 秒卡点宣传片 |
|
|
172
|
+
| Office | docx / pptx / xlsx / pdf | 把录音整理成带时间戳的纪要 |
|
|
173
|
+
| 软件工程 | 代码、测试、PR、修复 | 排查失败测试并补回归 |
|
|
174
|
+
| 数据 | 表格、分析、图表 | 分析这批 CSV 的异常并出图 |
|
|
175
|
+
| 研究 | 报告、综述、来源清单 | 收集 10 篇资料做对比综述 |
|
|
176
|
+
| 营销 | 文案、投放、竞品分析 | 给新品写一版小红书文案 |
|
|
177
|
+
| 设计 | UI、海报、品牌 | 给落地页做一版视觉稿 |
|
|
178
|
+
| 安全 | 审计、风险清单 | 检查这个 skill 能不能装 |
|
|
179
|
+
| 教育 | 课程、讲解、题解 | 把这个概念讲给新人 |
|
|
180
|
+
| 商业 | 商业计划、财务模型 | 做一版订阅制收入模型 |
|
|
181
|
+
| 效率 | 流程、自动化、模板 | 自动整理周报与待办 |
|
|
182
|
+
| AI | prompt、agent、RAG | 给 Agent 设计一套工具链 |
|
|
183
|
+
|
|
184
|
+
> 领域映射来自技能元数据的能力画像(`library/capability-index.json`,v5.0.0 生成),**不是人类专家认证**;跨领域任务的拆解结果请先看 assumptions 再执行。
|
|
124
185
|
|
|
125
|
-
|
|
186
|
+
---
|
|
126
187
|
|
|
127
|
-
|
|
188
|
+
## DSH 原生工具
|
|
128
189
|
|
|
129
|
-
|
|
190
|
+
v5.0.0 在 DSH 里注册三个**只读 / 只出草稿**的工具(面板与 MCP 之外的原生入口):
|
|
130
191
|
|
|
131
|
-
|
|
192
|
+
| 工具 | 输入 | 输出 | 副作用 |
|
|
193
|
+
|---|---|---|---|
|
|
194
|
+
| `skill_archive_plan` | `task`,可选 `cwd` / `mode` | 目标、主 / 次意图、交付物、约束、领域、子任务、假设、置信度 | 无(不执行、不写盘) |
|
|
195
|
+
| `skill_archive_compose` | `task`,可选 `maxSkills` | 阶段化组合(顺序 / 并行 / review-gate / escalation)、每步技能与理由、缺口 `draftNeeded`、冲突、估算 | 无 |
|
|
196
|
+
| `skill_archive_draft_skill` | `task`,可选 `plan` / `missing` | `SKILL.md` 草稿、`evalCases`、lint、安全扫描 | 无(**不写盘、不执行**) |
|
|
132
197
|
|
|
133
|
-
|
|
198
|
+
- 没有 install / force / 执行类工具——安装与更新仍然走面板(有预览、安全扫描、备份、回滚)。
|
|
199
|
+
- 接口契约见 [docs/intelligence-architecture.md](docs/intelligence-architecture.md);实现状态与实测清单见 [docs/claims.md](docs/claims.md)。
|
|
200
|
+
- 面板、HTTP(loopback)与 MCP 共用同一个本地引擎;MCP 让 Claude Code / Codex / Cursor 也能用推荐与经验(见 [docs/cross-agent.md](docs/cross-agent.md))。
|
|
134
201
|
|
|
135
|
-
|
|
202
|
+
---
|
|
136
203
|
|
|
137
|
-
|
|
204
|
+
## 效率与评测口径(必读)
|
|
138
205
|
|
|
139
|
-
|
|
206
|
+
三类数据严格分开,不混用:
|
|
140
207
|
|
|
141
|
-
|
|
208
|
+
| 类型 | 含义 | 来源 | 当前状态 |
|
|
209
|
+
|---|---|---|---|
|
|
210
|
+
| **已测:推荐召回** | 30 条半人工任务,Top-4 里是否出现可用的已装技能 | [docs/eval.md](docs/eval.md) | Recall@4 = 0.9(27/30),运行于 v2.7.2 工作树,**引用需注明口径** |
|
|
211
|
+
| **已测:库检索** | 24 条任务在 6,399 索引里的类目命中 | [docs/eval.md](docs/eval.md) | Category Hit@5 等指标见文档;Hit@5 偏松,不能证明技能好用 |
|
|
212
|
+
| **v5:规划 / 组队 / 效率** | planCoverage **0.617**、compositionValidity **1.00**、capabilityCoverage **0.850**、hintRecall **0.367**、gapDetection **1.00**(宽松口径:不假装已覆盖)、contextTokens mean **176.9** / p95 **230**(延迟为单机快照,不对外作 SLA);基线 keyword 0.083/0.217/0.25/0.532;installLoad **0.725** | [docs/benchmark.md](docs/benchmark.md)(60 条 held-out,2026-10-29) | 指标是半人工基准,不等于真实成功率;installLoad 0.725 必须一起读 |
|
|
142
213
|
|
|
143
|
-
|
|
214
|
+
规则:
|
|
144
215
|
|
|
145
|
-
|
|
216
|
+
- **所有数字以脚本输出为准**:`node scripts/eval-real.mjs`、`node scripts/eval-discover.mjs`、`node scripts/benchmark.mjs --smoke`;文档不手改数字。
|
|
217
|
+
- **效率是估算(estimate)**:`efficiencyEstimate` 输出 `method: 'estimate'`,用于规划与对比,不是实测工时或 token 账单;真实节省以 `docs/benchmark.md` 的实测口径为准。
|
|
218
|
+
- **评测不是质量榜**:评测是半人工用例,不是线上遥测;Recall@4 只衡量「已装技能推荐」,不代表 6,399 条库的整体质量。v5 规划 benchmark 见 [docs/benchmark.md](docs/benchmark.md)。
|
|
219
|
+
- 证据矩阵(每条声明 → 证据 → 标签)见 [docs/claims.md](docs/claims.md)。
|
|
146
220
|
|
|
147
|
-
|
|
148
|
-
你的反馈(复制 /skill = adopt,👍 / 👎)──归因到理由类型──► 权重微调 ──► 下一次排序更准
|
|
149
|
-
▲ │
|
|
150
|
-
└──────────── 经验记忆 + 10% 探索配额持续采样 ◄───────────┘
|
|
151
|
-
```
|
|
221
|
+
---
|
|
152
222
|
|
|
153
|
-
|
|
154
|
-
|---|---|---|
|
|
155
|
-
| 复制 `/skill`(采用) | `rec-feedback.json` + `kindBySkill` | 归因到产生该推荐的 top 理由类型 |
|
|
156
|
-
| 👍 / 👎 | 同上,另加类别与技能「手感」 | 同类理由、类别权重、该技能亲和度一起学习 |
|
|
157
|
-
| 经验条目 👍 / 👎 | `evolution.json` | 通过上次推荐归因,不污染无关技能 |
|
|
223
|
+
## 安全边界(先读再装)
|
|
158
224
|
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
225
|
+
- **推荐、拆解、组队、草稿、扫描、自进化全部在本机完成**:不调用外部模型、不上传、无遥测。
|
|
226
|
+
- **安装前安全扫描是本地启发式提示,不是安全保证**:能发现 shell 执行、`curl | bash`、动态解码、提示注入、凭据路径、网络访问、文件写入、过宽 `allowed-tools` 等模式,但静态扫描覆盖不了全部攻击面;安装前仍要预览全文。
|
|
227
|
+
- **高风险默认拒绝**:面板安装、更新中心、MCP `install_skill` 一致——高风险 `SKILL.md` 默认拒绝,必须显式 force 才写入/更新(force 是你的责任)。
|
|
228
|
+
- **只从 `raw.githubusercontent.com/**/SKILL.md` 拉取**,上限 256 KiB,不自动拉脚本 / 资源,不覆盖已有技能;重名安装自动改名。
|
|
229
|
+
- **draft 不写盘、不执行**;DSH 侧没有 install / force 工具;MCP 的 `install_skill` 有同样的扫描与拒绝门槛。
|
|
230
|
+
- 新建技能只写入 `~/.dsh/skills/<kebab-case-name>/SKILL.md`,名称白名单拒绝 `/`、`..` 与绝对路径。
|
|
231
|
+
- 数据目录默认 `~/.dsh/dsh-ronge-adaptive-skill-archive/`;卸载 bundle 不会删除数据。
|
|
232
|
+
- **不宣称「无漏洞」**:本项目没有安全认证、没有第三方审计报告;「安全」指上面这些本地检查与拒绝策略。
|
|
164
233
|
|
|
165
234
|
---
|
|
166
235
|
|
|
@@ -168,7 +237,7 @@ GitHub 公开、可检索的 `SKILL.md` 元数据快照(2026-10-28):**6,39
|
|
|
168
237
|
|
|
169
238
|
### 前置
|
|
170
239
|
|
|
171
|
-
- DeepSeek Harness(Desktop / Web profile)
|
|
240
|
+
- DeepSeek Harness(Desktop / Web profile);已验证基线 DSH Desktop 0.2.1-rc.3(见 [docs/dsh-compatibility.md](docs/dsh-compatibility.md))
|
|
172
241
|
- macOS(提示音用系统 `afplay`;Linux 可改为 `paplay`)
|
|
173
242
|
- 安装插件需要 `danger-full-access` 或审批
|
|
174
243
|
|
|
@@ -177,146 +246,118 @@ GitHub 公开、可检索的 `SKILL.md` 元数据快照(2026-10-28):**6,39
|
|
|
177
246
|
| 方式 | 命令 | 适合 |
|
|
178
247
|
|---|---|---|
|
|
179
248
|
| **npx 助手** | `npx dsh-ronge-adaptive-skill-archive`(体检:`npx dsh-ronge-adaptive-skill-archive doctor`) | 第一次用;不装东西,只体检 + 打印安装命令 |
|
|
180
|
-
| **npm** | `plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@
|
|
181
|
-
| **GitHub tag** | `plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#
|
|
249
|
+
| **npm** | `plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.0` | v5.0.0 发布到 npm 后可用 |
|
|
250
|
+
| **GitHub tag** | `plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#v5.0.0` | 固定版本、可审源码 |
|
|
182
251
|
| **本地目录** | `plugin_manager install_bundle target="/absolute/path/to/dsh-ronge-adaptive-skill-archive"` | 开发、改代码、离线 |
|
|
183
252
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
- **v3.0.0 是 breaking rename**:包名、路由、bundle id、数据目录都改为 `dsh-ronge-adaptive-skill-archive`;显示名不变。
|
|
187
|
-
- 同一 profile 不能同时启用旧包和新包——先移除旧 bundle,再装 v3.0.0;旧数据目录(`skill-studio`、`ronge-adaptive-skill-archive`)会在首次启动时**自动合并复制**到新目录(旧目录保留)。
|
|
188
|
-
- 旧 npm 包会 deprecate 并指向新包;旧 GitHub URL 自动跳转。
|
|
189
|
-
|
|
190
|
-
重命名细节见 [v3.0.0 发布说明](docs/release-notes-v3.0.0.md),完整变更见 [CHANGELOG](CHANGELOG.md)。
|
|
253
|
+
> v5.0.0 打 tag / 发布 npm 之前,`@5.0.0` 会 404:请先用本地目录,或安装当时最新的已发布版本。安装后 DSH 需**重启**才会加载新的 Host 模块;浏览器刷新加载 Client。
|
|
191
254
|
|
|
192
|
-
###
|
|
255
|
+
### 升级
|
|
193
256
|
|
|
194
|
-
|
|
195
|
-
-
|
|
196
|
-
- v2.8.0 起每条带 `quality` 信号:**完整度 55% + GitHub stars/维护度/许可/归档 45%**;4,007 个仓库已拉取,6,397 条有 stars。UI 显示「信号分」+ ★ stars;**它仍不是「好用程度」或安全评级**;
|
|
197
|
-
- 发现/更优推荐会跳过无描述、重复名、非最佳版本和低信号条目;安装同名技能自动改名并改写 frontmatter;
|
|
198
|
-
- 安装前请先「预览」看 SKILL.md 与安全扫描结果。
|
|
199
|
-
|
|
200
|
-
### 评测口径
|
|
201
|
-
|
|
202
|
-
- `npm run eval:recommend`:旧 10 条作者用例(Recall@4 = 1.0),只覆盖仓库自带技能。
|
|
203
|
-
- `npm run eval:real`:**30 条更接近真实使用的半人工任务**(视频/Office/Harness/MCP/skill 设计/preset/跨类别),Recall@4 = **0.9 (27/30)**;3 条已知 MISS 保留在 `docs/eval.md`,不洗成 HIT。
|
|
204
|
-
- `npm run eval:discover`:**24 条 6,399 库检索任务**,Category Hit@5 = **0.958 (23/24)**、Category P@5 = **0.733**、Top-1 = **0.917**、Category MRR = **0.938**、Keyword Hit@5 = **0.875**;结果与 MISS 同样在 `docs/eval.md`,不把类别命中当成质量证明。
|
|
205
|
-
- 两者都不代表 6,399 条库的推荐质量;索引没有人工质量标注,信号分只能做完整度/仓库热度启发式。
|
|
257
|
+
- **从 v3.x 升级**:直接覆盖安装 v5.0.0;数据目录、经验、权重、更新记录沿用。
|
|
258
|
+
- **从 v2.x / v1.x 升级**:v3.0.0 起包名 / 路由 / bundle id 已改名,先移除旧 bundle 再装新版本;旧数据目录会在首次启动时自动合并(旧目录保留)。见 [v3.0.0 发布说明](docs/release-notes-v3.0.0.md)。
|
|
206
259
|
|
|
207
260
|
### 数据在哪
|
|
208
261
|
|
|
209
262
|
| 路径 | 内容 |
|
|
210
263
|
|---|---|
|
|
211
264
|
| `~/.dsh/dsh-ronge-adaptive-skill-archive/config.json` | 模式(plan / immersive) |
|
|
212
|
-
|
|
|
213
|
-
|
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
265
|
+
| `.../experience.md` / `experience.json` | 经验(人读 / 机读) |
|
|
266
|
+
| `.../evolution.json` | 权重、探索配额、变更历史 |
|
|
267
|
+
| `.../rec-feedback.json` | 推荐反馈 |
|
|
268
|
+
| `.../skills-lock.json` | 安装来源 / SHA-256 / 信任 / 许可证 |
|
|
269
|
+
| `.../backups/<skill>/<timestamp>.md` | 更新前备份 |
|
|
217
270
|
| `~/.dsh/skills/<name>/SKILL.md` | 已安装 / 新建的技能 |
|
|
218
271
|
|
|
219
|
-
技能来源(优先级从高到低):项目 `.dsh/skills` → 项目 `.agents/skills` → profile 目录 → `~/.dsh/skills` → 用户 agents 目录 → 预设包,并合并会话 `ctx.skills` 注册表。
|
|
220
|
-
|
|
221
|
-
### 插件市场索引(可选)
|
|
222
|
-
|
|
223
|
-
[docs/plugin-market.json](docs/plugin-market.json) 是 DSH format 1 市场索引,可托管到 https URL 后在 DSH 的自定义插件市场里被发现。发版后运行 `npm run build:market-index` 更新版本。
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## 隐私与安全边界
|
|
228
|
-
|
|
229
|
-
- **推荐、扫描、自进化全部在本机完成**,不调用外部模型或网络;不上传、不写日志、无遥测。
|
|
230
|
-
- 推荐只读取当前会话最近的消息和项目根目录文件名;面板显示来自真实工具调用的数据。
|
|
231
|
-
- 安装前扫描是**本地启发式提示,不是安全保证**(静态扫描无法覆盖全部攻击面);安装前仍应预览全文。
|
|
232
|
-
- 只允许从 `raw.githubusercontent.com/**/SKILL.md` 拉取,最大 256 KiB,不自动拉脚本/资源,不覆盖已有 skill。
|
|
233
|
-
- 新建技能只写入 `~/.dsh/skills/<kebab-case-name>/SKILL.md`,名称白名单拒绝 `/`、`..` 和绝对路径。
|
|
234
|
-
- 更新中心只处理已装技能的 SKILL.md 更新;提示音失败不影响任务。
|
|
235
|
-
- 换提示音:`export DSH_TASK_CHIME_SOUND=/System/Library/Sounds/Ping.aiff`
|
|
236
|
-
|
|
237
272
|
---
|
|
238
273
|
|
|
239
274
|
## 架构
|
|
240
275
|
|
|
241
276
|
```
|
|
242
|
-
┌─ DeepSeek Harness
|
|
243
|
-
│ session header ──[技能]──► 右侧抽屉(client.js,无构建)
|
|
244
|
-
│ │ │
|
|
245
|
-
│ session events HTTP(仅 loopback,无新端口)
|
|
246
|
-
│ └───────────┬──────────────┘
|
|
247
|
-
│ ▼
|
|
248
|
-
│
|
|
249
|
-
│
|
|
250
|
-
│
|
|
251
|
-
│
|
|
252
|
-
│
|
|
253
|
-
│
|
|
254
|
-
|
|
277
|
+
┌─ DeepSeek Harness ──────────────────────────────────────────────┐
|
|
278
|
+
│ session header ──[技能]──► 右侧抽屉(client.js,无构建) │
|
|
279
|
+
│ │ │ │
|
|
280
|
+
│ session events HTTP(仅 loopback,无新端口) │
|
|
281
|
+
│ └───────────┬──────────────┘ │
|
|
282
|
+
│ ▼ │
|
|
283
|
+
│ Host(index.js) │
|
|
284
|
+
│ 推荐 / 经验 / 自进化 / 安全扫描 / 更新 / 卷轴馆 │
|
|
285
|
+
│ v5 智能引擎:decompose · compose · draft · efficiency │
|
|
286
|
+
│ DSH 原生工具:skill_archive_plan / compose / draft_skill │
|
|
287
|
+
│ │ │
|
|
288
|
+
│ lib/intelligence(纯函数、零依赖、无网络) │
|
|
289
|
+
│ MCP server(跨 agent:推荐 / 发现 / 安装 / 经验) │
|
|
290
|
+
│ │ │
|
|
291
|
+
│ ~/.dsh/dsh-ronge-adaptive-skill-archive/ ← 配置/经验/权重 │
|
|
292
|
+
│ ~/.dsh/skills/ ← 安装/新建的技能 │
|
|
293
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
255
294
|
```
|
|
256
295
|
|
|
257
|
-
Host 只依赖 Node 内置模块;Client 是 plain JS
|
|
296
|
+
Host 只依赖 Node 内置模块;Client 是 plain JS(`window.__ModuleLoader__.load`,无 JSX、无构建);智能引擎是纯函数模块,零依赖、确定性、无网络。路由只监听 loopback。
|
|
258
297
|
|
|
259
298
|
---
|
|
260
299
|
|
|
261
|
-
##
|
|
300
|
+
## 已知限制
|
|
262
301
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
302
|
+
1. **推荐 / 检索是启发式**:关键词 + 中文二元组 + 256 维哈希向量 + 信号分,不是神经模型;改写、隐喻、小语种仍会失手。
|
|
303
|
+
2. **拆解 / 组队是规则引擎**:decompose / compose 基于领域词表、交付物识别与能力画像,不是 LLM 推理;多意图任务可能主次颠倒,执行前请先看 assumptions 与 conflicts。
|
|
304
|
+
3. **效率是估算**:`estimate` 不等于实测节省;benchmark 是 12 领域 held-out 用例的半人工基准,不是线上遥测。
|
|
305
|
+
4. **6,399 不是质量榜**:1,001 条无描述、512 个重名、没有人工质量标注;quality 是完整度 + 仓库信号的启发式,stars 是 2026-10-29 快照,会过期。数据口径与来源见 [docs/attribution.md](docs/attribution.md)。
|
|
306
|
+
5. **评测覆盖有限**:30 条已装技能、24 条库检索,以及 v5 规划 benchmark(见 [docs/benchmark.md](docs/benchmark.md));样本小,单条变化会影响指标。
|
|
307
|
+
6. **Plan / Immersive 是 prompt 级**:模型可能忽略模式指令;不是权限级硬约束。
|
|
308
|
+
7. **单宿主**:DSH 原生;MCP 可接入 Claude Code / Codex / Cursor,但没有 DSH 面板 UI。
|
|
309
|
+
8. **12 领域 ≠ 人类专家**:领域包提供路由与 playbook,不能宣称达到任何行业的人类专家水平。
|
|
310
|
+
9. **未审计**:没有第三方安全审计或认证;扫描是启发式,不构成安全保证。
|
|
271
311
|
|
|
272
312
|
---
|
|
273
313
|
|
|
274
|
-
##
|
|
275
|
-
|
|
276
|
-
见 [CONTRIBUTING.md](CONTRIBUTING.md)。无构建步骤、无运行时依赖;改完跑:
|
|
314
|
+
## 开发与贡献
|
|
277
315
|
|
|
278
316
|
```bash
|
|
279
317
|
npm run check # 校验 client factory id 与包名一致
|
|
280
|
-
npm test # 单元 + 路由 +
|
|
281
|
-
|
|
282
|
-
node
|
|
318
|
+
npm test # 单元 + 路由 + 迁移 + 兼容性测试(不联网)
|
|
319
|
+
node scripts/eval-real.mjs # 30 条真实任务 Recall@K
|
|
320
|
+
node scripts/eval-discover.mjs # 24 条库检索评测
|
|
321
|
+
node scripts/benchmark.mjs --smoke # v5 智能引擎 smoke(合并后可用)
|
|
322
|
+
npm run check:dsh # DSH 兼容性静态检查
|
|
283
323
|
```
|
|
284
324
|
|
|
285
|
-
欢迎从 [Issues](https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive/issues)
|
|
325
|
+
欢迎从 [Issues](https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive/issues) 的「拆解错了 / 组队不合理 / 推荐不准 / 声明没证据」开始;声明纠错比 star 更有价值。提交对外文档改动前,请先更新 [docs/claims.md](docs/claims.md) 的对应行。
|
|
286
326
|
|
|
287
327
|
---
|
|
288
328
|
|
|
289
329
|
## License
|
|
290
330
|
|
|
291
|
-
MIT。见 [LICENSE](LICENSE)。
|
|
331
|
+
MIT。见 [LICENSE](LICENSE)。索引中的技能元数据归原作者,边界见 [docs/attribution.md](docs/attribution.md)。
|
|
292
332
|
|
|
293
333
|
---
|
|
294
334
|
|
|
295
335
|
<p align="center">
|
|
296
|
-
<b
|
|
297
|
-
|
|
336
|
+
<b>如果这个驾驶舱帮你少想一步「该用哪个技能」,欢迎点一个 Star。</b><br>
|
|
337
|
+
不刷星、不承诺榜单;发现夸大的声明,请直接开 issue 打脸——我们会改文档或删声明。
|
|
298
338
|
</p>
|
|
299
339
|
|
|
300
340
|
---
|
|
301
341
|
|
|
302
342
|
## English
|
|
303
343
|
|
|
304
|
-
**Ronge's Adaptive Skill Cockpit (
|
|
344
|
+
**Ronge's Adaptive Skill Cockpit (v5)** is a DSH-native skill cockpit for [DeepSeek Harness](https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive). It goes beyond listing and installing skills: it **decomposes a task, composes a skill team, drafts the missing skill, and keeps the efficiency claim auditable**.
|
|
305
345
|
|
|
306
|
-
- **
|
|
307
|
-
- **
|
|
308
|
-
- **
|
|
309
|
-
- **
|
|
310
|
-
- **
|
|
311
|
-
- **
|
|
312
|
-
- **
|
|
313
|
-
- **
|
|
346
|
+
- **Plan → compose → draft** — three read-only DSH tools (`skill_archive_plan`, `skill_archive_compose`, `skill_archive_draft_skill`) turn one task into deliverables, staged skill plans, and a `SKILL.md` draft with eval cases + lint + safety scan. Nothing is written or executed.
|
|
347
|
+
- **Context-aware recommendations** — Top 4 with structured reasons (name / keyword / category / experience / affinity / exploration), local heuristic, no model calls.
|
|
348
|
+
- **Live "now using"** — read from real `skill` tool calls, not inferred.
|
|
349
|
+
- **Plan / Immersive modes** — ask-first orchestration, or no-ask auto-composition.
|
|
350
|
+
- **Experience + self-evolution** — local feedback-weighted learning with a 10% exploration quota (0–30%), logged and rollback-able.
|
|
351
|
+
- **Honest efficiency** — `method: 'estimate'` by default; measured numbers only from `docs/benchmark.md` and `docs/eval.md`. Claims matrix: [docs/claims.md](docs/claims.md).
|
|
352
|
+
- **Safety boundary** — local heuristic scan (not a guarantee), high-risk installs refused by default, only `raw.githubusercontent.com/**/SKILL.md` (≤ 256 KiB), no auto-assets, backup + rollback.
|
|
353
|
+
- **12 domains** — video/creative, Office, software, data, research, marketing, design, security, education, business, productivity, AI.
|
|
354
|
+
- **6,399-skill metadata index** — public GitHub `SKILL.md` snapshot (2026-10-28), 14 categories; metadata only, no body redistribution ([docs/attribution.md](docs/attribution.md)).
|
|
314
355
|
|
|
315
356
|
**Install** (in a DSH session):
|
|
316
357
|
|
|
317
358
|
```bash
|
|
318
|
-
plugin_manager install_bundle target=
|
|
319
|
-
# then open any session → 「技能」
|
|
359
|
+
plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.0
|
|
360
|
+
# then open any session → 「技能」 → switch Plan / Immersive
|
|
320
361
|
```
|
|
321
362
|
|
|
322
|
-
**Privacy**: everything (recommendations, scans, learning) runs locally; no telemetry, no uploads.
|
|
363
|
+
**Privacy**: everything (recommendations, plans, drafts, scans, learning) runs locally; no telemetry, no uploads. MIT licensed — see [LICENSE](LICENSE), [CONTRIBUTING.md](CONTRIBUTING.md), and the claim/evidence matrix in [docs/claims.md](docs/claims.md).
|