claude-pangu 2.0.21 → 2.0.23

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://code.claude.com/plugin-schema.json",
3
3
  "name": "oh-my-claude",
4
- "version": "2.0.21",
4
+ "version": "2.0.23",
5
5
  "hooks": "./hooks/hooks.json",
6
6
  "description": "基于中国传统文化的 Claude Code 智能编排插件 - A Claude Code plugin inspired by Chinese traditional culture",
7
7
  "author": "ZDragon17",
package/commands/help.md CHANGED
@@ -109,6 +109,8 @@ model: haiku
109
109
  | 大任务 | /yishan |
110
110
  | 错误/失败/重试 | /retry, /skip, /bianque |
111
111
  | 回滚/撤销 | /rollback |
112
+ | 更新/升级/update | /update-omc |
113
+ | 验证/检查/verify | /verify, /status |
112
114
 
113
115
  ## 响应要求
114
116
 
@@ -0,0 +1,216 @@
1
+ ---
2
+ name: update-omc
3
+ description: oh-my-claude 更新命令 - 检查并更新到最新版本
4
+ aliases:
5
+ - /upgrade-omc
6
+ - /更新插件
7
+ - /update-plugin
8
+ allowed-tools:
9
+ - Bash
10
+ - Read
11
+ model: haiku
12
+ ---
13
+
14
+ <command-name>/update-omc</command-name>
15
+
16
+ # oh-my-claude 更新命令
17
+
18
+ 检查并更新 oh-my-claude 插件到最新版本。
19
+
20
+ ## 执行流程
21
+
22
+ ### 步骤 1: 显示更新检查提示
23
+
24
+ ```text
25
+ 🔄 正在检查 oh-my-claude 更新...
26
+ ```
27
+
28
+ ### 步骤 2: 获取当前安装版本
29
+
30
+ 执行以下检查获取当前版本(从 plugin.json 读取):
31
+
32
+ ```bash
33
+ cat ~/.claude/plugins/oh-my-claude/.claude-plugin/plugin.json 2>/dev/null | grep '"version"' | head -1 | sed 's/.*"version".*"\\([^"]*\\)".*/\\1/'
34
+ ```
35
+
36
+ 如果插件未安装,输出:
37
+
38
+ ```text
39
+ ❌ oh-my-claude 未安装
40
+
41
+ 请先安装插件:
42
+ npx claude-pangu install
43
+ ```
44
+
45
+ ### 步骤 3: 获取 NPM 最新版本
46
+
47
+ ```bash
48
+ npm view claude-pangu version 2>/dev/null
49
+ ```
50
+
51
+ ### 步骤 4: 比较版本
52
+
53
+ 根据版本比较结果决定下一步:
54
+
55
+ #### 已是最新版本
56
+
57
+ ```text
58
+ ╔══════════════════════════════════════════════════════════════╗
59
+ ║ ✅ oh-my-claude 已是最新版本 ║
60
+ ╠══════════════════════════════════════════════════════════════╣
61
+ ║ ║
62
+ ║ 📦 当前版本: v{current_version} ║
63
+ ║ 🌐 NPM 最新: v{npm_version} ║
64
+ ║ ║
65
+ ║ 无需更新,当前版本是最新的! ║
66
+ ║ ║
67
+ ╚══════════════════════════════════════════════════════════════╝
68
+ ```
69
+
70
+ #### 有新版本可用
71
+
72
+ ```text
73
+ ╔══════════════════════════════════════════════════════════════╗
74
+ ║ 🆕 发现新版本 ║
75
+ ╠══════════════════════════════════════════════════════════════╣
76
+ ║ ║
77
+ ║ 📦 当前版本: v{current_version} ║
78
+ ║ 🆕 最新版本: v{npm_version} ║
79
+ ║ ║
80
+ ║ 正在更新... ║
81
+ ║ ║
82
+ ╚══════════════════════════════════════════════════════════════╝
83
+ ```
84
+
85
+ 然后执行更新:
86
+
87
+ ```bash
88
+ npx claude-pangu@latest update
89
+ ```
90
+
91
+ ### 步骤 5: 验证更新结果
92
+
93
+ 更新完成后,验证新版本:
94
+
95
+ ```bash
96
+ cat ~/.claude/plugins/oh-my-claude/.claude-plugin/plugin.json 2>/dev/null | grep '"version"' | head -1 | sed 's/.*"version".*"\\([^"]*\\)".*/\\1/'
97
+ ```
98
+
99
+ ### 步骤 6: 输出更新结果
100
+
101
+ #### 更新成功
102
+
103
+ ```text
104
+ ╔══════════════════════════════════════════════════════════════╗
105
+ ║ 🎉 oh-my-claude 更新成功! ║
106
+ ╠══════════════════════════════════════════════════════════════╣
107
+ ║ ║
108
+ ║ 📦 旧版本: v{old_version} ║
109
+ ║ ✨ 新版本: v{new_version} ║
110
+ ║ ║
111
+ ║ ⚠️ 建议: 重启 Claude Code 以使更新完全生效 ║
112
+ ║ ║
113
+ ║ 📋 查看更新内容: ║
114
+ ║ https://github.com/ZDragon17/oh-my-claude/releases ║
115
+ ║ ║
116
+ ╚══════════════════════════════════════════════════════════════╝
117
+ ```
118
+
119
+ #### 更新失败
120
+
121
+ ```text
122
+ ╔══════════════════════════════════════════════════════════════╗
123
+ ║ ❌ 更新失败 ║
124
+ ╠══════════════════════════════════════════════════════════════╣
125
+ ║ ║
126
+ ║ 更新过程中遇到错误。 ║
127
+ ║ ║
128
+ ║ 🔧 请尝试手动更新: ║
129
+ ║ ──────────────────────────────────────────────────────── ║
130
+ ║ ║
131
+ ║ 方式一: 使用 npx ║
132
+ ║ npx claude-pangu@latest install --force ║
133
+ ║ ║
134
+ ║ 方式二: 先卸载再安装 ║
135
+ ║ npx claude-pangu uninstall ║
136
+ ║ npx claude-pangu@latest install ║
137
+ ║ ║
138
+ ║ 如果问题持续,请提交 Issue: ║
139
+ ║ https://github.com/ZDragon17/oh-my-claude/issues ║
140
+ ║ ║
141
+ ╚══════════════════════════════════════════════════════════════╝
142
+ ```
143
+
144
+ ---
145
+
146
+ ## 强制更新模式
147
+
148
+ `/update-omc --force` 或 `/update-omc -f`
149
+
150
+ 即使版本相同也强制重新安装:
151
+
152
+ ```bash
153
+ npx claude-pangu@latest install --force
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 检查模式(不更新)
159
+
160
+ `/update-omc --check` 或 `/update-omc -c`
161
+
162
+ 只检查是否有更新,不执行更新:
163
+
164
+ ```text
165
+ 📊 oh-my-claude 版本检查
166
+ ═══════════════════════════════════════════════════
167
+
168
+ 📦 当前版本: v2.0.22
169
+ 🌐 最新版本: v2.0.25
170
+
171
+ 🆕 有新版本可用!
172
+ 运行 /update-omc 进行更新
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 显示更新日志
178
+
179
+ `/update-omc --changelog`
180
+
181
+ 显示最近的更新日志(从 GitHub 获取):
182
+
183
+ ```bash
184
+ curl -s https://raw.githubusercontent.com/ZDragon17/oh-my-claude/main/CHANGELOG.md | head -100
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 别名
190
+
191
+ - `/update-omc` - 主命令
192
+ - `/upgrade-omc` - 别名
193
+ - `/更新插件` - 中文别名
194
+ - `/update-plugin` - 英文别名
195
+
196
+ ---
197
+
198
+ ## 常见问题
199
+
200
+ ### Q: 更新后需要重启吗?
201
+
202
+ A: 建议重启 Claude Code,以确保所有 hooks 和新功能完全生效。
203
+
204
+ ### Q: 更新失败怎么办?
205
+
206
+ A: 尝试以下步骤:
207
+ 1. 检查网络连接
208
+ 2. 使用 `npx claude-pangu@latest install --force` 强制安装
209
+ 3. 如果仍然失败,先卸载再重新安装
210
+
211
+ ### Q: 如何回滚到旧版本?
212
+
213
+ A: 指定版本安装:
214
+ ```bash
215
+ npx claude-pangu@2.0.20 install
216
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAsD,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAkCzH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAIxC;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAkDtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAID;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA2C7C;AAgKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAkHxD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE/C;AAID;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE5C"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAsD,cAAc,EAAE,YAAY,EAA8D,MAAM,uBAAuB,CAAC;AAkCrL,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAIxC;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAkDtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAID;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA+C7C;AAgKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAqHxD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE/C;AAID;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE5C"}
@@ -8,7 +8,7 @@ import { execSync } from 'child_process';
8
8
  import { VERSION, PLUGIN_NAME, PLUGIN_DIR } from './constants.js';
9
9
  import { copyPluginFiles, setHookPermissions } from './file-operations.js';
10
10
  import { executeWithRollback } from './lock-manager.js';
11
- import { installCommands, installSkills, registerCoreAgents, getCommandsDir, getSkillsDir } from './plugin-installer.js';
11
+ import { installCommands, installSkills, registerCoreAgents, getCommandsDir, getSkillsDir, registerPluginToClaudeCode, unregisterPluginFromClaudeCode } from './plugin-installer.js';
12
12
  import { success, info, warn, error, log } from '../scripts/logger.js';
13
13
  import { printCommandTitle, printInstallComplete, printUpdateComplete } from './ui/messages.js';
14
14
  /**
@@ -150,6 +150,9 @@ export async function install() {
150
150
  installCommands(packageDir);
151
151
  installSkills(packageDir);
152
152
  registerCoreAgents();
153
+ // 关键:注册插件到 Claude Code 的 installed_plugins.json
154
+ // 只有注册后,Claude Code 才会加载插件的 hooks
155
+ registerPluginToClaudeCode();
153
156
  const { verifyInstallation } = await import('./verifier.js');
154
157
  verifyInstallation();
155
158
  printInstallComplete(pluginDir, getCommandsDir(), getSkillsDir());
@@ -308,19 +311,21 @@ function scanAndCleanLegacyZcfDirs() {
308
311
  */
309
312
  export function performUninstall(pluginDir) {
310
313
  info('正在卸载插件...');
311
- // 1. 尝试使用 claude CLI 卸载(可能失败,忽略)
314
+ // 1. installed_plugins.json 移除插件注册
315
+ unregisterPluginFromClaudeCode();
316
+ // 2. 尝试使用 claude CLI 卸载(可能失败,忽略)
312
317
  try {
313
318
  execSync(`claude plugins uninstall ${PLUGIN_NAME}`, { stdio: 'pipe' });
314
319
  }
315
320
  catch {
316
321
  // 忽略错误 - CLI 可能不存在或插件未通过 CLI 安装
317
322
  }
318
- // 2. 删除插件主目录
323
+ // 3. 删除插件主目录
319
324
  if (fs.existsSync(pluginDir)) {
320
325
  fs.rmSync(pluginDir, { recursive: true, force: true });
321
326
  info('已删除插件目录');
322
327
  }
323
- // 3. 清理 commands 目录中本插件安装的文件
328
+ // 4. 清理 commands 目录中本插件安装的文件
324
329
  const commandsDir = getCommandsDir();
325
330
  // 始终使用备用列表(包含所有历史版本文件),确保完整清理
326
331
  // 动态扫描可能使用旧版缓存,不包含已重命名的文件
@@ -347,7 +352,7 @@ export function performUninstall(pluginDir) {
347
352
  if (commandsRemoved > 0) {
348
353
  info(`已删除 ${commandsRemoved} 个命令文件`);
349
354
  }
350
- // 4. 清理 skills 目录中本插件安装的目录
355
+ // 5. 清理 skills 目录中本插件安装的目录
351
356
  const skillsDir = getSkillsDir();
352
357
  // 始终使用备用列表,确保完整清理
353
358
  const skillDirs = getFallbackSkillDirs();
@@ -367,13 +372,13 @@ export function performUninstall(pluginDir) {
367
372
  if (skillsRemoved > 0) {
368
373
  info(`已删除 ${skillsRemoved} 个 skill 目录`);
369
374
  }
370
- // 5. 全局扫描并清理所有项目中的旧版 zcf 目录
375
+ // 6. 全局扫描并清理所有项目中的旧版 zcf 目录
371
376
  info('正在全局扫描旧版 zcf 目录...');
372
377
  const globalZcfCleaned = scanAndCleanLegacyZcfDirs();
373
378
  if (globalZcfCleaned > 0) {
374
379
  info(`已全局清理 ${globalZcfCleaned} 个旧版 zcf 目录`);
375
380
  }
376
- // 6. 清理本地状态文件
381
+ // 7. 清理本地状态文件
377
382
  const stateFilesInCwd = [
378
383
  '.claude/ralph-loop.local.md',
379
384
  '.claude/yishan-state.json',
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../lib/installer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 插件组件安装器
3
- * 负责 CommandsSkills 的安装逻辑
3
+ * 负责 CommandsSkills 的安装逻辑,以及插件注册
4
4
  */
5
5
  import { InstallResult } from './file-operations.js';
6
6
  /**
@@ -23,4 +23,13 @@ export declare function installSkills(packageDir: string): InstallResult;
23
23
  * 注册核心 Agent
24
24
  */
25
25
  export declare function registerCoreAgents(): void;
26
+ /**
27
+ * 注册插件到 Claude Code 的 installed_plugins.json
28
+ * 这是关键步骤 - 只有注册的插件才会被 Claude Code 加载 hooks
29
+ */
30
+ export declare function registerPluginToClaudeCode(): boolean;
31
+ /**
32
+ * 从 Claude Code 的 installed_plugins.json 移除插件注册
33
+ */
34
+ export declare function unregisterPluginFromClaudeCode(): boolean;
26
35
  //# sourceMappingURL=plugin-installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-installer.d.ts","sourceRoot":"","sources":["../../lib/plugin-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAM1E;;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"}
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,CAuCpD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAyBxD"}
@@ -1,13 +1,17 @@
1
1
  /**
2
2
  * 插件组件安装器
3
- * 负责 CommandsSkills 的安装逻辑
3
+ * 负责 CommandsSkills 的安装逻辑,以及插件注册
4
4
  */
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
- import { COMMANDS_DIR, SKILLS_DIR, CORE_AGENTS } from './constants.js';
7
+ import * as os from 'os';
8
+ import { COMMANDS_DIR, SKILLS_DIR, CORE_AGENTS, PLUGIN_NAME, VERSION, PLUGIN_DIR } from './constants.js';
8
9
  import { InstallResultSchema } from './file-operations.js';
9
- import { success, info, warn } from '../scripts/logger.js';
10
+ import { success, info, warn, error } from '../scripts/logger.js';
10
11
  import AgentStateManagerImpl from './agent-state-manager.js';
12
+ // ==================== 插件注册表路径 ====================
13
+ /** installed_plugins.json 路径 */
14
+ const INSTALLED_PLUGINS_PATH = path.join(os.homedir(), '.claude', 'plugins', 'installed_plugins.json');
11
15
  // ==================== 路径获取函数 ====================
12
16
  /**
13
17
  * 获取 commands 安装路径
@@ -148,4 +152,98 @@ export function registerCoreAgents() {
148
152
  }
149
153
  }
150
154
  }
155
+ // ==================== 插件注册 ====================
156
+ /**
157
+ * 读取 installed_plugins.json
158
+ */
159
+ function readInstalledPlugins() {
160
+ if (fs.existsSync(INSTALLED_PLUGINS_PATH)) {
161
+ try {
162
+ const content = fs.readFileSync(INSTALLED_PLUGINS_PATH, 'utf-8');
163
+ return JSON.parse(content);
164
+ }
165
+ catch {
166
+ // 文件损坏,创建新的
167
+ }
168
+ }
169
+ return { version: 2, plugins: {} };
170
+ }
171
+ /**
172
+ * 写入 installed_plugins.json
173
+ */
174
+ function writeInstalledPlugins(data) {
175
+ const pluginsDir = path.dirname(INSTALLED_PLUGINS_PATH);
176
+ if (!fs.existsSync(pluginsDir)) {
177
+ fs.mkdirSync(pluginsDir, { recursive: true });
178
+ }
179
+ fs.writeFileSync(INSTALLED_PLUGINS_PATH, JSON.stringify(data, null, 2), 'utf-8');
180
+ }
181
+ /**
182
+ * 注册插件到 Claude Code 的 installed_plugins.json
183
+ * 这是关键步骤 - 只有注册的插件才会被 Claude Code 加载 hooks
184
+ */
185
+ export function registerPluginToClaudeCode() {
186
+ info('正在注册插件到 Claude Code...');
187
+ try {
188
+ const installedPlugins = readInstalledPlugins();
189
+ const pluginKey = `${PLUGIN_NAME}@local`;
190
+ const now = new Date().toISOString();
191
+ // 创建插件条目
192
+ const pluginEntry = {
193
+ scope: 'user',
194
+ installPath: PLUGIN_DIR,
195
+ version: VERSION,
196
+ installedAt: now,
197
+ lastUpdated: now,
198
+ isLocal: true
199
+ };
200
+ // 检查是否已存在
201
+ if (installedPlugins.plugins[pluginKey]) {
202
+ // 更新现有条目
203
+ installedPlugins.plugins[pluginKey] = [pluginEntry];
204
+ info(`已更新插件注册: ${pluginKey} v${VERSION}`);
205
+ }
206
+ else {
207
+ // 新增条目
208
+ installedPlugins.plugins[pluginKey] = [pluginEntry];
209
+ info(`已注册新插件: ${pluginKey} v${VERSION}`);
210
+ }
211
+ writeInstalledPlugins(installedPlugins);
212
+ success('插件已注册到 Claude Code');
213
+ info(`注册路径: ${INSTALLED_PLUGINS_PATH}`);
214
+ return true;
215
+ }
216
+ catch (err) {
217
+ error(`插件注册失败: ${err instanceof Error ? err.message : 'Unknown error'}`);
218
+ warn('hooks 功能可能无法正常工作');
219
+ return false;
220
+ }
221
+ }
222
+ /**
223
+ * 从 Claude Code 的 installed_plugins.json 移除插件注册
224
+ */
225
+ export function unregisterPluginFromClaudeCode() {
226
+ info('正在从 Claude Code 移除插件注册...');
227
+ try {
228
+ if (!fs.existsSync(INSTALLED_PLUGINS_PATH)) {
229
+ info('installed_plugins.json 不存在,跳过移除');
230
+ return true;
231
+ }
232
+ const installedPlugins = readInstalledPlugins();
233
+ const pluginKey = `${PLUGIN_NAME}@local`;
234
+ if (installedPlugins.plugins[pluginKey]) {
235
+ delete installedPlugins.plugins[pluginKey];
236
+ writeInstalledPlugins(installedPlugins);
237
+ success('已从 Claude Code 移除插件注册');
238
+ }
239
+ else {
240
+ info('插件未注册,跳过移除');
241
+ }
242
+ return true;
243
+ }
244
+ catch (err) {
245
+ error(`移除插件注册失败: ${err instanceof Error ? err.message : 'Unknown error'}`);
246
+ return false;
247
+ }
248
+ }
151
249
  //# sourceMappingURL=plugin-installer.js.map
@@ -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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"}
@@ -52,9 +52,19 @@ send_windows_notification() {
52
52
  local message="$2"
53
53
  local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
54
54
 
55
+ # 将 Git Bash 路径转换为 Windows 路径
56
+ # /d/projects/... -> D:/projects/...
57
+ local win_script_dir
58
+ if command -v cygpath > /dev/null 2>&1; then
59
+ win_script_dir=$(cygpath -w "$script_dir")
60
+ else
61
+ # 手动转换: /c/path -> C:/path
62
+ win_script_dir=$(echo "$script_dir" | sed 's|^/\([a-zA-Z]\)/|\1:/|')
63
+ fi
64
+
55
65
  # 使用专用 PowerShell 脚本
56
66
  if [ -f "$script_dir/notify-windows.ps1" ]; then
57
- powershell.exe -ExecutionPolicy Bypass -File "$script_dir/notify-windows.ps1" -Title "$title" -Message "$message" 2>/dev/null && return
67
+ powershell.exe -ExecutionPolicy Bypass -File "$win_script_dir/notify-windows.ps1" -Title "$title" -Message "$message" 2>/dev/null && return
58
68
  fi
59
69
 
60
70
  # 回退方案:使用 BalloonTip
@@ -17,13 +17,51 @@ mkdir -p "$UPDATE_CACHE" 2>/dev/null
17
17
  PACKAGE_NAME="claude-pangu"
18
18
  GITHUB_REPO="ZDragon17/oh-my-claude"
19
19
  CHECK_INTERVAL_HOURS="${OH_MY_CLAUDE_UPDATE_CHECK_INTERVAL:-24}"
20
- AUTO_UPDATE="${OH_MY_CLAUDE_AUTO_UPDATE:-false}"
20
+ AUTO_UPDATE="${OH_MY_CLAUDE_AUTO_UPDATE:-true}" # 默认开启自动更新
21
21
 
22
22
  # 日志函数
23
23
  log() {
24
24
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> "$UPDATE_LOG"
25
25
  }
26
26
 
27
+ # ==================== 安装检测 ====================
28
+
29
+ # 检测插件是否已安装
30
+ is_plugin_installed() {
31
+ # 1. 检查全局 npm 安装
32
+ if command -v npm &> /dev/null; then
33
+ if npm list -g "$PACKAGE_NAME" &>/dev/null 2>&1; then
34
+ log "检测到全局 npm 安装"
35
+ return 0
36
+ fi
37
+ fi
38
+
39
+ # 2. 检查 Claude 插件目录
40
+ local plugin_dir="$HOME/.claude/plugins/oh-my-claude"
41
+ if [ -d "$plugin_dir" ] && [ -f "$plugin_dir/.claude-plugin/plugin.json" ]; then
42
+ log "检测到插件目录安装"
43
+ return 0
44
+ fi
45
+
46
+ # 3. 检查当前脚本是否在 node_modules 中运行(npx 方式)
47
+ local script_path=$(readlink -f "$0" 2>/dev/null || echo "$0")
48
+ if echo "$script_path" | grep -q "node_modules"; then
49
+ log "检测到 npx/node_modules 安装"
50
+ return 0
51
+ fi
52
+
53
+ # 4. 检查当前是否在 oh-my-claude 项目目录运行
54
+ local script_dir=$(dirname "$script_path")
55
+ local pkg_json="$script_dir/../package.json"
56
+ if [ -f "$pkg_json" ] && grep -q '"name":\s*"claude-pangu"' "$pkg_json" 2>/dev/null; then
57
+ log "检测到本地开发环境"
58
+ return 0
59
+ fi
60
+
61
+ log "未检测到插件安装"
62
+ return 1
63
+ }
64
+
27
65
  # ==================== 版本检查 ====================
28
66
 
29
67
  # 获取当前安装版本
@@ -276,9 +314,120 @@ show_update_history() {
276
314
 
277
315
  # ==================== 自动更新逻辑 ====================
278
316
 
317
+ # 后台静默更新(非阻塞)
318
+ background_update() {
319
+ local current="$1"
320
+ local latest="$2"
321
+
322
+ # 创建后台更新脚本
323
+ local bg_script="$UPDATE_CACHE/background-update-$$.sh"
324
+
325
+ cat > "$bg_script" << 'BGEOF'
326
+ #!/bin/bash
327
+ LOG_FILE="$1"
328
+ PACKAGE="$2"
329
+ CURRENT="$3"
330
+ LATEST="$4"
331
+ DONE_FILE="$5"
332
+
333
+ log_bg() {
334
+ echo "[$(date '+%Y-%m-%d %H:%M:%S')] [BG] $*" >> "$LOG_FILE"
335
+ }
336
+
337
+ log_bg "后台更新开始: $CURRENT → $LATEST"
338
+
339
+ if npm update -g "$PACKAGE" >> "$LOG_FILE" 2>&1; then
340
+ log_bg "后台更新成功"
341
+ echo "success" > "$DONE_FILE"
342
+ else
343
+ log_bg "后台更新失败"
344
+ echo "failed" > "$DONE_FILE"
345
+ fi
346
+ BGEOF
347
+
348
+ chmod +x "$bg_script"
349
+
350
+ # 后台执行,不阻塞当前进程
351
+ local done_file="$UPDATE_CACHE/update-done-$$.txt"
352
+ nohup "$bg_script" "$UPDATE_LOG" "$PACKAGE_NAME" "$current" "$latest" "$done_file" > /dev/null 2>&1 &
353
+
354
+ log "后台更新已启动 (PID: $!)"
355
+
356
+ # 保存更新状态
357
+ echo "$!" > "$UPDATE_CACHE/update-pid.txt"
358
+ echo "$latest" > "$UPDATE_CACHE/updating-to.txt"
359
+ }
360
+
361
+ # 检查后台更新是否完成
362
+ check_background_update_result() {
363
+ local pid_file="$UPDATE_CACHE/update-pid.txt"
364
+ local target_file="$UPDATE_CACHE/updating-to.txt"
365
+
366
+ if [ ! -f "$pid_file" ]; then
367
+ return 1
368
+ fi
369
+
370
+ local pid=$(cat "$pid_file" 2>/dev/null)
371
+ local done_file="$UPDATE_CACHE/update-done-${pid}.txt"
372
+
373
+ # 检查进程是否还在运行
374
+ if kill -0 "$pid" 2>/dev/null; then
375
+ # 仍在更新中
376
+ return 2
377
+ fi
378
+
379
+ # 进程已结束,检查结果
380
+ if [ -f "$done_file" ]; then
381
+ local result=$(cat "$done_file")
382
+ local target=$(cat "$target_file" 2>/dev/null)
383
+
384
+ # 清理状态文件
385
+ rm -f "$pid_file" "$target_file" "$done_file" 2>/dev/null
386
+
387
+ if [ "$result" = "success" ]; then
388
+ echo ""
389
+ echo "---"
390
+ echo "✅ oh-my-claude 后台更新完成! 版本: $target"
391
+ echo "---"
392
+ echo ""
393
+ log "后台更新完成通知已显示"
394
+ return 0
395
+ else
396
+ echo ""
397
+ echo "---"
398
+ echo "⚠️ oh-my-claude 后台更新失败"
399
+ echo " 请手动执行: npm update -g $PACKAGE_NAME"
400
+ echo "---"
401
+ echo ""
402
+ return 1
403
+ fi
404
+ fi
405
+
406
+ return 1
407
+ }
408
+
279
409
  # 自动检查更新(静默)
280
410
  auto_check_update() {
281
- # 检查是否需要检查
411
+ # 首先检查之前的后台更新是否完成
412
+ check_background_update_result
413
+
414
+ # 检查插件是否安装
415
+ if ! is_plugin_installed; then
416
+ log "插件未安装,跳过更新检查"
417
+ return 0
418
+ fi
419
+
420
+ # 检查是否有正在进行的后台更新
421
+ local pid_file="$UPDATE_CACHE/update-pid.txt"
422
+ if [ -f "$pid_file" ]; then
423
+ local pid=$(cat "$pid_file" 2>/dev/null)
424
+ if kill -0 "$pid" 2>/dev/null; then
425
+ log "后台更新正在进行中 (PID: $pid),跳过本次检查"
426
+ return 0
427
+ fi
428
+ fi
429
+
430
+ # 检查是否需要检查(时间间隔)
282
431
  if ! should_check_update; then
283
432
  return 0
284
433
  fi
@@ -296,15 +445,30 @@ auto_check_update() {
296
445
 
297
446
  save_update_state "$current" "$latest" "$status"
298
447
 
299
- # 如果有更新,显示提示
448
+ # 如果有更新
300
449
  if [ "$status" = "outdated" ]; then
301
- echo ""
302
- echo "---"
303
- echo "🔔 oh-my-claude 有新版本可用!"
304
- echo " 当前: $current → 最新: $latest"
305
- echo " 更新: npm update -g $PACKAGE_NAME"
306
- echo "---"
307
- echo ""
450
+ if [ "$AUTO_UPDATE" = "true" ]; then
451
+ # 自动更新模式:后台静默更新(非阻塞)
452
+ echo ""
453
+ echo "---"
454
+ echo "🔄 oh-my-claude 发现新版本: $current $latest"
455
+ echo " 正在后台自动更新,不影响当前操作..."
456
+ echo "---"
457
+ echo ""
458
+
459
+ # 启动后台更新
460
+ background_update "$current" "$latest"
461
+ else
462
+ # 非自动更新模式:只显示提示
463
+ echo ""
464
+ echo "---"
465
+ echo "🔔 oh-my-claude 有新版本可用!"
466
+ echo " 当前: $current → 最新: $latest"
467
+ echo " 更新: npm update -g $PACKAGE_NAME"
468
+ echo " (设置 OH_MY_CLAUDE_AUTO_UPDATE=true 启用自动更新)"
469
+ echo "---"
470
+ echo ""
471
+ fi
308
472
  fi
309
473
  }
310
474
 
@@ -327,11 +491,19 @@ show_help() {
327
491
  echo ""
328
492
  echo "📋 配置:"
329
493
  echo " 检查间隔: $CHECK_INTERVAL_HOURS 小时"
330
- echo " 自动更新: $AUTO_UPDATE"
494
+ echo " 自动更新: $AUTO_UPDATE (默认开启)"
331
495
  echo ""
332
496
  echo "📋 环境变量:"
333
- echo " OH_MY_CLAUDE_UPDATE_CHECK_INTERVAL=24"
334
- echo " OH_MY_CLAUDE_AUTO_UPDATE=false"
497
+ echo " OH_MY_CLAUDE_UPDATE_CHECK_INTERVAL=24 # 检查间隔(小时)"
498
+ echo " OH_MY_CLAUDE_AUTO_UPDATE=true # 自动更新开关"
499
+ echo ""
500
+ echo "📋 自动更新说明:"
501
+ echo " • 启动时自动检测插件是否安装"
502
+ echo " • 已安装且有新版本:后台自动更新(非阻塞)"
503
+ echo " • 更新在后台执行,不影响当前操作"
504
+ echo " • 下次启动时会显示更新结果"
505
+ echo " • 未安装:静默跳过"
506
+ echo " • 禁用自动更新: export OH_MY_CLAUDE_AUTO_UPDATE=false"
335
507
  echo "---"
336
508
  }
337
509
 
@@ -49,15 +49,25 @@ function Send-NativeToast {
49
49
  param($Title, $Message)
50
50
 
51
51
  try {
52
+ # 确保 AppId 已注册 (首次运行时注册)
53
+ $appId = "oh-my-claude"
54
+ $regPath = "HKCU:\SOFTWARE\Classes\AppUserModelId\$appId"
55
+
56
+ if (-not (Test-Path $regPath)) {
57
+ New-Item -Path $regPath -Force | Out-Null
58
+ New-ItemProperty -Path $regPath -Name "DisplayName" -Value "oh-my-claude" -PropertyType String -Force | Out-Null
59
+ New-ItemProperty -Path $regPath -Name "ShowInSettings" -Value 0 -PropertyType DWord -Force | Out-Null
60
+ }
61
+
52
62
  [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
53
63
  [Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null
54
64
 
55
65
  $template = @"
56
66
  <toast>
57
67
  <visual>
58
- <binding template="ToastText02">
59
- <text id="1">$Title</text>
60
- <text id="2">$Message</text>
68
+ <binding template="ToastGeneric">
69
+ <text>$Title</text>
70
+ <text>$Message</text>
61
71
  </binding>
62
72
  </visual>
63
73
  <audio src="ms-winsoundevent:Notification.Default"/>
@@ -68,10 +78,17 @@ function Send-NativeToast {
68
78
  $xml.LoadXml($template)
69
79
 
70
80
  $toast = [Windows.UI.Notifications.ToastNotification]::new($xml)
71
- $notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("oh-my-claude")
81
+ $notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($appId)
72
82
  $notifier.Show($toast)
73
83
  return $true
74
- } catch {}
84
+ } catch {
85
+ # 如果注册失败,尝试使用 PowerShell 的 AppId
86
+ try {
87
+ $notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe")
88
+ $notifier.Show($toast)
89
+ return $true
90
+ } catch {}
91
+ }
75
92
  return $false
76
93
  }
77
94
 
@@ -11,8 +11,22 @@
11
11
  # 优化:支持无 jq 时的降级方案
12
12
  # ============================================================================
13
13
 
14
+ # 调试日志(默认关闭,需要时可通过环境变量启用)
15
+ DEBUG_LOG="${HOME}/.oh-my-claude/logs/progress-notifier-debug.log"
16
+ DEBUG_ENABLED="${OH_MY_CLAUDE_DEBUG:-false}"
17
+
18
+ debug_log() {
19
+ if [ "$DEBUG_ENABLED" = "true" ]; then
20
+ mkdir -p "$(dirname "$DEBUG_LOG")" 2>/dev/null
21
+ echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> "$DEBUG_LOG"
22
+ fi
23
+ }
24
+
25
+ debug_log "=== progress-notifier.sh started ==="
26
+
14
27
  # 加载去重库(如果存在)
15
28
  SCRIPT_DIR="$(cd "$(dirname "$0")" 2>/dev/null && pwd)"
29
+ debug_log "SCRIPT_DIR: $SCRIPT_DIR"
16
30
  if [ -f "$SCRIPT_DIR/lib/message-dedup.sh" ]; then
17
31
  . "$SCRIPT_DIR/lib/message-dedup.sh"
18
32
  USE_DEDUP=1
@@ -35,8 +49,12 @@ safe_printf() {
35
49
  # 读取 stdin 中的 JSON 数据(带错误保护)
36
50
  input=$(cat 2>/dev/null) || input=""
37
51
 
52
+ debug_log "Input received, length: ${#input}"
53
+ debug_log "Input content (first 200 chars): $(echo "$input" | head -c 200)"
54
+
38
55
  # 如果输入为空,静默退出
39
56
  if [ -z "$input" ]; then
57
+ debug_log "Empty input, exiting"
40
58
  exit 0
41
59
  fi
42
60
 
@@ -52,30 +70,29 @@ fi
52
70
  # 无 jq 时的降级解析函数
53
71
  # ============================================================================
54
72
 
55
- # 简单的 JSON 值提取(纯 shell 实现)
73
+ # 简单的 JSON 值提取(纯 shell 实现,Windows 兼容)
56
74
  extract_json_value() {
57
75
  local json="$1"
58
76
  local key="$2"
59
- # 尝试匹配 "key": "value" "key": value
60
- echo "$json" | sed -n "s/.*\"$key\"[[:space:]]*:[[:space:]]*\"\{0,1\}\([^\",:}]*\)\"\{0,1\}.*/\1/p" | head -1
77
+ # 使用 grep -E (扩展正则) + sed 组合,更好的跨平台兼容性
78
+ echo "$json" | grep -oE "\"$key\" *: *\"[^\"]+\"" | head -1 | sed "s/\"$key\" *: *\"//;s/\"$//"
61
79
  }
62
80
 
63
81
  # 统计 JSON 数组中特定状态的数量(纯 shell 实现)
64
82
  count_status() {
65
83
  local json="$1"
66
84
  local status="$2"
67
- # 计算 "status": "xxx" 出现的次数
68
- echo "$json" | grep -o "\"status\"[[:space:]]*:[[:space:]]*\"$status\"" | wc -l | tr -d ' '
85
+ # 计算 "status": "xxx" 出现的次数,使用 grep -E
86
+ echo "$json" | grep -oE "\"status\" *: *\"$status\"" | wc -l | tr -d ' '
69
87
  }
70
88
 
71
89
  # 提取当前进行中的任务内容(纯 shell 实现)
72
90
  extract_current_task() {
73
91
  local json="$1"
74
- # 查找 in_progress 状态附近的 content
75
- # 这是一个简化的实现,可能不够精确但足够使用
76
- echo "$json" | grep -B2 '"status"[[:space:]]*:[[:space:]]*"in_progress"' | \
77
- grep -o '"content"[[:space:]]*:[[:space:]]*"[^"]*"' | \
78
- sed 's/.*"content"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/' | head -1
92
+ # 查找 in_progress 状态附近的 content,使用 grep -E
93
+ echo "$json" | grep -B2 '"status" *: *"in_progress"' | \
94
+ grep -oE '"content" *: *"[^"]+"' | \
95
+ sed 's/"content" *: *"//;s/"$//' | head -1
79
96
  }
80
97
 
81
98
  # ============================================================================
@@ -93,9 +110,12 @@ else
93
110
  fi
94
111
 
95
112
  # 只处理 TodoWrite 工具调用
113
+ debug_log "Extracted tool_name: [$tool_name]"
96
114
  if [ "$tool_name" != "TodoWrite" ]; then
115
+ debug_log "Not TodoWrite, exiting"
97
116
  exit 0
98
117
  fi
118
+ debug_log "Processing TodoWrite event"
99
119
 
100
120
  # 提取 todo 统计信息
101
121
  if [ "$HAS_JQ" -eq 1 ]; then
@@ -188,7 +208,11 @@ line2_escaped=$(escape_json "$progress_line2")
188
208
 
189
209
  # 输出 JSON(使用 hookSpecificOutput 确保 Claude 能看到并展示给用户)
190
210
  # systemMessage 用于直接显示给用户,additionalContext 用于 Claude 上下文
191
- printf '{"systemMessage":"\\n%s\\n%s\\n","hookSpecificOutput":{"hookEventName":"PostToolUse","additionalContext":"【任务进度】%s | %s"}}\n' \
192
- "$line1_escaped" "$line2_escaped" "$line1_escaped" "$line2_escaped"
211
+ output=$(printf '{"systemMessage":"\\n%s\\n%s\\n","hookSpecificOutput":{"hookEventName":"PostToolUse","additionalContext":"【任务进度】%s | %s"}}' \
212
+ "$line1_escaped" "$line2_escaped" "$line1_escaped" "$line2_escaped")
213
+
214
+ debug_log "Final output: $output"
215
+ printf '%s\n' "$output"
193
216
 
217
+ debug_log "=== progress-notifier.sh finished ==="
194
218
  exit 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-pangu",
3
- "version": "2.0.21",
3
+ "version": "2.0.23",
4
4
  "description": "基于中国传统文化的 Claude Code 智能编排插件 - A Claude Code plugin inspired by Chinese traditional culture (原名 oh-my-claude)",
5
5
  "keywords": [
6
6
  "claude-code",