@yottameta/yotta-skills-plugin 0.29.0 → 0.29.1
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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/skills/yotta-skills/SKILL.md +18 -3
- package/skills/yotta-skills/assets/view.html +91 -5
- package/skills/yotta-skills/bin/yotta-skills.js +261 -32
- package/skills/yotta-skills/lib/agent-dirs.js +17 -3
- package/skills/yotta-skills/lib/agent-discovery.js +109 -11
- package/skills/yotta-skills/lib/cli-help.js +9 -2
- package/skills/yotta-skills/lib/hosts-registry.js +143 -1
- package/skills/yotta-skills/lib/hub-view-server.js +76 -0
- package/skills/yotta-skills/lib/install-pipeline.js +39 -2
- package/skills/yotta-skills/lib/skills-scan.js +25 -0
- package/skills/yotta-skills/references/hub.md +30 -0
- package/skills/yotta-skills/references/install-flow.md +5 -2
- package/skills/yotta-skills/references/skill-list.md +1 -1
- package/skills/yotta-skills/scan-policy.json +3 -3
- package/skills/yotta-skills/scripts/yotta-skills-mcp.py +1 -1
- package/skills/yotta-skills/skills.json +1 -1
|
@@ -113,6 +113,30 @@ function compareSemver(left, right) {
|
|
|
113
113
|
return comparePrerelease(a.prerelease, b.prerelease);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
/**
|
|
117
|
+
* 版本关系判定(元阁 update「只升不降」统一口径,0.29.1 U1)。
|
|
118
|
+
*
|
|
119
|
+
* installed:本地已装版本(null = 未装);target:目标版本(精确 semver 或 'latest')。
|
|
120
|
+
* 返回:
|
|
121
|
+
* - install:本地未装(含 target = latest,解析后照常安装)
|
|
122
|
+
* - upgrade:本地低于目标(唯一应安装的关系)
|
|
123
|
+
* - equal:本地与目标相等
|
|
124
|
+
* - local-ahead:本地高于目标(保留,不降级)
|
|
125
|
+
* - unknown:任一侧无法解析(fail-safe 保留)
|
|
126
|
+
* - resolve-needed:目标为 latest(需先解析出精确版本再复判)
|
|
127
|
+
*
|
|
128
|
+
* 注意:compareSemver 对不可解析输入返回 0,必须先 parseSemver 校验,
|
|
129
|
+
* 不能直接拿 compare === 0 当相等。
|
|
130
|
+
*/
|
|
131
|
+
function versionRelation(installed, target) {
|
|
132
|
+
if (!installed) return 'install';
|
|
133
|
+
if (target === 'latest') return 'resolve-needed';
|
|
134
|
+
if (!parseSemver(installed) || !parseSemver(target)) return 'unknown';
|
|
135
|
+
const diff = compareSemver(installed, target);
|
|
136
|
+
if (diff === 0) return 'equal';
|
|
137
|
+
return diff > 0 ? 'local-ahead' : 'upgrade';
|
|
138
|
+
}
|
|
139
|
+
|
|
116
140
|
/** 从多个安装副本中选择代表版本:优先合法版本中的最高 semver。 */
|
|
117
141
|
function selectRepresentativeVariant(variants) {
|
|
118
142
|
let selected = null;
|
|
@@ -436,6 +460,7 @@ module.exports = {
|
|
|
436
460
|
parseFrontmatter,
|
|
437
461
|
parseSemver,
|
|
438
462
|
compareSemver,
|
|
463
|
+
versionRelation,
|
|
439
464
|
strictFrontmatterWarnings,
|
|
440
465
|
scanSkillDir,
|
|
441
466
|
defaultRoots,
|
|
@@ -87,6 +87,36 @@ npx -y @yottameta/yotta-skills hub hosts remove ~/my-agent/skills --purge --yes
|
|
|
87
87
|
注册表 = `<root>/hosts.json`(root = `YOTTA_SKILLS_HOME` 或 `~/.yottaskills`,schema v1,
|
|
88
88
|
可 diff);面板「宿主矩阵 → 添加自定义目录」等价可用,写操作需页面令牌与确认串。
|
|
89
89
|
|
|
90
|
+
## 不接管与目录覆盖(0.29.1 起)
|
|
91
|
+
|
|
92
|
+
**不接管**(excluded):把某个智能体或目录从发现、显示、链接三层全部跳过
|
|
93
|
+
(`--include-discovered` 也不纳入);已建立的链接不受影响,可用 `hub unlink` 清理:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx -y @yottameta/yotta-skills hub hosts exclude box # 按 agentId
|
|
97
|
+
npx -y @yottameta/yotta-skills hub hosts exclude "D:\my-agent\skills" # 按目录
|
|
98
|
+
npx -y @yottameta/yotta-skills hub hosts include box # 恢复接管
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**目录覆盖**(override):用户级覆盖某个已收录 agentId 的内置映射目录
|
|
102
|
+
(不改宿主配置;被覆盖的旧目录不再进入默认发现 / 链接):
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npx -y @yottameta/yotta-skills hub hosts set box --dir "D:\box-agent\skills"
|
|
106
|
+
npx -y @yottameta/yotta-skills hub hosts set box --clear # 恢复内置映射
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
面板「宿主矩阵」提供等价动作:行内「不接管 / 编辑目录 / 标记可用 / 忽略」,
|
|
110
|
+
底部「不接管名单」区可「恢复接管」;写操作均写 Hub 审计。
|
|
111
|
+
|
|
112
|
+
**YottaCode 不纳入接管**:YottaCode 自带三层技能管理(skill-inventory / skill /
|
|
113
|
+
user-skills),元阁对其 `.yottacode` 路径与 `YOTTACODE_HOME` 子树在映射、扫描、
|
|
114
|
+
注册、标记、链接全部 fail-closed 排除,避免重复管理。
|
|
115
|
+
|
|
116
|
+
**未核实映射 ≠ 自动发现**:内置映射里尚未逐机核实的条目显示「映射·未核实」;
|
|
117
|
+
「自动发现」只用于文件系统扫描结果。`installed` 配对按「用户注册 / 已核实映射 > env >
|
|
118
|
+
未核实映射 > 自动发现」确定性优选(同级按技能数 + 路径稳定排序)。
|
|
119
|
+
|
|
90
120
|
## 命令
|
|
91
121
|
|
|
92
122
|
```bash
|
|
@@ -77,14 +77,17 @@
|
|
|
77
77
|
|
|
78
78
|
- 读取目标 `<dest>/<slug>/SKILL.md` 的 frontmatter `version`;
|
|
79
79
|
- 与清单 `version` 一致 → 跳过(幂等:第二次安装 27 个全部跳过);
|
|
80
|
-
-
|
|
80
|
+
- **只升不降(0.29.1 起)**:本地版本高于目标(清单 pin / npm latest)→ 保留并标注「本地领先」,
|
|
81
|
+
`update` / `hub update` 跳过、`update --check` 不计更新(退出码 0)、`update --auto` 不动作;
|
|
82
|
+
`latest` / `--range` 目标在解析出精确版本后、任何写入之前复判;
|
|
83
|
+
- `--force` 强制重装 / 显式降级;`rollback` 恢复快照;`update` 对「缺失 / 需要升级」的技能安装。
|
|
81
84
|
|
|
82
85
|
## 范围控制(接多少管多少)
|
|
83
86
|
|
|
84
87
|
| 用法 | 范围 |
|
|
85
88
|
|---|---|
|
|
86
89
|
| `install`(无旗标) | 全量清单全部安装 |
|
|
87
|
-
| `update`(无旗标) | 补齐缺失 +
|
|
90
|
+
| `update`(无旗标) | 补齐缺失 + 升级已装(只升不降:本地更高保留不降级) |
|
|
88
91
|
| `update --installed-only` | 只维护目标目录已安装的家族技能(不补装缺失;无匹配时退出码 0) |
|
|
89
92
|
| `--only <a,b>` / `--domain <name>` | 只处理指定技能 / 家族;与 `--installed-only` 取交集 |
|
|
90
93
|
| `update --check` / `--auto` | 只检查 / 维护已装技能,不补装缺失 |
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
| `yotta-anti-shallow` | 元谨 | `@yottameta/yotta-anti-shallow` | 1.4.2 | quality | 防 AI 敷衍规则引擎(深入分析/根因追溯时激活) |
|
|
9
9
|
| `yotta-code-quality` | 元质 | `@yottameta/yotta-code-quality` | 0.4.3 | quality | 结对式代码质量评审(十二类腐化风险 + 0-100 健康分) |
|
|
10
10
|
| `yotta-workflow` | 元序 | `@yottameta/yotta-workflow` | 0.4.3 | workflow | 跨会话/跨项目通用工作流协议(状态就近存) |
|
|
11
|
-
| `yotta-memory` | 元忆 | `@yottameta/yotta-memory` | 0.22.
|
|
11
|
+
| `yotta-memory` | 元忆 | `@yottameta/yotta-memory` | 0.22.2 | memory | 有权限边界的文件式智能体记忆(FACT/PREF/BOUND/COMMIT) |
|
|
12
12
|
| `yotta-learn` | 元习 | `@yottameta/yotta-learn` | 0.2.2 | memory | 学习沉淀 CLI:错误/纠正/洞见沉淀为 .learnings/ 条目 |
|
|
13
13
|
| `yotta-security-audit` | 元安 | `@yottameta/yotta-security-audit` | 0.3.1 | security | 安全扫描引擎:13 类检测器 + 系统安全基线 + 学生数据隐私(教育版) |
|
|
14
14
|
| `yotta-vetter` | 元审 | `@yottameta/yotta-vetter` | 0.2.7 | security | 安全审查协议:四阶段 review + SAFE TO INSTALL 判定 |
|
|
@@ -197,10 +197,10 @@
|
|
|
197
197
|
]
|
|
198
198
|
},
|
|
199
199
|
"yotta-memory": {
|
|
200
|
-
"version": "0.22.
|
|
201
|
-
"treeHash": "sha256:
|
|
200
|
+
"version": "0.22.2",
|
|
201
|
+
"treeHash": "sha256:7b2cd7a2b5d4eef365dabd6f1d83200458d28ddea1140c362bbea628e832b5f6",
|
|
202
202
|
"files": 18,
|
|
203
|
-
"bytes":
|
|
203
|
+
"bytes": 1302762,
|
|
204
204
|
"mode": "strict",
|
|
205
205
|
"exceptions": [
|
|
206
206
|
{
|