feihong-code 0.2.3 → 0.6.0

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.
Files changed (180) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +37 -37
  3. package/.github/ISSUE_TEMPLATE/config.yml +14 -14
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +28 -28
  5. package/.github/PULL_REQUEST_TEMPLATE.md +46 -46
  6. package/.github/SECURITY.md +67 -67
  7. package/.github/dependabot.yml +16 -0
  8. package/.github/workflows/ci.yml +1 -1
  9. package/AGENT-GUIDE.md +382 -237
  10. package/CHANGELOG.md +392 -0
  11. package/CODE_OF_CONDUCT.md +56 -56
  12. package/CONTRIBUTING.md +68 -68
  13. package/LICENSE +22 -22
  14. package/README.md +586 -522
  15. package/README.self-evolve.md +274 -0
  16. package/dist/agent/code-review.js +2 -0
  17. package/dist/agent/code-review.js.map +1 -1
  18. package/dist/agent/code-writer.js +74 -18
  19. package/dist/agent/code-writer.js.map +1 -1
  20. package/dist/agent/context-compactor.js +13 -4
  21. package/dist/agent/context-compactor.js.map +1 -1
  22. package/dist/agent/experience.js +319 -84
  23. package/dist/agent/experience.js.map +1 -1
  24. package/dist/agent/orchestrator.js +233 -71
  25. package/dist/agent/orchestrator.js.map +1 -1
  26. package/dist/agent/planner.js +30 -7
  27. package/dist/agent/planner.js.map +1 -1
  28. package/dist/agent/prompts.js +9 -0
  29. package/dist/agent/prompts.js.map +1 -1
  30. package/dist/agent/quality-gate.js +10 -4
  31. package/dist/agent/quality-gate.js.map +1 -1
  32. package/dist/agent/repo-context.js +181 -0
  33. package/dist/agent/repo-context.js.map +1 -0
  34. package/dist/agent/repo-reader.js +92 -99
  35. package/dist/agent/repo-reader.js.map +1 -1
  36. package/dist/agent/self-heal.js +80 -60
  37. package/dist/agent/self-heal.js.map +1 -1
  38. package/dist/agent/self-improver.js +65 -61
  39. package/dist/agent/self-improver.js.map +1 -1
  40. package/dist/agent/subagent-summary.js +31 -0
  41. package/dist/agent/subagent-summary.js.map +1 -0
  42. package/dist/agent/subagent.js +52 -2
  43. package/dist/agent/subagent.js.map +1 -1
  44. package/dist/agent/symbol-index.js +160 -0
  45. package/dist/agent/symbol-index.js.map +1 -0
  46. package/dist/agent/team.js +193 -0
  47. package/dist/agent/team.js.map +1 -0
  48. package/dist/cli/commands.js +124 -143
  49. package/dist/cli/commands.js.map +1 -1
  50. package/dist/cli/index.js +113 -106
  51. package/dist/cli/index.js.map +1 -1
  52. package/dist/cli/repl.js +82 -7
  53. package/dist/cli/repl.js.map +1 -1
  54. package/dist/cli/run.js +600 -95
  55. package/dist/cli/run.js.map +1 -1
  56. package/dist/cli/tui.js +145 -0
  57. package/dist/cli/tui.js.map +1 -0
  58. package/dist/cli/version.js +1 -1
  59. package/dist/enterprise/audit.js +145 -23
  60. package/dist/enterprise/audit.js.map +1 -1
  61. package/dist/enterprise/index.js +14 -11
  62. package/dist/enterprise/index.js.map +1 -1
  63. package/dist/enterprise/policy.js +22 -10
  64. package/dist/enterprise/policy.js.map +1 -1
  65. package/dist/harness/executor.js +127 -0
  66. package/dist/harness/executor.js.map +1 -0
  67. package/dist/harness/harness.js +87 -0
  68. package/dist/harness/harness.js.map +1 -0
  69. package/dist/harness/index.js +31 -0
  70. package/dist/harness/index.js.map +1 -0
  71. package/dist/harness/loader.js +138 -0
  72. package/dist/harness/loader.js.map +1 -0
  73. package/dist/harness/reporter.js +34 -0
  74. package/dist/harness/reporter.js.map +1 -0
  75. package/dist/harness/types.js +10 -0
  76. package/dist/harness/types.js.map +1 -0
  77. package/dist/harness/verifier.js +48 -0
  78. package/dist/harness/verifier.js.map +1 -0
  79. package/dist/hello.js +14 -0
  80. package/dist/hello.js.map +1 -0
  81. package/dist/memory/auto-summarize.js +208 -0
  82. package/dist/memory/auto-summarize.js.map +1 -0
  83. package/dist/memory/index.js +228 -0
  84. package/dist/memory/index.js.map +1 -0
  85. package/dist/models/model-router.js +100 -27
  86. package/dist/models/model-router.js.map +1 -1
  87. package/dist/models/model.dto.js +25 -3
  88. package/dist/models/model.dto.js.map +1 -1
  89. package/dist/models/providers/ollama.provider.js +12 -0
  90. package/dist/models/providers/ollama.provider.js.map +1 -1
  91. package/dist/models/providers/openai-compatible.provider.js +14 -1
  92. package/dist/models/providers/openai-compatible.provider.js.map +1 -1
  93. package/dist/plugins/plugin-loader.js +179 -0
  94. package/dist/plugins/plugin-loader.js.map +1 -0
  95. package/dist/runtime/event-log.js.map +1 -1
  96. package/dist/runtime/hooks.js +80 -0
  97. package/dist/runtime/hooks.js.map +1 -0
  98. package/dist/self-evolve/hook.js +60 -0
  99. package/dist/self-evolve/hook.js.map +1 -0
  100. package/dist/self-evolve/hook.ts +80 -0
  101. package/dist/self-evolve/manager.d.ts +8 -0
  102. package/dist/self-evolve/manager.js +401 -0
  103. package/dist/shared/config.js +35 -3
  104. package/dist/shared/config.js.map +1 -1
  105. package/dist/shared/errors.js +6 -2
  106. package/dist/shared/errors.js.map +1 -1
  107. package/dist/shared/i18n.js +535 -0
  108. package/dist/shared/i18n.js.map +1 -0
  109. package/dist/shared/secure-store.js +117 -0
  110. package/dist/shared/secure-store.js.map +1 -0
  111. package/dist/skills/grill.js +2 -1
  112. package/dist/skills/grill.js.map +1 -1
  113. package/dist/skills/self-heal.js +73 -0
  114. package/dist/skills/self-heal.js.map +1 -0
  115. package/dist/skills/skill-loader.js +131 -0
  116. package/dist/skills/skill-loader.js.map +1 -0
  117. package/dist/skills/skill-market.js +195 -0
  118. package/dist/skills/skill-market.js.map +1 -0
  119. package/dist/tools/analysis/code-analyzer.js +45 -18
  120. package/dist/tools/analysis/code-analyzer.js.map +1 -1
  121. package/dist/tools/index.js +5 -0
  122. package/dist/tools/index.js.map +1 -1
  123. package/dist/tools/mcp/index.js +84 -0
  124. package/dist/tools/mcp/index.js.map +1 -0
  125. package/dist/tools/mcp/mcp-client.js +194 -0
  126. package/dist/tools/mcp/mcp-client.js.map +1 -0
  127. package/dist/tools/sandbox.js +126 -0
  128. package/dist/tools/sandbox.js.map +1 -0
  129. package/dist/tools/shell/exec.js +72 -3
  130. package/dist/tools/shell/exec.js.map +1 -1
  131. package/dist/tools/shell/run-shell.tool.js +37 -7
  132. package/dist/tools/shell/run-shell.tool.js.map +1 -1
  133. package/dist/tools/skills/load-skill.tool.js +36 -0
  134. package/dist/tools/skills/load-skill.tool.js.map +1 -0
  135. package/dist/tools/tool.interface.js.map +1 -1
  136. package/dist/tools/tool.registry.js +69 -1
  137. package/dist/tools/tool.registry.js.map +1 -1
  138. package/dist/tools/web/web.tool.js +139 -0
  139. package/dist/tools/web/web.tool.js.map +1 -0
  140. package/dist/web/auth.js +178 -3
  141. package/dist/web/auth.js.map +1 -1
  142. package/dist/web/channels.js +171 -0
  143. package/dist/web/channels.js.map +1 -0
  144. package/dist/web/public/css/style.css +1546 -0
  145. package/dist/web/public/index.html +804 -37
  146. package/dist/web/public/js/api.js +309 -0
  147. package/dist/web/public/js/app.js +1472 -0
  148. package/dist/web/public/js/ui.js +832 -0
  149. package/dist/web/public/js/utils.js +170 -0
  150. package/dist/web/server.js +937 -11
  151. package/dist/web/server.js.map +1 -1
  152. package/dist/web/task-queue.js +470 -0
  153. package/dist/web/task-queue.js.map +1 -0
  154. package/dist/web/web-config.js +143 -0
  155. package/dist/web/web-config.js.map +1 -0
  156. package/docs/App/344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +299 -0
  157. package/docs/App/346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +554 -0
  158. package/docs/Deployment_Guide_EN.md +288 -0
  159. package/docs/SELF-EVOLVE-GUIDE.md +313 -0
  160. package/docs/Technical_Manual_EN.md +216 -0
  161. package/docs/User_Manual_EN.md +314 -0
  162. package/docs/error-codes.md +198 -0
  163. package/docs/screenshots/cli-demo.png +0 -0
  164. package/docs/screenshots/feature-comparison.png +0 -0
  165. package/docs/screenshots/web-console.png +0 -0
  166. package/docs/self-evolve-implementation.md +165 -0
  167. package/docs/self-evolve.md +166 -0
  168. package/docs//344/272/247/345/223/201/345/274/200/345/217/221/346/226/207/346/241/243.md +614 -614
  169. package/docs//344/274/201/344/270/232/351/203/250/347/275/262/344/270/216/345/220/210/350/247/204.md +267 -267
  170. package/docs//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +318 -358
  171. package/docs//345/270/270/350/247/201/351/227/256/351/242/230/344/270/216/346/225/205/351/232/234/346/216/222/346/237/245.md +130 -130
  172. package/docs//346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +216 -303
  173. package/docs//346/236/266/346/236/204/344/270/216API.md +238 -238
  174. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +196 -196
  175. package/docs//351/203/250/347/275/262/346/214/207/345/215/227.md +165 -165
  176. package/docs//351/203/250/347/275/262/350/257/264/346/230/216/344/271/246.md +288 -0
  177. package/docs//351/205/215/347/275/256/345/217/202/350/200/203.md +127 -127
  178. 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
  179. package/package.json +108 -109
  180. package/tool-schema.json +117 -46
package/CONTRIBUTING.md CHANGED
@@ -1,68 +1,68 @@
1
- # 贡献指南(CONTRIBUTING)
2
-
3
- 感谢关注 **飞虹 Code(Muse Code 参照复刻)**。本文件约定开发协作规范,请提交前阅读。
4
-
5
- ## 一、项目署名(强制)
6
-
7
- 所有开发产出(源码注释头部、README、LICENSE、文档、页脚、about)必须标注:
8
-
9
- - 公司:**晋江市飞虹智科技企业管理有限公司**
10
- - 中心:**飞扬企源研发中心**
11
- - 负责人:**吴赐虹**
12
-
13
- 源码文件头部统一使用:
14
-
15
- ```ts
16
- /**
17
- * 飞虹 Code (Muse Code 参照复刻)
18
- * 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
19
- */
20
- ```
21
-
22
- ## 二、架构约定(feature-first 分层)
23
-
24
- ```
25
- src/
26
- cli/ 入口、参数解析、REPL、运行时装配
27
- shared/ 配置、错误、日志、共享类型(基础设施)
28
- agent/ Orchestrator / Planner / Prompts
29
- tools/ 工具实现(file / shell / search / verify)+ registry
30
- models/ 模型路由 + providers(openai-compatible / ollama / mock)
31
- runtime/ 事件日志、会话状态(单一可信源)
32
- skills/ 高级技能(/plan /grill /goal)
33
- ```
34
-
35
- 铁律:
36
-
37
- 1. **边界必须校验**:所有外部输入(CLI 参数、模型响应、工具入参)用 zod 校验。
38
- 2. **集中配置**:配置只在 `shared/config.ts` 读取,启动即校验(fail-fast),懒加载不影响 `--version`。
39
- 3. **类型化错误**:抛出 `AppError` 子类(`ConfigError`/`ModelError`/`ToolError`/`ApprovalRequiredError`/`SecurityError`),禁止裸 `throw`。
40
- 4. **结构化日志**:通过 `shared/logger` 输出 JSON 日志,密钥自动脱敏;每次运行带 `runId`。
41
- 5. **单一可信源**:Agent 行为以 `runtime/event-log` 的 append-only JSONL 为准,支持审计与恢复。
42
-
43
- ## 三、安全底线
44
-
45
- - 文件工具限制在项目根沙箱内(防 `../` 穿越)。
46
- - shell 工具走白名单 + 危险命令拦截 + 审批(`ApprovalRequiredError`)。
47
- - 日志/响应中任何密钥字段自动转 `[REDACTED]`。
48
- - 禁止在代码、日志、提交信息中泄露真实凭证。
49
-
50
- ## 四、提交规范
51
-
52
- - 提交信息用中文,句式「动词 + 内容」,如:`feat: 新增 ollama provider`、`fix: 修复 zod v4 record 校验`。
53
- - 不提交 `node_modules/`、`dist/`、`.env`、日志与本地 demo 产物(见 `.gitignore`)。
54
- - 大改动先建分支,描述清楚动机与验证方式。
55
-
56
- ## 五、本地开发
57
-
58
- ```bash
59
- npm install
60
- npm run build # tsc 编译到 dist/
61
- npm run dev # tsx 直接跑源码
62
- node dist/cli/index.js --version
63
- node dist/cli/index.js "<需求>" # 未配 FH_PROVIDERS 自动离线 Mock 闭环
64
- ```
65
-
66
- ---
67
-
68
- © 2026 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
1
+ # 贡献指南(CONTRIBUTING)
2
+
3
+ 感谢关注 **飞虹 Code(Muse Code 参照复刻)**。本文件约定开发协作规范,请提交前阅读。
4
+
5
+ ## 一、项目署名(强制)
6
+
7
+ 所有开发产出(源码注释头部、README、LICENSE、文档、页脚、about)必须标注:
8
+
9
+ - 公司:**晋江市飞虹智科技企业管理有限公司**
10
+ - 中心:**飞扬企源研发中心**
11
+ - 负责人:**吴赐虹**
12
+
13
+ 源码文件头部统一使用:
14
+
15
+ ```ts
16
+ /**
17
+ * 飞虹 Code (Muse Code 参照复刻)
18
+ * 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
19
+ */
20
+ ```
21
+
22
+ ## 二、架构约定(feature-first 分层)
23
+
24
+ ```
25
+ src/
26
+ cli/ 入口、参数解析、REPL、运行时装配
27
+ shared/ 配置、错误、日志、共享类型(基础设施)
28
+ agent/ Orchestrator / Planner / Prompts
29
+ tools/ 工具实现(file / shell / search / verify)+ registry
30
+ models/ 模型路由 + providers(openai-compatible / ollama / mock)
31
+ runtime/ 事件日志、会话状态(单一可信源)
32
+ skills/ 高级技能(/plan /grill /goal)
33
+ ```
34
+
35
+ 铁律:
36
+
37
+ 1. **边界必须校验**:所有外部输入(CLI 参数、模型响应、工具入参)用 zod 校验。
38
+ 2. **集中配置**:配置只在 `shared/config.ts` 读取,启动即校验(fail-fast),懒加载不影响 `--version`。
39
+ 3. **类型化错误**:抛出 `AppError` 子类(`ConfigError`/`ModelError`/`ToolError`/`ApprovalRequiredError`/`SecurityError`),禁止裸 `throw`。
40
+ 4. **结构化日志**:通过 `shared/logger` 输出 JSON 日志,密钥自动脱敏;每次运行带 `runId`。
41
+ 5. **单一可信源**:Agent 行为以 `runtime/event-log` 的 append-only JSONL 为准,支持审计与恢复。
42
+
43
+ ## 三、安全底线
44
+
45
+ - 文件工具限制在项目根沙箱内(防 `../` 穿越)。
46
+ - shell 工具走白名单 + 危险命令拦截 + 审批(`ApprovalRequiredError`)。
47
+ - 日志/响应中任何密钥字段自动转 `[REDACTED]`。
48
+ - 禁止在代码、日志、提交信息中泄露真实凭证。
49
+
50
+ ## 四、提交规范
51
+
52
+ - 提交信息用中文,句式「动词 + 内容」,如:`feat: 新增 ollama provider`、`fix: 修复 zod v4 record 校验`。
53
+ - 不提交 `node_modules/`、`dist/`、`.env`、日志与本地 demo 产物(见 `.gitignore`)。
54
+ - 大改动先建分支,描述清楚动机与验证方式。
55
+
56
+ ## 五、本地开发
57
+
58
+ ```bash
59
+ npm install
60
+ npm run build # tsc 编译到 dist/
61
+ npm run dev # tsx 直接跑源码
62
+ node dist/cli/index.js --version
63
+ node dist/cli/index.js "<需求>" # 未配 FH_PROVIDERS 自动离线 Mock 闭环
64
+ ```
65
+
66
+ ---
67
+
68
+ © 2026 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
package/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 晋江市飞虹智科技企业管理有限公司
4
- 飞扬企源研发中心 · 负责人:吴赐虹
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 晋江市飞虹智科技企业管理有限公司
4
+ 飞扬企源研发中心 · 负责人:吴赐虹
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.