@liangjie559567/ultrapower 5.2.2 → 5.2.3
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/.claude-plugin/plugin.json +1 -1
- package/README.md +50 -2
- package/dist/__tests__/plugin-registry.test.d.ts +2 -0
- package/dist/__tests__/plugin-registry.test.d.ts.map +1 -0
- package/dist/__tests__/plugin-registry.test.js +233 -0
- package/dist/__tests__/plugin-registry.test.js.map +1 -0
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/analytics/metrics-collector.d.ts +1 -0
- package/dist/analytics/metrics-collector.d.ts.map +1 -1
- package/dist/analytics/metrics-collector.js +33 -0
- package/dist/analytics/metrics-collector.js.map +1 -1
- package/dist/analytics/query-engine.d.ts.map +1 -1
- package/dist/analytics/query-engine.js +3 -2
- package/dist/analytics/query-engine.js.map +1 -1
- package/dist/cli/index.js +24 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch.d.ts.map +1 -1
- package/dist/cli/launch.js +2 -3
- package/dist/cli/launch.js.map +1 -1
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +70 -6
- package/dist/features/auto-update.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/plugin-registry.d.ts +42 -0
- package/dist/lib/plugin-registry.d.ts.map +1 -0
- package/dist/lib/plugin-registry.js +169 -0
- package/dist/lib/plugin-registry.js.map +1 -0
- package/docs/CLAUDE.md +1 -1
- package/docs/EVOLUTION.md +605 -0
- package/docs/INSTALL.md +542 -0
- package/docs/NEXUS.md +562 -0
- package/docs/REFERENCE.md +32 -1
- package/package.json +1 -1
- package/skills/omc-setup/SKILL.md +68 -0
- package/skills/release/SKILL.md +2 -0
package/docs/NEXUS.md
ADDED
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
# Nexus 主动进化系统
|
|
2
|
+
|
|
3
|
+
ultrapower v5.2.2 的双层自我提升架构——让 AI 工作流真正越用越聪明。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 目录
|
|
8
|
+
|
|
9
|
+
- [概述](#概述)
|
|
10
|
+
- [系统架构](#系统架构)
|
|
11
|
+
- [Phase 1:被动学习(已完成)](#phase-1被动学习已完成)
|
|
12
|
+
- [Phase 2:主动学习](#phase-2主动学习)
|
|
13
|
+
- [Nexus 双层架构](#nexus-双层架构)
|
|
14
|
+
- [核心模块详解](#核心模块详解)
|
|
15
|
+
- [数据存储结构](#数据存储结构)
|
|
16
|
+
- [配置参考](#配置参考)
|
|
17
|
+
- [Skills 使用指南](#skills-使用指南)
|
|
18
|
+
- [部署指南](#部署指南)
|
|
19
|
+
- [风险与约束](#风险与约束)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 概述
|
|
24
|
+
|
|
25
|
+
ultrapower 的进化系统分为三个层次:
|
|
26
|
+
|
|
27
|
+
| 层次 | 名称 | 状态 | 核心能力 |
|
|
28
|
+
|------|------|------|---------|
|
|
29
|
+
| Phase 1 | 被动学习 | ✅ 已完成 | 触发词匹配、模式检测、会话反思 |
|
|
30
|
+
| Phase 2 | 主动学习 | 🚧 开发中 | 反馈收集、效果追踪、主动推荐、质量迭代 |
|
|
31
|
+
| Nexus | 双层自我提升 | 📋 设计完成 | VPS 后台意识循环、代码自动修改、跨会话进化 |
|
|
32
|
+
|
|
33
|
+
**核心理念:** 从"被动响应"到"主动进化"——系统不仅能执行任务,还能感知自身效果、积累经验、自动改进。
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 系统架构
|
|
38
|
+
|
|
39
|
+
### 整体架构图
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ Claude Code(本地) │
|
|
44
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
45
|
+
│ │ Nexus 插件层 │ │
|
|
46
|
+
│ │ hooks: data-collector, consciousness-sync, │ │
|
|
47
|
+
│ │ improvement-puller │ │
|
|
48
|
+
│ │ skills: nexus-status, nexus-evolve, nexus-review │ │
|
|
49
|
+
│ │ │ │
|
|
50
|
+
│ │ Phase 2 主动学习模块(src/hooks/learner/) │ │
|
|
51
|
+
│ │ ├── feedback/ 反馈收集 │ │
|
|
52
|
+
│ │ ├── effectiveness/ 效果追踪 │ │
|
|
53
|
+
│ │ ├── recommender/ 主动推荐 │ │
|
|
54
|
+
│ │ └── quality/ 质量迭代 │ │
|
|
55
|
+
│ │ │ │
|
|
56
|
+
│ │ 保留现有: 71 skills + 49 agents + 39 hooks │ │
|
|
57
|
+
│ └──────────────────┬──────────────────────────────────┘ │
|
|
58
|
+
└─────────────────────┼───────────────────────────────────────┘
|
|
59
|
+
│ Git 同步
|
|
60
|
+
│ .omc/nexus/events/ → git push
|
|
61
|
+
│ improvements/ ← git pull
|
|
62
|
+
│
|
|
63
|
+
┌─────────────────────▼───────────────────────────────────────┐
|
|
64
|
+
│ VPS 云端层(nexus-daemon) │
|
|
65
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
|
|
66
|
+
│ │ Consciousness│ │ Evolution │ │ Self-Modifier │ │
|
|
67
|
+
│ │ Loop │ │ Engine │ │ (git + PR) │ │
|
|
68
|
+
│ │ 每 5 分钟 │ │ 知识积累 │ │ 代码自动改进 │ │
|
|
69
|
+
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
|
|
70
|
+
│ ┌──────────────┐ ┌──────────────┐ │
|
|
71
|
+
│ │ Evaluator │ │ Telegram │ │
|
|
72
|
+
│ │ 自我评估 │ │ Bot │ │
|
|
73
|
+
│ └──────────────┘ └──────────────┘ │
|
|
74
|
+
└─────────────────────────────────────────────────────────────┘
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 与 ultrapower 的关系
|
|
78
|
+
|
|
79
|
+
- **升级,不替换**:保留现有 71 skills + 49 agents + 39 hooks 的全部价值
|
|
80
|
+
- Nexus 作为顶层能力层叠加在 ultrapower 之上
|
|
81
|
+
- 现有用户无感知升级,所有现有功能继续正常工作
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Phase 1:被动学习(已完成)
|
|
86
|
+
|
|
87
|
+
Phase 1 建立了主动学习的基础设施,已合并到 main 分支。
|
|
88
|
+
|
|
89
|
+
### 已实现能力
|
|
90
|
+
|
|
91
|
+
| 模块 | 文件 | 功能 |
|
|
92
|
+
|------|------|------|
|
|
93
|
+
| Skill 发现 | `skill-loader.ts` | 扫描并解析 skill 文件 |
|
|
94
|
+
| 触发词匹配 | `skill-injector.mjs` | 用户消息 → 匹配 → 注入上下文 |
|
|
95
|
+
| 模式检测 | `auto-learner.ts` | 问题-解决方案对,置信度评分 |
|
|
96
|
+
| 自动调用 | `auto-invoke.ts` | 置信度阈值、冷却时间控制 |
|
|
97
|
+
| 使用指标 | `usage-tracker.ts` | 追踪 skill 使用频率和效果 |
|
|
98
|
+
| 会话反思 | `session-reflector.ts` | 会话结束自动反思 |
|
|
99
|
+
| 进化编排 | `orchestrator.ts` | 统一协调所有进化模块 |
|
|
100
|
+
|
|
101
|
+
### Phase 1 的局限
|
|
102
|
+
|
|
103
|
+
1. 没有用户反馈回路——skill 注入后不知道是否有用
|
|
104
|
+
2. 没有 skill 效果验证——无法知道注入的 skill 是否被采纳
|
|
105
|
+
3. 没有主动推荐界面——只是静默注入,用户无感知
|
|
106
|
+
4. 没有 skill 质量迭代——无法基于使用结果改进 skill 内容
|
|
107
|
+
5. 没有跨会话学习聚合——每次会话独立,无法积累洞见
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Phase 2:主动学习
|
|
112
|
+
|
|
113
|
+
**主动学习** = 系统能主动感知、评估、改进自身的 skill 库。
|
|
114
|
+
|
|
115
|
+
### 数据流
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
用户消息
|
|
119
|
+
↓
|
|
120
|
+
[Phase 1] 触发词匹配 → 被动注入
|
|
121
|
+
↓
|
|
122
|
+
助手响应
|
|
123
|
+
↓
|
|
124
|
+
[Phase 2] 效果追踪 → 采纳检测
|
|
125
|
+
↓
|
|
126
|
+
[Phase 2] 反馈收集 → 用户评分(可选)
|
|
127
|
+
↓
|
|
128
|
+
[Phase 2] 质量评估 → 更新 skill 置信度
|
|
129
|
+
↓
|
|
130
|
+
[Phase 2] 主动推荐 → 建议保存新 skill
|
|
131
|
+
↓
|
|
132
|
+
[Phase 2] 跨会话聚合 → 改进 skill 内容
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 新增模块结构
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
src/hooks/learner/
|
|
139
|
+
├── [Phase 1 已有文件...]
|
|
140
|
+
│
|
|
141
|
+
├── feedback/ # 反馈系统
|
|
142
|
+
│ ├── collector.ts # 反馈收集接口
|
|
143
|
+
│ ├── storage.ts # 反馈持久化
|
|
144
|
+
│ └── types.ts # 反馈类型定义
|
|
145
|
+
│
|
|
146
|
+
├── effectiveness/ # 效果追踪
|
|
147
|
+
│ ├── tracker.ts # 行为变化检测
|
|
148
|
+
│ ├── adoption-detector.ts # Skill 采纳检测
|
|
149
|
+
│ └── types.ts
|
|
150
|
+
│
|
|
151
|
+
├── recommender/ # 主动推荐
|
|
152
|
+
│ ├── engine.ts # 推荐决策引擎
|
|
153
|
+
│ ├── timing.ts # 推荐时机判断
|
|
154
|
+
│ └── formatter.ts # 推荐消息格式化
|
|
155
|
+
│
|
|
156
|
+
└── quality/ # 质量迭代
|
|
157
|
+
├── improver.ts # Skill 内容改进
|
|
158
|
+
├── aggregator.ts # 跨会话聚合
|
|
159
|
+
└── types.ts
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Nexus 双层架构
|
|
165
|
+
|
|
166
|
+
### 通信机制:Git 同步
|
|
167
|
+
|
|
168
|
+
插件层和 VPS 云端层通过 Git 仓库同步数据,无需网络端口:
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
插件层写入 → .omc/nexus/events/{sessionId}-{timestamp}.json
|
|
172
|
+
→ git commit + push → nexus-daemon 仓库
|
|
173
|
+
|
|
174
|
+
VPS 每分钟 git pull → 读取新 events → 处理
|
|
175
|
+
VPS 生成改进 → 写入 improvements/{id}.json
|
|
176
|
+
→ git commit + push → 插件层 git pull 拉取
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**优点:**
|
|
180
|
+
- 无需网络端口,无需 API 服务器
|
|
181
|
+
- 天然版本控制,可回溯所有数据
|
|
182
|
+
- 离线时数据不丢失,重连后自动同步
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 核心模块详解
|
|
187
|
+
|
|
188
|
+
### 1. 反馈系统(Phase 2)
|
|
189
|
+
|
|
190
|
+
收集用户对注入 skill 的有用性评分。
|
|
191
|
+
|
|
192
|
+
**触发时机:**
|
|
193
|
+
- 注入 skill 后的第 2-3 条消息(给用户时间使用 skill)
|
|
194
|
+
- 每个 skill 每会话最多请求一次反馈
|
|
195
|
+
- 置信度 > 80% 的 skill 才请求反馈(避免噪音)
|
|
196
|
+
|
|
197
|
+
**反馈类型:**
|
|
198
|
+
```typescript
|
|
199
|
+
interface FeedbackResponse {
|
|
200
|
+
skillId: string;
|
|
201
|
+
rating: 'helpful' | 'not_helpful' | 'partially_helpful';
|
|
202
|
+
comment?: string;
|
|
203
|
+
timestamp: number;
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**存储:** `.omc/axiom/evolution/skill_feedback.json`
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### 2. 效果追踪(Phase 2)
|
|
212
|
+
|
|
213
|
+
无需用户主动反馈,自动检测 skill 是否被采纳。
|
|
214
|
+
|
|
215
|
+
**检测信号(多信号 AND 逻辑):**
|
|
216
|
+
|
|
217
|
+
| 信号类型 | 检测方式 |
|
|
218
|
+
|---------|---------|
|
|
219
|
+
| `code_pattern` | 助手响应中是否出现 skill 建议的代码模式 |
|
|
220
|
+
| `keyword_match` | 响应中是否包含 skill 中的关键术语 |
|
|
221
|
+
| `problem_solved` | 用户后续消息是否表明问题已解决 |
|
|
222
|
+
| `user_confirmed` | 用户明确确认("谢谢"、"成功了"、"works") |
|
|
223
|
+
|
|
224
|
+
**存储:** `.omc/axiom/evolution/skill_adoption.json`
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### 3. 主动推荐引擎(Phase 2)
|
|
229
|
+
|
|
230
|
+
在合适时机主动建议用户保存新 skill。
|
|
231
|
+
|
|
232
|
+
**推荐触发条件(AND 逻辑):**
|
|
233
|
+
1. `auto-learner.ts` 检测到置信度 ≥ 70 的模式
|
|
234
|
+
2. 该模式在本会话出现 ≥ 2 次
|
|
235
|
+
3. 距上次推荐 ≥ 10 条消息(冷却)
|
|
236
|
+
4. 本会话推荐次数 < 3(避免打扰)
|
|
237
|
+
|
|
238
|
+
**用户响应解析:**
|
|
239
|
+
- `save` / `yes` → 保存推荐的 skill
|
|
240
|
+
- `skip` / `no` → 跳过,记录反馈
|
|
241
|
+
- `edit` → 用户编辑后保存
|
|
242
|
+
|
|
243
|
+
**存储:** `.omc/axiom/evolution/recommendations.json`
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### 4. 质量迭代(Phase 2)
|
|
248
|
+
|
|
249
|
+
基于反馈和采纳数据自动改进 skill 内容。
|
|
250
|
+
|
|
251
|
+
**改进策略:**
|
|
252
|
+
|
|
253
|
+
| 类型 | 触发条件 | 操作 |
|
|
254
|
+
|------|---------|------|
|
|
255
|
+
| `trigger_update` | 触发词命中率低 | 添加/删除触发词 |
|
|
256
|
+
| `content_refinement` | 采纳率低 | 突出最有效的部分 |
|
|
257
|
+
| `example_update` | 示例过时 | 用实际使用案例替换 |
|
|
258
|
+
|
|
259
|
+
**安全策略:** 默认关闭自动改进(`autoImproveEnabled: false`),需用户确认。
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
### 5. Consciousness Loop(Nexus VPS)
|
|
264
|
+
|
|
265
|
+
VPS 上持续运行的后台思考进程。
|
|
266
|
+
|
|
267
|
+
- **频率:** 每 5 分钟一轮
|
|
268
|
+
- **预算上限:** 总预算的 10%
|
|
269
|
+
- **行为:**
|
|
270
|
+
- 读取最近会话数据 + knowledge_base
|
|
271
|
+
- 生成"当前状态感知"和"改进想法"
|
|
272
|
+
- 写入 `consciousness/scratchpad.md`
|
|
273
|
+
- 暂停条件:有任务正在执行时暂停(避免干扰)
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
### 6. Self-Modifier(Nexus VPS)
|
|
278
|
+
|
|
279
|
+
基于进化引擎的建议自动修改代码。
|
|
280
|
+
|
|
281
|
+
**操作范围(分级):**
|
|
282
|
+
|
|
283
|
+
| 目标文件 | 置信度要求 | 操作方式 |
|
|
284
|
+
|---------|---------|---------|
|
|
285
|
+
| `skills/*.md`、`agents/*.md` | ≥ 70 | 自动 PR |
|
|
286
|
+
| `src/hooks/*.ts` | ≥ 85 | 自动 PR |
|
|
287
|
+
| `src/hooks/*.ts` | < 85 | Telegram 确认后执行 |
|
|
288
|
+
|
|
289
|
+
**安全门禁:** `tsc --noEmit && npm test` 必须通过才能提交。
|
|
290
|
+
|
|
291
|
+
**审批流程:**
|
|
292
|
+
```
|
|
293
|
+
改进建议生成
|
|
294
|
+
│
|
|
295
|
+
├─ confidence >= 80 → 自动运行测试 → 测试通过 → 自动 PR + 合并
|
|
296
|
+
│ → 测试失败 → Telegram 通知 + 人工介入
|
|
297
|
+
│
|
|
298
|
+
└─ confidence < 80 → Telegram 发送改进建议
|
|
299
|
+
→ 用户确认 → 运行测试 → 合并
|
|
300
|
+
→ 用户拒绝 → 记录反馈,降低该类改进置信度
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
### 7. Self-Evaluator(Nexus VPS)
|
|
306
|
+
|
|
307
|
+
分析 skill 使用数据,生成健康报告。
|
|
308
|
+
|
|
309
|
+
**分析内容:**
|
|
310
|
+
- Skill 使用频率和触发成功率
|
|
311
|
+
- 检测"僵尸 skill"(从未被触发)
|
|
312
|
+
- Agent 调用模式分析
|
|
313
|
+
|
|
314
|
+
**输出:** 健康报告 → 推送 Telegram(每日一次)
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 数据存储结构
|
|
319
|
+
|
|
320
|
+
### 插件层(本地)
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
.omc/nexus/
|
|
324
|
+
├── events/ # 会话事件(git push 到 VPS)
|
|
325
|
+
│ └── {sessionId}-{timestamp}.json # 每次会话的数据包
|
|
326
|
+
├── improvements/ # VPS 生成的改进(git pull 拉取)
|
|
327
|
+
│ └── {id}-{timestamp}.json # 待审批或已应用的改进
|
|
328
|
+
└── config.json # nexus 配置
|
|
329
|
+
|
|
330
|
+
.omc/axiom/evolution/
|
|
331
|
+
├── usage_metrics.json # Phase 1 已有,扩展采纳数据
|
|
332
|
+
├── skill_feedback.json # 用户反馈记录(Phase 2 新增)
|
|
333
|
+
├── skill_adoption.json # 采纳检测结果(Phase 2 新增)
|
|
334
|
+
├── recommendations.json # 推荐历史(Phase 2 新增)
|
|
335
|
+
└── improvement_queue.json # 待处理改进建议(Phase 2 新增)
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### VPS 端(nexus-daemon 仓库)
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
nexus-daemon/
|
|
342
|
+
├── consciousness/
|
|
343
|
+
│ ├── scratchpad.md # 当前意识状态(工作记忆)
|
|
344
|
+
│ ├── identity.md # 系统身份/价值观(长期记忆)
|
|
345
|
+
│ └── rounds/ # 每轮意识循环记录
|
|
346
|
+
├── evolution/
|
|
347
|
+
│ ├── knowledge_base.md # 知识图谱(置信度系统)
|
|
348
|
+
│ ├── pattern_library.md # 代码模式库(出现 ≥3 次提升)
|
|
349
|
+
│ └── learning_queue.md # 待处理学习素材(P0-P3 优先级)
|
|
350
|
+
├── improvements/ # 生成的改进建议
|
|
351
|
+
│ └── {id}.json # 含代码 diff + 置信度
|
|
352
|
+
└── state.json # 守护进程状态
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### 改进建议数据格式
|
|
356
|
+
|
|
357
|
+
```json
|
|
358
|
+
{
|
|
359
|
+
"id": "imp-20260226-001",
|
|
360
|
+
"createdAt": "2026-02-26T14:11:23Z",
|
|
361
|
+
"source": "evolution_engine",
|
|
362
|
+
"type": "skill_update",
|
|
363
|
+
"targetFile": "skills/learner/SKILL.md",
|
|
364
|
+
"confidence": 87,
|
|
365
|
+
"diff": "--- a/skills/learner/SKILL.md\n+++ b/skills/learner/SKILL.md\n...",
|
|
366
|
+
"reason": "触发词 'learn' 在过去 10 次会话中出现 23 次但未触发,建议添加同义词",
|
|
367
|
+
"evidence": {
|
|
368
|
+
"sessionCount": 10,
|
|
369
|
+
"triggerMisses": 23,
|
|
370
|
+
"suggestedTriggers": ["study", "remember", "memorize"]
|
|
371
|
+
},
|
|
372
|
+
"status": "pending",
|
|
373
|
+
"testResult": null
|
|
374
|
+
}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## 配置参考
|
|
380
|
+
|
|
381
|
+
### Phase 2 主动学习配置
|
|
382
|
+
|
|
383
|
+
编辑 `~/.claude/.omc-config.json`:
|
|
384
|
+
|
|
385
|
+
```json
|
|
386
|
+
{
|
|
387
|
+
"learner": {
|
|
388
|
+
"enabled": true,
|
|
389
|
+
"phase2": {
|
|
390
|
+
"feedbackEnabled": true,
|
|
391
|
+
"feedbackCooldownMessages": 3,
|
|
392
|
+
"recommendationEnabled": true,
|
|
393
|
+
"recommendationCooldownMessages": 10,
|
|
394
|
+
"maxRecommendationsPerSession": 3,
|
|
395
|
+
"autoImproveEnabled": false,
|
|
396
|
+
"adoptionDetectionEnabled": true
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### Nexus 双层架构配置
|
|
403
|
+
|
|
404
|
+
编辑 `.omc/nexus/config.json`:
|
|
405
|
+
|
|
406
|
+
```json
|
|
407
|
+
{
|
|
408
|
+
"nexus": {
|
|
409
|
+
"enabled": true,
|
|
410
|
+
"gitRemote": "git@github.com:user/nexus-daemon.git",
|
|
411
|
+
"telegramToken": "...",
|
|
412
|
+
"telegramChatId": "...",
|
|
413
|
+
"autoApplyThreshold": 80,
|
|
414
|
+
"consciousnessInterval": 300,
|
|
415
|
+
"consciousnessBudgetPercent": 10
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
> **安全提示:** `config.json` 已加入 `.gitignore`,不会提交到仓库。
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Skills 使用指南
|
|
425
|
+
|
|
426
|
+
### `/ultrapower:nexus` — Nexus 管理入口
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
用途: Nexus 系统的统一管理入口
|
|
430
|
+
子命令:
|
|
431
|
+
/ultrapower:nexus status # 查看 Nexus 系统状态
|
|
432
|
+
/ultrapower:nexus evolve # 手动触发进化
|
|
433
|
+
/ultrapower:nexus review # 查看待审批的改进建议
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
### `/ultrapower:learner` — 学习系统管理
|
|
437
|
+
|
|
438
|
+
```
|
|
439
|
+
用途: 查看和管理 Phase 1/2 学习系统状态
|
|
440
|
+
功能:
|
|
441
|
+
- 显示已学习的 skill 列表
|
|
442
|
+
- 查看推荐待保存的 skill
|
|
443
|
+
- 手动触发跨会话聚合
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## 部署指南
|
|
449
|
+
|
|
450
|
+
### 插件层(Phase 2)
|
|
451
|
+
|
|
452
|
+
Phase 2 模块随 ultrapower 插件自动安装,无需额外配置。
|
|
453
|
+
|
|
454
|
+
通过配置文件启用:
|
|
455
|
+
|
|
456
|
+
```json
|
|
457
|
+
{
|
|
458
|
+
"learner": {
|
|
459
|
+
"phase2": {
|
|
460
|
+
"feedbackEnabled": true,
|
|
461
|
+
"recommendationEnabled": true
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### VPS 云端层(Nexus Daemon)
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
# 1. 克隆 nexus-daemon 仓库
|
|
471
|
+
git clone git@github.com:user/nexus-daemon.git
|
|
472
|
+
cd nexus-daemon
|
|
473
|
+
|
|
474
|
+
# 2. 安装依赖
|
|
475
|
+
pip install -r requirements.txt
|
|
476
|
+
|
|
477
|
+
# 3. 配置环境变量
|
|
478
|
+
cp .env.example .env
|
|
479
|
+
# 编辑 .env 填入 OpenRouter API key 和 Telegram token
|
|
480
|
+
|
|
481
|
+
# 4. 启动守护进程
|
|
482
|
+
systemctl enable nexus-daemon
|
|
483
|
+
systemctl start nexus-daemon
|
|
484
|
+
|
|
485
|
+
# 5. 验证运行状态
|
|
486
|
+
systemctl status nexus-daemon
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
**技术栈:**
|
|
490
|
+
|
|
491
|
+
| 层 | 技术 | 理由 |
|
|
492
|
+
|---|---|---|
|
|
493
|
+
| 插件层 | TypeScript | 与现有 ultrapower 一致 |
|
|
494
|
+
| VPS 守护进程 | Python 3.11 | asyncio 支持后台循环 |
|
|
495
|
+
| LLM 调用 | OpenRouter API | 多模型支持,成本优化 |
|
|
496
|
+
| 通信 | Git 同步 | 无需端口,天然版本控制 |
|
|
497
|
+
| 通知 | Telegram Bot | 支持远程指令 |
|
|
498
|
+
| 进程管理 | systemd | VPS 守护进程标准方案 |
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
## 风险与约束
|
|
503
|
+
|
|
504
|
+
### Phase 2 主动学习
|
|
505
|
+
|
|
506
|
+
| 风险 | 影响 | 缓解策略 |
|
|
507
|
+
|------|------|---------|
|
|
508
|
+
| 反馈请求打扰用户 | 高 | 严格冷却时间 + 每会话上限 3 次 |
|
|
509
|
+
| 采纳检测误报 | 中 | 多信号 AND 逻辑,高置信度阈值 |
|
|
510
|
+
| 自动改进破坏 skill | 高 | 默认关闭自动改进,需用户确认 |
|
|
511
|
+
| 存储文件过大 | 低 | 定期清理 + 条目上限 |
|
|
512
|
+
| Hook 性能影响 | 中 | 异步处理,3s 超时保护 |
|
|
513
|
+
|
|
514
|
+
### Nexus 双层架构
|
|
515
|
+
|
|
516
|
+
| 风险 | 影响 | 缓解策略 |
|
|
517
|
+
|------|------|---------|
|
|
518
|
+
| 代码自动修改破坏插件 | 高 | 强制 tsc + npm test 门禁;置信度分级 |
|
|
519
|
+
| 意识循环成本失控 | 中 | 10% 预算硬上限;每轮成本追踪 |
|
|
520
|
+
| Git 同步冲突 | 低 | events/ 和 improvements/ 目录分离;文件名含时间戳 |
|
|
521
|
+
| VPS 宕机导致数据丢失 | 低 | 插件层本地缓存;Git 历史可回溯 |
|
|
522
|
+
| Telegram token 泄露 | 中 | 存储在 .omc/nexus/config.json(gitignore) |
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## 实现路线图
|
|
527
|
+
|
|
528
|
+
### Phase 2 优先级
|
|
529
|
+
|
|
530
|
+
| 优先级 | 任务 | 状态 |
|
|
531
|
+
|--------|------|------|
|
|
532
|
+
| P0 | 反馈收集(`feedback/collector.ts` + `storage.ts`) | 📋 待实现 |
|
|
533
|
+
| P0 | 主动推荐引擎(`recommender/engine.ts` + `timing.ts`) | 📋 待实现 |
|
|
534
|
+
| P0 | Hook 集成(扩展 `skill-injector.mjs`,新增 `skill-feedback.mjs`) | 📋 待实现 |
|
|
535
|
+
| P1 | 采纳检测(`effectiveness/adoption-detector.ts`) | 📋 待实现 |
|
|
536
|
+
| P1 | 触发词优化(`quality/improver.ts`) | 📋 待实现 |
|
|
537
|
+
| P2 | 跨会话聚合(`quality/aggregator.ts`) | 📋 待实现 |
|
|
538
|
+
| P2 | 效果仪表盘(`/ultrapower:learner` skill 扩展) | 📋 待实现 |
|
|
539
|
+
|
|
540
|
+
### Nexus 优先级
|
|
541
|
+
|
|
542
|
+
| 优先级 | 任务 | 状态 |
|
|
543
|
+
|--------|------|------|
|
|
544
|
+
| P0 | data-collector hook | 📋 待实现 |
|
|
545
|
+
| P0 | consciousness-sync hook | 📋 待实现 |
|
|
546
|
+
| P0 | nexus-daemon 基础框架 | 📋 待实现 |
|
|
547
|
+
| P0 | Evolution Engine MVP | 📋 待实现 |
|
|
548
|
+
| P1 | Consciousness Loop | 📋 待实现 |
|
|
549
|
+
| P1 | Self-Modifier MVP(skill 文档级) | 📋 待实现 |
|
|
550
|
+
| P1 | Telegram Bot | 📋 待实现 |
|
|
551
|
+
| P1 | improvement-puller hook | 📋 待实现 |
|
|
552
|
+
| P2 | Self-Evaluator | 📋 待实现 |
|
|
553
|
+
| P2 | Self-Modifier 进阶(TypeScript 代码级) | 📋 待实现 |
|
|
554
|
+
|
|
555
|
+
---
|
|
556
|
+
|
|
557
|
+
## 相关文档
|
|
558
|
+
|
|
559
|
+
- [EVOLUTION.md](./EVOLUTION.md) — Axiom 自我进化系统(Phase 1 基础)
|
|
560
|
+
- [REFERENCE.md](./REFERENCE.md) — 完整 API 参考
|
|
561
|
+
- [ARCHITECTURE.md](./ARCHITECTURE.md) — 系统架构设计
|
|
562
|
+
- [INSTALL.md](./INSTALL.md) — 安装部署指南
|
package/docs/REFERENCE.md
CHANGED
|
@@ -9,7 +9,7 @@ ultrapower 完整参考手册。快速入门请参阅 [README.md](../README.md)
|
|
|
9
9
|
- [Installation](#installation)
|
|
10
10
|
- [Configuration](#configuration)
|
|
11
11
|
- [Agents (49 Total)](#agents-49-total)
|
|
12
|
-
- [Skills (
|
|
12
|
+
- [Skills (71 Total)](#skills-71-total)
|
|
13
13
|
- [Slash Commands](#slash-commands)
|
|
14
14
|
- [Hooks System](#hooks-system)
|
|
15
15
|
- [Magic Keywords](#magic-keywords)
|
|
@@ -1023,6 +1023,37 @@ ultrapower 深度融合了 Axiom 智能体编排框架,提供完整的需求
|
|
|
1023
1023
|
| `.github/copilot-instructions.md` | GitHub Copilot |
|
|
1024
1024
|
| `.codex/CODEX.md` | Codex CLI |
|
|
1025
1025
|
|
|
1026
|
+
### 自我进化系统详细文档
|
|
1027
|
+
|
|
1028
|
+
Axiom 自我进化系统的完整使用指南、安装说明和故障排除请参阅:
|
|
1029
|
+
|
|
1030
|
+
**[docs/EVOLUTION.md](./EVOLUTION.md)** — Axiom 自我进化系统完整文档
|
|
1031
|
+
|
|
1032
|
+
包含内容:
|
|
1033
|
+
- 系统概述与架构
|
|
1034
|
+
- 安装与初始化步骤
|
|
1035
|
+
- 核心组件说明(进化引擎、上下文管理器、Boot Hook、Guards Hook)
|
|
1036
|
+
- 记忆系统详解(知识库、模式库、学习队列)
|
|
1037
|
+
- 进化工作流(ax-reflect + ax-evolve 完整流程)
|
|
1038
|
+
- 所有 ax-* Skills 使用指南
|
|
1039
|
+
- 自动触发机制
|
|
1040
|
+
- 知识库管理与置信度系统
|
|
1041
|
+
- 状态机与门禁系统
|
|
1042
|
+
- HUD 集成
|
|
1043
|
+
- 故障排除
|
|
1044
|
+
|
|
1045
|
+
**[docs/NEXUS.md](./NEXUS.md)** — Nexus 主动进化系统完整文档
|
|
1046
|
+
|
|
1047
|
+
包含内容:
|
|
1048
|
+
- Phase 1 被动学习(已完成)与 Phase 2 主动学习架构
|
|
1049
|
+
- Nexus 双层架构(插件层 + VPS 云端层)
|
|
1050
|
+
- 反馈系统、效果追踪、主动推荐、质量迭代模块详解
|
|
1051
|
+
- Consciousness Loop、Self-Modifier、Self-Evaluator 模块
|
|
1052
|
+
- Git 同步通信机制与数据存储结构
|
|
1053
|
+
- Phase 2 与 Nexus 配置参考
|
|
1054
|
+
- VPS 部署指南(nexus-daemon)
|
|
1055
|
+
- 实现路线图(P0/P1/P2 优先级)
|
|
1056
|
+
|
|
1026
1057
|
---
|
|
1027
1058
|
|
|
1028
1059
|
## Changelog
|
package/package.json
CHANGED
|
@@ -382,6 +382,40 @@ claude plugin install ultrapower
|
|
|
382
382
|
|
|
383
383
|
> ⚠️ 仅清除插件缓存不够,必须同时清除 `npm-cache`。
|
|
384
384
|
|
|
385
|
+
## 步骤 3.55:同步 installed_plugins.json 注册表
|
|
386
|
+
|
|
387
|
+
检测并修复 `installed_plugins.json` 中的版本漂移问题(k-046)。
|
|
388
|
+
|
|
389
|
+
**背景**:本地开发安装后,`~/.claude/plugins/installed_plugins.json` 中的 `installPath` 可能仍指向旧 npm 缓存路径,导致 hook 文件 `MODULE_NOT_FOUND`。
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
node -e "
|
|
393
|
+
const p=require('path'),f=require('fs'),h=require('os').homedir();
|
|
394
|
+
const d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');
|
|
395
|
+
const pluginsJson=p.join(d,'plugins','installed_plugins.json');
|
|
396
|
+
if(f.existsSync(pluginsJson)===false){console.log('installed_plugins.json not found');process.exit(0);}
|
|
397
|
+
let data;
|
|
398
|
+
try{data=JSON.parse(f.readFileSync(pluginsJson,'utf-8'));}catch(e){console.log('Parse error:',e.message);process.exit(0);}
|
|
399
|
+
const key=data.ultrapower?'ultrapower':'@liangjie559567/ultrapower';
|
|
400
|
+
const entry=data[key];
|
|
401
|
+
if(entry==null){console.log('ultrapower not in installed_plugins.json');process.exit(0);}
|
|
402
|
+
const installPath=entry.installPath||'';
|
|
403
|
+
const isNpmCache=installPath.includes('npm-cache')||installPath.includes('plugins/cache');
|
|
404
|
+
if(isNpmCache===false){console.log('installPath OK (local dev):',installPath);process.exit(0);}
|
|
405
|
+
const cacheBase=p.join(d,'plugins','cache','omc','ultrapower');
|
|
406
|
+
let bestPath='';
|
|
407
|
+
try{const vs=f.readdirSync(cacheBase).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(vs.length)bestPath=p.join(cacheBase,vs[vs.length-1]);}catch{}
|
|
408
|
+
if(bestPath===''){console.log('No local cache path found, skipping');process.exit(0);}
|
|
409
|
+
let newVersion=entry.version||'';
|
|
410
|
+
try{newVersion=JSON.parse(f.readFileSync(p.join(bestPath,'package.json'),'utf-8')).version||newVersion;}catch{}
|
|
411
|
+
data[key].installPath=bestPath;data[key].version=newVersion;
|
|
412
|
+
f.writeFileSync(pluginsJson,JSON.stringify(data,null,2));
|
|
413
|
+
console.log('✅ installed_plugins.json synced — installPath:',bestPath,'version:',newVersion);
|
|
414
|
+
"
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
> ⚠️ 此步骤仅在 `installPath` 指向 npm 缓存路径时才修改注册表。
|
|
418
|
+
|
|
385
419
|
## 步骤 3.6:检查更新
|
|
386
420
|
|
|
387
421
|
如果有新版本可用,通知用户:
|
|
@@ -746,6 +780,40 @@ claude plugin install ultrapower
|
|
|
746
780
|
|
|
747
781
|
> ⚠️ 仅清除插件缓存不够,必须同时清除 `npm-cache`。
|
|
748
782
|
|
|
783
|
+
## 步骤 3.55:同步 installed_plugins.json 注册表
|
|
784
|
+
|
|
785
|
+
检测并修复 `installed_plugins.json` 中的版本漂移问题(k-046)。
|
|
786
|
+
|
|
787
|
+
**背景**:本地开发安装后,`~/.claude/plugins/installed_plugins.json` 中的 `installPath` 可能仍指向旧 npm 缓存路径,导致 hook 文件 `MODULE_NOT_FOUND`。
|
|
788
|
+
|
|
789
|
+
```bash
|
|
790
|
+
node -e "
|
|
791
|
+
const p=require('path'),f=require('fs'),h=require('os').homedir();
|
|
792
|
+
const d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');
|
|
793
|
+
const pluginsJson=p.join(d,'plugins','installed_plugins.json');
|
|
794
|
+
if(f.existsSync(pluginsJson)===false){console.log('installed_plugins.json not found');process.exit(0);}
|
|
795
|
+
let data;
|
|
796
|
+
try{data=JSON.parse(f.readFileSync(pluginsJson,'utf-8'));}catch(e){console.log('Parse error:',e.message);process.exit(0);}
|
|
797
|
+
const key=data.ultrapower?'ultrapower':'@liangjie559567/ultrapower';
|
|
798
|
+
const entry=data[key];
|
|
799
|
+
if(entry==null){console.log('ultrapower not in installed_plugins.json');process.exit(0);}
|
|
800
|
+
const installPath=entry.installPath||'';
|
|
801
|
+
const isNpmCache=installPath.includes('npm-cache')||installPath.includes('plugins/cache');
|
|
802
|
+
if(isNpmCache===false){console.log('installPath OK (local dev):',installPath);process.exit(0);}
|
|
803
|
+
const cacheBase=p.join(d,'plugins','cache','omc','ultrapower');
|
|
804
|
+
let bestPath='';
|
|
805
|
+
try{const vs=f.readdirSync(cacheBase).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(vs.length)bestPath=p.join(cacheBase,vs[vs.length-1]);}catch{}
|
|
806
|
+
if(bestPath===''){console.log('No local cache path found, skipping');process.exit(0);}
|
|
807
|
+
let newVersion=entry.version||'';
|
|
808
|
+
try{newVersion=JSON.parse(f.readFileSync(p.join(bestPath,'package.json'),'utf-8')).version||newVersion;}catch{}
|
|
809
|
+
data[key].installPath=bestPath;data[key].version=newVersion;
|
|
810
|
+
f.writeFileSync(pluginsJson,JSON.stringify(data,null,2));
|
|
811
|
+
console.log('✅ installed_plugins.json synced — installPath:',bestPath,'version:',newVersion);
|
|
812
|
+
"
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
> ⚠️ 此步骤仅在 `installPath` 指向 npm 缓存路径时才修改注册表。
|
|
816
|
+
|
|
749
817
|
## 步骤 3.6:检查更新
|
|
750
818
|
|
|
751
819
|
如果有新版本可用,通知用户:
|