@devflow-tools/devflow 0.11.0 → 0.12.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/dist/cli.js +19 -27
- package/dist/dashboard/404.html +1 -0
- package/dist/dashboard/_next/static/9y2HWmEr_Gbgkkmk6aE_C/_buildManifest.js +1 -0
- package/dist/dashboard/_next/static/9y2HWmEr_Gbgkkmk6aE_C/_ssgManifest.js +1 -0
- package/dist/dashboard/_next/static/chunks/1dd3208c-f3e84932bdc53383.js +1 -0
- package/dist/dashboard/_next/static/chunks/254-814190ccf12d2df8.js +1 -0
- package/dist/dashboard/_next/static/chunks/528-7d4fc14903647f1e.js +2 -0
- package/dist/dashboard/_next/static/chunks/6b3bb038-34d5cf36bd0210d6.js +1 -0
- package/dist/dashboard/_next/static/chunks/781-97eaf0e93843fa67.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/_not-found/page-5252c260804ee1ce.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/layout-0e71002867d54cb5.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/page-570d1b92af49aa0f.js +1 -0
- package/dist/dashboard/_next/static/chunks/framework-58c3457e28c4602f.js +1 -0
- package/dist/dashboard/_next/static/chunks/main-595171e579e3e067.js +1 -0
- package/dist/dashboard/_next/static/chunks/main-app-202a5f91ead17fa7.js +1 -0
- package/dist/dashboard/_next/static/chunks/pages/_app-58c3f1a8a070bd35.js +1 -0
- package/dist/dashboard/_next/static/chunks/pages/_error-312a564ec7e2663f.js +1 -0
- package/dist/dashboard/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/dashboard/_next/static/chunks/webpack-d6388c5dcd85b0c5.js +1 -0
- package/dist/dashboard/_next/static/css/322e14d06135256b.css +31 -0
- package/dist/dashboard/_next/static/css/9bb745101fd21603.css +3 -0
- package/dist/dashboard/index.html +1 -0
- package/dist/dashboard/index.txt +9 -0
- package/dist/dashboard/locales/en.json +328 -0
- package/dist/dashboard/locales/zh.json +328 -0
- package/dist/hooks/hook-client.js +7 -0
- package/dist/hooks/hook-daemon.js +4 -0
- package/dist/hooks/post-tool-use.js +2 -2
- package/package.json +13 -13
- package/plugin-registry.json +17 -17
- package/dist/mcp-server.js +0 -7
- package/dist/server.js +0 -10
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nav": {
|
|
3
|
+
"title": "DevFlow",
|
|
4
|
+
"overview": "Overview",
|
|
5
|
+
"graph": "Graph",
|
|
6
|
+
"context": "Context",
|
|
7
|
+
"workflows": "Workflows",
|
|
8
|
+
"memory": "Memory",
|
|
9
|
+
"benchmark": "Benchmark",
|
|
10
|
+
"knowledge": "Knowledge",
|
|
11
|
+
"runs": "Runs",
|
|
12
|
+
"timeline": "Timeline",
|
|
13
|
+
"executions": "Executions",
|
|
14
|
+
"toolMetrics": "Tool Metrics",
|
|
15
|
+
"accuracy": "Accuracy",
|
|
16
|
+
"settings": "Settings",
|
|
17
|
+
"language": "中文"
|
|
18
|
+
},
|
|
19
|
+
"overview": {
|
|
20
|
+
"title": "Project Overview",
|
|
21
|
+
"project": "Project",
|
|
22
|
+
"noProject": "No project connected",
|
|
23
|
+
"filesIndexed": "Files Indexed",
|
|
24
|
+
"workflows": "Workflows",
|
|
25
|
+
"agentRuns": "Agent Runs",
|
|
26
|
+
"techStack": "Tech Stack",
|
|
27
|
+
"recentRuns": "Recent Agent Runs",
|
|
28
|
+
"noRuns": "No agent runs recorded yet.",
|
|
29
|
+
"agent": "Agent",
|
|
30
|
+
"mode": "Mode",
|
|
31
|
+
"source": "Source",
|
|
32
|
+
"status": "Status",
|
|
33
|
+
"tokens": "Tokens",
|
|
34
|
+
"connectTitle": "Connect Project",
|
|
35
|
+
"connectDescription": "Enter the root path of your project to connect. The server will index and analyze the codebase.",
|
|
36
|
+
"connectPlaceholder": "/path/to/your/project",
|
|
37
|
+
"connecting": "Connecting...",
|
|
38
|
+
"connect": "Connect",
|
|
39
|
+
"connectError": "Failed to connect. Make sure the path exists and is accessible.",
|
|
40
|
+
"architectureLayers": "Architecture Layers",
|
|
41
|
+
"filesCount": "{{count}} files",
|
|
42
|
+
"keyModules": "Key Modules",
|
|
43
|
+
"keyFiles": "Key Files",
|
|
44
|
+
"recommended": "Recommended Next Steps",
|
|
45
|
+
"plugins": "Plugins",
|
|
46
|
+
"queries": "Queries",
|
|
47
|
+
"switchProject": "Switch Project",
|
|
48
|
+
"switchProjectPlaceholder": "Enter project path...",
|
|
49
|
+
"switchProjectConfirm": "Switch",
|
|
50
|
+
"disconnectProject": "Disconnect"
|
|
51
|
+
},
|
|
52
|
+
"onboarding": {
|
|
53
|
+
"title": "Onboarding Pack",
|
|
54
|
+
"empty": "No onboarding pack generated yet",
|
|
55
|
+
"noActiveProject": "No active project",
|
|
56
|
+
"generate": "Generate Onboarding Pack"
|
|
57
|
+
},
|
|
58
|
+
"context": {
|
|
59
|
+
"title": "Context Builder",
|
|
60
|
+
"placeholder": "Search symbols or ask a question...",
|
|
61
|
+
"build": "Build",
|
|
62
|
+
"building": "Building context...",
|
|
63
|
+
"results": "Results ({{files}} files, ~{{tokens}} tokens)",
|
|
64
|
+
"taskMode": "Task Mode",
|
|
65
|
+
"taskContext": "Task Context",
|
|
66
|
+
"confidenceTokens": "{{confidence}}% confidence · {{tokens}} tokens",
|
|
67
|
+
"requiredFiles": "Required Files",
|
|
68
|
+
"optionalFiles": "Optional Files",
|
|
69
|
+
"keySymbols": "Key Symbols",
|
|
70
|
+
"riskHints": "Risk Hints",
|
|
71
|
+
"nextActions": "Next Actions",
|
|
72
|
+
"relevanceDirect": "direct",
|
|
73
|
+
"relevanceIndirect": "indirect",
|
|
74
|
+
"levelHigh": "high",
|
|
75
|
+
"levelMedium": "medium",
|
|
76
|
+
"levelLow": "low",
|
|
77
|
+
"wasHelpful": "Was this helpful?",
|
|
78
|
+
"hit": "Hit",
|
|
79
|
+
"partial": "Partial",
|
|
80
|
+
"miss": "Miss",
|
|
81
|
+
"thanks": "Thanks for your feedback!"
|
|
82
|
+
},
|
|
83
|
+
"memory": {
|
|
84
|
+
"title": "Memory",
|
|
85
|
+
"loading": "Loading...",
|
|
86
|
+
"ollamaStatus": "Ollama Status",
|
|
87
|
+
"installed": "Installed",
|
|
88
|
+
"running": "Running",
|
|
89
|
+
"model": "Model",
|
|
90
|
+
"available": "Available",
|
|
91
|
+
"notPulled": "Not pulled",
|
|
92
|
+
"pendingApproval": "Pending Approval",
|
|
93
|
+
"approvedMemories": "Approved Memories",
|
|
94
|
+
"approve": "Approve",
|
|
95
|
+
"reject": "Reject",
|
|
96
|
+
"noMemories": "No memories yet",
|
|
97
|
+
"noMemoriesHint": "Memories help avoid repeating mistakes",
|
|
98
|
+
"confidence": "confidence",
|
|
99
|
+
"original": "Original",
|
|
100
|
+
"yes": "Yes",
|
|
101
|
+
"no": "No",
|
|
102
|
+
"category": {
|
|
103
|
+
"mcp_correction": "MCP Correction",
|
|
104
|
+
"project_knowledge": "Project Knowledge",
|
|
105
|
+
"failure_lesson": "Failure Lesson"
|
|
106
|
+
},
|
|
107
|
+
"searchPlaceholder": "Search memories...",
|
|
108
|
+
"addMemory": "Add Memory",
|
|
109
|
+
"editMemory": "Edit Memory",
|
|
110
|
+
"deleteMemory": "Delete",
|
|
111
|
+
"deleteConfirm": "Delete this memory?",
|
|
112
|
+
"categoryLabel": "Category",
|
|
113
|
+
"content": "Content",
|
|
114
|
+
"scope": "Scope (optional)",
|
|
115
|
+
"cancel": "Cancel",
|
|
116
|
+
"save": "Save"
|
|
117
|
+
},
|
|
118
|
+
"workflows": {
|
|
119
|
+
"title": "Workflow Runs",
|
|
120
|
+
"available": "Available Workflows",
|
|
121
|
+
"steps": "steps",
|
|
122
|
+
"stream": "Stream",
|
|
123
|
+
"closeStream": "Close stream",
|
|
124
|
+
"runHistory": "Run History",
|
|
125
|
+
"runId": "Run ID",
|
|
126
|
+
"started": "Started",
|
|
127
|
+
"noRuns": "No runs yet. Trigger a workflow above."
|
|
128
|
+
},
|
|
129
|
+
"benchmark": {
|
|
130
|
+
"title": "Benchmark",
|
|
131
|
+
"running": "Running...",
|
|
132
|
+
"run": "Run Benchmark",
|
|
133
|
+
"tasks": "tasks",
|
|
134
|
+
"noReports": "No benchmark reports yet. Run one to get started.",
|
|
135
|
+
"roiTitle": "ROI Dashboard",
|
|
136
|
+
"loading": "Loading...",
|
|
137
|
+
"noData": "No data available. Start using DevFlow to collect telemetry.",
|
|
138
|
+
"overview": "Overview",
|
|
139
|
+
"totalRuns": "Total Runs",
|
|
140
|
+
"completed": "Completed",
|
|
141
|
+
"failed": "Failed",
|
|
142
|
+
"avgDuration": "Avg Duration",
|
|
143
|
+
"avgTokens": "Avg Tokens",
|
|
144
|
+
"firstPassRate": "First Pass Rate",
|
|
145
|
+
"feedbackHitRate": "Feedback Hit Rate",
|
|
146
|
+
"efficiency": "Efficiency",
|
|
147
|
+
"avgTimePerTask": "Avg Time Per Task",
|
|
148
|
+
"avgRetryCount": "Avg Retry Count",
|
|
149
|
+
"tokensSaved": "Tokens Saved",
|
|
150
|
+
"failureBreakdown": "Failure Breakdown",
|
|
151
|
+
"workflowHealth": "Workflow Health",
|
|
152
|
+
"workflow": "Workflow",
|
|
153
|
+
"runs": "Runs",
|
|
154
|
+
"successRate": "Success Rate",
|
|
155
|
+
"pluginEffectiveness": "Plugin Effectiveness",
|
|
156
|
+
"plugin": "Plugin",
|
|
157
|
+
"dailyTrends": "Daily Trends",
|
|
158
|
+
"date": "Date",
|
|
159
|
+
"tokens": "Tokens",
|
|
160
|
+
"failures": "Failures",
|
|
161
|
+
"empty": "No telemetry data yet. Start using DevFlow with an AI agent to collect ROI metrics.",
|
|
162
|
+
"failureCategories": {
|
|
163
|
+
"context_insufficient": "Context Insufficient",
|
|
164
|
+
"knowledge_missing": "Knowledge Missing",
|
|
165
|
+
"workflow_design_issue": "Workflow Design Issue",
|
|
166
|
+
"tool_error": "Tool Error",
|
|
167
|
+
"agent_override": "Agent Override",
|
|
168
|
+
"unknown": "Unknown"
|
|
169
|
+
},
|
|
170
|
+
"seconds": "{{value}}s",
|
|
171
|
+
"period": "{{from}} → {{to}}",
|
|
172
|
+
"experimentSummary": "Experiment Summary",
|
|
173
|
+
"timeSavedRate": "Time Saved",
|
|
174
|
+
"tokenSavedRate": "Token Saved",
|
|
175
|
+
"detailedResults": "Detailed Results",
|
|
176
|
+
"faster": "{{percent}}% faster",
|
|
177
|
+
"baseline": "Baseline",
|
|
178
|
+
"devflow": "DevFlow",
|
|
179
|
+
"noExperimentData": "No experiment data",
|
|
180
|
+
"opsSummary": "Operations Summary",
|
|
181
|
+
"totalRunsCount": "Total Runs",
|
|
182
|
+
"successRatePercent": "Success Rate",
|
|
183
|
+
"avgTokenUsage": "Avg Token Usage",
|
|
184
|
+
"avgDurationTime": "Avg Duration",
|
|
185
|
+
"feedbackHitRatePercent": "Feedback Hit Rate",
|
|
186
|
+
"noOpsData": "No operations data",
|
|
187
|
+
"loadFailed": "Load failed: {{error}}",
|
|
188
|
+
"pluginAnalysis": "Plugin Value Analysis",
|
|
189
|
+
"recommendedInstall": "Recommended to Install",
|
|
190
|
+
"suggestedRemove": "Suggested to Remove",
|
|
191
|
+
"installCount": "Installs",
|
|
192
|
+
"usageRate": "Usage",
|
|
193
|
+
"successRateShort": "Success",
|
|
194
|
+
"tokenImpact": "Token Impact",
|
|
195
|
+
"lastUsed": "Last Used",
|
|
196
|
+
"noPluginData": "No plugin data",
|
|
197
|
+
"recommended": "Recommended",
|
|
198
|
+
"lowEfficiency": "Low Efficiency"
|
|
199
|
+
},
|
|
200
|
+
"graph": {
|
|
201
|
+
"searchPlaceholder": "Search nodes...",
|
|
202
|
+
"filterOnly": "Filter only",
|
|
203
|
+
"highlightAll": "Highlight all"
|
|
204
|
+
},
|
|
205
|
+
"detail": {
|
|
206
|
+
"selectNode": "Select a node to view details",
|
|
207
|
+
"properties": "Properties",
|
|
208
|
+
"imports": "Imports",
|
|
209
|
+
"history": "History",
|
|
210
|
+
"name": "Name",
|
|
211
|
+
"type": "Type",
|
|
212
|
+
"file": "File",
|
|
213
|
+
"notFound": "Node not found"
|
|
214
|
+
},
|
|
215
|
+
"knowledge": {
|
|
216
|
+
"title": "Knowledge Base",
|
|
217
|
+
"sources": "Sources",
|
|
218
|
+
"syncing": "Syncing...",
|
|
219
|
+
"syncAll": "Sync All",
|
|
220
|
+
"loading": "Loading...",
|
|
221
|
+
"noSources": "No knowledge sources. Install a plugin and sync docs.",
|
|
222
|
+
"search": "Search",
|
|
223
|
+
"searchPlaceholder": "Search knowledge...",
|
|
224
|
+
"synced": "Synced",
|
|
225
|
+
"notSynced": "Not synced",
|
|
226
|
+
"last": "Last",
|
|
227
|
+
"sync": "Sync",
|
|
228
|
+
"score": "Score"
|
|
229
|
+
},
|
|
230
|
+
"runs": {
|
|
231
|
+
"title": "Runs",
|
|
232
|
+
"empty": "No runs recorded yet."
|
|
233
|
+
},
|
|
234
|
+
"timeline": {
|
|
235
|
+
"title": "Timeline",
|
|
236
|
+
"runs": "Runs",
|
|
237
|
+
"tokens": "Tokens",
|
|
238
|
+
"llmCalls": "LLM Calls",
|
|
239
|
+
"toolUses": "Tool Uses",
|
|
240
|
+
"completed": "completed",
|
|
241
|
+
"failed": "failed"
|
|
242
|
+
},
|
|
243
|
+
"events": {
|
|
244
|
+
"llmCall": "LLM Call",
|
|
245
|
+
"toolUse": "Tool Use",
|
|
246
|
+
"memoryRead": "Memory Read",
|
|
247
|
+
"memoryWrite": "Memory Write",
|
|
248
|
+
"fileRead": "File Read",
|
|
249
|
+
"fileWrite": "File Write",
|
|
250
|
+
"bashCommand": "Bash",
|
|
251
|
+
"mcpToolCall": "MCP Tool",
|
|
252
|
+
"error": "Error",
|
|
253
|
+
"userInput": "User Input",
|
|
254
|
+
"stepStart": "Step Start",
|
|
255
|
+
"stepEnd": "Step End",
|
|
256
|
+
"empty": "No events recorded for this run.",
|
|
257
|
+
"steps": "Steps",
|
|
258
|
+
"eventCount": "events",
|
|
259
|
+
"selectEvent": "Select an event to view details",
|
|
260
|
+
"eventDetail": "Event Detail",
|
|
261
|
+
"kind": "Kind",
|
|
262
|
+
"step": "Step",
|
|
263
|
+
"duration": "Duration",
|
|
264
|
+
"model": "Model",
|
|
265
|
+
"tokens": "Tokens",
|
|
266
|
+
"tokensInOut": "{{input}} in / {{output}} out",
|
|
267
|
+
"prompt": "Prompt",
|
|
268
|
+
"response": "Response",
|
|
269
|
+
"stdout": "Stdout",
|
|
270
|
+
"stderr": "Stderr",
|
|
271
|
+
"truncated": "Content was truncated"
|
|
272
|
+
},
|
|
273
|
+
"runDetail": {
|
|
274
|
+
"title": "Run Detail",
|
|
275
|
+
"events": "events",
|
|
276
|
+
"llm": "LLM",
|
|
277
|
+
"tokens": "tokens",
|
|
278
|
+
"failureCategory": "Failure Category",
|
|
279
|
+
"failureReason": "Failure Reason",
|
|
280
|
+
"suggestedActions": "Suggested Actions",
|
|
281
|
+
"category": {
|
|
282
|
+
"context_insufficient": "Context Insufficient",
|
|
283
|
+
"knowledge_missing": "Knowledge Missing",
|
|
284
|
+
"workflow_design_issue": "Workflow Design Issue",
|
|
285
|
+
"tool_error": "Tool Error",
|
|
286
|
+
"agent_override": "Agent Override"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"plugin": {
|
|
290
|
+
"title": "Plugin Effectiveness",
|
|
291
|
+
"installCount": "Install Count",
|
|
292
|
+
"activeRate": "Active Rate",
|
|
293
|
+
"successRate": "Success Rate",
|
|
294
|
+
"avgTokenImpact": "Avg Token Impact",
|
|
295
|
+
"recommendInstall": "Recommend Install",
|
|
296
|
+
"recommendOptimize": "Recommend Optimize",
|
|
297
|
+
"recommendRemove": "Recommend Remove"
|
|
298
|
+
},
|
|
299
|
+
"executions": {
|
|
300
|
+
"title": "Skill Executions",
|
|
301
|
+
"loading": "Loading executions...",
|
|
302
|
+
"overallCompliance": "Overall MCP Compliance",
|
|
303
|
+
"totalExecutions": "Total Executions",
|
|
304
|
+
"skillsTracked": "Skills Tracked",
|
|
305
|
+
"skill": "Skill",
|
|
306
|
+
"status": "Status",
|
|
307
|
+
"tools": "Tools",
|
|
308
|
+
"mcpRate": "MCP Rate",
|
|
309
|
+
"duration": "Duration",
|
|
310
|
+
"tokens": "Tokens",
|
|
311
|
+
"empty": "No executions recorded yet",
|
|
312
|
+
"traceTimeline": "Execution Trace",
|
|
313
|
+
"blocked": "Blocked",
|
|
314
|
+
"fallback": "Fallback"
|
|
315
|
+
},
|
|
316
|
+
"settings": {
|
|
317
|
+
"title": "Project Settings",
|
|
318
|
+
"projectInfo": "Project Info",
|
|
319
|
+
"name": "Name",
|
|
320
|
+
"mode": "Mode",
|
|
321
|
+
"plugins": "Plugins",
|
|
322
|
+
"noPlugins": "No plugins installed",
|
|
323
|
+
"telemetry": "Telemetry",
|
|
324
|
+
"totalRuns": "Runs stored",
|
|
325
|
+
"totalTokens": "Total tokens",
|
|
326
|
+
"clearOldRuns": "Clear old runs (30d+)"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nav": {
|
|
3
|
+
"title": "DevFlow",
|
|
4
|
+
"overview": "概览",
|
|
5
|
+
"graph": "图谱",
|
|
6
|
+
"context": "上下文",
|
|
7
|
+
"workflows": "工作流",
|
|
8
|
+
"memory": "记忆",
|
|
9
|
+
"benchmark": "基准测试",
|
|
10
|
+
"knowledge": "知识库",
|
|
11
|
+
"runs": "运行记录",
|
|
12
|
+
"timeline": "时间线",
|
|
13
|
+
"executions": "执行轨迹",
|
|
14
|
+
"toolMetrics": "工具指标",
|
|
15
|
+
"accuracy": "准确率",
|
|
16
|
+
"settings": "设置",
|
|
17
|
+
"language": "EN"
|
|
18
|
+
},
|
|
19
|
+
"overview": {
|
|
20
|
+
"title": "项目概览",
|
|
21
|
+
"project": "项目",
|
|
22
|
+
"noProject": "未连接项目",
|
|
23
|
+
"filesIndexed": "已索引文件",
|
|
24
|
+
"workflows": "工作流",
|
|
25
|
+
"agentRuns": "智能体运行",
|
|
26
|
+
"techStack": "技术栈",
|
|
27
|
+
"recentRuns": "最近运行",
|
|
28
|
+
"noRuns": "暂无运行记录",
|
|
29
|
+
"agent": "智能体",
|
|
30
|
+
"mode": "模式",
|
|
31
|
+
"source": "来源",
|
|
32
|
+
"status": "状态",
|
|
33
|
+
"tokens": "令牌数",
|
|
34
|
+
"connectTitle": "连接项目",
|
|
35
|
+
"connectDescription": "输入项目根路径进行连接。服务端将索引并分析代码库。",
|
|
36
|
+
"connectPlaceholder": "/path/to/your/project",
|
|
37
|
+
"connecting": "连接中...",
|
|
38
|
+
"connect": "连接",
|
|
39
|
+
"connectError": "连接失败,请确认路径存在且可访问。",
|
|
40
|
+
"architectureLayers": "架构分层",
|
|
41
|
+
"filesCount": "{{count}} 个文件",
|
|
42
|
+
"keyModules": "关键模块",
|
|
43
|
+
"keyFiles": "关键文件",
|
|
44
|
+
"recommended": "推荐下一步",
|
|
45
|
+
"plugins": "插件",
|
|
46
|
+
"queries": "推荐查询",
|
|
47
|
+
"switchProject": "切换项目",
|
|
48
|
+
"switchProjectPlaceholder": "输入项目路径...",
|
|
49
|
+
"switchProjectConfirm": "切换",
|
|
50
|
+
"disconnectProject": "断开连接"
|
|
51
|
+
},
|
|
52
|
+
"onboarding": {
|
|
53
|
+
"title": "启动包",
|
|
54
|
+
"empty": "尚未生成启动包",
|
|
55
|
+
"noActiveProject": "未激活项目",
|
|
56
|
+
"generate": "生成启动包"
|
|
57
|
+
},
|
|
58
|
+
"context": {
|
|
59
|
+
"title": "上下文构建器",
|
|
60
|
+
"placeholder": "搜索符号或输入查询...",
|
|
61
|
+
"build": "构建",
|
|
62
|
+
"building": "正在构建上下文...",
|
|
63
|
+
"results": "结果({{files}} 个文件,约 {{tokens}} 个令牌)",
|
|
64
|
+
"taskMode": "任务模式",
|
|
65
|
+
"taskContext": "任务上下文",
|
|
66
|
+
"confidenceTokens": "{{confidence}}% 置信度 · {{tokens}} 令牌",
|
|
67
|
+
"requiredFiles": "必需文件",
|
|
68
|
+
"optionalFiles": "可选文件",
|
|
69
|
+
"keySymbols": "关键符号",
|
|
70
|
+
"riskHints": "风险提示",
|
|
71
|
+
"nextActions": "下一步操作",
|
|
72
|
+
"relevanceDirect": "直接",
|
|
73
|
+
"relevanceIndirect": "间接",
|
|
74
|
+
"levelHigh": "高",
|
|
75
|
+
"levelMedium": "中",
|
|
76
|
+
"levelLow": "低",
|
|
77
|
+
"wasHelpful": "有帮助吗?",
|
|
78
|
+
"hit": "有用",
|
|
79
|
+
"partial": "部分有用",
|
|
80
|
+
"miss": "无用",
|
|
81
|
+
"thanks": "感谢反馈!"
|
|
82
|
+
},
|
|
83
|
+
"memory": {
|
|
84
|
+
"title": "记忆",
|
|
85
|
+
"loading": "加载中...",
|
|
86
|
+
"ollamaStatus": "Ollama 状态",
|
|
87
|
+
"installed": "已安装",
|
|
88
|
+
"running": "运行中",
|
|
89
|
+
"model": "模型",
|
|
90
|
+
"available": "可用",
|
|
91
|
+
"notPulled": "未拉取",
|
|
92
|
+
"pendingApproval": "待审批",
|
|
93
|
+
"approvedMemories": "已批准的记忆",
|
|
94
|
+
"approve": "批准",
|
|
95
|
+
"reject": "拒绝",
|
|
96
|
+
"noMemories": "暂无记忆",
|
|
97
|
+
"noMemoriesHint": "记忆有助于避免重复犯错",
|
|
98
|
+
"confidence": "置信度",
|
|
99
|
+
"original": "原始",
|
|
100
|
+
"yes": "是",
|
|
101
|
+
"no": "否",
|
|
102
|
+
"category": {
|
|
103
|
+
"mcp_correction": "MCP 纠正",
|
|
104
|
+
"project_knowledge": "项目知识",
|
|
105
|
+
"failure_lesson": "失败教训"
|
|
106
|
+
},
|
|
107
|
+
"searchPlaceholder": "搜索记忆...",
|
|
108
|
+
"addMemory": "添加记忆",
|
|
109
|
+
"editMemory": "编辑记忆",
|
|
110
|
+
"deleteMemory": "删除",
|
|
111
|
+
"deleteConfirm": "确定删除这条记忆?",
|
|
112
|
+
"categoryLabel": "分类",
|
|
113
|
+
"content": "内容",
|
|
114
|
+
"scope": "作用域(可选)",
|
|
115
|
+
"cancel": "取消",
|
|
116
|
+
"save": "保存"
|
|
117
|
+
},
|
|
118
|
+
"workflows": {
|
|
119
|
+
"title": "工作流运行",
|
|
120
|
+
"available": "可用工作流",
|
|
121
|
+
"steps": "步骤",
|
|
122
|
+
"stream": "流",
|
|
123
|
+
"closeStream": "关闭流",
|
|
124
|
+
"runHistory": "运行历史",
|
|
125
|
+
"runId": "运行 ID",
|
|
126
|
+
"started": "开始时间",
|
|
127
|
+
"noRuns": "暂无运行,请触发上方工作流"
|
|
128
|
+
},
|
|
129
|
+
"benchmark": {
|
|
130
|
+
"title": "基准测试",
|
|
131
|
+
"running": "运行中...",
|
|
132
|
+
"run": "运行测试",
|
|
133
|
+
"tasks": "任务",
|
|
134
|
+
"noReports": "暂无测试报告,点击运行开始",
|
|
135
|
+
"roiTitle": "ROI 仪表盘",
|
|
136
|
+
"loading": "加载中...",
|
|
137
|
+
"noData": "暂无数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 数据。",
|
|
138
|
+
"overview": "概览",
|
|
139
|
+
"totalRuns": "总运行数",
|
|
140
|
+
"completed": "已完成",
|
|
141
|
+
"failed": "已失败",
|
|
142
|
+
"avgDuration": "平均耗时",
|
|
143
|
+
"avgTokens": "平均令牌",
|
|
144
|
+
"firstPassRate": "首次通过率",
|
|
145
|
+
"feedbackHitRate": "反馈命中率",
|
|
146
|
+
"efficiency": "效率",
|
|
147
|
+
"avgTimePerTask": "平均每任务耗时",
|
|
148
|
+
"avgRetryCount": "平均重试次数",
|
|
149
|
+
"tokensSaved": "节省令牌数",
|
|
150
|
+
"failureBreakdown": "失败分类",
|
|
151
|
+
"workflowHealth": "工作流健康度",
|
|
152
|
+
"workflow": "工作流",
|
|
153
|
+
"runs": "运行数",
|
|
154
|
+
"successRate": "成功率",
|
|
155
|
+
"pluginEffectiveness": "插件有效性",
|
|
156
|
+
"plugin": "插件",
|
|
157
|
+
"dailyTrends": "每日趋势",
|
|
158
|
+
"date": "日期",
|
|
159
|
+
"tokens": "令牌数",
|
|
160
|
+
"failures": "失败数",
|
|
161
|
+
"empty": "暂无遥测数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 指标。",
|
|
162
|
+
"failureCategories": {
|
|
163
|
+
"context_insufficient": "上下文不足",
|
|
164
|
+
"knowledge_missing": "知识缺失",
|
|
165
|
+
"workflow_design_issue": "工作流设计问题",
|
|
166
|
+
"tool_error": "工具错误",
|
|
167
|
+
"agent_override": "智能体覆盖",
|
|
168
|
+
"unknown": "未知"
|
|
169
|
+
},
|
|
170
|
+
"seconds": "{{value}}s",
|
|
171
|
+
"period": "{{from}} → {{to}}",
|
|
172
|
+
"experimentSummary": "实验收益总结",
|
|
173
|
+
"timeSavedRate": "时间节省率",
|
|
174
|
+
"tokenSavedRate": "Token 节省率",
|
|
175
|
+
"detailedResults": "详细结果",
|
|
176
|
+
"faster": "{{percent}}% 更快",
|
|
177
|
+
"baseline": "基线",
|
|
178
|
+
"devflow": "DevFlow",
|
|
179
|
+
"noExperimentData": "暂无实验数据",
|
|
180
|
+
"opsSummary": "运营统计",
|
|
181
|
+
"totalRunsCount": "总运行次数",
|
|
182
|
+
"successRatePercent": "成功率",
|
|
183
|
+
"avgTokenUsage": "平均 Token 使用",
|
|
184
|
+
"avgDurationTime": "平均耗时",
|
|
185
|
+
"feedbackHitRatePercent": "反馈命中率",
|
|
186
|
+
"noOpsData": "暂无运营数据",
|
|
187
|
+
"loadFailed": "加载失败: {{error}}",
|
|
188
|
+
"pluginAnalysis": "插件价值分析",
|
|
189
|
+
"recommendedInstall": "推荐安装",
|
|
190
|
+
"suggestedRemove": "建议移除",
|
|
191
|
+
"installCount": "安装量",
|
|
192
|
+
"usageRate": "使用率",
|
|
193
|
+
"successRateShort": "成功率",
|
|
194
|
+
"tokenImpact": "Token 影响",
|
|
195
|
+
"lastUsed": "最近使用",
|
|
196
|
+
"noPluginData": "暂无插件数据",
|
|
197
|
+
"recommended": "推荐",
|
|
198
|
+
"lowEfficiency": "低效"
|
|
199
|
+
},
|
|
200
|
+
"graph": {
|
|
201
|
+
"searchPlaceholder": "搜索节点...",
|
|
202
|
+
"filterOnly": "仅显示匹配",
|
|
203
|
+
"highlightAll": "高亮全部"
|
|
204
|
+
},
|
|
205
|
+
"detail": {
|
|
206
|
+
"selectNode": "选择一个节点查看详情",
|
|
207
|
+
"properties": "属性",
|
|
208
|
+
"imports": "导入",
|
|
209
|
+
"history": "历史",
|
|
210
|
+
"name": "名称",
|
|
211
|
+
"type": "类型",
|
|
212
|
+
"file": "文件",
|
|
213
|
+
"notFound": "节点未找到"
|
|
214
|
+
},
|
|
215
|
+
"knowledge": {
|
|
216
|
+
"title": "知识库",
|
|
217
|
+
"sources": "数据源",
|
|
218
|
+
"syncing": "同步中...",
|
|
219
|
+
"syncAll": "全部同步",
|
|
220
|
+
"loading": "加载中...",
|
|
221
|
+
"noSources": "暂无知识源,安装插件并同步文档。",
|
|
222
|
+
"search": "搜索",
|
|
223
|
+
"searchPlaceholder": "搜索知识...",
|
|
224
|
+
"synced": "已同步",
|
|
225
|
+
"notSynced": "未同步",
|
|
226
|
+
"last": "最近",
|
|
227
|
+
"sync": "同步",
|
|
228
|
+
"score": "相关性"
|
|
229
|
+
},
|
|
230
|
+
"runs": {
|
|
231
|
+
"title": "运行记录",
|
|
232
|
+
"empty": "暂无运行记录。"
|
|
233
|
+
},
|
|
234
|
+
"timeline": {
|
|
235
|
+
"title": "时间线",
|
|
236
|
+
"runs": "运行数",
|
|
237
|
+
"tokens": "令牌数",
|
|
238
|
+
"llmCalls": "LLM 调用",
|
|
239
|
+
"toolUses": "工具调用",
|
|
240
|
+
"completed": "已完成",
|
|
241
|
+
"failed": "已失败"
|
|
242
|
+
},
|
|
243
|
+
"events": {
|
|
244
|
+
"llmCall": "LLM 调用",
|
|
245
|
+
"toolUse": "工具使用",
|
|
246
|
+
"memoryRead": "读取记忆",
|
|
247
|
+
"memoryWrite": "写入记忆",
|
|
248
|
+
"fileRead": "读取文件",
|
|
249
|
+
"fileWrite": "写入文件",
|
|
250
|
+
"bashCommand": "Bash",
|
|
251
|
+
"mcpToolCall": "MCP 工具",
|
|
252
|
+
"error": "错误",
|
|
253
|
+
"userInput": "用户输入",
|
|
254
|
+
"stepStart": "步骤开始",
|
|
255
|
+
"stepEnd": "步骤结束",
|
|
256
|
+
"empty": "此运行未记录任何事件。",
|
|
257
|
+
"steps": "步骤",
|
|
258
|
+
"eventCount": "个事件",
|
|
259
|
+
"selectEvent": "选择一个事件查看详情",
|
|
260
|
+
"eventDetail": "事件详情",
|
|
261
|
+
"kind": "类型",
|
|
262
|
+
"step": "步骤",
|
|
263
|
+
"duration": "耗时",
|
|
264
|
+
"model": "模型",
|
|
265
|
+
"tokens": "令牌数",
|
|
266
|
+
"tokensInOut": "{{input}} 输入 / {{output}} 输出",
|
|
267
|
+
"prompt": "提示词",
|
|
268
|
+
"response": "响应",
|
|
269
|
+
"stdout": "标准输出",
|
|
270
|
+
"stderr": "标准错误",
|
|
271
|
+
"truncated": "内容已截断"
|
|
272
|
+
},
|
|
273
|
+
"runDetail": {
|
|
274
|
+
"title": "运行详情",
|
|
275
|
+
"events": "个事件",
|
|
276
|
+
"llm": "次 LLM",
|
|
277
|
+
"tokens": "tokens",
|
|
278
|
+
"failureCategory": "失败类别",
|
|
279
|
+
"failureReason": "失败原因",
|
|
280
|
+
"suggestedActions": "建议动作",
|
|
281
|
+
"category": {
|
|
282
|
+
"context_insufficient": "上下文不足",
|
|
283
|
+
"knowledge_missing": "知识缺失",
|
|
284
|
+
"workflow_design_issue": "工作流设计问题",
|
|
285
|
+
"tool_error": "工具错误",
|
|
286
|
+
"agent_override": "Agent 覆盖"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"plugin": {
|
|
290
|
+
"title": "插件效果",
|
|
291
|
+
"installCount": "安装量",
|
|
292
|
+
"activeRate": "活跃率",
|
|
293
|
+
"successRate": "成功率",
|
|
294
|
+
"avgTokenImpact": "平均 Token 影响",
|
|
295
|
+
"recommendInstall": "推荐安装",
|
|
296
|
+
"recommendOptimize": "建议优化",
|
|
297
|
+
"recommendRemove": "建议淘汰"
|
|
298
|
+
},
|
|
299
|
+
"executions": {
|
|
300
|
+
"title": "技能执行记录",
|
|
301
|
+
"loading": "加载执行记录中...",
|
|
302
|
+
"overallCompliance": "总体 MCP 合规率",
|
|
303
|
+
"totalExecutions": "总执行次数",
|
|
304
|
+
"skillsTracked": "追踪技能数",
|
|
305
|
+
"skill": "技能",
|
|
306
|
+
"status": "状态",
|
|
307
|
+
"tools": "工具数",
|
|
308
|
+
"mcpRate": "MCP 比率",
|
|
309
|
+
"duration": "耗时",
|
|
310
|
+
"tokens": "Token",
|
|
311
|
+
"empty": "暂无执行记录",
|
|
312
|
+
"traceTimeline": "执行时间线",
|
|
313
|
+
"blocked": "已拦截",
|
|
314
|
+
"fallback": "降级"
|
|
315
|
+
},
|
|
316
|
+
"settings": {
|
|
317
|
+
"title": "项目设置",
|
|
318
|
+
"projectInfo": "项目信息",
|
|
319
|
+
"name": "名称",
|
|
320
|
+
"mode": "模式",
|
|
321
|
+
"plugins": "插件",
|
|
322
|
+
"noPlugins": "未安装插件",
|
|
323
|
+
"telemetry": "遥测",
|
|
324
|
+
"totalRuns": "运行数",
|
|
325
|
+
"totalTokens": "总令牌数",
|
|
326
|
+
"clearOldRuns": "清理旧记录(30天前)"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {createConnection}from'net';import {join}from'path';import {homedir}from'os';var f=join(homedir(),".devflow","hook-daemon.sock"),s=process.argv[2],u=process.argv[3];function t(){s==="pre-tool-use"&&console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}})),process.exit(0);}var o=createConnection(f,()=>{if(s==="stop")o.write(JSON.stringify({type:"stop"})+`
|
|
2
|
+
`);else if(s==="post-tool-use")o.write(JSON.stringify({type:"post-tool-use",input:u||""})+`
|
|
3
|
+
`);else if(s==="pre-tool-use"){let e="";process.stdin.setEncoding("utf8"),process.stdin.on("data",n=>{e+=n;}),process.stdin.on("end",()=>{o.write(JSON.stringify({type:"pre-tool-use",input:e})+`
|
|
4
|
+
`);}),process.stdin.on("error",()=>t());}else t();}),i="";o.on("data",e=>{if(i+=e.toString(),i.includes(`
|
|
5
|
+
`)){let n=i.split(`
|
|
6
|
+
`).filter(Boolean);for(let r of n)process.stdout.write(r+`
|
|
7
|
+
`);o.end();}});o.on("error",()=>t());o.on("close",()=>process.exit(0));setTimeout(()=>t(),4e3).unref();
|