@ohos-cpf/3rdloop 0.0.3 → 0.0.5
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 +124 -87
- package/lib/cli.js +25 -0
- package/lib/config-cmd.js +1 -1
- package/lib/serve.js +268 -0
- package/lib/update.js +46 -6
- package/lib/web-ext.js +454 -0
- package/lib/web.js +664 -0
- package/package.json +2 -1
- package/vendor/Server/Agent/SkillSelector/README.md +11 -11
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +3 -3
- package/vendor/Server/Skills/arkts-code-use/SKILL.md +270 -0
- package/vendor/Server/Skills/arkts-code-use/assets/TEMPLATES.md +367 -0
- package/vendor/Server/Skills/arkts-code-use/references/API_VERIFICATION.md +144 -0
- package/vendor/Server/Skills/arkts-code-use/references/ARKTS_RULES.md +240 -0
- package/vendor/Server/Skills/arkts-code-use/references/CODE_PATTERNS.md +431 -0
- package/vendor/Server/Skills/arkts-code-use/references/SYNTAX_CHECK_GUIDE.md +164 -0
- package/vendor/Server/Skills/arkts-code-use/scripts/verify-arkts.cjs +428 -0
- package/vendor/Server/Skills/gitcode-repo-fork/SKILL.md +310 -0
- package/vendor/Server/Skills/gitcode-repo-fork/assets/FORK_REPORT_TEMPLATE.md +113 -0
- package/vendor/Server/Skills/gitcode-repo-fork/references/FORK_DECISION_GUIDE.md +124 -0
- package/vendor/Server/Skills/gitcode-repo-fork/references/GITCODE_FORK_API.md +95 -0
- package/vendor/Server/Skills/gitcode-repo-fork/scripts/gitcode-fork.cjs +285 -0
- package/vendor/VERSION +3 -3
- package/web/css/arktslibrarycheck.css +322 -0
- package/web/css/codecheck.css +464 -0
- package/web/css/flutterlibrarycheck.css +322 -0
- package/web/css/knowledge.css +332 -0
- package/web/css/loop.css +578 -0
- package/web/css/md-reader.css +240 -0
- package/web/css/rnlibrarycheck.css +322 -0
- package/web/css/theme.css +702 -0
- package/web/index.html +713 -0
- package/web/js/arktslibrarycheck.js +1413 -0
- package/web/js/codecheck.js +1039 -0
- package/web/js/flutterlibrarycheck.js +1364 -0
- package/web/js/health.js +69 -0
- package/web/js/knowledge.js +358 -0
- package/web/js/loop.js +1102 -0
- package/web/js/md-reader.js +435 -0
- package/web/js/navigation.js +238 -0
- package/web/js/rnlibrarycheck.js +1378 -0
- package/web/js/stats.js +110 -0
- package/web/js/theme.js +46 -0
- package/web/js/utils.js +228 -0
- package/web/knowledge.html +146 -0
- package/web/loop.html +219 -0
package/web/loop.html
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
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>OHOS CPF-ApplicationTPC - Loop控制台</title>
|
|
7
|
+
<link rel="stylesheet" href="loop.css">
|
|
8
|
+
<link rel="stylesheet" href="md-reader.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
|
|
12
|
+
<div class="app-header">
|
|
13
|
+
<h1>OHOS CPF-ApplicationTPC - Loop控制台</h1>
|
|
14
|
+
<nav class="nav-links">
|
|
15
|
+
<a href="/" class="nav-link active">循环控制台</a>
|
|
16
|
+
<a href="/knowledge" class="nav-link">📚 知识导入</a>
|
|
17
|
+
</nav>
|
|
18
|
+
<button class="health-btn" id="healthBtn">
|
|
19
|
+
<span class="health-dot unknown" id="healthDot"></span>
|
|
20
|
+
<span id="healthText">检测中</span>
|
|
21
|
+
</button>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<div class="app-body">
|
|
25
|
+
<div class="sidebar">
|
|
26
|
+
<div class="sidebar-header">
|
|
27
|
+
<h2>📋 大循环任务 <span class="count-badge" id="loopCount">0</span></h2>
|
|
28
|
+
<button class="new-task-btn" id="btnNewLoop">🚀 启动大循环</button>
|
|
29
|
+
<button class="new-task-btn single" id="btnNewSingle">⚡ 启动单次执行</button>
|
|
30
|
+
<input class="search-box" id="loopSearch" placeholder="搜索任务 ID..." />
|
|
31
|
+
</div>
|
|
32
|
+
<div class="task-list" id="loopList">
|
|
33
|
+
<div class="detail-empty">加载中...</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="main-content">
|
|
38
|
+
<div class="loop-overview" id="loopOverview" style="display:none;">
|
|
39
|
+
<div class="title-row">
|
|
40
|
+
<h2 id="ovTaskId">—</h2>
|
|
41
|
+
<span class="status-badge idle" id="ovStatus">—</span>
|
|
42
|
+
<div class="task-controls">
|
|
43
|
+
<button class="danger sm" id="btnLoopAbort" disabled>⏹ 终止循环</button>
|
|
44
|
+
<button class="secondary sm" id="btnLoopRefresh">🔄 刷新</button>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="desc" id="ovDesc">—</div>
|
|
48
|
+
<div class="stats-row" id="ovStats"></div>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div class="main-tabs" id="mainTabs">
|
|
52
|
+
<div class="main-tab active" data-tab="rounds">🔄 循环轮次</div>
|
|
53
|
+
<div class="main-tab" data-tab="orchestrator">🔀 编排详情</div>
|
|
54
|
+
<div class="main-tab" data-tab="brain">🧠 Brain 拆解</div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div class="tab-content active" id="tabRounds">
|
|
58
|
+
<div class="rounds-section" id="roundsSection">
|
|
59
|
+
<div class="rounds-empty">请从左侧选择一个大循环任务,或点击「启动大循环」</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="tab-content" id="tabOrchestrator">
|
|
64
|
+
<div class="graph-detail-split">
|
|
65
|
+
<div class="graph-section">
|
|
66
|
+
<div class="graph-toolbar">
|
|
67
|
+
<h3>🔀 步骤编排图</h3>
|
|
68
|
+
<span class="muted" style="font-size:11px;" id="graphHint"></span>
|
|
69
|
+
<div class="toolbar-actions">
|
|
70
|
+
<button class="secondary sm" id="btnGraphZoomOut" title="缩小">🔍−</button>
|
|
71
|
+
<span class="zoom-display" id="zoomDisplay">100%</span>
|
|
72
|
+
<button class="secondary sm" id="btnGraphZoomIn" title="放大">🔍+</button>
|
|
73
|
+
<button class="secondary sm" id="btnGraphFit" title="自适应">📐 自适应</button>
|
|
74
|
+
<button class="secondary sm" id="btnGraphRefresh" title="刷新">🔄 刷新</button>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="graph-canvas-wrap" id="graphCanvas">
|
|
78
|
+
<div class="graph-empty" id="graphEmpty">请先选择一个大循环任务</div>
|
|
79
|
+
<svg class="graph-svg" id="graphSvg" style="display:none;">
|
|
80
|
+
<defs>
|
|
81
|
+
<marker id="arrow-success" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
82
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#34c759" />
|
|
83
|
+
</marker>
|
|
84
|
+
<marker id="arrow-fail" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
85
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#ff3b30" />
|
|
86
|
+
</marker>
|
|
87
|
+
<marker id="arrow-depend" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
88
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#aeaeb2" />
|
|
89
|
+
</marker>
|
|
90
|
+
</defs>
|
|
91
|
+
<g class="graph-viewport" id="graphViewport"></g>
|
|
92
|
+
</svg>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="detail-panel">
|
|
96
|
+
<div class="detail-tabs">
|
|
97
|
+
<div class="detail-tab active" data-tab="detail">📋 详情</div>
|
|
98
|
+
<div class="detail-tab" data-tab="conversation">💬 对话</div>
|
|
99
|
+
<div class="detail-tab" data-tab="control">⚡ 控制</div>
|
|
100
|
+
<div class="detail-tab" data-tab="files">📁 文件</div>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="detail-content" id="detailContent">
|
|
103
|
+
<div class="detail-empty">请选择一个步骤节点</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div class="tab-content" id="tabBrain">
|
|
110
|
+
<div class="brain-section" id="brainSection">
|
|
111
|
+
<div class="rounds-empty">请先选择一个大循环任务</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div class="modal-overlay" id="newLoopOverlay">
|
|
118
|
+
<div class="modal">
|
|
119
|
+
<div class="modal-header">
|
|
120
|
+
<h3>🚀 启动大循环</h3>
|
|
121
|
+
<button class="modal-close" id="newLoopClose">✕</button>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="modal-body">
|
|
124
|
+
<div class="form-group">
|
|
125
|
+
<label>任务描述 *</label>
|
|
126
|
+
<textarea class="large" id="newLoopDesc" placeholder="输入自然语言任务描述..."></textarea>
|
|
127
|
+
<div class="hint">Brain 将自动拆解为步骤,Orchestrator 执行后 TestCheck 审核准出,未通过则自动重规划</div>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="form-group">
|
|
130
|
+
<label>验收标准(可选)</label>
|
|
131
|
+
<textarea id="newLoopCriteria" placeholder="输入自定义验收标准..."></textarea>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="form-group">
|
|
134
|
+
<label>最大循环次数</label>
|
|
135
|
+
<input id="newLoopMaxLoops" type="number" min="1" max="10" value="3">
|
|
136
|
+
<div class="hint">达到最大次数仍未通过准出审核则标记为失败</div>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="advanced-toggle" id="advancedToggle">高级选项</div>
|
|
139
|
+
<div class="advanced-section" id="advancedSection">
|
|
140
|
+
<div class="form-group">
|
|
141
|
+
<label>任务 ID(可选)</label>
|
|
142
|
+
<input id="newLoopTaskId" placeholder="留空则自动生成 task_xxx">
|
|
143
|
+
</div>
|
|
144
|
+
<div class="form-group">
|
|
145
|
+
<label>SKILL 目录(可选)</label>
|
|
146
|
+
<input id="newLoopSkillDir" placeholder="留空则使用默认 SKILL 目录">
|
|
147
|
+
</div>
|
|
148
|
+
<div class="form-group">
|
|
149
|
+
<label>工作目录(可选)</label>
|
|
150
|
+
<input id="newLoopTaskDir" placeholder="留空则自动生成 task/{taskId}">
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="modal-footer">
|
|
155
|
+
<button class="secondary" id="btnNewLoopCancel">取消</button>
|
|
156
|
+
<button class="primary" id="btnNewLoopSubmit">🚀 启动大循环</button>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<div class="modal-overlay" id="newSingleOverlay">
|
|
162
|
+
<div class="modal">
|
|
163
|
+
<div class="modal-header">
|
|
164
|
+
<h3>⚡ 启动单次执行</h3>
|
|
165
|
+
<button class="modal-close" id="newSingleClose">✕</button>
|
|
166
|
+
</div>
|
|
167
|
+
<div class="modal-body">
|
|
168
|
+
<div class="form-group">
|
|
169
|
+
<label>任务描述 *</label>
|
|
170
|
+
<textarea class="large" id="newSingleDesc" placeholder="输入自然语言任务描述,将直接执行不经过 Brain 拆解..."></textarea>
|
|
171
|
+
<div class="hint">单步骤直接执行,不循环、不拆解,结果可在编排详情中查看</div>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="advanced-toggle" id="singleAdvancedToggle">高级选项</div>
|
|
174
|
+
<div class="advanced-section" id="singleAdvancedSection">
|
|
175
|
+
<div class="form-group">
|
|
176
|
+
<label>任务 ID(可选)</label>
|
|
177
|
+
<input id="newSingleTaskId" placeholder="留空则自动生成 single_xxx">
|
|
178
|
+
</div>
|
|
179
|
+
<div class="form-group">
|
|
180
|
+
<label>SKILL 目录(可选)</label>
|
|
181
|
+
<input id="newSingleSkillDir" placeholder="留空则使用默认 SKILL 目录">
|
|
182
|
+
</div>
|
|
183
|
+
<div class="form-group">
|
|
184
|
+
<label>工作目录(可选)</label>
|
|
185
|
+
<input id="newSingleTaskDir" placeholder="留空则自动生成 task/{taskId}">
|
|
186
|
+
</div>
|
|
187
|
+
<div class="form-group">
|
|
188
|
+
<label>输入报告(可选)</label>
|
|
189
|
+
<textarea id="newSingleInputReport" placeholder="前置报告/上下文内容,传递给执行步骤..."></textarea>
|
|
190
|
+
</div>
|
|
191
|
+
<div class="form-group">
|
|
192
|
+
<label>最大重试次数</label>
|
|
193
|
+
<input id="newSingleMaxRetries" type="number" min="1" max="10" value="3">
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
<div class="modal-footer">
|
|
198
|
+
<button class="secondary" id="btnNewSingleCancel">取消</button>
|
|
199
|
+
<button class="primary" id="btnNewSingleSubmit">⚡ 启动单次执行</button>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div class="modal-overlay" id="modalOverlay">
|
|
205
|
+
<div class="modal">
|
|
206
|
+
<div class="modal-header">
|
|
207
|
+
<h3 id="modalTitle">—</h3>
|
|
208
|
+
<button class="modal-close" id="modalClose">✕</button>
|
|
209
|
+
</div>
|
|
210
|
+
<div class="modal-body"><pre id="modalContent"></pre></div>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div class="toast-container" id="toastContainer"></div>
|
|
215
|
+
|
|
216
|
+
<script src="md-reader.js"></script>
|
|
217
|
+
<script src="loop.js"></script>
|
|
218
|
+
</body>
|
|
219
|
+
</html>
|