feihong-code 7.2.0 → 7.5.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 (249) hide show
  1. package/.github/workflows/ci.yml +180 -140
  2. package/.github/workflows/release.yml +200 -173
  3. package/CHANGELOG.md +94 -115
  4. package/README.md +609 -586
  5. package/dist/agent/completion-engine.js +76 -45
  6. package/dist/agent/completion-engine.js.map +1 -1
  7. package/dist/agent/completion-postprocess.js +109 -0
  8. package/dist/agent/completion-postprocess.js.map +1 -0
  9. package/dist/agent/context-budget.js +121 -0
  10. package/dist/agent/context-budget.js.map +1 -0
  11. package/dist/agent/context-compactor.js +47 -0
  12. package/dist/agent/context-compactor.js.map +1 -1
  13. package/dist/agent/custom-agent.js +52 -52
  14. package/dist/agent/design-to-code.js +40 -40
  15. package/dist/agent/lint.js +121 -0
  16. package/dist/agent/lint.js.map +1 -0
  17. package/dist/agent/multi-agent.js +44 -44
  18. package/dist/agent/orchestrator.js +20 -20
  19. package/dist/agent/prompts.js +54 -54
  20. package/dist/agent/self-correction.js +24 -24
  21. package/dist/agent/self-heal.js +27 -27
  22. package/dist/cli/commands.js +9 -0
  23. package/dist/cli/commands.js.map +1 -1
  24. package/dist/cli/index.js +9 -0
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/multi-pane-tui.js +217 -0
  27. package/dist/cli/multi-pane-tui.js.map +1 -0
  28. package/dist/cli/run.js +129 -40
  29. package/dist/cli/run.js.map +1 -1
  30. package/dist/cli/tui-run.js +79 -0
  31. package/dist/cli/tui-run.js.map +1 -0
  32. package/dist/cli/tui.js.map +1 -1
  33. package/dist/cli/version.js +1 -1
  34. package/dist/lsp/lsp-client.js +183 -0
  35. package/dist/lsp/lsp-client.js.map +1 -0
  36. package/dist/lsp/lsp-service.js +159 -0
  37. package/dist/lsp/lsp-service.js.map +1 -0
  38. package/dist/plugins/manager.js +50 -2
  39. package/dist/plugins/manager.js.map +1 -1
  40. package/dist/shared/i18n.js +108 -100
  41. package/dist/shared/i18n.js.map +1 -1
  42. package/dist/tools/generator/code-generator.js +40 -40
  43. package/dist/tools/generator/test-generator.js +9 -9
  44. package/dist/tools/shell/exec.js +23 -1
  45. package/dist/tools/shell/exec.js.map +1 -1
  46. package/dist/web/extra-apis.js +440 -0
  47. package/dist/web/extra-apis.js.map +1 -0
  48. package/dist/web/public/css/style.css +1715 -1715
  49. package/dist/web/public/index.html +1242 -1200
  50. package/dist/web/public/js/api.js +555 -496
  51. package/dist/web/public/js/app.js +2210 -2210
  52. package/dist/web/public/js/mock-api.js +234 -234
  53. package/dist/web/public/js/monaco-editor.js +363 -203
  54. package/dist/web/public/js/ui.js +2251 -1981
  55. package/dist/web/public/js/utils.js +214 -214
  56. package/dist/web/public/manifest.json +59 -59
  57. package/dist/web/public/service-worker.js +173 -173
  58. package/dist/web/server.js +97 -45
  59. package/dist/web/server.js.map +1 -1
  60. package/docs/BENCHMARK_REPORT_en.md +386 -329
  61. package/docs/BENCHMARK_REPORT_zh.md +386 -329
  62. package/docs/DPA.md +63 -0
  63. package/docs/DPA/346/225/260/346/215/256/345/244/204/347/220/206/345/215/217/350/256/256/346/250/241/346/235/277_v1.0.md +67 -0
  64. package/docs/SECURITY_WHITEPAPER.md +74 -0
  65. package/docs/SWE_BENCH_REPORT.md +55 -0
  66. package/docs/TECHNICAL_SPEC_en.md +292 -292
  67. package/docs/TECHNICAL_SPEC_zh.md +292 -292
  68. package/docs/UPDATE_NOTES_en.md +159 -159
  69. package/docs/UPDATE_NOTES_zh.md +159 -159
  70. package/docs/UPGRADE_7.2.0.md +309 -0
  71. package/docs/UPGRADE_GUIDE_7_5.md +86 -0
  72. package/docs/geo-feihong-code.html +391 -0
  73. package/docs//345/205/250/351/235/242/345/244/215/347/233/230_50/350/275/256/346/267/261/345/272/246/345/256/241/350/256/241_v7.2.0.md +208 -0
  74. package/docs//345/205/250/351/235/242/345/244/215/347/233/230_6/351/241/271/351/207/215/347/202/271/346/240/270/346/237/245_v7.2.0.md +152 -0
  75. package/docs//345/205/250/351/235/242/345/244/215/347/233/230_/350/277/220/350/241/214/346/227/266/345/256/236/346/265/213/347/211/210_v7.2.0.md +271 -0
  76. package/docs//345/220/210/350/247/204/350/256/244/350/257/201/345/207/206/345/244/207/346/270/205/345/215/225_v7.2.0.md +59 -0
  77. package/docs//345/256/211/345/205/250/347/231/275/347/232/256/344/271/246_v7.2.0.md +82 -0
  78. package/electron/main.js +404 -602
  79. package/package.json +175 -172
  80. package/templates/skills/api-design/SKILL.md +27 -0
  81. package/templates/skills/code-review/SKILL.md +35 -0
  82. package/templates/skills/dependency-upgrade/SKILL.md +29 -0
  83. package/templates/skills/doc-gen/SKILL.md +29 -0
  84. package/templates/skills/git-flow/SKILL.md +26 -0
  85. package/templates/skills/onboarding/SKILL.md +27 -0
  86. package/templates/skills/performance/SKILL.md +29 -0
  87. package/templates/skills/refactor/SKILL.md +28 -0
  88. package/templates/skills/security-audit/SKILL.md +28 -0
  89. package/templates/skills/test-gen/SKILL.md +30 -0
  90. package/tool-schema.json +197 -197
  91. package/dist/hello.js +0 -14
  92. package/dist/hello.js.map +0 -1
  93. package/dist/self-evolve/hook.ts +0 -80
  94. package/dist/self-evolve/manager.d.ts +0 -8
  95. package/dist/web/public/vendor/monaco/vs/abap-D-t0cyap.js +0 -1
  96. package/dist/web/public/vendor/monaco/vs/apex-CcIm7xu6.js +0 -1
  97. package/dist/web/public/vendor/monaco/vs/assets/css.worker-URu8fCFR.js +0 -97
  98. package/dist/web/public/vendor/monaco/vs/assets/editor.worker-lj3bdIIn.js +0 -30
  99. package/dist/web/public/vendor/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +0 -30
  100. package/dist/web/public/vendor/monaco/vs/assets/html.worker-D1SL3iM8.js +0 -474
  101. package/dist/web/public/vendor/monaco/vs/assets/json.worker-CoJx_OPf.js +0 -62
  102. package/dist/web/public/vendor/monaco/vs/assets/ts.worker-BWKtMYOk.js +0 -67722
  103. package/dist/web/public/vendor/monaco/vs/azcli-BA0tQDCg.js +0 -1
  104. package/dist/web/public/vendor/monaco/vs/basic-languages/monaco.contribution.js +0 -1
  105. package/dist/web/public/vendor/monaco/vs/bat-C397hTD6.js +0 -1
  106. package/dist/web/public/vendor/monaco/vs/bicep-DF5aW17k.js +0 -2
  107. package/dist/web/public/vendor/monaco/vs/cameligo-plsz8qhj.js +0 -1
  108. package/dist/web/public/vendor/monaco/vs/clojure-Y2auQMzK.js +0 -1
  109. package/dist/web/public/vendor/monaco/vs/coffee-Bu45yuWE.js +0 -1
  110. package/dist/web/public/vendor/monaco/vs/cpp-CkKPQIni.js +0 -1
  111. package/dist/web/public/vendor/monaco/vs/csharp-CX28MZyh.js +0 -1
  112. package/dist/web/public/vendor/monaco/vs/csp-D8uWnyxW.js +0 -1
  113. package/dist/web/public/vendor/monaco/vs/css-CaeNmE3S.js +0 -3
  114. package/dist/web/public/vendor/monaco/vs/css.worker-CyhWkhHo.js +0 -1
  115. package/dist/web/public/vendor/monaco/vs/cssMode-CV6Ay48H.js +0 -1
  116. package/dist/web/public/vendor/monaco/vs/cypher-DVThT8BS.js +0 -1
  117. package/dist/web/public/vendor/monaco/vs/dart-CmGfCvrO.js +0 -1
  118. package/dist/web/public/vendor/monaco/vs/dockerfile-CZqqYdch.js +0 -1
  119. package/dist/web/public/vendor/monaco/vs/ecl-30fUercY.js +0 -1
  120. package/dist/web/public/vendor/monaco/vs/editor/editor.main.css +0 -1
  121. package/dist/web/public/vendor/monaco/vs/editor/editor.main.js +0 -1
  122. package/dist/web/public/vendor/monaco/vs/editor/editor.worker.js +0 -1
  123. package/dist/web/public/vendor/monaco/vs/editor-KLE6jdfb.js +0 -831
  124. package/dist/web/public/vendor/monaco/vs/editor.js +0 -1
  125. package/dist/web/public/vendor/monaco/vs/editorWorkerHost-fVE1cjcC.js +0 -35
  126. package/dist/web/public/vendor/monaco/vs/elixir-xjPaIfzF.js +0 -1
  127. package/dist/web/public/vendor/monaco/vs/flow9-DqtmStfK.js +0 -1
  128. package/dist/web/public/vendor/monaco/vs/freemarker2-FWreY7v7.js +0 -3
  129. package/dist/web/public/vendor/monaco/vs/fsharp-BOMdg4U1.js +0 -1
  130. package/dist/web/public/vendor/monaco/vs/go-D_hbi-Jt.js +0 -1
  131. package/dist/web/public/vendor/monaco/vs/graphql-CKUU4kLG.js +0 -1
  132. package/dist/web/public/vendor/monaco/vs/handlebars-CZi4pHCH.js +0 -1
  133. package/dist/web/public/vendor/monaco/vs/hcl-DTaboeZW.js +0 -1
  134. package/dist/web/public/vendor/monaco/vs/html-j_7ZTNRU.js +0 -1
  135. package/dist/web/public/vendor/monaco/vs/html.worker-CA3iAimZ.js +0 -1
  136. package/dist/web/public/vendor/monaco/vs/htmlMode-27by_KM4.js +0 -1
  137. package/dist/web/public/vendor/monaco/vs/index-049xrXrp.js +0 -1
  138. package/dist/web/public/vendor/monaco/vs/index-CBVt3dzv.js +0 -5
  139. package/dist/web/public/vendor/monaco/vs/index.js +0 -1
  140. package/dist/web/public/vendor/monaco/vs/ini-CsNwO04R.js +0 -1
  141. package/dist/web/public/vendor/monaco/vs/initialize-DL0l1TGY.js +0 -1
  142. package/dist/web/public/vendor/monaco/vs/java-CI4ZMsH9.js +0 -1
  143. package/dist/web/public/vendor/monaco/vs/javascript-DTJl4Jn1.js +0 -1
  144. package/dist/web/public/vendor/monaco/vs/json.worker-BizpAl9O.js +0 -1
  145. package/dist/web/public/vendor/monaco/vs/jsonMode-DLUiMUrI.js +0 -1
  146. package/dist/web/public/vendor/monaco/vs/julia-BwzEvaQw.js +0 -1
  147. package/dist/web/public/vendor/monaco/vs/kotlin-IUYPiTV8.js +0 -1
  148. package/dist/web/public/vendor/monaco/vs/language/css/css.worker.js +0 -66
  149. package/dist/web/public/vendor/monaco/vs/language/css/monaco.contribution.js +0 -1
  150. package/dist/web/public/vendor/monaco/vs/language/html/html.worker.js +0 -443
  151. package/dist/web/public/vendor/monaco/vs/language/html/monaco.contribution.js +0 -1
  152. package/dist/web/public/vendor/monaco/vs/language/json/json.worker.js +0 -17
  153. package/dist/web/public/vendor/monaco/vs/language/json/monaco.contribution.js +0 -1
  154. package/dist/web/public/vendor/monaco/vs/language/typescript/monaco.contribution.js +0 -1
  155. package/dist/web/public/vendor/monaco/vs/language/typescript/ts.worker.js +0 -67693
  156. package/dist/web/public/vendor/monaco/vs/less-C0eDYdqa.js +0 -2
  157. package/dist/web/public/vendor/monaco/vs/lexon-iON-Kj97.js +0 -1
  158. package/dist/web/public/vendor/monaco/vs/liquid-CLJYelW6.js +0 -1
  159. package/dist/web/public/vendor/monaco/vs/loader.js +0 -1368
  160. package/dist/web/public/vendor/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +0 -2
  161. package/dist/web/public/vendor/monaco/vs/lua-DtygF91M.js +0 -1
  162. package/dist/web/public/vendor/monaco/vs/m3-CsR4AuFi.js +0 -1
  163. package/dist/web/public/vendor/monaco/vs/main-BEx-Fmlo.js +0 -15
  164. package/dist/web/public/vendor/monaco/vs/main-DsK8pnKg.js +0 -3
  165. package/dist/web/public/vendor/monaco/vs/markdown-C_rD0bIw.js +0 -1
  166. package/dist/web/public/vendor/monaco/vs/mdx-CpzZIPHF.js +0 -1
  167. package/dist/web/public/vendor/monaco/vs/mips-CiYP61RB.js +0 -1
  168. package/dist/web/public/vendor/monaco/vs/monaco.contribution-9cKT3C7t.js +0 -1
  169. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BE88ZNGY.js +0 -1
  170. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BPhsneLd.js +0 -1
  171. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BgRy6xDf.js +0 -1
  172. package/dist/web/public/vendor/monaco/vs/msdax-C38-sJlp.js +0 -1
  173. package/dist/web/public/vendor/monaco/vs/mysql-CdtbpvbG.js +0 -1
  174. package/dist/web/public/vendor/monaco/vs/nls/lang/cs.d.ts +0 -1
  175. package/dist/web/public/vendor/monaco/vs/nls/lang/cs.js +0 -9
  176. package/dist/web/public/vendor/monaco/vs/nls/lang/de.d.ts +0 -1
  177. package/dist/web/public/vendor/monaco/vs/nls/lang/de.js +0 -9
  178. package/dist/web/public/vendor/monaco/vs/nls/lang/es.d.ts +0 -1
  179. package/dist/web/public/vendor/monaco/vs/nls/lang/es.js +0 -9
  180. package/dist/web/public/vendor/monaco/vs/nls/lang/fr.d.ts +0 -1
  181. package/dist/web/public/vendor/monaco/vs/nls/lang/fr.js +0 -9
  182. package/dist/web/public/vendor/monaco/vs/nls/lang/it.d.ts +0 -1
  183. package/dist/web/public/vendor/monaco/vs/nls/lang/it.js +0 -9
  184. package/dist/web/public/vendor/monaco/vs/nls/lang/ja.d.ts +0 -1
  185. package/dist/web/public/vendor/monaco/vs/nls/lang/ja.js +0 -9
  186. package/dist/web/public/vendor/monaco/vs/nls/lang/ko.d.ts +0 -1
  187. package/dist/web/public/vendor/monaco/vs/nls/lang/ko.js +0 -9
  188. package/dist/web/public/vendor/monaco/vs/nls/lang/pl.d.ts +0 -1
  189. package/dist/web/public/vendor/monaco/vs/nls/lang/pl.js +0 -9
  190. package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.d.ts +0 -1
  191. package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.js +0 -9
  192. package/dist/web/public/vendor/monaco/vs/nls/lang/ru.d.ts +0 -1
  193. package/dist/web/public/vendor/monaco/vs/nls/lang/ru.js +0 -9
  194. package/dist/web/public/vendor/monaco/vs/nls/lang/tr.d.ts +0 -1
  195. package/dist/web/public/vendor/monaco/vs/nls/lang/tr.js +0 -9
  196. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.d.ts +0 -1
  197. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.js +0 -9
  198. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.d.ts +0 -1
  199. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.js +0 -9
  200. package/dist/web/public/vendor/monaco/vs/nls.messages-loader.js +0 -1
  201. package/dist/web/public/vendor/monaco/vs/objective-c-CntZFaHX.js +0 -1
  202. package/dist/web/public/vendor/monaco/vs/pascal-r6kuqfl_.js +0 -1
  203. package/dist/web/public/vendor/monaco/vs/pascaligo-BiXoTmXh.js +0 -1
  204. package/dist/web/public/vendor/monaco/vs/perl-DABw_TcH.js +0 -1
  205. package/dist/web/public/vendor/monaco/vs/pgsql-me_jFXeX.js +0 -1
  206. package/dist/web/public/vendor/monaco/vs/php-D_kh-9LK.js +0 -1
  207. package/dist/web/public/vendor/monaco/vs/pla-VfZjczW0.js +0 -1
  208. package/dist/web/public/vendor/monaco/vs/postiats-BBSzz8Pk.js +0 -1
  209. package/dist/web/public/vendor/monaco/vs/powerquery-Dt-g_2cc.js +0 -1
  210. package/dist/web/public/vendor/monaco/vs/powershell-B-7ap1zc.js +0 -1
  211. package/dist/web/public/vendor/monaco/vs/protobuf-BmtuEB1A.js +0 -2
  212. package/dist/web/public/vendor/monaco/vs/pug-BRpRNeEb.js +0 -1
  213. package/dist/web/public/vendor/monaco/vs/python-CqWUUgfu.js +0 -1
  214. package/dist/web/public/vendor/monaco/vs/qsharp-BzsFaUU9.js +0 -1
  215. package/dist/web/public/vendor/monaco/vs/r-f8dDdrp4.js +0 -1
  216. package/dist/web/public/vendor/monaco/vs/razor-hok5y9Km.js +0 -1
  217. package/dist/web/public/vendor/monaco/vs/redis-fvZQY4PI.js +0 -1
  218. package/dist/web/public/vendor/monaco/vs/redshift-45Et0LQi.js +0 -1
  219. package/dist/web/public/vendor/monaco/vs/restructuredtext-C7UUFKFD.js +0 -1
  220. package/dist/web/public/vendor/monaco/vs/ruby-CZO8zYTz.js +0 -1
  221. package/dist/web/public/vendor/monaco/vs/rust-Bfetafyc.js +0 -1
  222. package/dist/web/public/vendor/monaco/vs/sb-3GYllVck.js +0 -1
  223. package/dist/web/public/vendor/monaco/vs/scala-foMgrKo1.js +0 -1
  224. package/dist/web/public/vendor/monaco/vs/scheme-CHdMtr7p.js +0 -1
  225. package/dist/web/public/vendor/monaco/vs/scss-C1cmLt9V.js +0 -3
  226. package/dist/web/public/vendor/monaco/vs/shell-ClXCKCEW.js +0 -1
  227. package/dist/web/public/vendor/monaco/vs/solidity-MZ6ExpPy.js +0 -1
  228. package/dist/web/public/vendor/monaco/vs/sophia-DWkuSsPQ.js +0 -1
  229. package/dist/web/public/vendor/monaco/vs/sparql-AUGFYSyk.js +0 -1
  230. package/dist/web/public/vendor/monaco/vs/sql-32GpJSV2.js +0 -1
  231. package/dist/web/public/vendor/monaco/vs/st-CuDFIVZ_.js +0 -1
  232. package/dist/web/public/vendor/monaco/vs/swift-t-PfMj7W.js +0 -1
  233. package/dist/web/public/vendor/monaco/vs/systemverilog-Ch4vA8Yt.js +0 -1
  234. package/dist/web/public/vendor/monaco/vs/tcl-D74tq1nH.js +0 -1
  235. package/dist/web/public/vendor/monaco/vs/toggleHighContrast-qGX7E9o7.js +0 -61
  236. package/dist/web/public/vendor/monaco/vs/ts.worker-2QLmBukE.js +0 -1
  237. package/dist/web/public/vendor/monaco/vs/tsMode-B0S_kp2q.js +0 -11
  238. package/dist/web/public/vendor/monaco/vs/twig-C6taOxMV.js +0 -1
  239. package/dist/web/public/vendor/monaco/vs/typescript-_2t_511t.js +0 -1
  240. package/dist/web/public/vendor/monaco/vs/typespec-8OfoLt6R.js +0 -1
  241. package/dist/web/public/vendor/monaco/vs/vb-Dyb2648j.js +0 -1
  242. package/dist/web/public/vendor/monaco/vs/wgsl-BhLXMOR0.js +0 -298
  243. package/dist/web/public/vendor/monaco/vs/workers-BBttULjf.js +0 -1
  244. package/dist/web/public/vendor/monaco/vs/xml-cZjNDqDT.js +0 -1
  245. package/dist/web/public/vendor/monaco/vs/yaml-A1fOIdH6.js +0 -1
  246. package/dist/web/web-config.js +0 -143
  247. package/dist/web/web-config.js.map +0 -1
  248. package/docs/DEPLOYMENT.md +0 -382
  249. package/docs/MODEL_FINETUNING.md +0 -405
@@ -52,56 +52,56 @@ const ZH = {
52
52
  'app.tagline': '终端 AI 编程智能体(Muse Code 参照复刻)',
53
53
  'app.signature': '晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹',
54
54
  'cli.brand': '[飞虹 Code]',
55
- 'cli.help': `飞虹 Code (fhcode) v{version}
56
-
57
- 用法:
58
- fhcode 进入交互 REPL
59
- fhcode "<需求>" 单命令模式执行一条需求
60
- fhcode --parallel "<需求>" 多子代理并行(M2:git worktree 隔离)
61
- fhcode /plan "<目标>" 生成实现计划(只读)
62
- fhcode /grill [路径] 红队式代码审查(只读)
63
- fhcode /goal "<目标>" 分解并保存高层目标
64
- fhcode sessions 列出历史会话(M3 恢复与审计)
65
- fhcode resume <id> 从检查点恢复中断的会话(M3)
66
- fhcode diff [<id>] 展示会话/工作区变更(M3)
67
- fhcode rollback <id> [--yes] 回滚会话改动(M3,危险操作需 --yes)
68
-
69
- 企业能力 (M4):
70
- fhcode whoami 当前租户 / 用户 / 角色 / 隔离目录 / 配额
71
- fhcode policy 查看生效的 RBAC 策略与角色矩阵
72
- fhcode audit [--limit N] 查看审计记录(默认最近 20 条)
73
- fhcode audit verify 校验审计哈希链是否被篡改
74
- fhcode tenants 列出全部租户与用量汇总
75
- fhcode doctor 环境自检(版本/git/provider/路径/网络)
76
-
77
- 自我进化 (M6):
78
- fhcode model-stats 查看各模型性能统计
79
- fhcode experiences [路径] 列出经验库
80
-
81
- Web 控制台 (M5):
82
- fhcode serve [--port 8080] 启动 Web 管理控制台(默认 http://localhost:8080)
83
- 令牌由 FH_WEB_TOKEN 或自动生成(控制台仅观测,不执行)
84
-
85
- 自主编程 (M8):
86
- fhcode code-write "<目标>" 自主编写代码(规划→编写→测试→审查→修复)
87
- fhcode quality-gate [路径] 质量门禁审查(安全+质量+测试覆盖)
88
- fhcode self-improve 自我改进统计与历史
89
-
90
- 全自动软件工程 Agent (M9):
91
- fhcode swe "<目标>" 读取仓库→拆解规划→实现+验证+自愈→报告
92
- --repo <路径> 指定仓库(默认当前目录)
93
- --plan-only 仅规划不执行
94
- --verify-only 仅跑验证不实现
95
- --max-tasks N 限制子任务数(默认8)
96
- --max-retries N 单任务自愈重试(默认2)
97
-
98
- fhcode --version 显示版本 (-v)
99
- fhcode --help 显示帮助 (-h)
100
- fhcode --lang <zh|en> 设置界面语言(中文/英文)
101
-
102
- 说明: 未配置 FH_PROVIDERS 时自动进入离线模式(脚本化 Mock 驱动闭环验证)。
103
- 配置 FH_PROVIDERS(OpenAI 兼容 / Ollama)后,将调用真实大模型执行任务。
104
- 企业模式默认开启(租户隔离 + RBAC + 审计链 + 配额),可用 FH_ENTERPRISE=false 关闭。
55
+ 'cli.help': `飞虹 Code (fhcode) v{version}
56
+
57
+ 用法:
58
+ fhcode 进入交互 REPL
59
+ fhcode "<需求>" 单命令模式执行一条需求
60
+ fhcode --parallel "<需求>" 多子代理并行(M2:git worktree 隔离)
61
+ fhcode /plan "<目标>" 生成实现计划(只读)
62
+ fhcode /grill [路径] 红队式代码审查(只读)
63
+ fhcode /goal "<目标>" 分解并保存高层目标
64
+ fhcode sessions 列出历史会话(M3 恢复与审计)
65
+ fhcode resume <id> 从检查点恢复中断的会话(M3)
66
+ fhcode diff [<id>] 展示会话/工作区变更(M3)
67
+ fhcode rollback <id> [--yes] 回滚会话改动(M3,危险操作需 --yes)
68
+
69
+ 企业能力 (M4):
70
+ fhcode whoami 当前租户 / 用户 / 角色 / 隔离目录 / 配额
71
+ fhcode policy 查看生效的 RBAC 策略与角色矩阵
72
+ fhcode audit [--limit N] 查看审计记录(默认最近 20 条)
73
+ fhcode audit verify 校验审计哈希链是否被篡改
74
+ fhcode tenants 列出全部租户与用量汇总
75
+ fhcode doctor 环境自检(版本/git/provider/路径/网络)
76
+
77
+ 自我进化 (M6):
78
+ fhcode model-stats 查看各模型性能统计
79
+ fhcode experiences [路径] 列出经验库
80
+
81
+ Web 控制台 (M5):
82
+ fhcode serve [--port 8080] 启动 Web 管理控制台(默认 http://localhost:8080)
83
+ 令牌由 FH_WEB_TOKEN 或自动生成(控制台仅观测,不执行)
84
+
85
+ 自主编程 (M8):
86
+ fhcode code-write "<目标>" 自主编写代码(规划→编写→测试→审查→修复)
87
+ fhcode quality-gate [路径] 质量门禁审查(安全+质量+测试覆盖)
88
+ fhcode self-improve 自我改进统计与历史
89
+
90
+ 全自动软件工程 Agent (M9):
91
+ fhcode swe "<目标>" 读取仓库→拆解规划→实现+验证+自愈→报告
92
+ --repo <路径> 指定仓库(默认当前目录)
93
+ --plan-only 仅规划不执行
94
+ --verify-only 仅跑验证不实现
95
+ --max-tasks N 限制子任务数(默认8)
96
+ --max-retries N 单任务自愈重试(默认2)
97
+
98
+ fhcode --version 显示版本 (-v)
99
+ fhcode --help 显示帮助 (-h)
100
+ fhcode --lang <zh|en> 设置界面语言(中文/英文)
101
+
102
+ 说明: 未配置 FH_PROVIDERS 时自动进入离线模式(脚本化 Mock 驱动闭环验证)。
103
+ 配置 FH_PROVIDERS(OpenAI 兼容 / Ollama)后,将调用真实大模型执行任务。
104
+ 企业模式默认开启(租户隔离 + RBAC + 审计链 + 配额),可用 FH_ENTERPRISE=false 关闭。
105
105
  署名: {signature}`,
106
106
  'repl.welcome': '飞虹 Code REPL(输入需求回车执行,exit 退出)',
107
107
  'repl.hint': '提示:未配置 FH_PROVIDERS 时自动离线模式运行;支持 /plan /grill /goal 技能。\n',
@@ -180,8 +180,12 @@ Web 控制台 (M5):
180
180
  'doctor.home': '主目录可写',
181
181
  'doctor.sandbox': '沙箱模式',
182
182
  'doctor.sandboxUnavailable': '(配置不可用)',
183
+ 'doctor.docker': 'Docker 沙箱(container 档)',
183
184
  'doctor.allOk': '✅ 环境就绪,无异常项',
184
185
  'doctor.issues': '⚠️ 发现 {n} 项异常,请根据提示处理',
186
+ 'skillMarket.localSeed': '(网络不可达,已使用本地种子源 templates/market/index.json)',
187
+ 'skillMarket.registered': '✅ 已自动注册到本地技能索引(当前共 {n} 个技能)',
188
+ 'skillMarket.notRegisteredWarn': '⚠️ 技能已安装但未被本地索引发现:{name}(请检查 SKILL.md 格式)',
185
189
  'plugin.installUsage': '用法: fhcode plugin install <本地目录|git URL>',
186
190
  'plugin.installed': '✅ 插件已安装: {name}({dir})',
187
191
  'plugin.installFailed': '❌ 插件安装失败: ',
@@ -284,56 +288,56 @@ const EN = {
284
288
  'app.tagline': 'Terminal AI coding agent (a Muse Code reimplementation)',
285
289
  'app.signature': 'Jinjiang Feihongzhi Tech Enterprise Management Co., Ltd. · Feiyang Qiyuan R&D Center · Lead: Wu Cihong',
286
290
  'cli.brand': '[fhcode]',
287
- 'cli.help': `fhcode (Feihong Code) v{version}
288
-
289
- Usage:
290
- fhcode Enter interactive REPL
291
- fhcode "<request>" Run a single request
292
- fhcode --parallel "<request>" Multi-subagent parallel mode (M2: git worktree isolation)
293
- fhcode /plan "<goal>" Generate an implementation plan (read-only)
294
- fhcode /grill [path] Red-team code review (read-only)
295
- fhcode /goal "<goal>" Decompose and save a high-level goal
296
- fhcode sessions List historical sessions (M3 resume & audit)
297
- fhcode resume <id> Resume an interrupted session from checkpoint (M3)
298
- fhcode diff [<id>] Show session/workspace diff (M3)
299
- fhcode rollback <id> [--yes] Roll back session changes (M3, destructive, needs --yes)
300
-
301
- Enterprise (M4):
302
- fhcode whoami Current tenant / user / role / isolated dir / quota
303
- fhcode policy Show active RBAC policy & role matrix
304
- fhcode audit [--limit N] View audit records (last 20 by default)
305
- fhcode audit verify Verify audit hash-chain integrity
306
- fhcode tenants List all tenants & usage summary
307
- fhcode doctor Environment self-check (version/git/providers/paths/network)
308
-
309
- Self-evolution (M6):
310
- fhcode model-stats View per-model performance stats
311
- fhcode experiences [path] List the experience library
312
-
313
- Web console (M5):
314
- fhcode serve [--port 8080] Start the Web console (default http://localhost:8080)
315
- Token from FH_WEB_TOKEN or auto-generated (observe-only)
316
-
317
- Autonomous coding (M8):
318
- fhcode code-write "<goal>" Autonomous code writing (plan→write→test→review→fix)
319
- fhcode quality-gate [path] Quality-gate review (security+quality+test coverage)
320
- fhcode self-improve Self-improvement stats & history
321
-
322
- Autonomous SWE Agent (M9):
323
- fhcode swe "<goal>" Read repo→plan→implement+verify+self-heal→report
324
- --repo <path> target repo (default cwd)
325
- --plan-only plan only, no execution
326
- --verify-only verification only, no implementation
327
- --max-tasks N max subtasks (default 8)
328
- --max-retries N self-heal retries per task (default 2)
329
-
330
- fhcode --version Show version (-v)
331
- fhcode --help Show help (-h)
332
- fhcode --lang <zh|en> Set UI language (Chinese / English)
333
-
334
- Notes: offline mode is used automatically when FH_PROVIDERS is unset (scripted Mock drives the loop).
335
- With FH_PROVIDERS (OpenAI-compatible / Ollama) configured, real LLMs run the tasks.
336
- Enterprise mode is on by default (tenant isolation + RBAC + audit chain + quota); disable with FH_ENTERPRISE=false.
291
+ 'cli.help': `fhcode (Feihong Code) v{version}
292
+
293
+ Usage:
294
+ fhcode Enter interactive REPL
295
+ fhcode "<request>" Run a single request
296
+ fhcode --parallel "<request>" Multi-subagent parallel mode (M2: git worktree isolation)
297
+ fhcode /plan "<goal>" Generate an implementation plan (read-only)
298
+ fhcode /grill [path] Red-team code review (read-only)
299
+ fhcode /goal "<goal>" Decompose and save a high-level goal
300
+ fhcode sessions List historical sessions (M3 resume & audit)
301
+ fhcode resume <id> Resume an interrupted session from checkpoint (M3)
302
+ fhcode diff [<id>] Show session/workspace diff (M3)
303
+ fhcode rollback <id> [--yes] Roll back session changes (M3, destructive, needs --yes)
304
+
305
+ Enterprise (M4):
306
+ fhcode whoami Current tenant / user / role / isolated dir / quota
307
+ fhcode policy Show active RBAC policy & role matrix
308
+ fhcode audit [--limit N] View audit records (last 20 by default)
309
+ fhcode audit verify Verify audit hash-chain integrity
310
+ fhcode tenants List all tenants & usage summary
311
+ fhcode doctor Environment self-check (version/git/providers/paths/network)
312
+
313
+ Self-evolution (M6):
314
+ fhcode model-stats View per-model performance stats
315
+ fhcode experiences [path] List the experience library
316
+
317
+ Web console (M5):
318
+ fhcode serve [--port 8080] Start the Web console (default http://localhost:8080)
319
+ Token from FH_WEB_TOKEN or auto-generated (observe-only)
320
+
321
+ Autonomous coding (M8):
322
+ fhcode code-write "<goal>" Autonomous code writing (plan→write→test→review→fix)
323
+ fhcode quality-gate [path] Quality-gate review (security+quality+test coverage)
324
+ fhcode self-improve Self-improvement stats & history
325
+
326
+ Autonomous SWE Agent (M9):
327
+ fhcode swe "<goal>" Read repo→plan→implement+verify+self-heal→report
328
+ --repo <path> target repo (default cwd)
329
+ --plan-only plan only, no execution
330
+ --verify-only verification only, no implementation
331
+ --max-tasks N max subtasks (default 8)
332
+ --max-retries N self-heal retries per task (default 2)
333
+
334
+ fhcode --version Show version (-v)
335
+ fhcode --help Show help (-h)
336
+ fhcode --lang <zh|en> Set UI language (Chinese / English)
337
+
338
+ Notes: offline mode is used automatically when FH_PROVIDERS is unset (scripted Mock drives the loop).
339
+ With FH_PROVIDERS (OpenAI-compatible / Ollama) configured, real LLMs run the tasks.
340
+ Enterprise mode is on by default (tenant isolation + RBAC + audit chain + quota); disable with FH_ENTERPRISE=false.
337
341
  Signature: {signature}`,
338
342
  'repl.welcome': 'fhcode REPL (type a request and press Enter to run; type exit to quit)',
339
343
  'repl.hint': 'Hint: offline mode is used automatically when FH_PROVIDERS is not configured; /plan /grill /goal skills supported.\n',
@@ -412,6 +416,7 @@ Signature: {signature}`,
412
416
  'doctor.home': 'Home dir writable',
413
417
  'doctor.sandbox': 'Sandbox mode',
414
418
  'doctor.sandboxUnavailable': '(config unavailable)',
419
+ 'doctor.docker': 'Docker sandbox (container mode)',
415
420
  'doctor.allOk': '✅ Environment ready, no issues',
416
421
  'doctor.issues': '⚠️ {n} issue(s) found, please fix them as suggested',
417
422
  'plugin.installUsage': 'Usage: fhcode plugin install <local-dir|git-url>',
@@ -427,6 +432,9 @@ Signature: {signature}`,
427
432
  'skillMarket.searchTitle': 'Market results for "{q}" ({n} found, source {base}):',
428
433
  'skillMarket.installHint': 'Install: fhcode skill-market install <skill-name> [--repo <market-url>]',
429
434
  'skillMarket.installUsage': 'Usage: fhcode skill-market install <skill-name> [--repo <market-url>]',
435
+ 'skillMarket.localSeed': '(network unreachable, using local seed templates/market/index.json)',
436
+ 'skillMarket.registered': '✅ auto-registered to local skill index (total {n} skills)',
437
+ 'skillMarket.notRegisteredWarn': '⚠️ installed but NOT discovered by local index: {name} (check SKILL.md format)',
430
438
  'skillMarket.notFound': '❌ Skill not found in market: {name}',
431
439
  'skillMarket.installed': '✅ Skill installed: {name} ({dir}), auto-discovered in tasks',
432
440
  'skillMarket.installFailed': '❌ Skill install failed: ',
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/shared/i18n.ts"],"names":[],"mappings":";;AAcA,sCAQC;AAGD,gCAYC;AAID,0BAEC;AAGD,0BAGC;AA+hBD,cAWC;AAGD,4BAEC;AAnlBD,iDAAiD;AACjD,SAAgB,aAAa,CAAC,GAAmB;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjF,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kDAAkD;AAClD,SAAgB,UAAU;IACxB,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,MAAM,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,IAAI;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM;QAClB,OAAO,CAAC,GAAG,CAAC,QAAQ;QACpB,EAAE,CACH,CAAC,WAAW,EAAE,CAAC;IAChB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,WAAW,GAAS,UAAU,EAAE,CAAC;AAErC,SAAgB,OAAO;IACrB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,wCAAwC;AACxC,SAAgB,OAAO,CAAC,IAA2B;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI;QAAE,WAAW,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,oEAAoE;AACpE,MAAM,EAAE,GAA2B;IACjC,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,6BAA6B;IAC5C,eAAe,EACb,uCAAuC;IACzC,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAkDE;IAEd,cAAc,EAAE,gCAAgC;IAChD,WAAW,EAAE,2DAA2D;IACxE,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,QAAQ;IAC5B,mBAAmB,EAAE,qCAAqC;IAC1D,UAAU,EAAE,OAAO;IACnB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,KAAK;IAE1B,oBAAoB,EAAE,eAAe;IACrC,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,0BAA0B;IAC5C,aAAa,EAAE,gCAAgC;IAE/C,cAAc,EAAE,4CAA4C;IAC5D,WAAW,EAAE,yBAAyB;IACtC,iBAAiB,EAAE,kBAAkB;IACrC,aAAa,EAAE,oCAAoC;IACnD,gBAAgB,EACd,sDAAsD;IACxD,oBAAoB,EAAE,uBAAuB;IAC7C,mBAAmB,EACjB,qDAAqD;IACvD,qBAAqB,EAAE,QAAQ;IAC/B,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IAEpB,kBAAkB,EAAE,0BAA0B;IAC9C,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,+BAA+B;IAEnD,gBAAgB,EAAE,SAAS;IAC3B,iBAAiB,EAAE,2BAA2B;IAC9C,iBAAiB,EACf,8DAA8D;IAChE,iBAAiB,EAAE,gBAAgB;IAEnC,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,kDAAkD;IAErE,iBAAiB,EAAE,oCAAoC;IACvD,aAAa,EAAE,+BAA+B;IAE9C,mBAAmB,EAAE,2CAA2C;IAChE,sBAAsB,EAAE,mBAAmB;IAC3C,qBAAqB,EAAE,mBAAmB;IAC1C,kBAAkB,EAAE,cAAc;IAElC,wBAAwB,EACtB,sCAAsC;IACxC,eAAe,EAAE,oCAAoC;IACrD,gBAAgB,EAAE,QAAQ;IAC1B,UAAU,EAAE,iDAAiD;IAE7D,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IAEjB,aAAa,EAAE,+BAA+B;IAC9C,cAAc,EAAE,mCAAmC;IACnD,WAAW,EACT,+DAA+D;IACjE,gBAAgB,EAAE,sBAAsB;IACxC,cAAc,EAAE,oBAAoB;IACpC,iBAAiB,EAAE,eAAe;IAClC,gBAAgB,EAAE,gCAAgC;IAClD,kBAAkB,EAAE,yCAAyC;IAE7D,eAAe,EAAE,sBAAsB;IACvC,gBAAgB,EAAE,SAAS;IAC3B,qBAAqB,EAAE,mDAAmD;IAC1E,aAAa,EACX,+CAA+C;IAEjD,kBAAkB,EAAE,sBAAsB;IAC1C,sBAAsB,EAAE,WAAW;IACnC,kBAAkB,EAAE,aAAa;IACjC,wBAAwB,EACtB,+DAA+D;IAEjE,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,wBAAwB;IACtC,iBAAiB,EAAE,sFAAsF;IACzG,UAAU,EAAE,wBAAwB;IAEpC,cAAc,EAAE,gCAAgC;IAChD,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;IACvB,mBAAmB,EAAE,gCAAgC;IACrD,eAAe,EAAE,MAAM;IACvB,oBAAoB,EAAE,yBAAyB;IAC/C,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,MAAM;IACxB,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,OAAO;IACtB,gBAAgB,EAAE,MAAM;IACxB,2BAA2B,EAAE,SAAS;IACtC,cAAc,EAAE,aAAa;IAC7B,eAAe,EAAE,uBAAuB;IAExC,qBAAqB,EAAE,0CAA0C;IACjE,kBAAkB,EAAE,wBAAwB;IAC5C,sBAAsB,EAAE,YAAY;IACpC,cAAc,EAAE,WAAW;IAC3B,kBAAkB,EAAE,QAAQ;IAE5B,wBAAwB,EAAE,YAAY;IACtC,wBAAwB,EAAE,iBAAiB;IAC3C,yBAAyB,EAAE,sBAAsB;IACjD,wBAAwB,EAAE,2CAA2C;IACrE,yBAAyB,EAAE,mBAAmB;IAC9C,yBAAyB,EAAE,+BAA+B;IAC1D,yBAAyB,EAAE,sDAAsD;IACjF,0BAA0B,EAAE,sDAAsD;IAClF,sBAAsB,EAAE,oBAAoB;IAC5C,uBAAuB,EAAE,gCAAgC;IACzD,2BAA2B,EAAE,YAAY;IAEzC,YAAY,EAAE,wCAAwC;IACtD,kBAAkB,EAAE,6BAA6B;IAEjD,WAAW,EAAE,0BAA0B;IACvC,aAAa,EAAE,wCAAwC;IACvD,YAAY,EAAE,uBAAuB;IACrC,iBAAiB,EACf,iDAAiD;IACnD,eAAe,EAAE,+CAA+C;IAEhE,uBAAuB,EAAE,uBAAuB;IAChD,iBAAiB,EAAE,eAAe;IAElC,gBAAgB,EAAE,yBAAyB;IAE3C,eAAe,EAAE,4BAA4B;IAC7C,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,cAAc;IACrC,gBAAgB,EAAE,4BAA4B;IAC9C,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,+BAA+B;IAClD,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,2BAA2B;IAC7C,qBAAqB,EAAE,aAAa;IACpC,mBAAmB,EAAE,oBAAoB;IACzC,sBAAsB,EAAE,+BAA+B;IACvD,mBAAmB,EAAE,WAAW;IAEhC,gBAAgB,EACd,8CAA8C;QAC9C,uHAAuH;QACvH,yDAAyD;QACzD,mCAAmC;QACnC,sFAAsF;IACxF,WAAW,EAAE,+CAA+C;IAC5D,iBAAiB,EAAE,8BAA8B;IACjD,eAAe,EAAE,mEAAmE;IACpF,oBAAoB,EAAE,wEAAwE;IAC9F,uBAAuB,EAAE,eAAe;IACxC,iBAAiB,EAAE,yCAAyC;IAE5D,gBAAgB,EAAE,6CAA6C;IAE/D,wBAAwB,EAAE,YAAY;IACtC,qBAAqB,EAAE,OAAO;IAC9B,mBAAmB,EAAE,OAAO;IAC5B,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,MAAM;IAC/B,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,WAAW;IACrC,uBAAuB,EAAE,IAAI;IAC7B,8BAA8B,EAAE,IAAI;IACpC,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,0BAA0B;IAC5C,iBAAiB,EAAE,KAAK;IACxB,0BAA0B,EAAE,kBAAkB;IAC9C,wBAAwB,EAAE,kBAAkB;IAC5C,wBAAwB,EAAE,kBAAkB;IAC5C,0BAA0B,EAAE,gBAAgB;IAC5C,2BAA2B,EAAE,kBAAkB;IAC/C,yBAAyB,EAAE,kBAAkB;IAC7C,wBAAwB,EAAE,kBAAkB;IAC5C,2BAA2B,EAAE,eAAe;IAC5C,wBAAwB,EAAE,gBAAgB;IAC1C,8BAA8B,EAAE,eAAe;IAC/C,wBAAwB,EAAE,gBAAgB;IAC1C,gBAAgB,EAAE,YAAY;IAC9B,aAAa,EAAE,WAAW;IAC1B,cAAc,EAAE,aAAa;IAC7B,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,cAAc;IAChC,kBAAkB,EAAE,cAAc;IAClC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,QAAQ;IAC9B,kBAAkB,EAAE,2DAA2D;IAC/E,qBAAqB,EAAE,oBAAoB;IAC3C,oBAAoB,EAAE,kBAAkB;IACxC,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,gCAAgC;IACjD,aAAa,EAAE,mBAAmB;IAClC,eAAe,EAAE,yBAAyB;CAC3C,CAAC;AAEF,oEAAoE;AACpE,MAAM,EAAE,GAA2B;IACjC,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,yDAAyD;IACxE,eAAe,EACb,wGAAwG;IAC1G,WAAW,EAAE,UAAU;IACvB,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAkDS;IAErB,cAAc,EAAE,wEAAwE;IACxF,WAAW,EAAE,sHAAsH;IACnI,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,uDAAuD;IAC5E,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,OAAO;IAC1B,mBAAmB,EAAE,SAAS;IAE9B,oBAAoB,EAAE,wBAAwB;IAC9C,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,QAAQ;IAC3B,iBAAiB,EAAE,6BAA6B;IAChD,gBAAgB,EAAE,2CAA2C;IAC7D,aAAa,EAAE,wCAAwC;IAEvD,cAAc,EAAE,kDAAkD;IAClE,WAAW,EAAE,iCAAiC;IAC9C,iBAAiB,EAAE,oBAAoB;IACvC,aAAa,EAAE,gDAAgD;IAC/D,gBAAgB,EACd,0EAA0E;IAC5E,oBAAoB,EAAE,qCAAqC;IAC3D,mBAAmB,EACjB,0GAA0G;IAC5G,qBAAqB,EAAE,gBAAgB;IACvC,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,MAAM;IAEtB,kBAAkB,EAAE,mCAAmC;IACvD,oBAAoB,EAAE,6BAA6B;IACnD,kBAAkB,EAAE,gDAAgD;IAEpE,gBAAgB,EAAE,0BAA0B;IAC5C,iBAAiB,EAAE,qCAAqC;IACxD,iBAAiB,EACf,wEAAwE;IAC1E,iBAAiB,EAAE,kBAAkB;IAErC,gBAAgB,EAAE,oDAAoD;IACtE,iBAAiB,EAAE,uEAAuE;IAE1F,iBAAiB,EAAE,+CAA+C;IAClE,aAAa,EAAE,sCAAsC;IAErD,mBAAmB,EAAE,6DAA6D;IAClF,sBAAsB,EAAE,6BAA6B;IACrD,qBAAqB,EAAE,8BAA8B;IACrD,kBAAkB,EAAE,gBAAgB;IAEpC,wBAAwB,EACtB,iFAAiF;IACnF,eAAe,EAAE,yCAAyC;IAC1D,gBAAgB,EAAE,oBAAoB;IACtC,UAAU,EACR,4FAA4F;IAE9F,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,MAAM;IAEnB,aAAa,EAAE,mDAAmD;IAClE,cAAc,EAAE,+CAA+C;IAC/D,WAAW,EACT,+DAA+D;IACjE,gBAAgB,EAAE,4BAA4B;IAC9C,cAAc,EAAE,wBAAwB;IACxC,iBAAiB,EAAE,0BAA0B;IAC7C,gBAAgB,EAAE,kFAAkF;IACpG,kBAAkB,EAAE,kFAAkF;IAEtG,eAAe,EAAE,4DAA4D;IAC7E,gBAAgB,EAAE,uBAAuB;IACzC,qBAAqB,EAAE,uEAAuE;IAC9F,aAAa,EACX,+CAA+C;IAEjD,kBAAkB,EAAE,sEAAsE;IAC1F,sBAAsB,EAAE,2BAA2B;IACnD,kBAAkB,EAAE,+BAA+B;IACnD,wBAAwB,EACtB,sFAAsF;IAExF,WAAW,EAAE,6DAA6D;IAC1E,YAAY,EAAE,kDAAkD;IAChE,iBAAiB,EAAE,0FAA0F;IAC7G,UAAU,EAAE,2CAA2C;IAEvD,cAAc,EAAE,6CAA6C;IAC7D,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,kBAAkB;IAChC,mBAAmB,EAAE,+DAA+D;IACpF,eAAe,EAAE,cAAc;IAC/B,oBAAoB,EAAE,kEAAkE;IACxF,iBAAiB,EAAE,UAAU;IAC7B,gBAAgB,EAAE,sBAAsB;IACxC,uBAAuB,EAAE,sCAAsC;IAC/D,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,cAAc;IAChC,2BAA2B,EAAE,sBAAsB;IACnD,cAAc,EAAE,gCAAgC;IAChD,eAAe,EAAE,qDAAqD;IAEtE,qBAAqB,EAAE,kDAAkD;IACzE,kBAAkB,EAAE,oCAAoC;IACxD,sBAAsB,EAAE,2BAA2B;IACnD,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,oBAAoB;IAExC,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,qBAAqB;IAC/C,yBAAyB,EAAE,2CAA2C;IACtE,wBAAwB,EAAE,mEAAmE;IAC7F,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,sDAAsD;IACjF,yBAAyB,EAAE,yEAAyE;IACpG,0BAA0B,EAAE,uEAAuE;IACnG,sBAAsB,EAAE,qCAAqC;IAC7D,uBAAuB,EAAE,6DAA6D;IACtF,2BAA2B,EAAE,0BAA0B;IAEvD,YAAY,EAAE,8DAA8D;IAC5E,kBAAkB,EAAE,+BAA+B;IAEnD,WAAW,EAAE,6BAA6B;IAC1C,aAAa,EAAE,+CAA+C;IAC9D,YAAY,EAAE,+BAA+B;IAC7C,iBAAiB,EACf,mEAAmE;IACrE,eAAe,EAAE,uDAAuD;IAExE,uBAAuB,EAAE,wCAAwC;IACjE,iBAAiB,EAAE,0BAA0B;IAE7C,gBAAgB,EAAE,oEAAoE;IAEtF,eAAe,EAAE,kDAAkD;IACnE,qBAAqB,EAAE,kBAAkB;IACzC,qBAAqB,EAAE,oBAAoB;IAC3C,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,mEAAmE;IACrF,gBAAgB,EAAE,mCAAmC;IACrD,iBAAiB,EAAE,+BAA+B;IAClD,gBAAgB,EAAE,sBAAsB;IACxC,gBAAgB,EAAE,+BAA+B;IACjD,qBAAqB,EAAE,aAAa;IACpC,mBAAmB,EAAE,mEAAmE;IACxF,sBAAsB,EAAE,mDAAmD;IAC3E,mBAAmB,EAAE,qCAAqC;IAE1D,gBAAgB,EACd,2FAA2F;QAC3F,kIAAkI;QAClI,oEAAoE;QACpE,0CAA0C;QAC1C,8FAA8F;IAChG,WAAW,EAAE,iEAAiE;IAC9E,iBAAiB,EAAE,yCAAyC;IAC5D,eAAe,EAAE,oFAAoF;IACrG,oBAAoB,EAAE,sGAAsG;IAC5H,uBAAuB,EAAE,2BAA2B;IACpD,iBAAiB,EAAE,+CAA+C;IAElE,gBAAgB,EAAE,qFAAqF;IAEvG,wBAAwB,EAAE,oCAAoC;IAC9D,qBAAqB,EAAE,WAAW;IAClC,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,MAAM;IACzB,uBAAuB,EAAE,cAAc;IACvC,kBAAkB,EAAE,OAAO;IAC3B,sBAAsB,EAAE,MAAM;IAC9B,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,6BAA6B;IACvD,uBAAuB,EAAE,MAAM;IAC/B,8BAA8B,EAAE,aAAa;IAC7C,sBAAsB,EAAE,WAAW;IACnC,oBAAoB,EAAE,SAAS;IAC/B,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,2BAA2B;IAC7C,iBAAiB,EAAE,MAAM;IACzB,0BAA0B,EAAE,aAAa;IACzC,wBAAwB,EAAE,aAAa;IACvC,wBAAwB,EAAE,aAAa;IACvC,0BAA0B,EAAE,oBAAoB;IAChD,2BAA2B,EAAE,qBAAqB;IAClD,yBAAyB,EAAE,qBAAqB;IAChD,wBAAwB,EAAE,qBAAqB;IAC/C,2BAA2B,EAAE,oBAAoB;IACjD,wBAAwB,EAAE,oBAAoB;IAC9C,8BAA8B,EAAE,mBAAmB;IACnD,wBAAwB,EAAE,oBAAoB;IAC9C,gBAAgB,EAAE,sBAAsB;IACxC,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,wBAAwB;IAC1C,kBAAkB,EAAE,uBAAuB;IAC3C,kBAAkB,EAAE,sCAAsC;IAC1D,kBAAkB,EAAE,qCAAqC;IACzD,oBAAoB,EAAE,mBAAmB;IACzC,kBAAkB,EAAE,2DAA2D;IAC/E,qBAAqB,EAAE,iCAAiC;IACxD,oBAAoB,EAAE,kBAAkB;IACxC,cAAc,EAAE,UAAU;IAC1B,cAAc,EAAE,UAAU;IAC1B,eAAe,EAAE,gCAAgC;IACjD,aAAa,EAAE,yBAAyB;IACxC,eAAe,EAAE,gCAAgC;CAClD,CAAC;AAEF;;;GAGG;AACH,SAAgB,CAAC,CAAC,GAAW,EAAE,MAAwC;IACrE,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAuB,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI;QAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8CAA8C;AAC9C,SAAgB,QAAQ;IACtB,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/shared/i18n.ts"],"names":[],"mappings":"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"}
@@ -21,62 +21,62 @@ const path_1 = require("path");
21
21
  const logger_1 = require("../../shared/logger");
22
22
  /** 生成 API 路由模板 */
23
23
  function generateApiRoute(method, path, controller) {
24
- const content = `import { Router, Request, Response } from 'express';
25
- import { ${controller} } from '../controllers/${controller}';
26
-
27
- const router = Router();
28
-
29
- router.${method.toLowerCase()}('${path}', ${controller}.handle);
30
-
31
- export default router;
24
+ const content = `import { Router, Request, Response } from 'express';
25
+ import { ${controller} } from '../controllers/${controller}';
26
+
27
+ const router = Router();
28
+
29
+ router.${method.toLowerCase()}('${path}', ${controller}.handle);
30
+
31
+ export default router;
32
32
  `;
33
33
  return { success: true, content };
34
34
  }
35
35
  /** 生成 Model 定义模板 */
36
36
  function generateModel(name, fields) {
37
37
  const fieldLines = Object.entries(fields).map(([k, t]) => ` ${k}: ${t};`).join('\n');
38
- const content = `export interface ${name} {
39
- ${fieldLines}
40
- }
41
-
42
- export class ${name}Model {
43
- // TODO: 实现数据库操作
44
- }
38
+ const content = `export interface ${name} {
39
+ ${fieldLines}
40
+ }
41
+
42
+ export class ${name}Model {
43
+ // TODO: 实现数据库操作
44
+ }
45
45
  `;
46
46
  return { success: true, content };
47
47
  }
48
48
  /** 生成 Tool 模板 */
49
49
  function generateToolTemplate(toolName) {
50
- const content = `/**
51
- * ${toolName} 工具(M7 自动生成)
52
- */
53
- import type { ToolContext, ToolResult } from '../tool.interface';
54
-
55
- export interface ${toolName}Args {
56
- // TODO: 定义参数
57
- }
58
-
59
- export async function execute${toolName}(
60
- args: ${toolName}Args,
61
- ctx: ToolContext,
62
- ): Promise<ToolResult> {
63
- // TODO: 实现工具逻辑
64
- return { ok: true, output: '...已执行' };
65
- }
50
+ const content = `/**
51
+ * ${toolName} 工具(M7 自动生成)
52
+ */
53
+ import type { ToolContext, ToolResult } from '../tool.interface';
54
+
55
+ export interface ${toolName}Args {
56
+ // TODO: 定义参数
57
+ }
58
+
59
+ export async function execute${toolName}(
60
+ args: ${toolName}Args,
61
+ ctx: ToolContext,
62
+ ): Promise<ToolResult> {
63
+ // TODO: 实现工具逻辑
64
+ return { ok: true, output: '...已执行' };
65
+ }
66
66
  `;
67
67
  return { success: true, content };
68
68
  }
69
69
  /** 生成测试文件模板 */
70
70
  function generateTestTemplate(targetFile, functionName) {
71
- const content = `import { describe, it, expect } from 'vitest';
72
- import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
73
-
74
- describe('${functionName}', () => {
75
- it('should execute successfully', () => {
76
- const result = ${functionName}({});
77
- expect(result).toBeDefined();
78
- });
79
- });
71
+ const content = `import { describe, it, expect } from 'vitest';
72
+ import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
73
+
74
+ describe('${functionName}', () => {
75
+ it('should execute successfully', () => {
76
+ const result = ${functionName}({});
77
+ expect(result).toBeDefined();
78
+ });
79
+ });
80
80
  `;
81
81
  return { success: true, content };
82
82
  }
@@ -17,16 +17,16 @@ const fs_1 = require("fs");
17
17
  const path_1 = require("path");
18
18
  /** 生成 Jest 测试模板 */
19
19
  function generateJestTest(targetFile, functionName, tests) {
20
- const testCases = tests.map((t, i) => `
21
- it('${t.description || `test case ${i + 1}`}', () => {
22
- const result = ${functionName}(${JSON.stringify(t.inputs)});
23
- expect(result).toEqual(${JSON.stringify(t.expectedOutput)});
20
+ const testCases = tests.map((t, i) => `
21
+ it('${t.description || `test case ${i + 1}`}', () => {
22
+ const result = ${functionName}(${JSON.stringify(t.inputs)});
23
+ expect(result).toEqual(${JSON.stringify(t.expectedOutput)});
24
24
  });`).join('\n');
25
- const content = `import { describe, it, expect } from 'vitest';
26
- import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
27
-
28
- describe('${functionName}', () => {${testCases}
29
- });
25
+ const content = `import { describe, it, expect } from 'vitest';
26
+ import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
27
+
28
+ describe('${functionName}', () => {${testCases}
29
+ });
30
30
  `;
31
31
  return { file: `${targetFile.replace(/\.ts$/, '.test.ts')}`, content };
32
32
  }
@@ -17,7 +17,18 @@ const child_process_1 = require("child_process");
17
17
  function containerImage() {
18
18
  return process.env.FH_SANDBOX_IMAGE || 'node:22-alpine';
19
19
  }
20
- /** 容器模式下应把命令包装成 docker run 执行;镜像不存在时由 docker 自动拉取 */
20
+ /**
21
+ * P7-2 容器隔离加固:运行不信任代码的默认档位
22
+ * - 资源限制:内存 / pids 上限(防 fork 炸弹与内存耗尽)
23
+ * - 能力裁剪:--cap-drop ALL + no-new-privileges(防容器逃逸提权)
24
+ * - 网络隔离:默认 --network none(不信任代码断网执行);需装依赖时设
25
+ * FH_SANDBOX_NETWORK=host 恢复联网(仍受沙箱 network allow/deny 约束)
26
+ * 环境变量:
27
+ * - FH_SANDBOX_IMAGE 容器镜像(默认 node:22-alpine)
28
+ * - FH_SANDBOX_MEM 内存上限(默认 512m)
29
+ * - FH_SANDBOX_PIDS pids 上限(默认 256)
30
+ * - FH_SANDBOX_NETWORK none|host(默认 none)
31
+ */
21
32
  function runCommandInContainer(cmd, cwd, timeoutMs = 60000) {
22
33
  const image = containerImage();
23
34
  // 挂载工作区到 /workspace,容器内 cwd=/workspace;--rm 用完即删
@@ -28,6 +39,17 @@ function runCommandInContainer(cmd, cwd, timeoutMs = 60000) {
28
39
  `${cwd}:/workspace`,
29
40
  '-w',
30
41
  '/workspace',
42
+ // ---- P7-2 隔离加固 ----
43
+ '--memory',
44
+ process.env.FH_SANDBOX_MEM || '512m',
45
+ '--pids-limit',
46
+ process.env.FH_SANDBOX_PIDS || '256',
47
+ '--cap-drop',
48
+ 'ALL',
49
+ '--security-opt',
50
+ 'no-new-privileges',
51
+ process.env.FH_SANDBOX_NETWORK === 'host' ? '--network' : '--network',
52
+ process.env.FH_SANDBOX_NETWORK === 'host' ? 'host' : 'none',
31
53
  image,
32
54
  'sh',
33
55
  '-c',
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/tools/shell/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/tools/shell/exec.ts"],"names":[],"mappings":"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"}