feihong-code 0.5.1 → 0.6.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/CHANGELOG.md +486 -405
- package/README.md +59 -0
- package/dist/agent/code-writer.js +6 -3
- package/dist/agent/code-writer.js.map +1 -1
- package/dist/agent/experience.js +105 -70
- package/dist/agent/experience.js.map +1 -1
- package/dist/agent/orchestrator.js +103 -21
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/parallel-orchestrator.js +6 -3
- package/dist/agent/parallel-orchestrator.js.map +1 -1
- package/dist/agent/planner.js +30 -7
- package/dist/agent/planner.js.map +1 -1
- package/dist/agent/prompts.js +27 -8
- package/dist/agent/prompts.js.map +1 -1
- package/dist/agent/self-heal.js +43 -13
- package/dist/agent/self-heal.js.map +1 -1
- package/dist/cli/repl.js +10 -9
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/run.js +39 -37
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/enterprise/audit.js +70 -11
- package/dist/enterprise/audit.js.map +1 -1
- package/dist/models/model-router.js +83 -23
- package/dist/models/model-router.js.map +1 -1
- package/dist/models/model.dto.js +25 -3
- package/dist/models/model.dto.js.map +1 -1
- package/dist/models/providers/ollama.provider.js +12 -0
- package/dist/models/providers/ollama.provider.js.map +1 -1
- package/dist/models/providers/openai-compatible.provider.js +14 -1
- package/dist/models/providers/openai-compatible.provider.js.map +1 -1
- package/dist/self-evolve/hook.js +2 -2
- package/dist/self-evolve/hook.js.map +1 -1
- package/dist/self-evolve/hook.ts +80 -0
- package/dist/self-evolve/manager.d.ts +8 -0
- package/dist/self-evolve/manager.js +401 -0
- package/dist/shared/concurrency.js +80 -0
- package/dist/shared/concurrency.js.map +1 -0
- package/dist/shared/errors.js +6 -2
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/secure-store.js +117 -0
- package/dist/shared/secure-store.js.map +1 -0
- package/dist/tools/mcp/mcp-client.js +35 -13
- package/dist/tools/mcp/mcp-client.js.map +1 -1
- package/dist/tools/shell/exec.js +47 -3
- package/dist/tools/shell/exec.js.map +1 -1
- package/dist/tools/shell/run-shell.tool.js +33 -6
- package/dist/tools/shell/run-shell.tool.js.map +1 -1
- package/dist/tools/tool.registry.js +32 -0
- package/dist/tools/tool.registry.js.map +1 -1
- package/dist/web/auth.js +143 -7
- package/dist/web/auth.js.map +1 -1
- package/dist/web/public/css/style.css +1546 -0
- package/dist/web/public/index.html +806 -3253
- package/dist/web/public/js/api.js +309 -0
- package/dist/web/public/js/app.js +1483 -0
- package/dist/web/public/js/ui.js +764 -0
- package/dist/web/public/js/utils.js +214 -0
- package/dist/web/server.js +224 -77
- package/dist/web/server.js.map +1 -1
- package/dist/web/task-queue.js +140 -14
- package/dist/web/task-queue.js.map +1 -1
- package/docs/App/344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +299 -0
- package/docs/App/346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +554 -0
- package/docs/SELF-EVOLVE-GUIDE.md +313 -0
- package/docs/error-codes.md +198 -0
- package/docs/screenshots/cli-demo.png +0 -0
- package/docs/screenshots/feature-comparison.png +0 -0
- package/docs/screenshots/web-console.png +0 -0
- package/docs//351/241/265/351/235/242/345/212/237/350/203/275/345/244/215/347/233/230/344/270/216/345/206/222/347/203/237/346/265/213/350/257/225/346/212/245/345/221/212.html +117 -0
- package/package.json +9 -15
- package/tool-schema.json +198 -127
- package/dist/web/public/index.html.tmp +0 -3117
- package/dist/web/public/index_new.html +0 -3196
package/tool-schema.json
CHANGED
|
@@ -1,127 +1,198 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "feihong-code",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Terminal AI Coding Agent
|
|
5
|
-
"tools": [
|
|
6
|
-
{
|
|
7
|
-
"name": "write_file",
|
|
8
|
-
"description": "
|
|
9
|
-
"parameters": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"path": {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"additionalProperties": false
|
|
57
|
-
},
|
|
58
|
-
"example": {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "feihong-code",
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"description": "Terminal AI Coding Agent 鈥?缁堢 AI 缂栫▼鏅鸿兘浣?,
|
|
5
|
+
"tools": [
|
|
6
|
+
{
|
|
7
|
+
"name": "write_file",
|
|
8
|
+
"description": "鍐欏叆鎴栬鐩栨枃浠跺唴瀹广€傚鏋滄枃浠朵笉瀛樺湪鍒欏垱寤猴紝濡傛灉宸插瓨鍦ㄥ垯瀹屽叏鏇挎崲銆?,
|
|
9
|
+
"parameters": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"path": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "鏂囦欢鐩稿璺緞锛堢浉瀵逛簬宸ヤ綔鍖烘牴鐩綍锛?
|
|
15
|
+
},
|
|
16
|
+
"content": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "鏂囦欢鐨勫畬鏁村唴瀹?
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"path",
|
|
23
|
+
"content"
|
|
24
|
+
],
|
|
25
|
+
"additionalProperties": false
|
|
26
|
+
},
|
|
27
|
+
"example": {
|
|
28
|
+
"path": "src/main.ts",
|
|
29
|
+
"content": "export function hello() { return 'world'; }"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "edit_file",
|
|
34
|
+
"description": "鍦ㄦ枃浠朵腑鎻掑叆銆佸垹闄ゆ垨鏇挎崲鏂囨湰鍧椼€備娇鐢?oldText/newText 绮剧‘鍖归厤銆?,
|
|
35
|
+
"parameters": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"path": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "鐩爣鏂囦欢璺緞"
|
|
41
|
+
},
|
|
42
|
+
"oldText": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "寰呮浛鎹㈢殑鍘熸枃鏈紙蹇呴』鍞竴瀛樺湪浜庢枃浠朵腑锛?
|
|
45
|
+
},
|
|
46
|
+
"newText": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "鏇挎崲鍚庣殑鏂版枃鏈?
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [
|
|
52
|
+
"path",
|
|
53
|
+
"oldText",
|
|
54
|
+
"newText"
|
|
55
|
+
],
|
|
56
|
+
"additionalProperties": false
|
|
57
|
+
},
|
|
58
|
+
"example": {
|
|
59
|
+
"path": "src/calc.ts",
|
|
60
|
+
"oldText": "return a - b;",
|
|
61
|
+
"newText": "return a + b;"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "read_file",
|
|
66
|
+
"description": "璇诲彇鏂囦欢鐨勫叏閮ㄥ唴瀹广€?,
|
|
67
|
+
"parameters": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"properties": {
|
|
70
|
+
"path": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"description": "鏂囦欢鐩稿璺緞"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"required": [
|
|
76
|
+
"path"
|
|
77
|
+
],
|
|
78
|
+
"additionalProperties": false
|
|
79
|
+
},
|
|
80
|
+
"example": {
|
|
81
|
+
"path": "package.json"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "list_files",
|
|
86
|
+
"description": "鍒楀嚭鐩綍涓嬬殑鏂囦欢鍜屽瓙鐩綍銆?,
|
|
87
|
+
"parameters": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"path": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "鐩綍璺緞锛岄粯璁や负 '.'锛堝伐浣滃尯鏍癸級"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
},
|
|
97
|
+
"example": {
|
|
98
|
+
"path": "src/"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "grep",
|
|
103
|
+
"description": "浣跨敤姝e垯琛ㄨ揪寮忓湪椤圭洰涓悳绱㈡枃鏈€?,
|
|
104
|
+
"parameters": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"pattern": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "姝e垯琛ㄨ揪寮忔ā寮?
|
|
110
|
+
},
|
|
111
|
+
"path": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "鎼滅储璧峰鐩綍锛岄粯璁や负宸ヤ綔鍖烘牴"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"required": [
|
|
117
|
+
"pattern"
|
|
118
|
+
],
|
|
119
|
+
"additionalProperties": false
|
|
120
|
+
},
|
|
121
|
+
"example": {
|
|
122
|
+
"pattern": "class.*Error",
|
|
123
|
+
"path": "src/"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "run_shell",
|
|
128
|
+
"description": "鍦ㄥ伐浣滃尯鍐呮墽琛?shell 鍛戒护銆傚懡浠ら渶閫氳繃鐧藉悕鍗曢獙璇併€?,
|
|
129
|
+
"parameters": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"properties": {
|
|
132
|
+
"command": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "瑕佹墽琛岀殑瀹屾暣鍛戒护锛堝 'npm test'銆?node index.js'锛?
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"required": [
|
|
138
|
+
"command"
|
|
139
|
+
],
|
|
140
|
+
"additionalProperties": false
|
|
141
|
+
},
|
|
142
|
+
"example": {
|
|
143
|
+
"command": "npm run typecheck"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "build_check",
|
|
148
|
+
"description": "妫€鏌ラ」鐩槸鍚﹁兘鎴愬姛缂栬瘧锛堣繍琛?tsc --noEmit锛夈€?,
|
|
149
|
+
"parameters": {
|
|
150
|
+
"type": "object",
|
|
151
|
+
"properties": {},
|
|
152
|
+
"additionalProperties": false
|
|
153
|
+
},
|
|
154
|
+
"example": {}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "run_tests",
|
|
158
|
+
"description": "杩愯娴嬭瘯濂椾欢骞惰繑鍥炵粨鏋溿€?,
|
|
159
|
+
"parameters": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"properties": {},
|
|
162
|
+
"additionalProperties": false
|
|
163
|
+
},
|
|
164
|
+
"example": {}
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"toolCategories": {
|
|
168
|
+
"file": [
|
|
169
|
+
"write_file",
|
|
170
|
+
"edit_file",
|
|
171
|
+
"read_file",
|
|
172
|
+
"list_files"
|
|
173
|
+
],
|
|
174
|
+
"search": [
|
|
175
|
+
"grep"
|
|
176
|
+
],
|
|
177
|
+
"shell": [
|
|
178
|
+
"run_shell"
|
|
179
|
+
],
|
|
180
|
+
"verify": [
|
|
181
|
+
"build_check",
|
|
182
|
+
"run_tests"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"security": {
|
|
186
|
+
"sandbox": "鎵€鏈夋枃浠舵搷浣滈檺鍒跺湪宸ヤ綔鍖虹洰褰曞唴",
|
|
187
|
+
"approval": "鍗遍櫓鎿嶄綔锛坰hell 鍛戒护銆佸啓鍏ユ晱鎰熸枃浠讹級鍙兘闇€瑕佷汉宸ュ鎵?,
|
|
188
|
+
"audit": "鎵€鏈夊伐鍏疯皟鐢ㄨ褰曞埌 JSONL 浜嬩欢鏃ュ織"
|
|
189
|
+
},
|
|
190
|
+
"errorCodes": {
|
|
191
|
+
"FH_4001": "閰嶉瓒呴檺 鈥?鏃ラ绠楀凡鑰楀敖锛岀瓑寰呮鏃ラ噸缃垨鐢宠閰嶉",
|
|
192
|
+
"FH_4003": "鏉冮檺鎷掔粷 鈥?褰撳墠瑙掕壊鏃犳潈鎵ц姝ゆ搷浣滐紝妫€鏌?RBAC 绛栫暐",
|
|
193
|
+
"FH_5001": "妯″瀷璋冪敤澶辫触 鈥?缃戠粶闂鎴?API Key 鏃犳晥锛屾鏌?provider 閰嶇疆",
|
|
194
|
+
"FH_5002": "涓婁笅鏂囧帇缂╁け璐?鈥?瀵硅瘽杩囬暱锛屽皾璇曚娇鐢?/plan 閲嶆柊瑙勫垝",
|
|
195
|
+
"FH_6001": "鏂囦欢璺緞瓒婃潈 鈥?璺緞鍖呭惈 '..' 鎴栫鍙烽摼鎺ワ紝妫€鏌ユ矙绠辫鍒?
|
|
196
|
+
},
|
|
197
|
+
"authoredBy": "鏅嬫睙甯傞铏规櫤绉戞妧浼佷笟绠$悊鏈夐檺鍏徃 路 椋炴壃浼佹簮鐮斿彂涓績 路 璐熻矗浜猴細鍚磋祼铏?
|
|
198
|
+
}
|