jarvis-agent-factory 3.45.0 → 3.45.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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Jarvis Agent Factory · 贾维斯智能体工厂
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](./LICENSE)
4
- [![Version](https://img.shields.io/badge/version-v3.45.0-green)](https://github.com/Wjl1224734792/Jarvis-Agent-Factory/releases)
4
+ [![Version](https://img.shields.io/badge/version-v3.45.1-green)](https://github.com/Wjl1224734792/Jarvis-Agent-Factory/releases)
5
5
  [![npm](https://img.shields.io/npm/v/jarvis-agent-factory)](https://www.npmjs.com/package/jarvis-agent-factory)
6
6
  [![Visual Primitives MCP](https://img.shields.io/badge/DeepSeek-Visual%20Primitives%20MCP-purple)](https://github.com/Wjl1224734792/visual-primitives-mcp)
7
7
  <br>💡 **纯文本模型(如 DeepSeek)主力用户** → 搭配 [Visual Primitives MCP](https://github.com/Wjl1224734792/visual-primitives-mcp) 获得视觉理解能力
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jarvis-agent-factory",
3
- "version": "3.45.0",
3
+ "version": "3.45.1",
4
4
  "description": "Jarvis Agent Factory CLI — Claude Code 多智能体 AI 编程助手配置安装器 | Multi-agent AI coding assistant config installer for Claude Code",
5
5
  "keywords": [
6
6
  "jarvis",
@@ -114,27 +114,55 @@ function installHooks(platform, target, isGlobal) {
114
114
  }
115
115
  catch { }
116
116
  }
117
+ const snapshot = JSON.stringify(existing); // 变更前快照
118
+ // 合并 permissions.allow —— 从模板读取,与现有列表去重合并(只新增不删除)
119
+ const tmplSettingsPath = resolve(TEMPLATES_DIR, 'platforms', 'claude', 'settings.json');
120
+ let permAdded = 0;
121
+ if (existsSync(tmplSettingsPath)) {
122
+ try {
123
+ const tmplSettings = JSON.parse(readFileSync(tmplSettingsPath, 'utf-8'));
124
+ if (tmplSettings.permissions?.allow && Array.isArray(tmplSettings.permissions.allow)) {
125
+ if (!existing.permissions)
126
+ existing.permissions = {};
127
+ if (!existing.permissions.allow)
128
+ existing.permissions.allow = [];
129
+ const existingSet = new Set(existing.permissions.allow);
130
+ for (const entry of tmplSettings.permissions.allow) {
131
+ if (!existingSet.has(entry)) {
132
+ existing.permissions.allow.push(entry);
133
+ permAdded++;
134
+ }
135
+ }
136
+ }
137
+ }
138
+ catch { /* 模板解析失败不影响主流程 */ }
139
+ }
140
+ // 合并 hooks —— 保留用户自定义,补充系统必需的
141
+ let hookMerged = 0;
117
142
  if (!existing.hooks) {
118
143
  existing.hooks = hookJson;
119
- writeFileSync(file, JSON.stringify(existing, null, 2));
120
- console.log(' 🔗 hooks → .claude/settings.json');
144
+ hookMerged = Object.keys(hookJson).length;
121
145
  }
122
146
  else {
123
- // 已有 hooks:合并缺失项(保留用户自定义,补充系统必需的)
124
- let merged = false;
125
147
  for (const [key, val] of Object.entries(hookJson)) {
126
148
  if (!existing.hooks[key]) {
127
149
  existing.hooks[key] = val;
128
- merged = true;
150
+ hookMerged++;
129
151
  }
130
152
  }
131
- if (merged) {
132
- writeFileSync(file, JSON.stringify(existing, null, 2));
133
- console.log(' 🔗 hooks → .claude/settings.json (merged new keys)');
134
- }
135
- else {
136
- console.log(' ~ hooks already configured');
137
- }
153
+ }
154
+ // 单次写入:只有当实际有变更时才写文件
155
+ if (JSON.stringify(existing) !== snapshot) {
156
+ writeFileSync(file, JSON.stringify(existing, null, 2));
157
+ const parts = [];
158
+ if (permAdded > 0)
159
+ parts.push(`${permAdded} permissions`);
160
+ if (hookMerged > 0)
161
+ parts.push(`${hookMerged} hooks keys`);
162
+ console.log(` 🔗 ${parts.join(' + ')} → .claude/settings.json`);
163
+ }
164
+ else {
165
+ console.log(' ~ hooks & permissions already configured');
138
166
  }
139
167
  }
140
168
  if (platform === 'opencode') {
@@ -209,7 +237,7 @@ function installMcp(platform, target, force) {
209
237
  writeMcpJson(dest, content, force, t.file);
210
238
  }
211
239
  else {
212
- // Claude JSON: .mcp.json at project root — 使用共享模块
240
+ // Claude JSON: .mcp.json at project root — 深度合并所有 MCP server
213
241
  const dest = target ? resolve(target, t.file) : mcpGlobalDest(platform);
214
242
  const projectRoot = dirname(dest);
215
243
  if (!existsSync(projectRoot))
@@ -219,21 +247,23 @@ function installMcp(platform, target, force) {
219
247
  const existingConfig = readMcpConfig(projectRoot);
220
248
  if (existingConfig && !force) {
221
249
  const eKey = existingConfig.mcpServers ? 'mcpServers' : 'mcp';
222
- // 检查 jarvis-engine 是否已存在
223
- const existingServers = eKey === 'mcpServers'
224
- ? existingConfig.mcpServers
225
- : existingConfig[eKey];
226
- if (existingServers && existingServers['jarvis-engine']) {
250
+ const existingServers = existingConfig[eKey] || {};
251
+ // 深度合并:已有 server 保留用户配置,缺失的从模板添加,用户自定义的绝不删除
252
+ let added = 0;
253
+ for (const [serverName, serverConfig] of Object.entries(nJson[nKey] || {})) {
254
+ if (!existingServers[serverName]) {
255
+ existingServers[serverName] = serverConfig;
256
+ added++;
257
+ }
258
+ }
259
+ if (added > 0) {
260
+ existingConfig[eKey] = existingServers;
261
+ writeMcpConfig(projectRoot, existingConfig);
262
+ console.log(` ~ ${t.file.padEnd(22)} merged ${added} new MCP server(s)`);
263
+ }
264
+ else {
227
265
  console.log(` ~ ${t.file.padEnd(22)} already configured`);
228
- return;
229
266
  }
230
- // 合并:添加 jarvis-engine 到现有配置
231
- const merged = { ...existingConfig };
232
- if (!merged[eKey])
233
- merged[eKey] = {};
234
- merged[eKey]['jarvis-engine'] = nJson[nKey]['jarvis-engine'];
235
- writeMcpConfig(projectRoot, merged);
236
- console.log(` ~ ${t.file.padEnd(22)} merged jarvis-engine`);
237
267
  }
238
268
  else {
239
269
  // 新安装、force 覆盖、或原有文件 JSON 无效
@@ -242,30 +272,35 @@ function installMcp(platform, target, force) {
242
272
  }
243
273
  }
244
274
  }
245
- /** Write JSON MCP config; skip if exists and !force */
275
+ /** Write JSON MCP config; deep merge add missing servers, keep existing user configs */
246
276
  function writeMcpJson(dest, content, force, label) {
247
277
  const dir = dirname(dest);
248
278
  if (!existsSync(dir))
249
279
  mkdirSync(dir, { recursive: true });
250
280
  if (existsSync(dest) && !force) {
251
- // Check if content is different
252
281
  const existing = readFileSync(dest, 'utf-8');
253
282
  try {
254
283
  const eJson = JSON.parse(existing);
255
284
  const nJson = JSON.parse(content);
256
285
  const eKey = eJson.mcpServers ? 'mcpServers' : 'mcp';
257
286
  const nKey = nJson.mcpServers ? 'mcpServers' : 'mcp';
258
- // Check if jarvis-engine already exists in existing config
259
- if (eJson[eKey] && eJson[eKey]['jarvis-engine']) {
287
+ // 深度合并:逐个 server 检查,缺失则添加,已有则保留用户配置,用户自定义的绝不删除
288
+ const existingServers = eJson[eKey] || {};
289
+ let added = 0;
290
+ for (const [serverName, serverConfig] of Object.entries(nJson[nKey] || {})) {
291
+ if (!existingServers[serverName]) {
292
+ existingServers[serverName] = serverConfig;
293
+ added++;
294
+ }
295
+ }
296
+ if (added > 0) {
297
+ eJson[eKey] = existingServers;
298
+ writeFileSync(dest, JSON.stringify(eJson, null, 2) + '\n');
299
+ console.log(` ~ ${label.padEnd(22)} merged ${added} new MCP server(s)`);
300
+ }
301
+ else {
260
302
  console.log(` ~ ${label.padEnd(22)} already configured`);
261
- return;
262
303
  }
263
- // Merge: add jarvis-engine to existing
264
- if (!eJson[eKey])
265
- eJson[eKey] = {};
266
- eJson[eKey]['jarvis-engine'] = nJson[nKey]['jarvis-engine'];
267
- writeFileSync(dest, JSON.stringify(eJson, null, 2) + '\n');
268
- console.log(` ~ ${label.padEnd(22)} merged jarvis-engine`);
269
304
  return;
270
305
  }
271
306
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,260 @@
1
+ ---
2
+ name: debug
3
+ description: 调试诊断指令——D0收集信息→D1复现用例→D2调试会话→D3交互诊断→D4输出报告,5Gate诊断流程
4
+ model: deepseek-v4-pro
5
+ argument-hint: [异常描述或Bug报告]
6
+ allowed-tools: Read, Glob, Grep, Bash, Write, Edit, Skill
7
+ ---
8
+
9
+ # 调试诊断
10
+
11
+ 立即执行以下初始化步骤:
12
+
13
+ ## 步骤 0:加载技能 + 注册引擎
14
+ ```
15
+ Skill("behavioral-guidelines")
16
+ Skill("debugging-and-error-recovery")
17
+ ```
18
+
19
+ **引擎会话注册**(硬约束——引擎确保调试操作按 Gate 权限执行):
20
+ - `mcp__jarvis-engine__session_join({ platform: "claude", pipeline_type: "debug", task_name: "调试: <异常简述>" })`
21
+ - 每个 Gate 开始前调用 `mcp__jarvis-engine__pipeline_guide()` 获取当前 Gate 允许的操作
22
+ - D2/D3 阶段写调试代码前 `gate_check({ operation: "write_code" })`
23
+
24
+ 代码注释语言:遵从 `behavioral-guidelines` 准则 5(注释语言约定)。
25
+
26
+ ---
27
+
28
+ ## D0:收集异常信息
29
+
30
+ **Gate 检查条件**:异常描述已记录,日志/堆栈/环境信息已收集
31
+
32
+ ### 步骤
33
+ 1. 记录异常基本信息:
34
+ ```
35
+ ## 异常信息
36
+ - 异常类型:TypeError / RangeError / Panic / Segmentation Fault
37
+ - 异常消息:完整错误消息
38
+ - 发生时间:YYYY-MM-DD HH:MM
39
+ - 频率:必现 / 间歇性 / 偶发
40
+ ```
41
+
42
+ 2. 收集堆栈追踪:
43
+ ```
44
+ Error: Cannot read property 'name' of undefined
45
+ at UserService.getProfile (src/services/user.ts:42:18)
46
+ at UserController.profile (src/controllers/user.ts:15:10)
47
+ at Layer.handle (node_modules/express/...)
48
+ ```
49
+
50
+ 3. 收集日志证据:
51
+ ```bash
52
+ # 应用日志
53
+ tail -n 200 logs/app.log | grep -A 5 -B 5 "ERROR"
54
+
55
+ # 系统日志
56
+ journalctl -u myapp -n 100 --no-pager
57
+ ```
58
+
59
+ 4. 收集环境信息:
60
+ | 项目 | 值 |
61
+ |------|-----|
62
+ | Node.js 版本 | `node -v` |
63
+ | 操作系统 | `uname -a` |
64
+ | 依赖版本 | `npm ls <package>` |
65
+ | 数据库版本 | `psql --version` |
66
+ | 最近部署 | `git log --oneline -5` |
67
+
68
+ 5. 输出 `docs/debug/YYYY-MM-DD-error-collection.md`
69
+
70
+ **引擎推进**:`mcp__jarvis-engine__advance_gate({ gate: "D1" })`
71
+
72
+ ---
73
+
74
+ ## D1:生成最小复现用例
75
+
76
+ **Gate 检查条件**:最小复现用例已生成,可稳定复现异常
77
+
78
+ ### 步骤
79
+ 1. 从 D0 收集的信息出发,构建最小复现脚本:
80
+ ```javascript
81
+ // reproduce.js — 最小复现用例
82
+ const { getUser } = require('./src/services/user');
83
+
84
+ // Arrange: 构造触发异常的条件
85
+ const db = { users: { findById: () => null } }; // 模拟返回 null
86
+
87
+ // Act: 执行故障路径
88
+ try {
89
+ const result = getUser('non-existent-id', db);
90
+ console.log('UNEXPECTED: succeeded', result);
91
+ } catch (err) {
92
+ // Assert: 确认异常被触发
93
+ console.log('EXPECTED: exception thrown', err.message);
94
+ }
95
+ ```
96
+
97
+ 2. 验证复现稳定性:
98
+ - 连续运行 5 次,确认每次都能复现
99
+ - 如果无法 100% 复现 → 增加日志探针等待下次出现
100
+
101
+ 3. **复现成功标准**:
102
+ - 异常类型与 D0 一致
103
+ - 堆栈路径与 D0 匹配
104
+ - 触发条件明确可控
105
+
106
+ **引擎推进**:`mcp__jarvis-engine__advance_gate({ gate: "D2" })`
107
+
108
+ ---
109
+
110
+ ## D2:启动调试会话
111
+
112
+ **Gate 检查条件**:调试会话已启动,断点/日志已插入关键路径
113
+
114
+ ### 步骤
115
+ 1. 根据运行环境选择调试方式:
116
+
117
+ **Node.js 调试:**
118
+ ```bash
119
+ node --inspect-brk reproduce.js
120
+ # Chrome DevTools: chrome://inspect
121
+ ```
122
+
123
+ **VS Code 调试(launch.json):**
124
+ ```json
125
+ {
126
+ "type": "node",
127
+ "request": "launch",
128
+ "name": "Debug Reproduce",
129
+ "program": "${workspaceFolder}/reproduce.js",
130
+ "stopOnEntry": true
131
+ }
132
+ ```
133
+
134
+ **日志探针(无法使用调试器时):**
135
+ ```javascript
136
+ // 在关键路径插入临时日志
137
+ function getUser(id, db) {
138
+ console.log(`[DEBUG] getUser id=${id} db.users=${!!db.users}`);
139
+ const user = db.users.findById(id);
140
+ console.log(`[DEBUG] getUser result=${JSON.stringify(user)}`);
141
+ if (!user) throw new Error('...'); // 故障点
142
+ return user.profile; // D0 异常点
143
+ }
144
+ ```
145
+
146
+ 2. 在关键路径设置断点:
147
+ - 异常抛出点
148
+ - 数据转换点(输入 → 处理 → 输出)
149
+ - 条件分支入口
150
+
151
+ **引擎推进**:`mcp__jarvis-engine__advance_gate({ gate: "D3" })`
152
+
153
+ ---
154
+
155
+ ## D3:交互式诊断
156
+
157
+ **Gate 检查条件**:交互式诊断完成,根因已定位
158
+
159
+ ### 诊断方法
160
+
161
+ #### 方法 1:变量追踪
162
+ 在断点处检查:
163
+ - 变量值是否符合预期
164
+ - 类型是否正确(typeof / instanceof)
165
+ - 对象属性是否存在
166
+ - 异步状态是否已完成
167
+
168
+ #### 方法 2:调用链回溯
169
+ 从异常点向上回溯:
170
+ - 谁调用了这个函数?参数从哪来?
171
+ - 参数在传递过程中是否被修改?
172
+ - 中间件/拦截器是否改变了上下文?
173
+
174
+ #### 方法 3:二分排除(多变更时)
175
+ ```
176
+ 1. 找到"最后一次正常"和"第一次异常"的提交
177
+ 2. 取中间点,测试是否异常
178
+ 3. 如果异常 → 问题在前半段
179
+ 4. 如果正常 → 问题在后半段
180
+ 5. 重复直到定位到具体提交和文件
181
+ ```
182
+
183
+ #### 方法 4:状态差异分析
184
+ 对比正常路径和异常路径的状态差异:
185
+ | 状态变量 | 正常路径值 | 异常路径值 |
186
+ |---------|-----------|-----------|
187
+ | db.users | { findById: fn } | undefined |
188
+ | id | 'valid-id' | 'non-existent' |
189
+ | user | { profile: ... } | null |
190
+
191
+ ### 诊断结论模板
192
+ ```
193
+ ## 根因诊断
194
+ - 故障文件:src/services/user.ts:42
195
+ - 根因类型:空引用 / 类型错误 / 竞态条件 / 配置缺失
196
+ - 直接原因:db.users 在模块热重载后变为 undefined
197
+ - 触发条件:当 <具体条件> 时,<异常路径> 被执行
198
+ - 影响范围:所有调用 getUser() 的请求
199
+ ```
200
+
201
+ **引擎推进**:`mcp__jarvis-engine__advance_gate({ gate: "D4" })`
202
+
203
+ ---
204
+
205
+ ## D4:输出诊断报告
206
+
207
+ **Gate 检查条件**:诊断报告已产出,含根因分析+修复方案+预防建议
208
+
209
+ ### 步骤
210
+ 输出 `docs/debug/YYYY-MM-DD-debug-report.md`:
211
+ ```markdown
212
+ # 调试诊断报告
213
+ ## 异常概述
214
+ - 异常类型、消息、发生时间
215
+
216
+ ## D0 证据收集
217
+ - 堆栈追踪
218
+ - 日志摘录
219
+ - 环境信息
220
+
221
+ ## D1 复现用例
222
+ - 最小复现脚本(code block)
223
+ - 复现率:100% / 80%
224
+
225
+ ## D2 调试会话
226
+ - 调试方式:VS Code / Chrome DevTools / 日志探针
227
+ - 断点位置列表
228
+
229
+ ## D3 根因分析
230
+ - 故障文件:行号
231
+ - 根因类型
232
+ - 直接原因
233
+ - 触发条件
234
+ - 影响范围
235
+
236
+ ## 修复方案
237
+ - 具体修改方案
238
+ - 修复验证方式
239
+ - 回归测试建议
240
+
241
+ ## 预防建议
242
+ - [ ] 添加类型校验防止空引用
243
+ - [ ] 添加单元测试覆盖此边界
244
+ - [ ] 添加错误监控告警
245
+ ```
246
+
247
+ ## 清理
248
+ - 删除临时日志输出(如果有)
249
+ - 删除复现脚本(或保留为回归测试)
250
+ - 确认无遗留调试代码
251
+
252
+ ---
253
+
254
+ ## 红线
255
+ - D0 证据不全就开始假设根因(没有证据的诊断 = 猜测)
256
+ - 直接改代码碰运气("试试这样行不行"——先诊断再修复)
257
+ - 使用 `console.log` 代替结构化调试(临时日志容易遗漏,用断点更精确)
258
+ - 诊断过程中修改无关代码(调试是调查,不是修复)
259
+ - 不记录诊断过程(下次类似问题又要从头查)
260
+ - 不清除调试代码(残留的 console.log 污染日志/性能)