jarvis-agent-factory 4.4.0 → 4.4.2
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 +1 -0
- package/dist/package.json +1 -1
- package/dist/web/commands-reference.html +33 -32
- package/dist/web/guide.html +500 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -176,6 +176,7 @@ GITHUB_TOKEN=xxx # GitHub 个人访问令牌(sync-github-releases 需要
|
|
|
176
176
|
| 归档记录 | `#/archive` | 已归档运行记录 · 按任务名搜索过滤 · 恢复到看板 · 永久删除 |
|
|
177
177
|
| 智能体配置 | `#/agents` | MCP 接入指示 · Agent 搜索/筛选 · 模型/思考等级配置 · 文件同步 |
|
|
178
178
|
| 项目介绍 | `/commands-reference.html` | 项目概览 · 31条指令流程详解 · 71个Agent目录 · 流水线架构 · 使用推荐 |
|
|
179
|
+
| 操作指南 | `/guide.html` | 完整使用指南:架构原理 · 编排机制 · 15条流水线 · 31条指令 · 71个Agent · 场景推荐 |
|
|
179
180
|
|
|
180
181
|
侧边栏实时显示 Claude Code 的 MCP 连接状态:绿点 = 已接入,灰点 = 未接入。
|
|
181
182
|
|
package/dist/package.json
CHANGED
|
@@ -6,24 +6,24 @@
|
|
|
6
6
|
<title>Jarvis Agent Factory — 多智能体 AI 编程助手配置工厂</title>
|
|
7
7
|
<style>
|
|
8
8
|
:root {
|
|
9
|
-
--bg: #
|
|
10
|
-
--
|
|
11
|
-
--
|
|
9
|
+
--bg: #f8f9fb; --card: #fff; --border: #e2e8f0; --text: #334155; --muted: #64748b;
|
|
10
|
+
--accent: #2563eb; --green: #16a34a; --orange: #ea580c; --red: #dc2626;
|
|
11
|
+
--purple: #7c3aed; --cyan: #0891b2; --pink: #db2777; --heading: #0f172a;
|
|
12
12
|
}
|
|
13
13
|
* { box-sizing:border-box; margin:0; padding:0 }
|
|
14
|
-
body { background:var(--bg); color:var(--text); font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; max-width:1200px; margin:0 auto; padding:20px }
|
|
14
|
+
body { background:var(--bg); color:var(--text); font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif; max-width:1200px; margin:0 auto; padding:20px }
|
|
15
15
|
|
|
16
16
|
/* Hero */
|
|
17
17
|
.hero { text-align:center; padding:48px 0 32px; border-bottom:1px solid var(--border); margin-bottom:32px }
|
|
18
|
-
.hero h1 { font-size:36px; color
|
|
18
|
+
.hero h1 { font-size:36px; color:var(--heading); margin-bottom:8px; letter-spacing:-0.5px }
|
|
19
19
|
.hero .tagline { font-size:18px; color:var(--muted); margin-bottom:20px }
|
|
20
20
|
.hero .version { display:inline-block; background:var(--accent); color:#fff; border-radius:4px; padding:2px 10px; font-size:13px; font-weight:600 }
|
|
21
21
|
|
|
22
22
|
/* Stats row */
|
|
23
23
|
.stats { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin:24px 0 }
|
|
24
|
-
.stat { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:16px 28px; text-align:center; min-width:100px; transition:border-color .2s }
|
|
24
|
+
.stat { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:16px 28px; text-align:center; min-width:100px; transition:border-color .2s; box-shadow:0 1px 3px rgba(0,0,0,.04) }
|
|
25
25
|
.stat:hover { border-color:var(--accent) }
|
|
26
|
-
.stat .num { font-size:32px; font-weight:800; color
|
|
26
|
+
.stat .num { font-size:32px; font-weight:800; color:var(--heading); line-height:1.1 }
|
|
27
27
|
.stat .label { font-size:12px; color:var(--muted); margin-top:4px }
|
|
28
28
|
.stat.accent .num { color:var(--accent) }
|
|
29
29
|
.stat.green .num { color:var(--green) }
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
.stat.orange .num { color:var(--orange) }
|
|
32
32
|
|
|
33
33
|
/* Nav */
|
|
34
|
-
.nav { position:sticky; top:0; background:rgba(
|
|
35
|
-
.nav a { color:var(--
|
|
36
|
-
.nav a:hover { color:var(--accent); background
|
|
34
|
+
.nav { position:sticky; top:0; background:rgba(255,255,255,0.92); backdrop-filter:blur(8px); padding:12px 0; border-bottom:1px solid var(--border); margin-bottom:28px; z-index:10; display:flex; gap:10px; flex-wrap:wrap; justify-content:center }
|
|
35
|
+
.nav a { color:var(--muted); text-decoration:none; font-size:13px; padding:5px 12px; border-radius:6px; white-space:nowrap }
|
|
36
|
+
.nav a:hover { color:var(--accent); background:#eff6ff }
|
|
37
37
|
|
|
38
38
|
/* Section */
|
|
39
|
-
h2 { font-size:22px; color
|
|
39
|
+
h2 { font-size:22px; color:var(--heading); margin:40px 0 16px; padding-bottom:8px; border-bottom:2px solid var(--border); display:flex; align-items:center; gap:8px }
|
|
40
40
|
h2 .count { font-size:14px; color:var(--muted); font-weight:400 }
|
|
41
41
|
h3 { font-size:17px; color:var(--accent); margin:24px 0 10px }
|
|
42
|
-
h4 { font-size:15px; color
|
|
42
|
+
h4 { font-size:15px; color:var(--heading); margin:16px 0 8px }
|
|
43
43
|
|
|
44
44
|
/* Intro block */
|
|
45
45
|
.intro { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:20px 24px; margin:16px 0; line-height:1.8 }
|
|
46
|
-
.intro strong { color
|
|
47
|
-
.intro code { background
|
|
46
|
+
.intro strong { color:var(--heading) }
|
|
47
|
+
.intro code { background:#eff6ff; color:var(--accent); padding:1px 5px; border-radius:3px; font-size:13px }
|
|
48
48
|
|
|
49
49
|
/* Concept grid */
|
|
50
50
|
.concept-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; margin:12px 0 }
|
|
@@ -62,22 +62,22 @@
|
|
|
62
62
|
.cmd-card .cmd-flow { margin-top:8px; padding-top:8px; border-top:1px solid var(--border) }
|
|
63
63
|
.cmd-card .flow-step { display:flex; gap:6px; margin:3px 0; font-size:12px; align-items:baseline }
|
|
64
64
|
.cmd-card .flow-step .step-tag { background:var(--bg); border:1px solid var(--border); border-radius:3px; padding:0 5px; font-family:monospace; font-size:11px; white-space:nowrap; min-width:fit-content }
|
|
65
|
-
.cmd-card .flow-step .step-tag.green { color:var(--green); border-color
|
|
66
|
-
.cmd-card .flow-step .step-tag.orange { color:var(--orange); border-color
|
|
67
|
-
.cmd-card .flow-step .step-tag.accent { color:var(--accent); border-color
|
|
68
|
-
.cmd-card .flow-step .step-tag.red { color:var(--red); border-color
|
|
65
|
+
.cmd-card .flow-step .step-tag.green { color:var(--green); border-color:#bbf7d0 }
|
|
66
|
+
.cmd-card .flow-step .step-tag.orange { color:var(--orange); border-color:#fde68a }
|
|
67
|
+
.cmd-card .flow-step .step-tag.accent { color:var(--accent); border-color:#bfdbfe }
|
|
68
|
+
.cmd-card .flow-step .step-tag.red { color:var(--red); border-color:#fecaca }
|
|
69
69
|
.cmd-card .flow-step .step-desc { color:var(--muted) }
|
|
70
70
|
.cmd-card .agents { margin-top:8px; font-size:11px; color:var(--muted) }
|
|
71
71
|
.cmd-card .agents span { color:var(--purple) }
|
|
72
72
|
|
|
73
73
|
/* Tags */
|
|
74
74
|
.tag { display:inline-block; border-radius:4px; padding:1px 7px; font-size:11px; font-weight:500 }
|
|
75
|
-
.tag-blue { background
|
|
76
|
-
.tag-green { background
|
|
77
|
-
.tag-orange { background
|
|
78
|
-
.tag-purple { background
|
|
79
|
-
.tag-red { background
|
|
80
|
-
.tag-cyan { background
|
|
75
|
+
.tag-blue { background:#dbeafe; color:#1e40af }
|
|
76
|
+
.tag-green { background:#dcfce7; color:#166534 }
|
|
77
|
+
.tag-orange { background:#fef3c7; color:#92400e }
|
|
78
|
+
.tag-purple { background:#ede9fe; color:#5b21b6 }
|
|
79
|
+
.tag-red { background:#fee2e2; color:#991b1b }
|
|
80
|
+
.tag-cyan { background:#cffafe; color:#155e75 }
|
|
81
81
|
|
|
82
82
|
/* Agent table */
|
|
83
83
|
.agent-category { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:16px; margin:12px 0 }
|
|
@@ -88,23 +88,23 @@
|
|
|
88
88
|
|
|
89
89
|
/* Pipeline table */
|
|
90
90
|
.pipe-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:13px }
|
|
91
|
-
.pipe-table th { text-align:left; color:var(--accent); padding:10px 12px; border-bottom:2px solid var(--border); font-weight:600 }
|
|
91
|
+
.pipe-table th { text-align:left; color:var(--accent); padding:10px 12px; border-bottom:2px solid var(--border); font-weight:600; background:#f8fafc }
|
|
92
92
|
.pipe-table td { padding:8px 12px; border-bottom:1px solid var(--border) }
|
|
93
|
-
.pipe-table tr:hover { background
|
|
94
|
-
.pipe-table .pipe-name { font-family:monospace; color:var(--green) }
|
|
93
|
+
.pipe-table tr:hover { background:#f8fafc }
|
|
94
|
+
.pipe-table .pipe-name { font-family:monospace; color:var(--green); font-weight:600 }
|
|
95
95
|
|
|
96
96
|
/* Recommend */
|
|
97
97
|
.recommend { background:var(--card); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:0 8px 8px 0; padding:14px 18px; margin:10px 0; font-size:13px; line-height:1.7 }
|
|
98
|
-
.recommend.warn { border-left-color:var(--orange) }
|
|
99
|
-
.recommend.tip { border-left-color:var(--green) }
|
|
100
|
-
.recommend strong { color
|
|
98
|
+
.recommend.warn { border-left-color:var(--orange); background:#fff7ed }
|
|
99
|
+
.recommend.tip { border-left-color:var(--green); background:#f0fdf4 }
|
|
100
|
+
.recommend strong { color:var(--heading) }
|
|
101
101
|
|
|
102
102
|
/* Scenario grid */
|
|
103
103
|
.scenario-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:12px; margin:12px 0 }
|
|
104
104
|
.scenario-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:14px 16px }
|
|
105
105
|
.scenario-card h4 { margin:0 0 6px; font-size:14px }
|
|
106
106
|
.scenario-card p { font-size:12px; color:var(--muted); line-height:1.6 }
|
|
107
|
-
.scenario-card code { background
|
|
107
|
+
.scenario-card code { background:#eff6ff; color:var(--accent); padding:1px 5px; border-radius:3px; font-size:12px }
|
|
108
108
|
|
|
109
109
|
/* Footer */
|
|
110
110
|
.footer { text-align:center; color:var(--muted); font-size:12px; margin:40px 0 24px; padding-top:24px; border-top:1px solid var(--border) }
|
|
@@ -152,6 +152,7 @@
|
|
|
152
152
|
<a href="#skills">技能体系</a>
|
|
153
153
|
<a href="#scenarios">使用推荐</a>
|
|
154
154
|
<a href="#quickstart">快速开始</a>
|
|
155
|
+
<a href="guide.html" style="color:var(--green)">操作指南</a>
|
|
155
156
|
</nav>
|
|
156
157
|
|
|
157
158
|
<!-- ============================================================ -->
|
|
@@ -162,7 +163,7 @@
|
|
|
162
163
|
<div class="intro">
|
|
163
164
|
<p><strong>Jarvis Agent Factory</strong>(贾维斯智能体工厂)是一套面向 <strong>Claude Code</strong> 平台的多智能体配置工程。它将软件开发从"手动编码"提升为"编排驱动"——通过 31 条指令、71 个专业智能体、35 个技能和 15 条流水线,覆盖从需求澄清到发布上线的完整软件生命周期。</p>
|
|
164
165
|
<br>
|
|
165
|
-
<p>核心思路:<strong>FSM 硬约束闸门系统</strong>(Gate A→E)强制每个阶段完成必要产出后才能推进,确保工程严谨性;同时 <code>/auto</code>
|
|
166
|
+
<p>核心思路:<strong>FSM 硬约束闸门系统</strong>(Gate A→E)强制每个阶段完成必要产出后才能推进,确保工程严谨性;同时 <code>/auto</code> 智能路由自动检测任务类型并跳过无关闸门,兼顾日常效率。<strong>📖 <a href="guide.html" style="color:var(--accent)">查看完整操作指南 →</a></strong></p>
|
|
166
167
|
<br>
|
|
167
168
|
<p>安装方式:<code>npm i -g jarvis-agent-factory</code> → <code>jarvis init -y</code> → Claude Code 重启后引擎自动拉起。零原生依赖(Node 22.5+ 内置 node:sqlite),安装秒级完成。</p>
|
|
168
169
|
</div>
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Jarvis Agent Factory — 操作指南</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--bg: #f8f9fb; --card: #fff; --border: #e2e8f0; --text: #334155; --muted: #64748b;
|
|
10
|
+
--accent: #2563eb; --green: #16a34a; --orange: #ea580c; --red: #dc2626;
|
|
11
|
+
--purple: #7c3aed; --cyan: #0891b2; --pink: #db2777; --heading: #0f172a;
|
|
12
|
+
}
|
|
13
|
+
* { box-sizing:border-box; margin:0; padding:0 }
|
|
14
|
+
body { background:var(--bg); color:var(--text); font:15px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif; max-width:1100px; margin:0 auto; padding:24px }
|
|
15
|
+
|
|
16
|
+
.hero { text-align:center; padding:56px 0 40px; border-bottom:1px solid var(--border); margin-bottom:36px }
|
|
17
|
+
.hero h1 { font-size:40px; color:var(--heading); margin-bottom:12px; letter-spacing:-0.5px }
|
|
18
|
+
.hero .tagline { font-size:18px; color:var(--muted); margin-bottom:24px; line-height:1.7 }
|
|
19
|
+
.hero .version { display:inline-block; background:var(--accent); color:#fff; border-radius:4px; padding:3px 14px; font-size:14px; font-weight:600 }
|
|
20
|
+
|
|
21
|
+
.stats { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin:28px 0 }
|
|
22
|
+
.stat { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:18px 32px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.04) }
|
|
23
|
+
.stat .num { font-size:36px; font-weight:800; color:var(--heading); line-height:1.1 }
|
|
24
|
+
.stat .label { font-size:12px; color:var(--muted); margin-top:6px }
|
|
25
|
+
.stat.a .num { color:var(--accent) } .stat.g .num { color:var(--green) }
|
|
26
|
+
.stat.p .num { color:var(--purple) } .stat.o .num { color:var(--orange) }
|
|
27
|
+
|
|
28
|
+
.nav { position:sticky; top:0; background:rgba(255,255,255,0.92); backdrop-filter:blur(8px); padding:12px 0; border-bottom:1px solid var(--border); margin-bottom:32px; z-index:10; display:flex; gap:8px; flex-wrap:wrap; justify-content:center }
|
|
29
|
+
.nav a { color:var(--muted); text-decoration:none; font-size:13px; padding:5px 12px; border-radius:6px }
|
|
30
|
+
.nav a:hover { color:var(--accent); background:#eff6ff }
|
|
31
|
+
|
|
32
|
+
h2 { font-size:24px; color:var(--heading); margin:44px 0 18px; padding-bottom:10px; border-bottom:2px solid var(--border) }
|
|
33
|
+
h3 { font-size:18px; color:var(--accent); margin:28px 0 12px }
|
|
34
|
+
h4 { font-size:15px; color:var(--heading); margin:18px 0 8px }
|
|
35
|
+
|
|
36
|
+
p { margin:8px 0; color:var(--text); line-height:1.8 }
|
|
37
|
+
code { background:#eff6ff; color:var(--accent); padding:2px 6px; border-radius:3px; font-size:13px }
|
|
38
|
+
strong { color:var(--heading) }
|
|
39
|
+
|
|
40
|
+
.card { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:20px 24px; margin:14px 0; box-shadow:0 1px 3px rgba(0,0,0,.04) }
|
|
41
|
+
|
|
42
|
+
.section-desc { color:var(--muted); font-size:14px; margin-bottom:12px }
|
|
43
|
+
|
|
44
|
+
/* Gate flow */
|
|
45
|
+
.gate-flow { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:16px 0; font-size:12px }
|
|
46
|
+
.gate-flow .gate { padding:6px 10px; border-radius:5px; font-family:monospace; font-weight:600; white-space:nowrap }
|
|
47
|
+
.gate-flow .arrow { color:var(--muted); font-size:16px; font-weight:700 }
|
|
48
|
+
.gate-req { background:#dcfce7; color:#166534; border:1px solid #bbf7d0 }
|
|
49
|
+
.gate-design { background:#fef3c7; color:#92400e; border:1px solid #fde68a }
|
|
50
|
+
.gate-plan { background:#dbeafe; color:#1e40af; border:1px solid #bfdbfe }
|
|
51
|
+
.gate-impl { background:#ede9fe; color:#5b21b6; border:1px solid #ddd6fe }
|
|
52
|
+
.gate-qa { background:#fee2e2; color:#991b1b; border:1px solid #fecaca }
|
|
53
|
+
.gate-review { background:#cffafe; color:#155e75; border:1px solid #a5f3fc }
|
|
54
|
+
.gate-ship { background:#fce7f3; color:#9d174d; border:1px solid #fbcfe8 }
|
|
55
|
+
|
|
56
|
+
.pipe-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px }
|
|
57
|
+
.pipe-table th { text-align:left; color:var(--accent); padding:10px 12px; border-bottom:2px solid var(--border); font-weight:600; background:#f8fafc }
|
|
58
|
+
.pipe-table td { padding:9px 12px; border-bottom:1px solid var(--border); vertical-align:top }
|
|
59
|
+
.pipe-table tr:hover { background:#f8fafc }
|
|
60
|
+
.pipe-table .cmd { font-family:monospace; color:var(--green); white-space:nowrap; font-weight:600 }
|
|
61
|
+
.pipe-table .gates { font-family:monospace; font-size:12px; color:var(--text) }
|
|
62
|
+
|
|
63
|
+
.cmd-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:10px; margin:12px 0 }
|
|
64
|
+
.cmd-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:14px 16px; box-shadow:0 1px 2px rgba(0,0,0,.03) }
|
|
65
|
+
.cmd-card .cmd-name { font-size:15px; font-weight:700; color:var(--accent); font-family:monospace }
|
|
66
|
+
.cmd-card .cmd-desc { color:var(--muted); font-size:13px; margin-top:4px; line-height:1.6 }
|
|
67
|
+
.cmd-card .cmd-pipe { font-size:11px; color:var(--purple); margin-top:4px }
|
|
68
|
+
|
|
69
|
+
.tag { display:inline-block; border-radius:4px; padding:1px 8px; font-size:11px; font-weight:500 }
|
|
70
|
+
.tag-blue { background:#dbeafe; color:#1e40af }
|
|
71
|
+
.tag-green { background:#dcfce7; color:#166534 }
|
|
72
|
+
.tag-orange { background:#fef3c7; color:#92400e }
|
|
73
|
+
.tag-purple { background:#ede9fe; color:#5b21b6 }
|
|
74
|
+
.tag-red { background:#fee2e2; color:#991b1b }
|
|
75
|
+
.tag-cyan { background:#cffafe; color:#155e75 }
|
|
76
|
+
.tag-pink { background:#fce7f3; color:#9d174d }
|
|
77
|
+
|
|
78
|
+
.arch-diagram { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:28px; margin:18px 0; text-align:center; line-height:2.2; box-shadow:0 1px 3px rgba(0,0,0,.04) }
|
|
79
|
+
.arch-layer { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:8px 0 }
|
|
80
|
+
.arch-box { background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:10px 16px; min-width:100px }
|
|
81
|
+
.arch-box.user { border-color:#bfdbfe; color:var(--accent) }
|
|
82
|
+
.arch-box.engine { border-color:#bbf7d0; color:var(--green) }
|
|
83
|
+
.arch-box.agent { border-color:#ddd6fe; color:var(--purple) }
|
|
84
|
+
.arch-box.skill { border-color:#fde68a; color:var(--orange) }
|
|
85
|
+
.arch-box.doc { border-color:#fecaca; color:var(--red) }
|
|
86
|
+
|
|
87
|
+
.callout { border-left:3px solid var(--accent); padding:14px 18px; margin:14px 0; border-radius:0 8px 8px 0; background:#eff6ff; font-size:14px; line-height:1.8 }
|
|
88
|
+
.callout.green { border-left-color:var(--green); background:#f0fdf4 }
|
|
89
|
+
.callout.orange { border-left-color:var(--orange); background:#fff7ed }
|
|
90
|
+
|
|
91
|
+
.scenario-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:10px; margin:12px 0 }
|
|
92
|
+
.scenario-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:14px 16px; box-shadow:0 1px 2px rgba(0,0,0,.03) }
|
|
93
|
+
.scenario-card h4 { margin:0 0 6px; font-size:14px }
|
|
94
|
+
.scenario-card p { font-size:13px; color:var(--muted); line-height:1.6 }
|
|
95
|
+
.scenario-card code { font-size:12px }
|
|
96
|
+
|
|
97
|
+
.footer { text-align:center; color:var(--muted); font-size:12px; margin:48px 0 24px; padding-top:28px; border-top:1px solid var(--border) }
|
|
98
|
+
.footer a { color:var(--accent); text-decoration:none }
|
|
99
|
+
|
|
100
|
+
@media (max-width:768px) {
|
|
101
|
+
.cmd-grid,.scenario-grid { grid-template-columns:1fr }
|
|
102
|
+
.hero h1 { font-size:28px }
|
|
103
|
+
.stats { gap:8px } .stat { padding:12px 16px } .stat .num { font-size:26px }
|
|
104
|
+
}
|
|
105
|
+
</style>
|
|
106
|
+
</head>
|
|
107
|
+
<body>
|
|
108
|
+
|
|
109
|
+
<!-- ═══════════════════════════════════════ HERO -->
|
|
110
|
+
<div class="hero">
|
|
111
|
+
<h1>Jarvis Agent Factory</h1>
|
|
112
|
+
<div class="tagline">
|
|
113
|
+
多智能体 AI 编程助手配置工厂 — 从想法到交付的完整软件开发流水线<br>
|
|
114
|
+
<strong>仅支持 Claude Code</strong> · 31 指令 · 71 智能体 · 35 技能 · 15 流水线
|
|
115
|
+
</div>
|
|
116
|
+
<span class="version">v4.4.0</span>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div class="stats">
|
|
120
|
+
<div class="stat a"><div class="num">31</div><div class="label">指令 Commands</div></div>
|
|
121
|
+
<div class="stat g"><div class="num">71</div><div class="label">智能体 Agents</div></div>
|
|
122
|
+
<div class="stat p"><div class="num">35</div><div class="label">技能 Skills</div></div>
|
|
123
|
+
<div class="stat o"><div class="num">15</div><div class="label">流水线 Pipelines</div></div>
|
|
124
|
+
<div class="stat"><div class="num">62</div><div class="label">闸门 Gates</div></div>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<!-- ═══════════════════════════════════════ NAV -->
|
|
128
|
+
<nav class="nav">
|
|
129
|
+
<a href="#what">这是什么</a>
|
|
130
|
+
<a href="#quickstart">快速开始</a>
|
|
131
|
+
<a href="#architecture">架构</a>
|
|
132
|
+
<a href="#orchestration">编排原理</a>
|
|
133
|
+
<a href="#pipelines">流水线</a>
|
|
134
|
+
<a href="#commands">全部指令</a>
|
|
135
|
+
<a href="#agents">智能体</a>
|
|
136
|
+
<a href="#scenarios">场景推荐</a>
|
|
137
|
+
<a href="#doc-driven">文档驱动</a>
|
|
138
|
+
</nav>
|
|
139
|
+
|
|
140
|
+
<!-- ═══════════════════════════════════════ 1. WHAT -->
|
|
141
|
+
<h2 id="what">一、Jarvis 是什么</h2>
|
|
142
|
+
|
|
143
|
+
<div class="card">
|
|
144
|
+
<p><strong>Jarvis Agent Factory</strong>(贾维斯智能体工厂)是一套面向 <strong>Claude Code</strong> 平台的多智能体配置工程。它不是业务应用代码,而是<strong>配置 + 引擎</strong>——安装后,Claude Code 获得一套完整的 FSM(有限状态机)编排系统,将软件开发从"手动编码"升级为"编排驱动"。</p>
|
|
145
|
+
<ul style="margin:8px 0 0 20px; color:var(--text); line-height:2">
|
|
146
|
+
<li><strong>指令 = 流水线入口</strong>:输入 <code>/jarvis 做一个用户登录</code>,自动启动 13-Gate 工程流水线</li>
|
|
147
|
+
<li><strong>闸门不可绕过</strong>:引擎强制执行 Gate 权限表——Gate A 不能写代码,Gate E 不能再改实现</li>
|
|
148
|
+
<li><strong>Agent 按需 spawn</strong>:71 个 Agent 覆盖前端/后端/移动端/测试/审查/架构</li>
|
|
149
|
+
<li><strong>文档驱动</strong>:每个 Gate 产出结构化文档存入 <code>.jarvis/YYYY-MM-DD/</code></li>
|
|
150
|
+
<li><strong>零手动启动</strong>:MCP stdio 随 Claude Code 自动拉起引擎</li>
|
|
151
|
+
</ul>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<!-- ═══════════════════════════════════════ 2. QUICK START -->
|
|
155
|
+
<h2 id="quickstart">二、快速开始</h2>
|
|
156
|
+
|
|
157
|
+
<div class="card">
|
|
158
|
+
<p><strong>3 步开始:</strong></p>
|
|
159
|
+
<p>1. <code>npm i -g jarvis-agent-factory</code> — 安装 CLI(零原生依赖,Node 22.5+ 内置 node:sqlite)</p>
|
|
160
|
+
<p>2. <code>jarvis init -y</code> — 一键部署配置 + MCP + 钩子到当前项目</p>
|
|
161
|
+
<p>3. 重启 Claude Code → 引擎自动拉起 → 输入 <code>/auto 你的任务</code> 开始使用</p>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<div class="callout green">
|
|
165
|
+
<strong>不确定用什么指令?直接用 <code>/auto</code></strong>——自动检测 12 种任务类型 → 路由最优流水线 → 跳过无关 Gate → 按复杂度分配 Agent。<strong>99% 的情况用它就够了。</strong>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<!-- ═══════════════════════════════════════ 3. ARCHITECTURE -->
|
|
169
|
+
<h2 id="architecture">三、架构模型</h2>
|
|
170
|
+
|
|
171
|
+
<div class="arch-diagram">
|
|
172
|
+
<div style="color:var(--muted);font-size:13px;margin-bottom:8px">用户 → 指令 → 引擎 → Agent → 产物</div>
|
|
173
|
+
<div class="arch-layer">
|
|
174
|
+
<div class="arch-box user"><strong>用户输入</strong><br><span style="font-size:12px;color:var(--muted)">/jarvis "需求"</span></div>
|
|
175
|
+
<span style="font-size:20px;color:var(--muted)">→</span>
|
|
176
|
+
<div class="arch-box user"><strong>指令模板</strong><br><span style="font-size:12px;color:var(--muted)">31 条命令</span></div>
|
|
177
|
+
<span style="font-size:20px;color:var(--muted)">→</span>
|
|
178
|
+
<div class="arch-box engine"><strong>编排引擎</strong><br><span style="font-size:12px;color:var(--muted)">FSM + SQLite</span></div>
|
|
179
|
+
<span style="font-size:20px;color:var(--muted)">→</span>
|
|
180
|
+
<div class="arch-box agent"><strong>71 个 Agent</strong><br><span style="font-size:12px;color:var(--muted)">专业 spawn</span></div>
|
|
181
|
+
<span style="font-size:20px;color:var(--muted)">→</span>
|
|
182
|
+
<div class="arch-box skill"><strong>35 个 Skill</strong><br><span style="font-size:12px;color:var(--muted)">行为规范</span></div>
|
|
183
|
+
<span style="font-size:20px;color:var(--muted)">→</span>
|
|
184
|
+
<div class="arch-box doc"><strong>文档产物</strong><br><span style="font-size:12px;color:var(--muted)">.jarvis/日期/</span></div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
188
|
+
<div class="card">
|
|
189
|
+
<h4>引擎内部组件</h4>
|
|
190
|
+
<table class="pipe-table">
|
|
191
|
+
<tr><th style="width:140px">组件</th><th>职责</th></tr>
|
|
192
|
+
<tr><td><strong>MCP stdio 服务</strong></td><td>通过 MCP 协议与 Claude Code 通信,暴露 28 个编排工具</td></tr>
|
|
193
|
+
<tr><td><strong>FSM 闸门引擎</strong></td><td>强制执行 Gate 序列——跳过/回退一律拒绝</td></tr>
|
|
194
|
+
<tr><td><strong>SQLite WAL 数据库</strong></td><td>会话管理、流水线运行、SSE 事件日志、跨会话持久化</td></tr>
|
|
195
|
+
<tr><td><strong>REST API + Web 面板</strong></td><td>端口 3456,提供看板/Agent 配置/归档/指令列表</td></tr>
|
|
196
|
+
<tr><td><strong>SSE 实时推送</strong></td><td>Gate 进度、会话变更、运行状态实时推送到 Web 面板</td></tr>
|
|
197
|
+
<tr><td><strong>模板安装器 CLI</strong></td><td><code>jarvis init/upgrade</code> — Hash 对比增量更新,保护用户自定义</td></tr>
|
|
198
|
+
</table>
|
|
199
|
+
</div>
|
|
200
|
+
|
|
201
|
+
<!-- ═══════════════════════════════════════ 4. ORCHESTRATION -->
|
|
202
|
+
<h2 id="orchestration">四、编排原理</h2>
|
|
203
|
+
|
|
204
|
+
<div class="card">
|
|
205
|
+
<h4>核心概念</h4>
|
|
206
|
+
<p><strong>指令(Command)</strong>是用户交互入口。用户输入 <code>/jarvis</code> 并描述任务,编排者读取指令模板,按模板定义的步骤执行编排。</p>
|
|
207
|
+
<p><strong>流水线(Pipeline)</strong>是预定义的 Gate 序列。引擎通过 <code>PIPELINE_DEFS</code> 知道每条流水线有哪些 Gate、顺序、是否允许跳转。</p>
|
|
208
|
+
<p><strong>闸门(Gate)</strong>是 FSM 检查点。编排者调用 <code>gate_check</code> 验证操作权限,通过后 <code>gate_enforce</code> 记录检查点,然后 <code>advance_gate</code> 推进。</p>
|
|
209
|
+
<p><strong>Agent spawn</strong>在特定 Gate 发生——Gate B1 spawn 架构师,Gate C-impl spawn 实现 Agent。通过 <code>TeamCreate</code>(团队模式)或 <code>Agent</code> 工具(子智能体模式)调度。</p>
|
|
210
|
+
<p><strong>技能(Skill)</strong>是 Agent 的行为规范。每个 Agent 启动时调用 <code>Skill("behavioral-guidelines")</code> 加载行为准则。</p>
|
|
211
|
+
|
|
212
|
+
<div class="callout orange">
|
|
213
|
+
<strong>编排流程:</strong> 用户输入 → 指令模板加载 → <code>session_join</code> 注册 → <code>pipeline_guide</code> 获取指引 → <code>gate_check</code> 验证权限 → 执行工作 → <code>gate_enforce</code> 确认 → <code>advance_gate</code> 推进 → 重复直到最后 Gate
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<!-- ═══════════════════════════════════════ 5. PIPELINES -->
|
|
218
|
+
<h2 id="pipelines">五、流水线体系</h2>
|
|
219
|
+
|
|
220
|
+
<h3>5.1 标准流水线</h3>
|
|
221
|
+
<p class="section-desc">full / frontend / backend / lite 共用此 Gate 序列。每个 Gate 有严格的<strong>操作权限表</strong>——引擎强制执行,不可绕过。</p>
|
|
222
|
+
|
|
223
|
+
<div class="gate-flow" style="font-size:13px">
|
|
224
|
+
<span class="gate gate-req">Gate A<br><small>需求</small></span><span class="arrow">→</span>
|
|
225
|
+
<span class="gate gate-design">B-DDD<br><small>领域</small></span><span class="arrow">→</span>
|
|
226
|
+
<span class="gate gate-design">B-BDD<br><small>行为</small></span><span class="arrow">→</span>
|
|
227
|
+
<span class="gate gate-design">B-TDD<br><small>任务</small></span><span class="arrow">→</span>
|
|
228
|
+
<span class="gate gate-plan">B1<br><small>架构</small></span><span class="arrow">→</span>
|
|
229
|
+
<span class="gate gate-impl">Gate C<br><small>规划</small></span><span class="arrow">→</span>
|
|
230
|
+
<span class="gate gate-impl">C-impl<br><small>实现</small></span><span class="arrow">→</span>
|
|
231
|
+
<span class="gate gate-qa">C1<br><small>质量</small></span><span class="arrow">→</span>
|
|
232
|
+
<span class="gate gate-qa">C1.5<br><small>视觉</small></span><span class="arrow">→</span>
|
|
233
|
+
<span class="gate gate-review">C2<br><small>测试</small></span><span class="arrow">→</span>
|
|
234
|
+
<span class="gate gate-review">Gate D<br><small>评审</small></span><span class="arrow">→</span>
|
|
235
|
+
<span class="gate gate-ship">Gate E<br><small>发布</small></span>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<table class="pipe-table">
|
|
239
|
+
<tr><th style="width:100px">Gate</th><th style="width:80px">阶段</th><th>做什么</th><th>允许操作</th><th>禁止操作</th></tr>
|
|
240
|
+
<tr>
|
|
241
|
+
<td><strong>Gate A</strong></td><td><span class="tag tag-green">需求</span></td>
|
|
242
|
+
<td>需求澄清:产出 <strong>REQ-XXX 需求文档</strong>,5 维度评分。输出到 <code>.jarvis/YYYY-MM-DD/requirements/</code></td>
|
|
243
|
+
<td>read, write_doc</td><td>write_code, build, deploy</td>
|
|
244
|
+
</tr>
|
|
245
|
+
<tr>
|
|
246
|
+
<td><strong>B-DDD</strong></td><td><span class="tag tag-orange">设计</span></td>
|
|
247
|
+
<td>领域驱动分析:识别聚合根/实体/值对象/领域服务</td>
|
|
248
|
+
<td>read, write_doc</td><td>write_code, build, deploy</td>
|
|
249
|
+
</tr>
|
|
250
|
+
<tr>
|
|
251
|
+
<td><strong>B-BDD</strong></td><td><span class="tag tag-orange">设计</span></td>
|
|
252
|
+
<td>行为驱动场景:Gherkin Given/When/Then。纯技术逻辑可跳过</td>
|
|
253
|
+
<td>read, write_doc</td><td>write_code, build, deploy</td>
|
|
254
|
+
</tr>
|
|
255
|
+
<tr>
|
|
256
|
+
<td><strong>B-TDD</strong></td><td><span class="tag tag-orange">设计</span></td>
|
|
257
|
+
<td>测试驱动任务分解:TASK-XXX 映射 REQ-XXX,指定测试策略</td>
|
|
258
|
+
<td>read, write_doc</td><td>write_code, build, deploy</td>
|
|
259
|
+
</tr>
|
|
260
|
+
<tr>
|
|
261
|
+
<td><strong>Gate B1</strong></td><td><span class="tag tag-purple">架构</span></td>
|
|
262
|
+
<td>架构评审(条件性):spawn 对应架构师,产出评审报告</td>
|
|
263
|
+
<td>read, write_doc, sweep_arch</td><td>write_code, build, deploy</td>
|
|
264
|
+
</tr>
|
|
265
|
+
<tr>
|
|
266
|
+
<td><strong>Gate C</strong></td><td><span class="tag tag-blue">规划</span></td>
|
|
267
|
+
<td>planner 产出 <strong>parallel_batches</strong> 并行任务分组,决定 Team vs Subagent 调度</td>
|
|
268
|
+
<td>read, write_doc, spawn_impl</td><td>spawn_test, build, deploy</td>
|
|
269
|
+
</tr>
|
|
270
|
+
<tr>
|
|
271
|
+
<td><strong>C-impl</strong></td><td><span class="tag tag-purple">实现</span></td>
|
|
272
|
+
<td><strong>Team 模式</strong> spawn 多个实现 Agent 并行编码,产出 <code><TASK-ID>-completion.md</code></td>
|
|
273
|
+
<td>read, write_code, spawn_impl</td><td>spawn_test, build, deploy</td>
|
|
274
|
+
</tr>
|
|
275
|
+
<tr>
|
|
276
|
+
<td><strong>Gate C1</strong></td><td><span class="tag tag-red">质量</span></td>
|
|
277
|
+
<td><strong>Lint + Type-check + Build + Deps Audit</strong> 全部通过。不通过自动修复 ≤2 轮</td>
|
|
278
|
+
<td>read, lint, build, fix</td><td>spawn_impl, deploy, write_code</td>
|
|
279
|
+
</tr>
|
|
280
|
+
<tr>
|
|
281
|
+
<td><strong>C1.5</strong></td><td><span class="tag tag-red">视觉</span></td>
|
|
282
|
+
<td>视觉验证(条件性):截图对比。纯后端/算法任务可跳过</td>
|
|
283
|
+
<td>read, preview, fix</td><td>spawn_impl, deploy, write_code</td>
|
|
284
|
+
</tr>
|
|
285
|
+
<tr>
|
|
286
|
+
<td><strong>Gate C2</strong></td><td><span class="tag tag-cyan">测试</span></td>
|
|
287
|
+
<td>Team 模式 spawn 测试 Agent,最多 5 次重试,产出测试报告</td>
|
|
288
|
+
<td>read, spawn_test, fix</td><td>spawn_impl, deploy, write_code</td>
|
|
289
|
+
</tr>
|
|
290
|
+
<tr>
|
|
291
|
+
<td><strong>Gate D</strong></td><td><span class="tag tag-cyan">评审</span></td>
|
|
292
|
+
<td>Team 模式 spawn 审查 Agent,分级审查报告。修复后重检 ≤2 轮</td>
|
|
293
|
+
<td>read, review, audit, fix</td><td>spawn_impl, deploy, write_code</td>
|
|
294
|
+
</tr>
|
|
295
|
+
<tr>
|
|
296
|
+
<td><strong>Gate E</strong></td><td><span class="tag tag-pink">发布</span></td>
|
|
297
|
+
<td>质量重检 → 版本递增 → CHANGELOG → commit+tag+push → CI 自动发布</td>
|
|
298
|
+
<td>read, deploy, write_doc</td><td>write_code, spawn_impl, lint</td>
|
|
299
|
+
</tr>
|
|
300
|
+
</table>
|
|
301
|
+
|
|
302
|
+
<div class="callout">
|
|
303
|
+
<strong>关键设计:</strong>Gate 操作权限表是<strong>硬约束</strong>——引擎在 <code>gate_check</code> 时比对操作与当前 Gate 的允许列表,不匹配直接拒绝。Gate A 阶段无法写代码,Gate E 阶段无法改实现。这就是"规范驱动、文档驱动的严格工程化流水线"的技术基础。
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
<h3>5.2 全部 15 条流水线</h3>
|
|
307
|
+
|
|
308
|
+
<table class="pipe-table">
|
|
309
|
+
<tr><th>指令</th><th>流水线</th><th>Gate 序列</th><th style="width:50px">门数</th><th>适用场景</th></tr>
|
|
310
|
+
<tr><td class="cmd">/jarvis</td><td>full</td><td class="gates">A→B-DDD→B-BDD→B-TDD→B1→C→C-impl→C1→C1.5→C2→D→E</td><td>13</td><td>中大型功能开发,全部 Gate 强制执行</td></tr>
|
|
311
|
+
<tr><td class="cmd">/frontend</td><td>frontend</td><td class="gates">同上,C1.5 视觉验证强制,前端专属 Agent</td><td>13</td><td>前端开发,React/Vue/Angular</td></tr>
|
|
312
|
+
<tr><td class="cmd">/backend</td><td>backend</td><td class="gates">跳过 C1.5,后端专属 Agent</td><td>11</td><td>后端开发,API/数据库/业务逻辑</td></tr>
|
|
313
|
+
<tr><td class="cmd">/auto</td><td>lite</td><td class="gates">支持 gate_jump 跳过无关 Gate,智能路由</td><td>13</td><td>日常默认入口,99% 情况用它</td></tr>
|
|
314
|
+
<tr><td class="cmd">/mobile</td><td>frontend</td><td class="gates">同上,平台感知 Agent 选择(6 平台)</td><td>13</td><td>移动端/跨端开发</td></tr>
|
|
315
|
+
<tr><td class="cmd">/refactor</td><td>refactor</td><td class="gates">R1(边界)→R2(基线)→R3(重构)→R4(漂移检测)→R5(报告)</td><td>5</td><td>代码重构,失败自动回滚</td></tr>
|
|
316
|
+
<tr><td class="cmd">/hotfix</td><td>hotfix</td><td class="gates">H0(声明+审批)→H1(最小修复)→H2(验证+回滚)→H3(审计)</td><td>4</td><td>紧急故障恢复</td></tr>
|
|
317
|
+
<tr><td class="cmd">/migrate</td><td>migrate</td><td class="gates">M1(规则)→M2(迁移)→M3(编译)→M4(Lint修复)</td><td>4</td><td>框架升级、依赖替换</td></tr>
|
|
318
|
+
<tr><td class="cmd">/evaluate</td><td>evaluate</td><td class="gates">E0(标准)→E1(原型)→E2(指标)→E3(报告)</td><td>4</td><td>技术选型、方案对比</td></tr>
|
|
319
|
+
<tr><td class="cmd">/debug</td><td>debug</td><td class="gates">D0(信息)→D1(复现)→D2(调试)→D3(诊断)→D4(报告)</td><td>5</td><td>异常排查、根因定位</td></tr>
|
|
320
|
+
<tr><td class="cmd">/research</td><td>research</td><td class="gates">RS0(课题)→RS1(收集)→RS2(分析)→RS3(验证)→RS4(报告)</td><td>5</td><td>技术调研、方案研究</td></tr>
|
|
321
|
+
<tr><td class="cmd">/release</td><td>release</td><td class="gates">RL0(环境)→RL1(质量)→RL2(版本)→RL3(发布)→RL4(验证)</td><td>5</td><td>快速发布</td></tr>
|
|
322
|
+
<tr><td class="cmd">/ask</td><td>ask</td><td class="gates">K0(模式)→K1(收集)→K2(分析)→K3(产出)</td><td>4</td><td>需求探询 4 模式自适应</td></tr>
|
|
323
|
+
<tr><td class="cmd">/simplify</td><td>simplify</td><td class="gates">S0(分析)→S1(简化)→S2(回归)→S3(报告)</td><td>4</td><td>代码质量清理</td></tr>
|
|
324
|
+
<tr><td class="cmd">/trace</td><td>trace</td><td class="gates">T0(框架)→T1(假设2-5)→T2(证据)→T3(贝叶斯>70%)→T4(方案)</td><td>5</td><td>复杂根因因果追踪</td></tr>
|
|
325
|
+
<tr><td class="cmd">/improve</td><td>improve</td><td class="gates">IM0(目标)→IM1(研究)→IM2(计划)→IM3(执行)→IM4(迭代)</td><td>5</td><td>度量驱动迭代改进</td></tr>
|
|
326
|
+
</table>
|
|
327
|
+
|
|
328
|
+
<!-- ═══════════════════════════════════════ 6. COMMANDS -->
|
|
329
|
+
<h2 id="commands">六、全部 31 条指令</h2>
|
|
330
|
+
|
|
331
|
+
<h3>编排入口(2 条)</h3>
|
|
332
|
+
<div class="cmd-grid">
|
|
333
|
+
<div class="cmd-card">
|
|
334
|
+
<div class="cmd-name">/jarvis</div>
|
|
335
|
+
<div class="cmd-desc"><strong>全流程严格模式</strong> — 13 Gate 全部强制执行。从需求到发布的完整生命周期,适合中大型功能开发。</div>
|
|
336
|
+
<div class="cmd-pipe">流水线:full(13 Gate)</div>
|
|
337
|
+
</div>
|
|
338
|
+
<div class="cmd-card">
|
|
339
|
+
<div class="cmd-name">/auto <span class="tag tag-green">日常默认</span></div>
|
|
340
|
+
<div class="cmd-desc"><strong>智能路由模式</strong> — 自动检测 12 种任务类型→路由最优流水线→跳过无关 Gate→按复杂度分配 Team/Subagent。</div>
|
|
341
|
+
<div class="cmd-pipe">流水线:lite(支持 gate_jump)</div>
|
|
342
|
+
</div>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
345
|
+
<h3>平台开发(3 条)</h3>
|
|
346
|
+
<div class="cmd-grid">
|
|
347
|
+
<div class="cmd-card"><div class="cmd-name">/frontend</div><div class="cmd-desc">前端开发 — C1.5 视觉验证强制。使用 frontend 专属 Agent 组。</div><div class="cmd-pipe">流水线:frontend(13 Gate)</div></div>
|
|
348
|
+
<div class="cmd-card"><div class="cmd-name">/backend</div><div class="cmd-desc">后端开发 — 跳过 C1.5。使用 backend + database-architect 专属 Agent 组。</div><div class="cmd-pipe">流水线:backend(11 Gate)</div></div>
|
|
349
|
+
<div class="cmd-card"><div class="cmd-name">/mobile --platform=<name></div><div class="cmd-desc">移动端/跨端统一入口 — 支持 android/ios/flutter/expo/react-native/taro。C1.5 强制。</div><div class="cmd-pipe">流水线:frontend 变体(平台感知)</div></div>
|
|
350
|
+
</div>
|
|
351
|
+
|
|
352
|
+
<h3>需求与设计(3 条)</h3>
|
|
353
|
+
<div class="cmd-grid">
|
|
354
|
+
<div class="cmd-card"><div class="cmd-name">/ask</div><div class="cmd-desc"><strong>需求探询</strong> — 4 模式:Interview/Direct/Consensus/Review。含 5 维度评分矩阵。</div><div class="cmd-pipe">流水线:ask(K0→K1→K2→K3,4 Gate)</div></div>
|
|
355
|
+
<div class="cmd-card"><div class="cmd-name">/task-design --mode=ddd|bdd|tdd</div><div class="cmd-desc"><strong>任务分解(三合一)</strong> — 领域驱动/行为驱动/测试驱动。支持链式 ddd→bdd→tdd。</div><div class="cmd-pipe">对应:Gate B-DDD/B-BDD/B-TDD</div></div>
|
|
356
|
+
<div class="cmd-card"><div class="cmd-name">/research</div><div class="cmd-desc"><strong>深度研究</strong> — 5 阶段调研。证据矩阵+竞争假设评估。</div><div class="cmd-pipe">流水线:research(RS0→RS1→RS2→RS3→RS4,5 Gate)</div></div>
|
|
357
|
+
</div>
|
|
358
|
+
|
|
359
|
+
<h3>工程操作(8 条)</h3>
|
|
360
|
+
<div class="cmd-grid">
|
|
361
|
+
<div class="cmd-card"><div class="cmd-name">/refactor</div><div class="cmd-desc">代码重构安全网 — 定义边界→基线测试→执行重构→行为漂移检测→报告。失败自动回滚。</div><div class="cmd-pipe">refactor(R1→R2→R3→R4→R5,5 Gate)</div></div>
|
|
362
|
+
<div class="cmd-card"><div class="cmd-name">/hotfix</div><div class="cmd-desc">紧急热修复 — 声明+审批→最小化修复→快速验证+回滚→事后审计。</div><div class="cmd-pipe">hotfix(H0→H1→H2→H3,4 Gate)</div></div>
|
|
363
|
+
<div class="cmd-card"><div class="cmd-name">/migrate</div><div class="cmd-desc">框架迁移 — 定义规则→应用迁移→编译验证→自动修复 Lint ≤2 轮。</div><div class="cmd-pipe">migrate(M1→M2→M3→M4,4 Gate)</div></div>
|
|
364
|
+
<div class="cmd-card"><div class="cmd-name">/debug</div><div class="cmd-desc">调试诊断 — 收集信息→复现用例→调试会话→交互诊断→输出报告。</div><div class="cmd-pipe">debug(D0→D1→D2→D3→D4,5 Gate)</div></div>
|
|
365
|
+
<div class="cmd-card"><div class="cmd-name">/trace</div><div class="cmd-desc">贝叶斯因果追踪 — 问题框架→竞争假设(2-5)→证据收集→贝叶斯更新(>70%置信度)→方案。</div><div class="cmd-pipe">trace(T0→T1→T2→T3→T4,5 Gate)</div></div>
|
|
366
|
+
<div class="cmd-card"><div class="cmd-name">/evaluate</div><div class="cmd-desc">技术评估 — 定义标准→生成原型→收集指标→生成报告。适合技术选型、方案对比。</div><div class="cmd-pipe">evaluate(E0→E1→E2→E3,4 Gate)</div></div>
|
|
367
|
+
<div class="cmd-card"><div class="cmd-name">/simplify</div><div class="cmd-desc">代码简化 — 代码分析→简化执行→回归验证→报告产出。消除冗余和死代码。</div><div class="cmd-pipe">simplify(S0→S1→S2→S3,4 Gate)</div></div>
|
|
368
|
+
<div class="cmd-card"><div class="cmd-name">/improve</div><div class="cmd-desc">迭代改进 — 目标定义→研究分析→计划制定→执行验证→评估迭代。度量驱动持续改进。</div><div class="cmd-pipe">improve(IM0→IM1→IM2→IM3→IM4,5 Gate)</div></div>
|
|
369
|
+
</div>
|
|
370
|
+
|
|
371
|
+
<h3>发布与同步(2 条)</h3>
|
|
372
|
+
<div class="cmd-grid">
|
|
373
|
+
<div class="cmd-card"><div class="cmd-name">/release</div><div class="cmd-desc">快速发布 — 环境检测→质量门→版本递增→发布执行→发布验证。tag→CI→npm→GitHub Release。</div><div class="cmd-pipe">release(RL0→RL1→RL2→RL3→RL4,5 Gate)</div></div>
|
|
374
|
+
<div class="cmd-card"><div class="cmd-name">/publish</div><div class="cmd-desc">发布上线 — 轻量级发布入口,直接质量重检→版本递增→CHANGELOG→commit+tag+push。</div><div class="cmd-pipe">对应:Gate E 快速路径</div></div>
|
|
375
|
+
</div>
|
|
376
|
+
|
|
377
|
+
<h3>审查与测试(9 条)</h3>
|
|
378
|
+
<div class="cmd-grid">
|
|
379
|
+
<div class="cmd-card"><div class="cmd-name">/review</div><div class="cmd-desc">代码审查 — spawn 审查 Agent,产出分级审查报告(findings + 严重度)。</div><div class="cmd-pipe">对应:Gate D</div></div>
|
|
380
|
+
<div class="cmd-card"><div class="cmd-name">/review-fix</div><div class="cmd-desc">审查+修复 — 审查后自动修复,修复后重新质量验证 ≤2 轮。</div><div class="cmd-pipe">对应:Gate D + 自动修复循环</div></div>
|
|
381
|
+
<div class="cmd-card"><div class="cmd-name">/test-unit</div><div class="cmd-desc">单元测试 — 运行项目单元测试套件,覆盖率 ≥ 70%。</div><div class="cmd-pipe">对应:Gate C2</div></div>
|
|
382
|
+
<div class="cmd-card"><div class="cmd-name">/test-integration</div><div class="cmd-desc">集成测试 — 验证模块间协作和 API 契约。</div><div class="cmd-pipe">对应:Gate C2</div></div>
|
|
383
|
+
<div class="cmd-card"><div class="cmd-name">/test-e2e</div><div class="cmd-desc">端到端测试 — 模拟真实用户操作流程,浏览器自动化验证。</div><div class="cmd-pipe">对应:Gate C2</div></div>
|
|
384
|
+
<div class="cmd-card"><div class="cmd-name">/test-perf</div><div class="cmd-desc">性能测试 — 测量响应时间/吞吐量/资源消耗。</div><div class="cmd-pipe">对应:Gate C2</div></div>
|
|
385
|
+
<div class="cmd-card"><div class="cmd-name">/test-security</div><div class="cmd-desc">安全测试 — OWASP Top 10 漏洞检查、依赖安全审计。</div><div class="cmd-pipe">对应:Gate C2</div></div>
|
|
386
|
+
<div class="cmd-card"><div class="cmd-name">/browser</div><div class="cmd-desc">浏览器测试与探索 — Playwright 驱动。test-doc-writer→test-executor→remediation 文档驱动闭环。</div><div class="cmd-pipe">独立浏览器测试流程</div></div>
|
|
387
|
+
<div class="cmd-card"><div class="cmd-name">/consult --expert=<name></div><div class="cmd-desc">架构专家讨论 — 仅方案讨论,不进入流水线。支持 frontend-architect/backend-architect/algorithm-expert。</div><div class="cmd-pipe">不进入流水线(纯讨论)</div></div>
|
|
388
|
+
</div>
|
|
389
|
+
|
|
390
|
+
<h3>专用工具 + 流程管理(4 条)</h3>
|
|
391
|
+
<div class="cmd-grid">
|
|
392
|
+
<div class="cmd-card"><div class="cmd-name">/bug-fix</div><div class="cmd-desc">Bug 修复专用流程 — 分析根因→最小化修复→回归验证→修复报告。</div><div class="cmd-pipe">对应:full(轻量路径)</div></div>
|
|
393
|
+
<div class="cmd-card"><div class="cmd-name">/sync</div><div class="cmd-desc">配置同步 — Hash 对比增量更新,保护用户自定义。将 Jarvis 配置同步到目标项目。</div><div class="cmd-pipe">不进入流水线(CLI 操作)</div></div>
|
|
394
|
+
<div class="cmd-card"><div class="cmd-name">/skill-flow</div><div class="cmd-desc">会话流程导出 — 4 子命令:export/save/list/apply。一次执行、永久复用。</div><div class="cmd-pipe">不进入流水线(元操作)</div></div>
|
|
395
|
+
<div class="cmd-card"><div class="cmd-name">/cancel [--leave | --force]</div><div class="cmd-desc">取消流水线运行 — 中止活跃 run→aborted。默认保留会话;--leave 离开;--force 紧急清除。</div><div class="cmd-pipe">不进入流水线(会话管理)</div></div>
|
|
396
|
+
</div>
|
|
397
|
+
|
|
398
|
+
<!-- ═══════════════════════════════════════ 7. AGENTS -->
|
|
399
|
+
<h2 id="agents">七、71 个智能体</h2>
|
|
400
|
+
|
|
401
|
+
<div class="card">
|
|
402
|
+
<h4>实现类(25 个)<span style="font-weight:400;font-size:13px;color:var(--muted)"> — Gate C-impl spawn</span></h4>
|
|
403
|
+
<div style="display:flex;flex-wrap:wrap;gap:5px;margin-top:6px">
|
|
404
|
+
<span class="tag tag-purple">frontend-dev</span><span class="tag tag-purple">frontend-ui</span><span class="tag tag-purple">frontend-state</span>
|
|
405
|
+
<span class="tag tag-green">backend-dev</span><span class="tag tag-green">backend-api</span><span class="tag tag-green">backend-logic</span><span class="tag tag-green">backend-data</span>
|
|
406
|
+
<span class="tag tag-orange">android-dev/ui/state</span><span class="tag tag-blue">ios-dev/ui/state</span>
|
|
407
|
+
<span class="tag tag-cyan">flutter-dev/ui/state</span><span class="tag tag-red">expo-dev/ui/state</span>
|
|
408
|
+
<span class="tag tag-purple">react-native-dev/ui/state</span><span class="tag tag-green">taro-dev/ui/state</span>
|
|
409
|
+
</div>
|
|
410
|
+
</div>
|
|
411
|
+
<div class="card">
|
|
412
|
+
<h4>测试类(15 个)<span style="font-weight:400;font-size:13px;color:var(--muted)"> — Gate C2 spawn</span></h4>
|
|
413
|
+
<div style="display:flex;flex-wrap:wrap;gap:5px;margin-top:6px">
|
|
414
|
+
<span class="tag tag-red">frontend-test</span><span class="tag tag-red">backend-test</span>
|
|
415
|
+
<span class="tag tag-red">android/ios/flutter/taro/expo/react-native-test</span>
|
|
416
|
+
<span class="tag tag-red">browser-test</span><span class="tag tag-red">browser-use</span>
|
|
417
|
+
<span class="tag tag-red">e2e-test</span><span class="tag tag-red">perf-test</span><span class="tag tag-red">api-test</span>
|
|
418
|
+
<span class="tag tag-red">test-doc-writer</span><span class="tag tag-red">test-executor</span>
|
|
419
|
+
</div>
|
|
420
|
+
</div>
|
|
421
|
+
<div class="card">
|
|
422
|
+
<h4>审查类(16 个)<span style="font-weight:400;font-size:13px;color:var(--muted)"> — Gate D spawn</span></h4>
|
|
423
|
+
<div style="display:flex;flex-wrap:wrap;gap:5px;margin-top:6px">
|
|
424
|
+
<span class="tag tag-cyan">frontend/backend-review</span>
|
|
425
|
+
<span class="tag tag-cyan">android/ios/flutter/taro/expo/react-native-review</span>
|
|
426
|
+
<span class="tag tag-cyan">diff-review</span><span class="tag tag-cyan">project-review</span><span class="tag tag-cyan">perf-review</span>
|
|
427
|
+
<span class="tag tag-cyan">security-review</span><span class="tag tag-cyan">qa-review</span><span class="tag tag-cyan">change-review</span>
|
|
428
|
+
<span class="tag tag-cyan">review-only</span><span class="tag tag-cyan">review-fix-optimize</span>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
<div class="card">
|
|
432
|
+
<h4>规划/架构/支撑(15 个)</h4>
|
|
433
|
+
<div style="display:flex;flex-wrap:wrap;gap:5px;margin-top:6px">
|
|
434
|
+
<span class="tag tag-blue">planner</span><span class="tag tag-blue">task-design</span><span class="tag tag-blue">skill-assignment</span><span class="tag tag-blue">remediation-planner</span>
|
|
435
|
+
<span class="tag tag-orange">frontend-architect</span><span class="tag tag-orange">backend-architect</span><span class="tag tag-orange">database-architect</span><span class="tag tag-orange">algorithm-expert</span>
|
|
436
|
+
<span class="tag tag-purple">code-explore</span><span class="tag tag-purple">external-resource</span><span class="tag tag-purple">api-contract</span><span class="tag tag-purple">docs-engineer</span>
|
|
437
|
+
<span class="tag tag-purple">infra-deploy</span><span class="tag tag-purple">remediation-expert</span><span class="tag tag-purple">docs-research</span>
|
|
438
|
+
</div>
|
|
439
|
+
</div>
|
|
440
|
+
|
|
441
|
+
<!-- ═══════════════════════════════════════ 8. SCENARIOS -->
|
|
442
|
+
<h2 id="scenarios">八、场景推荐</h2>
|
|
443
|
+
<p class="section-desc">不确定用什么指令?对照你的场景选择:</p>
|
|
444
|
+
|
|
445
|
+
<div class="scenario-grid">
|
|
446
|
+
<div class="scenario-card"><h4>✨ 新功能开发</h4><p>日常用 <code>/auto</code>,中大型用 <code>/jarvis</code>(严格 13 Gate)。</p></div>
|
|
447
|
+
<div class="scenario-card"><h4>🖥️ 前端页面</h4><p><code>/frontend</code>,C1.5 视觉验证强制,spawn frontend-dev/ui/state-expert。</p></div>
|
|
448
|
+
<div class="scenario-card"><h4>🔧 后端 API</h4><p><code>/backend</code>,跳过 C1.5,spawn backend-dev/api/logic/data + database-architect。</p></div>
|
|
449
|
+
<div class="scenario-card"><h4>📱 移动端/跨端</h4><p><code>/mobile --platform=android|ios|flutter|expo|react-native|taro</code> 统一入口。</p></div>
|
|
450
|
+
<div class="scenario-card"><h4>🔨 代码重构</h4><p><code>/refactor</code>(5 Gate 安全网),失败自动回滚。</p></div>
|
|
451
|
+
<div class="scenario-card"><h4>🚨 紧急修复</h4><p><code>/hotfix</code>(H0-H3 紧急协议),需要审批确认。</p></div>
|
|
452
|
+
<div class="scenario-card"><h4>🧹 代码清理</h4><p><code>/simplify</code>,消除冗余/死代码/过度抽象,失败自动回滚。</p></div>
|
|
453
|
+
<div class="scenario-card"><h4>🔍 排查 Bug</h4><p>简单用 <code>/debug</code>(交互诊断),复杂用 <code>/trace</code>(贝叶斯因果推理)。</p></div>
|
|
454
|
+
<div class="scenario-card"><h4>⚡ 性能优化</h4><p><code>/improve</code>,度量驱动迭代。量化目标→研究→计划→执行→评估→迭代。</p></div>
|
|
455
|
+
<div class="scenario-card"><h4>📊 技术选型</h4><p>快速用 <code>/evaluate</code>(原型+指标),深度用 <code>/research</code>(5 阶段分析)。</p></div>
|
|
456
|
+
<div class="scenario-card"><h4>❓ 需求不清</h4><p><code>/ask</code> Interview 模式,Socratic 追问→5 维评分→分析报告+路由建议。</p></div>
|
|
457
|
+
<div class="scenario-card"><h4>📦 框架升级</h4><p><code>/migrate</code>,M1-M4 迁移流程。定义规则→应用→编译→Lint 修复。</p></div>
|
|
458
|
+
<div class="scenario-card"><h4>📝 代码审查</h4><p><code>/review</code>(只读审查)→ <code>/review-fix</code>(修复闭环),最多 2 轮。</p></div>
|
|
459
|
+
<div class="scenario-card"><h4>📤 发布上线</h4><p>个人用 <code>/release</code>(质量门→CI 自动发布),团队用 <code>/publish</code>(含 PR+审查)。</p></div>
|
|
460
|
+
<div class="scenario-card"><h4>🧪 测试补齐</h4><p><code>/test-unit</code> <code>/test-integration</code> <code>/test-e2e</code> <code>/test-perf</code> <code>/test-security</code> 按需选择。</p></div>
|
|
461
|
+
<div class="scenario-card"><h4>🛑 取消任务</h4><p><code>/cancel</code> 中止当前 run。默认保留会话;--leave 离开;--force 紧急清除。</p></div>
|
|
462
|
+
</div>
|
|
463
|
+
|
|
464
|
+
<!-- ═══════════════════════════════════════ 9. DOC-DRIVEN -->
|
|
465
|
+
<h2 id="doc-driven">九、文档驱动体系</h2>
|
|
466
|
+
|
|
467
|
+
<div class="card">
|
|
468
|
+
<p>Jarvis 的文档驱动有<strong>硬编码的目录规范</strong>和<strong>引擎强制的时间戳隔离</strong>。所有产物存入 <code>.jarvis/YYYY-MM-DD/{subdir}/</code>。</p>
|
|
469
|
+
|
|
470
|
+
<table class="pipe-table">
|
|
471
|
+
<tr><th>目录</th><th>对应 Gate</th><th>产出内容</th></tr>
|
|
472
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/requirements/</code></td><td>Gate A</td><td>需求澄清文档 REQ-XXX</td></tr>
|
|
473
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/tasks/</code></td><td>Gate B</td><td>DDD/BDD/TDD 任务分解文档</td></tr>
|
|
474
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/architecture/</code></td><td>Gate B1</td><td>架构评审报告</td></tr>
|
|
475
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/plans/</code></td><td>Gate C</td><td>执行计划(parallel_batches)</td></tr>
|
|
476
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/implementation/</code></td><td>Gate C-impl</td><td>Agent 实现说明 + 自查报告</td></tr>
|
|
477
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/testing/</code></td><td>Gate C2</td><td>测试用例 + 测试报告</td></tr>
|
|
478
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/review/</code></td><td>Gate D</td><td>分级审查报告</td></tr>
|
|
479
|
+
<tr><td><code>.jarvis/YYYY-MM-DD/shipping/</code></td><td>Gate E</td><td>发布记录 + 版本日志</td></tr>
|
|
480
|
+
</table>
|
|
481
|
+
<p style="margin-top:10px;color:var(--muted);font-size:13px">专业流水线也有对应子目录:<code>refactoring/</code> <code>hotfix/</code> <code>migration/</code> <code>evaluation/</code> <code>debug/</code> <code>research/</code> <code>simplification/</code> <code>trace/</code> <code>improvement/</code></p>
|
|
482
|
+
</div>
|
|
483
|
+
|
|
484
|
+
<div class="callout">
|
|
485
|
+
<strong>硬约束示例:</strong>在 Gate A 阶段调用 <code>gate_check({ operation: "write_code" })</code> → 引擎直接拒绝,因为 Gate A 的允许列表里没有 <code>write_code</code>。必须按顺序产出文档、通过 Gate、推进到 C-impl 阶段才能写代码。这就是"规范驱动、文档驱动的严格工程化流水线"。
|
|
486
|
+
</div>
|
|
487
|
+
|
|
488
|
+
<!-- ═══════════════════════════════════════ FOOTER -->
|
|
489
|
+
<div class="footer">
|
|
490
|
+
<p>
|
|
491
|
+
<strong>Jarvis Agent Factory v4.4.0</strong> ·
|
|
492
|
+
<a href="https://github.com/Wjl1224734792/Jarvis-Agent-Factory">GitHub</a> ·
|
|
493
|
+
<a href="https://www.npmjs.com/package/jarvis-agent-factory">npm</a> ·
|
|
494
|
+
<a href="https://github.com/Wjl1224734792/Jarvis-Agent-Factory/blob/main/AGENTS.md">AGENTS.md</a>
|
|
495
|
+
</p>
|
|
496
|
+
<p style="margin-top:8px">31 Commands · 71 Agents · 35 Skills · 15 Pipelines · 62 Gates · MIT License</p>
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
</body>
|
|
500
|
+
</html>
|
package/package.json
CHANGED