claude-pangu 2.2.7 → 2.2.9
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 +1 -1
- package/agents/bianque-high.md +318 -0
- package/agents/build-fixer.md +199 -0
- package/agents/huoshen.md +514 -0
- package/agents/mozi-high.md +245 -0
- package/agents/mozi.md +127 -16
- package/commands/deepwork.md +13 -0
- package/commands/dw.md +13 -0
- package/commands/error.md +1 -1
- package/commands/huoshen.md +192 -0
- package/commands/xuetu.md +185 -22
- package/dist/lib/plugin-installer.d.ts.map +1 -1
- package/dist/lib/plugin-installer.js +53 -25
- package/dist/lib/plugin-installer.js.map +1 -1
- package/hooks/keyword-detector.sh +22 -0
- package/hooks/ralph-loop.sh +3 -0
- package/hooks/todo-continuation.sh +3 -0
- package/package.json +1 -1
- package/scripts/install.sh +97 -15
- package/skills/continuous-learning/skill.md +426 -0
- package/skills/deepwork/skill.md +479 -0
package/commands/xuetu.md
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: xuetu
|
|
3
|
+
description: |
|
|
4
|
+
学徒命令 - 从经验中学习
|
|
5
|
+
基于持续学习技能,从会话中提取可复用模式。
|
|
6
|
+
别名:/apprentice, /learner, /remember
|
|
7
|
+
arguments:
|
|
8
|
+
- name: action
|
|
9
|
+
description: "操作类型: (空)=分析学习, list=列出, search=搜索, apply=应用, save=保存"
|
|
10
|
+
required: false
|
|
11
|
+
- name: query
|
|
12
|
+
description: "搜索关键词或模式 ID"
|
|
13
|
+
required: false
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# /xuetu - 学徒命令
|
|
2
17
|
|
|
3
18
|
> 📚 学而时习之,温故而知新
|
|
4
19
|
|
|
@@ -13,49 +28,197 @@
|
|
|
13
28
|
# 指定提取内容
|
|
14
29
|
/xuetu "如何处理认证错误"
|
|
15
30
|
|
|
16
|
-
# 英文命令
|
|
17
|
-
/learner extract "auth error handling"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 管理知识库
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
31
|
# 列出所有已学习的模式
|
|
24
32
|
/xuetu list
|
|
25
33
|
|
|
34
|
+
# 按分类列出
|
|
35
|
+
/xuetu list --category code-patterns
|
|
36
|
+
|
|
26
37
|
# 搜索特定模式
|
|
27
38
|
/xuetu search "认证"
|
|
39
|
+
/xuetu search --tags auth,jwt
|
|
28
40
|
|
|
29
41
|
# 应用已学习的模式
|
|
30
|
-
/xuetu apply
|
|
42
|
+
/xuetu apply jwt-refresh-token
|
|
43
|
+
|
|
44
|
+
# 手动保存模式
|
|
45
|
+
/xuetu save "模式名称" --category code-patterns --tags react,form
|
|
46
|
+
|
|
47
|
+
# 删除过时的学习成果
|
|
48
|
+
/xuetu delete <pattern-id>
|
|
31
49
|
|
|
32
50
|
# 导出知识库
|
|
33
|
-
/xuetu export
|
|
51
|
+
/xuetu export > patterns.json
|
|
34
52
|
|
|
35
53
|
# 导入知识库
|
|
36
|
-
/xuetu import
|
|
54
|
+
/xuetu import patterns.json
|
|
37
55
|
```
|
|
38
56
|
|
|
39
|
-
##
|
|
57
|
+
## 执行流程
|
|
40
58
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
59
|
+
<xuetu>
|
|
60
|
+
## 学徒学习流程
|
|
61
|
+
|
|
62
|
+
### 阶段 1: 会话分析
|
|
63
|
+
|
|
64
|
+
分析当前会话中的:
|
|
65
|
+
- 实现的功能代码
|
|
66
|
+
- 解决的问题
|
|
67
|
+
- 使用的模式
|
|
68
|
+
- 讨论的最佳实践
|
|
69
|
+
|
|
70
|
+
### 阶段 2: 模式识别
|
|
71
|
+
|
|
72
|
+
识别以下信号:
|
|
73
|
+
- [ ] 重复出现的代码结构
|
|
74
|
+
- [ ] 解决了特定问题的方案
|
|
75
|
+
- [ ] 用户肯定的实现方式
|
|
76
|
+
- [ ] 通过验证的代码
|
|
77
|
+
|
|
78
|
+
### 阶段 3: 价值评估
|
|
79
|
+
|
|
80
|
+
对每个候选内容评估:
|
|
81
|
+
| 维度 | 权重 | 说明 |
|
|
82
|
+
|------|------|------|
|
|
83
|
+
| 可复用性 | 40% | 能否在其他场景使用 |
|
|
84
|
+
| 通用性 | 30% | 是否项目无关 |
|
|
85
|
+
| 正确性 | 20% | 是否是正确做法 |
|
|
86
|
+
| 复杂度 | 10% | 是否值得记录 |
|
|
87
|
+
|
|
88
|
+
### 阶段 4: 保存学习成果
|
|
89
|
+
|
|
90
|
+
将有价值的内容保存到 `.claude/learned-patterns/`
|
|
91
|
+
|
|
92
|
+
分类:
|
|
93
|
+
- `code-patterns/` - 代码模式
|
|
94
|
+
- `solutions/` - 问题解决方案
|
|
95
|
+
- `best-practices/` - 最佳实践
|
|
96
|
+
- `project-knowledge/` - 项目知识
|
|
97
|
+
|
|
98
|
+
### 阶段 5: 汇报结果
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## 📚 学习报告
|
|
102
|
+
|
|
103
|
+
### 本次学习
|
|
104
|
+
从当前会话识别并保存了以下模式:
|
|
105
|
+
|
|
106
|
+
#### 1. [code-pattern] React 表单验证
|
|
107
|
+
- **文件**: `code-patterns/react-form-validation.md`
|
|
108
|
+
- **标签**: react, form, zod
|
|
109
|
+
- **来源**: 实现登录表单
|
|
44
110
|
|
|
45
|
-
|
|
46
|
-
/
|
|
111
|
+
#### 2. [solution] Prisma 连接池配置
|
|
112
|
+
- **文件**: `solutions/prisma-connection-pool.md`
|
|
113
|
+
- **标签**: prisma, database
|
|
114
|
+
- **来源**: 修复连接超时
|
|
47
115
|
|
|
48
|
-
|
|
49
|
-
|
|
116
|
+
### 统计
|
|
117
|
+
- 总学习成果: 42 个
|
|
118
|
+
- 本次新增: 2 个
|
|
50
119
|
```
|
|
120
|
+
</xuetu>
|
|
121
|
+
|
|
122
|
+
## 学习成果格式
|
|
123
|
+
|
|
124
|
+
### 代码模式
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## 模式:React 表单验证
|
|
128
|
+
|
|
129
|
+
### 触发条件
|
|
130
|
+
- 实现表单验证逻辑
|
|
131
|
+
- 使用 react-hook-form
|
|
132
|
+
|
|
133
|
+
### 模式代码
|
|
134
|
+
\`\`\`typescript
|
|
135
|
+
import { useForm } from 'react-hook-form';
|
|
136
|
+
import { zodResolver } from '@hookform/resolvers/zod';
|
|
137
|
+
import { z } from 'zod';
|
|
138
|
+
|
|
139
|
+
const schema = z.object({
|
|
140
|
+
email: z.string().email('请输入有效邮箱'),
|
|
141
|
+
password: z.string().min(8, '密码至少8位'),
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
export function LoginForm() {
|
|
145
|
+
const { register, handleSubmit, formState: { errors } } = useForm({
|
|
146
|
+
resolver: zodResolver(schema),
|
|
147
|
+
});
|
|
148
|
+
// ...
|
|
149
|
+
}
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
### 学习来源
|
|
153
|
+
- 会话: 2026-02-03-login
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 解决方案
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## 解决方案:Next.js Cookies 问题
|
|
160
|
+
|
|
161
|
+
### 问题描述
|
|
162
|
+
在服务端组件中 cookies() 报错
|
|
163
|
+
|
|
164
|
+
### 根本原因
|
|
165
|
+
cookies() 需要在异步上下文中调用
|
|
166
|
+
|
|
167
|
+
### 解决方案
|
|
168
|
+
\`\`\`typescript
|
|
169
|
+
import { cookies } from 'next/headers';
|
|
170
|
+
|
|
171
|
+
export default async function Page() {
|
|
172
|
+
const cookieStore = await cookies();
|
|
173
|
+
const token = cookieStore.get('token');
|
|
174
|
+
}
|
|
175
|
+
\`\`\`
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## 存储位置
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
.claude/
|
|
182
|
+
└── learned-patterns/
|
|
183
|
+
├── index.json # 学习索引
|
|
184
|
+
├── code-patterns/ # 代码模式
|
|
185
|
+
├── solutions/ # 解决方案
|
|
186
|
+
├── best-practices/ # 最佳实践
|
|
187
|
+
└── project-knowledge/ # 项目知识
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## 配置选项
|
|
191
|
+
|
|
192
|
+
在 `.claude/settings.json` 中配置:
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"omc": {
|
|
197
|
+
"continuousLearning": {
|
|
198
|
+
"enabled": true,
|
|
199
|
+
"autoLearn": true,
|
|
200
|
+
"storage": "project",
|
|
201
|
+
"minConfidence": 0.7
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## 与其他命令的关系
|
|
208
|
+
|
|
209
|
+
| 命令 | 功能 | 范围 |
|
|
210
|
+
|------|------|------|
|
|
211
|
+
| `/learn` | 项目画像 | 项目结构、技术栈 |
|
|
212
|
+
| `/xuetu` | 个人经验 | 模式、解决方案 |
|
|
213
|
+
| `/snippet` | 代码片段 | 可直接复制的代码 |
|
|
51
214
|
|
|
52
215
|
## 命令别名
|
|
53
216
|
|
|
54
217
|
- `/xuetu` - 学徒(中文)
|
|
55
|
-
- `/
|
|
56
|
-
- `/
|
|
218
|
+
- `/apprentice` - 英文别名
|
|
219
|
+
- `/learner` - 学习者
|
|
57
220
|
- `/remember` - 记住
|
|
58
221
|
|
|
59
222
|
---
|
|
60
223
|
|
|
61
|
-
加载
|
|
224
|
+
加载 continuous-learning 技能以获取详细指南。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-installer.d.ts","sourceRoot":"","sources":["../../lib/plugin-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AA2B1E;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA+DjE;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAuD/D;AAID;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AA8BD;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CA0CpD;
|
|
1
|
+
{"version":3,"file":"plugin-installer.d.ts","sourceRoot":"","sources":["../../lib/plugin-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AA2B1E;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA+DjE;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAuD/D;AAID;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AA8BD;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CA0CpD;AA0JD;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAyBxD"}
|
|
@@ -247,31 +247,51 @@ function syncHooksToSettings() {
|
|
|
247
247
|
const backupPath = `${SETTINGS_PATH}.backup-${Date.now()}`;
|
|
248
248
|
fs.copyFileSync(SETTINGS_PATH, backupPath);
|
|
249
249
|
}
|
|
250
|
-
// 定义核心 hooks
|
|
250
|
+
// 定义核心 hooks(使用新格式:matcher + hooks 数组)
|
|
251
251
|
// 注意:在 Windows Git Bash 中,使用 bash -c '. script' 才能正确接收 stdin 管道输入
|
|
252
252
|
const coreHooks = {
|
|
253
253
|
PostToolUse: [
|
|
254
254
|
{
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
matcher: 'TodoWrite',
|
|
256
|
+
hooks: [
|
|
257
|
+
{
|
|
258
|
+
type: 'command',
|
|
259
|
+
command: `bash -c '. "${PLUGIN_DIR}/hooks/progress-notifier.sh"'`,
|
|
260
|
+
timeout: 3000
|
|
261
|
+
}
|
|
262
|
+
]
|
|
258
263
|
},
|
|
259
264
|
{
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
265
|
+
matcher: '*',
|
|
266
|
+
hooks: [
|
|
267
|
+
{
|
|
268
|
+
type: 'command',
|
|
269
|
+
command: `bash -c '. "${PLUGIN_DIR}/hooks/context-smart-alert.sh"'`,
|
|
270
|
+
timeout: 2000
|
|
271
|
+
}
|
|
272
|
+
]
|
|
263
273
|
}
|
|
264
274
|
],
|
|
265
275
|
Stop: [
|
|
266
276
|
{
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
277
|
+
matcher: '*',
|
|
278
|
+
hooks: [
|
|
279
|
+
{
|
|
280
|
+
type: 'command',
|
|
281
|
+
command: `bash -c '. "${PLUGIN_DIR}/hooks/todo-continuation.sh"'`,
|
|
282
|
+
timeout: 3000
|
|
283
|
+
}
|
|
284
|
+
]
|
|
270
285
|
},
|
|
271
286
|
{
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
287
|
+
matcher: '*',
|
|
288
|
+
hooks: [
|
|
289
|
+
{
|
|
290
|
+
type: 'command',
|
|
291
|
+
command: `bash -c '. "${PLUGIN_DIR}/hooks/ralph-loop.sh"'`,
|
|
292
|
+
timeout: 3000
|
|
293
|
+
}
|
|
294
|
+
]
|
|
275
295
|
}
|
|
276
296
|
]
|
|
277
297
|
};
|
|
@@ -280,21 +300,29 @@ function syncHooksToSettings() {
|
|
|
280
300
|
settings.hooks = {};
|
|
281
301
|
}
|
|
282
302
|
let hooksAdded = 0;
|
|
283
|
-
for (const [hookType,
|
|
303
|
+
for (const [hookType, hookEntries] of Object.entries(coreHooks)) {
|
|
284
304
|
if (!settings.hooks[hookType]) {
|
|
285
305
|
settings.hooks[hookType] = [];
|
|
286
306
|
}
|
|
287
|
-
//
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
307
|
+
// 获取现有脚本名列表(从新格式的 hooks 数组中提取)
|
|
308
|
+
const existingScripts = new Set();
|
|
309
|
+
for (const entry of settings.hooks[hookType]) {
|
|
310
|
+
if (entry && typeof entry === 'object' && 'hooks' in entry && Array.isArray(entry.hooks)) {
|
|
311
|
+
for (const h of entry.hooks) {
|
|
312
|
+
if (h && typeof h === 'object' && 'command' in h) {
|
|
313
|
+
const scriptName = h.command.split('/').pop() || '';
|
|
314
|
+
existingScripts.add(scriptName);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// 添加新的 hook entries(如果脚本不存在)
|
|
320
|
+
for (const hookEntry of hookEntries) {
|
|
321
|
+
// 提取这个 entry 中的脚本名
|
|
322
|
+
const scriptNames = hookEntry.hooks.map(h => h.command.split('/').pop() || '');
|
|
323
|
+
const allExist = scriptNames.every(name => Array.from(existingScripts).some(existing => existing.includes(name)));
|
|
324
|
+
if (!allExist) {
|
|
325
|
+
settings.hooks[hookType].push(hookEntry);
|
|
298
326
|
hooksAdded++;
|
|
299
327
|
}
|
|
300
328
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-installer.js","sourceRoot":"","sources":["../../lib/plugin-installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-installer.js","sourceRoot":"","sources":["../../lib/plugin-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,28 @@ EOF
|
|
|
96
96
|
exit 0
|
|
97
97
|
fi
|
|
98
98
|
|
|
99
|
+
# ---- 深度工作模式检测 (Deepwork/Hephaestus) ----
|
|
100
|
+
# 特征:目标导向、自主实现、端到端、深度
|
|
101
|
+
deepwork_mode=false
|
|
102
|
+
if echo "$prompt_lower" | grep -qE '(deepwork|huoshen|火神|hephaestus|深度工作)'; then
|
|
103
|
+
deepwork_mode=true
|
|
104
|
+
elif echo "$prompt_lower" | grep -qE '(目标导向|goal[-_]?oriented|自主.{0,5}(实现|完成|开发)|autonomous.{0,5}(implement|develop|complete))' || \
|
|
105
|
+
echo "$prompt_lower" | grep -qE '(端到端|end[-_]?to[-_]?end|e2e).{0,10}(实现|完成|开发|implement|develop|complete)' || \
|
|
106
|
+
echo "$prompt_lower" | grep -qE '(深度.{0,5}(理解|探索|分析)|deep.{0,5}(understand|explore|analyze))' || \
|
|
107
|
+
echo "$prompt_lower" | grep -qE '(给我.{0,5}目标|只需要.{0,5}目标|不用.{0,5}(告诉|说).{0,5}怎么做)' || \
|
|
108
|
+
echo "$prompt_lower" | grep -qE '(你来决定|你自己决定|自己想办法|自己规划)'; then
|
|
109
|
+
deepwork_mode=true
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if [ "$deepwork_mode" = true ]; then
|
|
113
|
+
cat << 'EOF'
|
|
114
|
+
{
|
|
115
|
+
"systemMessage": "\n\n<deepwork-mode>\n🔥 **火神深度工作模式已激活!**\n\n[目标导向 - 自主探索 - 端到端完成]\n\n## 为什么选择此模式\n检测到需要深度理解和自主完成的任务。\n\n## 核心特性\n\n### 1. 🎯 目标导向\n- 只需提供目标,我来决定实现路径\n- 不需要详细步骤指引\n\n### 2. 🔭 探索优先\n在写任何代码前,并行启动 2-5 个探索任务:\n```\n@wukong - 探索项目结构\n@wukong - 分析代码风格\n@wukong - 搜索相似实现\n@wukong - 识别测试模式\n```\n\n### 3. 🎨 模式匹配\n- 学习项目的编码规范\n- 按照项目风格编写代码\n- 让代码看起来像项目原作者写的\n\n### 4. ✅ 端到端完成\n- 100% 完成才算完成\n- 每个声明都有验证证据\n- 不接受部分完成\n\n## 执行流程\n```\nPhase 0: 目标理解\n ↓\nPhase 1: 并行探索 (2-5 @wukong)\n ↓\nPhase 2: 模式学习 → 项目画像\n ↓\nPhase 3: 自主实现\n ↓\nPhase 4: 验证循环 (测试→修复→测试)\n ↓\nPhase 5: 最终验证 + 证据展示\n```\n\n## 完成标志\n```\n<promise>深度工作完成</promise>\n```\n\n**给我目标,我交付完美。**\n</deepwork-mode>\n"
|
|
116
|
+
}
|
|
117
|
+
EOF
|
|
118
|
+
exit 0
|
|
119
|
+
fi
|
|
120
|
+
|
|
99
121
|
# ---- 蜂群模式检测 (Swarm) ----
|
|
100
122
|
# 特征:批量、所有、N个同类任务
|
|
101
123
|
swarm_mode=false
|
package/hooks/ralph-loop.sh
CHANGED
|
@@ -17,6 +17,8 @@ RALPH_STATE_FILE=".claude/ralph-loop.local.md"
|
|
|
17
17
|
|
|
18
18
|
# 如果状态文件不存在,允许正常退出
|
|
19
19
|
if [ ! -f "$RALPH_STATE_FILE" ]; then
|
|
20
|
+
# Stop hook 需要输出 JSON 响应,即使是允许停止的情况
|
|
21
|
+
echo '{}' 2>/dev/null || true
|
|
20
22
|
exit 0
|
|
21
23
|
fi
|
|
22
24
|
|
|
@@ -34,6 +36,7 @@ COMPLETION_PROMISE=${COMPLETION_PROMISE:-DONE}
|
|
|
34
36
|
if [ "$MAX_ITERATIONS" -gt 0 ] 2>/dev/null && [ "$ITERATION" -ge "$MAX_ITERATIONS" ] 2>/dev/null; then
|
|
35
37
|
echo "🛑 Ralph Loop: 已达最大迭代次数 ($MAX_ITERATIONS)" >&2
|
|
36
38
|
rm -f "$RALPH_STATE_FILE"
|
|
39
|
+
echo '{}' 2>/dev/null || true
|
|
37
40
|
exit 0
|
|
38
41
|
fi
|
|
39
42
|
|
|
@@ -16,6 +16,8 @@ YISHAN_STATE_FILE=".claude/yishan-loop.local.md"
|
|
|
16
16
|
|
|
17
17
|
# 如果状态文件不存在,允许正常退出
|
|
18
18
|
if [ ! -f "$YISHAN_STATE_FILE" ]; then
|
|
19
|
+
# Stop hook 需要输出 JSON 响应,即使是允许停止的情况
|
|
20
|
+
echo '{}' 2>/dev/null || true
|
|
19
21
|
exit 0
|
|
20
22
|
fi
|
|
21
23
|
|
|
@@ -31,6 +33,7 @@ MAX_ITERATIONS=${MAX_ITERATIONS:-50}
|
|
|
31
33
|
if [ "$MAX_ITERATIONS" -gt 0 ] 2>/dev/null && [ "$ITERATION" -ge "$MAX_ITERATIONS" ] 2>/dev/null; then
|
|
32
34
|
echo "🛑 愚公移山: 已达最大迭代次数 ($MAX_ITERATIONS)" >&2
|
|
33
35
|
rm -f "$YISHAN_STATE_FILE"
|
|
36
|
+
echo '{}' 2>/dev/null || true
|
|
34
37
|
exit 0
|
|
35
38
|
fi
|
|
36
39
|
|
package/package.json
CHANGED
package/scripts/install.sh
CHANGED
|
@@ -19,6 +19,21 @@ NC='\033[0m' # No Color
|
|
|
19
19
|
# 配置
|
|
20
20
|
REPO="ZDragon17/oh-my-claude"
|
|
21
21
|
PLUGIN_NAME="oh-my-claude"
|
|
22
|
+
|
|
23
|
+
# Windows 兼容性:确保 HOME 变量正确设置
|
|
24
|
+
if [[ "$(uname -s)" == MINGW* ]] || [[ "$(uname -s)" == MSYS* ]] || [[ "$(uname -s)" == CYGWIN* ]]; then
|
|
25
|
+
# Windows Git Bash 环境
|
|
26
|
+
IS_WINDOWS=true
|
|
27
|
+
# 如果 HOME 未设置或为空,使用 USERPROFILE
|
|
28
|
+
if [ -z "$HOME" ] && [ -n "$USERPROFILE" ]; then
|
|
29
|
+
HOME=$(cygpath -u "$USERPROFILE" 2>/dev/null || echo "$USERPROFILE" | sed 's|\\|/|g' | sed 's|^\([A-Za-z]\):|/\L\1|')
|
|
30
|
+
fi
|
|
31
|
+
# 确保 HOME 是 Unix 风格路径 (/c/Users/xxx)
|
|
32
|
+
HOME=$(cygpath -u "$HOME" 2>/dev/null || echo "$HOME")
|
|
33
|
+
else
|
|
34
|
+
IS_WINDOWS=false
|
|
35
|
+
fi
|
|
36
|
+
|
|
22
37
|
INSTALL_DIR="$HOME/.claude/plugins/$PLUGIN_NAME"
|
|
23
38
|
COMMANDS_DIR="$HOME/.claude/commands"
|
|
24
39
|
SKILLS_DIR="$HOME/.claude/skills"
|
|
@@ -272,10 +287,40 @@ setup_hooks() {
|
|
|
272
287
|
import json
|
|
273
288
|
import sys
|
|
274
289
|
import os
|
|
290
|
+
import platform
|
|
291
|
+
import re
|
|
275
292
|
|
|
276
293
|
settings_file = "$SETTINGS_FILE"
|
|
277
294
|
install_dir = "$INSTALL_DIR"
|
|
278
295
|
|
|
296
|
+
# Windows 兼容性:确保路径格式正确
|
|
297
|
+
# Claude Code 在 Windows 上执行 bash 命令时需要 Unix 风格路径
|
|
298
|
+
def normalize_path_for_hooks(path):
|
|
299
|
+
"""将路径转换为 Git Bash 兼容格式"""
|
|
300
|
+
if platform.system() == 'Windows':
|
|
301
|
+
# 如果是 Windows 原生路径 (C:\Users\...),转换为 /c/Users/...
|
|
302
|
+
if re.match(r'^[A-Za-z]:', path):
|
|
303
|
+
drive = path[0].lower()
|
|
304
|
+
rest = path[2:].replace('\\\\', '/').replace('\\', '/')
|
|
305
|
+
return f'/{drive}{rest}'
|
|
306
|
+
# 如果已经是 Unix 风格但使用了反斜杠
|
|
307
|
+
path = path.replace('\\\\', '/').replace('\\', '/')
|
|
308
|
+
return path
|
|
309
|
+
|
|
310
|
+
install_dir = normalize_path_for_hooks(install_dir)
|
|
311
|
+
|
|
312
|
+
# Windows 上需要使用 bash -c '. script' 格式,否则 stdout 不会被捕获
|
|
313
|
+
is_windows = platform.system() == 'Windows'
|
|
314
|
+
|
|
315
|
+
def make_hook_command(script_path):
|
|
316
|
+
"""生成 hook 命令,Windows 使用特殊格式"""
|
|
317
|
+
if is_windows:
|
|
318
|
+
# Windows: bash -c '. "script.sh"' 格式确保 stdout 正确输出
|
|
319
|
+
return f"bash -c '. \"{script_path}\"'"
|
|
320
|
+
else:
|
|
321
|
+
# macOS/Linux: 标准格式
|
|
322
|
+
return f'bash "{script_path}"'
|
|
323
|
+
|
|
279
324
|
try:
|
|
280
325
|
with open(settings_file, 'r', encoding='utf-8') as f:
|
|
281
326
|
settings = json.load(f)
|
|
@@ -283,30 +328,50 @@ except Exception as e:
|
|
|
283
328
|
print(f"读取 settings.json 失败: {e}", file=sys.stderr)
|
|
284
329
|
sys.exit(1)
|
|
285
330
|
|
|
286
|
-
# 定义核心 hooks
|
|
331
|
+
# 定义核心 hooks(使用绝对路径,不依赖环境变量)
|
|
287
332
|
core_hooks = {
|
|
288
333
|
"PostToolUse": [
|
|
289
334
|
{
|
|
290
|
-
"
|
|
291
|
-
"
|
|
292
|
-
|
|
335
|
+
"matcher": "TodoWrite",
|
|
336
|
+
"hooks": [
|
|
337
|
+
{
|
|
338
|
+
"type": "command",
|
|
339
|
+
"command": make_hook_command(f"{install_dir}/hooks/progress-notifier.sh"),
|
|
340
|
+
"timeout": 3000
|
|
341
|
+
}
|
|
342
|
+
]
|
|
293
343
|
},
|
|
294
344
|
{
|
|
295
|
-
"
|
|
296
|
-
"
|
|
297
|
-
|
|
345
|
+
"matcher": "*",
|
|
346
|
+
"hooks": [
|
|
347
|
+
{
|
|
348
|
+
"type": "command",
|
|
349
|
+
"command": make_hook_command(f"{install_dir}/hooks/context-smart-alert.sh"),
|
|
350
|
+
"timeout": 2000
|
|
351
|
+
}
|
|
352
|
+
]
|
|
298
353
|
}
|
|
299
354
|
],
|
|
300
355
|
"Stop": [
|
|
301
356
|
{
|
|
302
|
-
"
|
|
303
|
-
"
|
|
304
|
-
|
|
357
|
+
"matcher": "*",
|
|
358
|
+
"hooks": [
|
|
359
|
+
{
|
|
360
|
+
"type": "command",
|
|
361
|
+
"command": make_hook_command(f"{install_dir}/hooks/todo-continuation.sh"),
|
|
362
|
+
"timeout": 3000
|
|
363
|
+
}
|
|
364
|
+
]
|
|
305
365
|
},
|
|
306
366
|
{
|
|
307
|
-
"
|
|
308
|
-
"
|
|
309
|
-
|
|
367
|
+
"matcher": "*",
|
|
368
|
+
"hooks": [
|
|
369
|
+
{
|
|
370
|
+
"type": "command",
|
|
371
|
+
"command": make_hook_command(f"{install_dir}/hooks/ralph-loop.sh"),
|
|
372
|
+
"timeout": 3000
|
|
373
|
+
}
|
|
374
|
+
]
|
|
310
375
|
}
|
|
311
376
|
]
|
|
312
377
|
}
|
|
@@ -315,14 +380,31 @@ core_hooks = {
|
|
|
315
380
|
if "hooks" not in settings:
|
|
316
381
|
settings["hooks"] = {}
|
|
317
382
|
|
|
383
|
+
def extract_commands_from_hooks(hooks_list):
|
|
384
|
+
"""从 hooks 列表中提取所有 command"""
|
|
385
|
+
commands = []
|
|
386
|
+
for h in hooks_list:
|
|
387
|
+
if isinstance(h, dict):
|
|
388
|
+
# 新格式: {"matcher": "...", "hooks": [{"command": "..."}]}
|
|
389
|
+
if "hooks" in h:
|
|
390
|
+
for inner_hook in h.get("hooks", []):
|
|
391
|
+
if "command" in inner_hook:
|
|
392
|
+
commands.append(inner_hook["command"])
|
|
393
|
+
# 旧格式: {"type": "command", "command": "..."}
|
|
394
|
+
elif "command" in h:
|
|
395
|
+
commands.append(h["command"])
|
|
396
|
+
return commands
|
|
397
|
+
|
|
318
398
|
for hook_type, hooks in core_hooks.items():
|
|
319
399
|
if hook_type not in settings["hooks"]:
|
|
320
400
|
settings["hooks"][hook_type] = []
|
|
321
401
|
|
|
322
402
|
# 添加新的 hooks(避免重复)
|
|
323
|
-
existing_commands =
|
|
403
|
+
existing_commands = extract_commands_from_hooks(settings["hooks"][hook_type])
|
|
324
404
|
for hook in hooks:
|
|
325
|
-
|
|
405
|
+
# 从新格式中提取 command
|
|
406
|
+
hook_command = hook.get("hooks", [{}])[0].get("command", "")
|
|
407
|
+
if hook_command and hook_command not in existing_commands:
|
|
326
408
|
settings["hooks"][hook_type].append(hook)
|
|
327
409
|
|
|
328
410
|
# 写回文件
|