feihong-code 0.2.3 → 0.5.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.
Files changed (152) 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 +405 -73
  11. package/CODE_OF_CONDUCT.md +56 -56
  12. package/CONTRIBUTING.md +68 -68
  13. package/LICENSE +22 -22
  14. package/README.md +527 -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 +70 -17
  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 +262 -62
  23. package/dist/agent/experience.js.map +1 -1
  24. package/dist/agent/orchestrator.js +148 -68
  25. package/dist/agent/orchestrator.js.map +1 -1
  26. package/dist/agent/quality-gate.js +10 -4
  27. package/dist/agent/quality-gate.js.map +1 -1
  28. package/dist/agent/repo-context.js +181 -0
  29. package/dist/agent/repo-context.js.map +1 -0
  30. package/dist/agent/repo-reader.js +92 -99
  31. package/dist/agent/repo-reader.js.map +1 -1
  32. package/dist/agent/self-heal.js +38 -48
  33. package/dist/agent/self-heal.js.map +1 -1
  34. package/dist/agent/self-improver.js +65 -61
  35. package/dist/agent/self-improver.js.map +1 -1
  36. package/dist/agent/subagent-summary.js +31 -0
  37. package/dist/agent/subagent-summary.js.map +1 -0
  38. package/dist/agent/subagent.js +52 -2
  39. package/dist/agent/subagent.js.map +1 -1
  40. package/dist/agent/symbol-index.js +160 -0
  41. package/dist/agent/symbol-index.js.map +1 -0
  42. package/dist/agent/team.js +193 -0
  43. package/dist/agent/team.js.map +1 -0
  44. package/dist/cli/commands.js +124 -143
  45. package/dist/cli/commands.js.map +1 -1
  46. package/dist/cli/index.js +113 -106
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/repl.js +82 -7
  49. package/dist/cli/repl.js.map +1 -1
  50. package/dist/cli/run.js +601 -95
  51. package/dist/cli/run.js.map +1 -1
  52. package/dist/cli/tui.js +145 -0
  53. package/dist/cli/tui.js.map +1 -0
  54. package/dist/cli/version.js +1 -1
  55. package/dist/enterprise/audit.js +75 -12
  56. package/dist/enterprise/audit.js.map +1 -1
  57. package/dist/enterprise/index.js +14 -11
  58. package/dist/enterprise/index.js.map +1 -1
  59. package/dist/enterprise/policy.js +22 -10
  60. package/dist/enterprise/policy.js.map +1 -1
  61. package/dist/harness/executor.js +127 -0
  62. package/dist/harness/executor.js.map +1 -0
  63. package/dist/harness/harness.js +87 -0
  64. package/dist/harness/harness.js.map +1 -0
  65. package/dist/harness/index.js +31 -0
  66. package/dist/harness/index.js.map +1 -0
  67. package/dist/harness/loader.js +138 -0
  68. package/dist/harness/loader.js.map +1 -0
  69. package/dist/harness/reporter.js +34 -0
  70. package/dist/harness/reporter.js.map +1 -0
  71. package/dist/harness/types.js +10 -0
  72. package/dist/harness/types.js.map +1 -0
  73. package/dist/harness/verifier.js +48 -0
  74. package/dist/harness/verifier.js.map +1 -0
  75. package/dist/hello.js +14 -0
  76. package/dist/hello.js.map +1 -0
  77. package/dist/memory/auto-summarize.js +208 -0
  78. package/dist/memory/auto-summarize.js.map +1 -0
  79. package/dist/memory/index.js +228 -0
  80. package/dist/memory/index.js.map +1 -0
  81. package/dist/models/model-router.js +23 -10
  82. package/dist/models/model-router.js.map +1 -1
  83. package/dist/plugins/plugin-loader.js +179 -0
  84. package/dist/plugins/plugin-loader.js.map +1 -0
  85. package/dist/runtime/event-log.js.map +1 -1
  86. package/dist/runtime/hooks.js +80 -0
  87. package/dist/runtime/hooks.js.map +1 -0
  88. package/dist/self-evolve/hook.js +60 -0
  89. package/dist/self-evolve/hook.js.map +1 -0
  90. package/dist/shared/config.js +35 -3
  91. package/dist/shared/config.js.map +1 -1
  92. package/dist/shared/i18n.js +535 -0
  93. package/dist/shared/i18n.js.map +1 -0
  94. package/dist/skills/grill.js +2 -1
  95. package/dist/skills/grill.js.map +1 -1
  96. package/dist/skills/self-heal.js +73 -0
  97. package/dist/skills/self-heal.js.map +1 -0
  98. package/dist/skills/skill-loader.js +131 -0
  99. package/dist/skills/skill-loader.js.map +1 -0
  100. package/dist/skills/skill-market.js +195 -0
  101. package/dist/skills/skill-market.js.map +1 -0
  102. package/dist/tools/analysis/code-analyzer.js +45 -18
  103. package/dist/tools/analysis/code-analyzer.js.map +1 -1
  104. package/dist/tools/index.js +5 -0
  105. package/dist/tools/index.js.map +1 -1
  106. package/dist/tools/mcp/index.js +84 -0
  107. package/dist/tools/mcp/index.js.map +1 -0
  108. package/dist/tools/mcp/mcp-client.js +172 -0
  109. package/dist/tools/mcp/mcp-client.js.map +1 -0
  110. package/dist/tools/sandbox.js +126 -0
  111. package/dist/tools/sandbox.js.map +1 -0
  112. package/dist/tools/shell/exec.js +25 -0
  113. package/dist/tools/shell/exec.js.map +1 -1
  114. package/dist/tools/shell/run-shell.tool.js +4 -1
  115. package/dist/tools/shell/run-shell.tool.js.map +1 -1
  116. package/dist/tools/skills/load-skill.tool.js +36 -0
  117. package/dist/tools/skills/load-skill.tool.js.map +1 -0
  118. package/dist/tools/tool.interface.js.map +1 -1
  119. package/dist/tools/tool.registry.js +37 -1
  120. package/dist/tools/tool.registry.js.map +1 -1
  121. package/dist/tools/web/web.tool.js +139 -0
  122. package/dist/tools/web/web.tool.js.map +1 -0
  123. package/dist/web/auth.js +42 -3
  124. package/dist/web/auth.js.map +1 -1
  125. package/dist/web/channels.js +171 -0
  126. package/dist/web/channels.js.map +1 -0
  127. package/dist/web/public/index.html +3253 -39
  128. package/dist/web/public/index.html.tmp +3117 -0
  129. package/dist/web/public/index_new.html +3196 -0
  130. package/dist/web/server.js +790 -11
  131. package/dist/web/server.js.map +1 -1
  132. package/dist/web/task-queue.js +352 -0
  133. package/dist/web/task-queue.js.map +1 -0
  134. package/dist/web/web-config.js +143 -0
  135. package/dist/web/web-config.js.map +1 -0
  136. package/docs/Deployment_Guide_EN.md +288 -0
  137. package/docs/Technical_Manual_EN.md +216 -0
  138. package/docs/User_Manual_EN.md +314 -0
  139. package/docs/self-evolve-implementation.md +165 -0
  140. package/docs/self-evolve.md +166 -0
  141. package/docs//344/272/247/345/223/201/345/274/200/345/217/221/346/226/207/346/241/243.md +614 -614
  142. 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
  143. package/docs//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +318 -358
  144. 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
  145. package/docs//346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +216 -303
  146. package/docs//346/236/266/346/236/204/344/270/216API.md +238 -238
  147. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +196 -196
  148. package/docs//351/203/250/347/275/262/346/214/207/345/215/227.md +165 -165
  149. package/docs//351/203/250/347/275/262/350/257/264/346/230/216/344/271/246.md +288 -0
  150. package/docs//351/205/215/347/275/256/345/217/202/350/200/203.md +127 -127
  151. package/package.json +114 -109
  152. package/tool-schema.json +127 -127
@@ -1,56 +1,56 @@
1
- # 行为准则
2
-
3
- ## 我们的承诺
4
-
5
- 为了营造一个开放和友好的环境,我们作为贡献者和维护者承诺:
6
-
7
- - 不受性别、种族、民族、性取向、性别认同、残疾、外貌、体型、年龄、宗教或国籍的影响
8
- - 以尊重和包容的态度对待每一位参与者
9
- - 致力于创造一个无骚扰的环境
10
-
11
- ## 我们的标准
12
-
13
- **促进积极互动的行为:**
14
- - 使用友好和包容的语言
15
- - 尊重不同的观点和经历
16
- - 虚心接受建设性反馈
17
- - 关注社区的整体利益
18
- - 对同类表现出同理心
19
-
20
- **不可接受的行为:**
21
- - 使用性化的语言或图像,以及任何形式的性关注或挑逗
22
- - 恶意的评论、侮辱性的贬低攻击或个人/政治攻击
23
- - 公开或私下的骚扰
24
- - 未经明确许可发布他人的私人信息,如物理或电子邮件地址
25
- - 其他在专业场所被认为不恰当的行为
26
-
27
- ## 执行责任
28
-
29
- 社区领导者负责澄清和执行我们接受的行为标准,并将根据以下原则采取适当和公平的纠正措施:
30
-
31
- 1. 以建设性的方式提供纠正性反馈
32
- 2. 移除、编辑或不接受违反本行为准则的评论、提交、代码、问题和其他贡献
33
- 3. 暂时或永久禁止任何被视为不合适、威胁、冒犯或有害的行为
34
-
35
- ## 范围
36
-
37
- 本行为准则适用于:
38
- - 项目空间和公共空间,当个人正式代表项目或其社区时
39
- - 代表项目的官方电子邮件、社交媒体账户或在线活动中
40
-
41
- ## 报告
42
-
43
- 如目睹或遭受不法行为,请通过以下方式联系项目负责人:
44
-
45
- - **GitHub Issues**: https://github.com/wch887292/feihong-code/issues
46
- - **邮件**: wch887292@gmail.com
47
-
48
- 所有投诉将被认真、及时地审查和调查。
49
-
50
- ## attribution
51
-
52
- 本行为准则改编自 [Contributor Covenant](https://www.contributor-covenant.org),版本 2.1。
53
-
54
- ---
55
-
56
- **晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹**
1
+ # 行为准则
2
+
3
+ ## 我们的承诺
4
+
5
+ 为了营造一个开放和友好的环境,我们作为贡献者和维护者承诺:
6
+
7
+ - 不受性别、种族、民族、性取向、性别认同、残疾、外貌、体型、年龄、宗教或国籍的影响
8
+ - 以尊重和包容的态度对待每一位参与者
9
+ - 致力于创造一个无骚扰的环境
10
+
11
+ ## 我们的标准
12
+
13
+ **促进积极互动的行为:**
14
+ - 使用友好和包容的语言
15
+ - 尊重不同的观点和经历
16
+ - 虚心接受建设性反馈
17
+ - 关注社区的整体利益
18
+ - 对同类表现出同理心
19
+
20
+ **不可接受的行为:**
21
+ - 使用性化的语言或图像,以及任何形式的性关注或挑逗
22
+ - 恶意的评论、侮辱性的贬低攻击或个人/政治攻击
23
+ - 公开或私下的骚扰
24
+ - 未经明确许可发布他人的私人信息,如物理或电子邮件地址
25
+ - 其他在专业场所被认为不恰当的行为
26
+
27
+ ## 执行责任
28
+
29
+ 社区领导者负责澄清和执行我们接受的行为标准,并将根据以下原则采取适当和公平的纠正措施:
30
+
31
+ 1. 以建设性的方式提供纠正性反馈
32
+ 2. 移除、编辑或不接受违反本行为准则的评论、提交、代码、问题和其他贡献
33
+ 3. 暂时或永久禁止任何被视为不合适、威胁、冒犯或有害的行为
34
+
35
+ ## 范围
36
+
37
+ 本行为准则适用于:
38
+ - 项目空间和公共空间,当个人正式代表项目或其社区时
39
+ - 代表项目的官方电子邮件、社交媒体账户或在线活动中
40
+
41
+ ## 报告
42
+
43
+ 如目睹或遭受不法行为,请通过以下方式联系项目负责人:
44
+
45
+ - **GitHub Issues**: https://github.com/wch887292/feihong-code/issues
46
+ - **邮件**: wch887292@gmail.com
47
+
48
+ 所有投诉将被认真、及时地审查和调查。
49
+
50
+ ## attribution
51
+
52
+ 本行为准则改编自 [Contributor Covenant](https://www.contributor-covenant.org),版本 2.1。
53
+
54
+ ---
55
+
56
+ **晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹**
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.