feihong-code 7.5.0 → 7.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 (347) hide show
  1. package/.github/workflows/ci.yml +193 -180
  2. package/.github/workflows/release.yml +203 -200
  3. package/.github/workflows/swebench-real.yml +84 -0
  4. package/CHANGELOG.md +117 -94
  5. package/CONTRIBUTING.md +9 -2
  6. package/README.md +636 -609
  7. package/README.self-evolve.md +279 -274
  8. package/dist/agent/change-manager.js +1 -1
  9. package/dist/agent/code-rag.js +1 -1
  10. package/dist/agent/code-review.js +1 -1
  11. package/dist/agent/code-writer.js +1 -1
  12. package/dist/agent/completion-postprocess.js +1 -1
  13. package/dist/agent/context-compactor.js +11 -0
  14. package/dist/agent/context-compactor.js.map +1 -1
  15. package/dist/agent/custom-agent.js +52 -52
  16. package/dist/agent/design-to-code.js +40 -40
  17. package/dist/agent/experience.js +1 -1
  18. package/dist/agent/layered-memory.js +1 -1
  19. package/dist/agent/lint.js +1 -1
  20. package/dist/agent/multi-agent.js +44 -44
  21. package/dist/agent/orchestrator.js +93 -18
  22. package/dist/agent/orchestrator.js.map +1 -1
  23. package/dist/agent/parallel-orchestrator.js +1 -1
  24. package/dist/agent/planner.js +8 -3
  25. package/dist/agent/planner.js.map +1 -1
  26. package/dist/agent/prompts.js +2 -2
  27. package/dist/agent/quality-gate.js +1 -1
  28. package/dist/agent/repo-context.js +1 -1
  29. package/dist/agent/repo-reader.js +1 -1
  30. package/dist/agent/repo-underwriter.js +1 -1
  31. package/dist/agent/self-correction.js +1 -1
  32. package/dist/agent/self-heal.js +5 -0
  33. package/dist/agent/self-heal.js.map +1 -1
  34. package/dist/agent/self-improver.js +1 -1
  35. package/dist/agent/subagent-summary.js +1 -1
  36. package/dist/agent/subagent.js +1 -1
  37. package/dist/agent/swe-agent.js +1 -1
  38. package/dist/agent/swe-verifier.js +1 -1
  39. package/dist/agent/symbol-index.js +1 -1
  40. package/dist/agent/team.js +1 -1
  41. package/dist/agent/type-checker.js +1 -1
  42. package/dist/cli/commands.js +7 -0
  43. package/dist/cli/commands.js.map +1 -1
  44. package/dist/cli/index.js +57 -2
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/cli/repl.js +1 -1
  47. package/dist/cli/run.js +40 -3
  48. package/dist/cli/run.js.map +1 -1
  49. package/dist/cli/self-evolve-cli.js +168 -0
  50. package/dist/cli/tui-run.js +1 -1
  51. package/dist/cli/tui.js +1 -1
  52. package/dist/cli/version.js +3 -3
  53. package/dist/cli/version.js.map +1 -1
  54. package/dist/enterprise/audit.js +1 -1
  55. package/dist/enterprise/index.js +1 -1
  56. package/dist/enterprise/policy.js +1 -1
  57. package/dist/enterprise/quota.js +1 -1
  58. package/dist/enterprise/tenant.js +1 -1
  59. package/dist/harness/executor.js +1 -1
  60. package/dist/harness/index.js +1 -1
  61. package/dist/harness/loader.js +1 -1
  62. package/dist/harness/types.js +1 -1
  63. package/dist/harness/verifier.js +52 -12
  64. package/dist/harness/verifier.js.map +1 -1
  65. package/dist/hello.js +14 -0
  66. package/dist/hello.js.map +1 -0
  67. package/dist/integrations/feishu-bridge.js +348 -0
  68. package/dist/integrations/feishu-bridge.js.map +1 -0
  69. package/dist/integrations/github-mcp.js +137 -0
  70. package/dist/integrations/github-mcp.js.map +1 -0
  71. package/dist/integrations/wechat-bridge.js +499 -0
  72. package/dist/integrations/wechat-bridge.js.map +1 -0
  73. package/dist/integrations/yuanbao-bridge.js +326 -0
  74. package/dist/integrations/yuanbao-bridge.js.map +1 -0
  75. package/dist/lsp/lsp-client.js +1 -1
  76. package/dist/models/model-router.js +1 -1
  77. package/dist/models/model.dto.js +1 -1
  78. package/dist/models/providers/ollama.provider.js +1 -1
  79. package/dist/models/providers/openai-compatible.provider.js +1 -1
  80. package/dist/plugins/plugin-loader.js +1 -1
  81. package/dist/runtime/event-log.js +1 -1
  82. package/dist/runtime/git.js +1 -1
  83. package/dist/runtime/hooks.js +71 -4
  84. package/dist/runtime/hooks.js.map +1 -1
  85. package/dist/runtime/session-persist.js +1 -1
  86. package/dist/runtime/worktree.js +1 -1
  87. package/dist/self-evolve/hook.ts +80 -0
  88. package/dist/self-evolve/manager.d.ts +8 -0
  89. package/dist/self-evolve/manager.js +517 -401
  90. package/dist/self-evolve/self-heal-scheduler.js +160 -0
  91. package/dist/self-evolve/self-heal-scheduler.js.map +1 -0
  92. package/dist/shared/concurrency.js +1 -1
  93. package/dist/shared/config.js +4 -2
  94. package/dist/shared/config.js.map +1 -1
  95. package/dist/shared/errors.js +1 -1
  96. package/dist/shared/i18n.js +1 -1
  97. package/dist/shared/i18n.js.map +1 -1
  98. package/dist/shared/secure-store.js +12 -5
  99. package/dist/shared/secure-store.js.map +1 -1
  100. package/dist/shared/types.js +1 -1
  101. package/dist/skills/goal.js +1 -1
  102. package/dist/skills/grill.js +1 -1
  103. package/dist/skills/plan.js +1 -1
  104. package/dist/skills/pua-hooks.js +273 -0
  105. package/dist/skills/pua-hooks.js.map +1 -0
  106. package/dist/skills/self-heal.js +9 -3
  107. package/dist/skills/self-heal.js.map +1 -1
  108. package/dist/skills/skill-loader.js +1 -1
  109. package/dist/skills/skill-market.js +84 -8
  110. package/dist/skills/skill-market.js.map +1 -1
  111. package/dist/tools/analysis/code-analyzer.js +1 -1
  112. package/dist/tools/file/edit.tool.js +18 -3
  113. package/dist/tools/file/edit.tool.js.map +1 -1
  114. package/dist/tools/file/list.tool.js +1 -1
  115. package/dist/tools/file/read.tool.js +1 -1
  116. package/dist/tools/file/write.tool.js +1 -1
  117. package/dist/tools/generator/code-generator.js +1 -1
  118. package/dist/tools/generator/test-generator.js +1 -1
  119. package/dist/tools/index.js +1 -1
  120. package/dist/tools/mcp/index.js +1 -1
  121. package/dist/tools/mcp/mcp-client.js +1 -1
  122. package/dist/tools/safe-path.js +1 -1
  123. package/dist/tools/search/grep.tool.js +1 -1
  124. package/dist/tools/shell/exec.js +1 -1
  125. package/dist/tools/shell/run-shell.tool.js +1 -1
  126. package/dist/tools/skills/load-skill.tool.js +1 -1
  127. package/dist/tools/tool.registry.js +10 -1
  128. package/dist/tools/tool.registry.js.map +1 -1
  129. package/dist/tools/verify/build-check.tool.js +1 -1
  130. package/dist/tools/verify/test-run.tool.js +1 -1
  131. package/dist/tools/web/web.tool.js +1 -1
  132. package/dist/voice/voice-programming.js +32 -6
  133. package/dist/voice/voice-programming.js.map +1 -1
  134. package/dist/web/auth.js +34 -2
  135. package/dist/web/auth.js.map +1 -1
  136. package/dist/web/channels.js +1 -1
  137. package/dist/web/public/css/style.css +1751 -1724
  138. package/dist/web/public/index.html +1243 -1242
  139. package/dist/web/public/js/api.js +558 -555
  140. package/dist/web/public/js/app.js +2233 -2210
  141. package/dist/web/public/js/mock-api.js +259 -234
  142. package/dist/web/public/js/monaco-editor.js +363 -363
  143. package/dist/web/public/js/ui.js +2217 -2251
  144. package/dist/web/public/js/utils.js +214 -214
  145. package/dist/web/public/manifest.json +59 -59
  146. package/dist/web/public/service-worker.js +149 -173
  147. package/dist/web/public/vendor/monaco/vs/abap-D-t0cyap.js +1 -0
  148. package/dist/web/public/vendor/monaco/vs/apex-CcIm7xu6.js +1 -0
  149. package/dist/web/public/vendor/monaco/vs/assets/css.worker-URu8fCFR.js +97 -0
  150. package/dist/web/public/vendor/monaco/vs/assets/editor.worker-lj3bdIIn.js +30 -0
  151. package/dist/web/public/vendor/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +30 -0
  152. package/dist/web/public/vendor/monaco/vs/assets/html.worker-D1SL3iM8.js +474 -0
  153. package/dist/web/public/vendor/monaco/vs/assets/json.worker-CoJx_OPf.js +62 -0
  154. package/dist/web/public/vendor/monaco/vs/assets/ts.worker-BWKtMYOk.js +67722 -0
  155. package/dist/web/public/vendor/monaco/vs/azcli-BA0tQDCg.js +1 -0
  156. package/dist/web/public/vendor/monaco/vs/basic-languages/monaco.contribution.js +1 -0
  157. package/dist/web/public/vendor/monaco/vs/bat-C397hTD6.js +1 -0
  158. package/dist/web/public/vendor/monaco/vs/bicep-DF5aW17k.js +2 -0
  159. package/dist/web/public/vendor/monaco/vs/cameligo-plsz8qhj.js +1 -0
  160. package/dist/web/public/vendor/monaco/vs/clojure-Y2auQMzK.js +1 -0
  161. package/dist/web/public/vendor/monaco/vs/coffee-Bu45yuWE.js +1 -0
  162. package/dist/web/public/vendor/monaco/vs/cpp-CkKPQIni.js +1 -0
  163. package/dist/web/public/vendor/monaco/vs/csharp-CX28MZyh.js +1 -0
  164. package/dist/web/public/vendor/monaco/vs/csp-D8uWnyxW.js +1 -0
  165. package/dist/web/public/vendor/monaco/vs/css-CaeNmE3S.js +3 -0
  166. package/dist/web/public/vendor/monaco/vs/css.worker-CyhWkhHo.js +1 -0
  167. package/dist/web/public/vendor/monaco/vs/cssMode-CV6Ay48H.js +1 -0
  168. package/dist/web/public/vendor/monaco/vs/cypher-DVThT8BS.js +1 -0
  169. package/dist/web/public/vendor/monaco/vs/dart-CmGfCvrO.js +1 -0
  170. package/dist/web/public/vendor/monaco/vs/dockerfile-CZqqYdch.js +1 -0
  171. package/dist/web/public/vendor/monaco/vs/ecl-30fUercY.js +1 -0
  172. package/dist/web/public/vendor/monaco/vs/editor/editor.main.css +1 -0
  173. package/dist/web/public/vendor/monaco/vs/editor/editor.main.js +1 -0
  174. package/dist/web/public/vendor/monaco/vs/editor/editor.worker.js +1 -0
  175. package/dist/web/public/vendor/monaco/vs/editor-KLE6jdfb.js +831 -0
  176. package/dist/web/public/vendor/monaco/vs/editor.js +1 -0
  177. package/dist/web/public/vendor/monaco/vs/editorWorkerHost-fVE1cjcC.js +35 -0
  178. package/dist/web/public/vendor/monaco/vs/elixir-xjPaIfzF.js +1 -0
  179. package/dist/web/public/vendor/monaco/vs/flow9-DqtmStfK.js +1 -0
  180. package/dist/web/public/vendor/monaco/vs/freemarker2-FWreY7v7.js +3 -0
  181. package/dist/web/public/vendor/monaco/vs/fsharp-BOMdg4U1.js +1 -0
  182. package/dist/web/public/vendor/monaco/vs/go-D_hbi-Jt.js +1 -0
  183. package/dist/web/public/vendor/monaco/vs/graphql-CKUU4kLG.js +1 -0
  184. package/dist/web/public/vendor/monaco/vs/handlebars-CZi4pHCH.js +1 -0
  185. package/dist/web/public/vendor/monaco/vs/hcl-DTaboeZW.js +1 -0
  186. package/dist/web/public/vendor/monaco/vs/html-j_7ZTNRU.js +1 -0
  187. package/dist/web/public/vendor/monaco/vs/html.worker-CA3iAimZ.js +1 -0
  188. package/dist/web/public/vendor/monaco/vs/htmlMode-27by_KM4.js +1 -0
  189. package/dist/web/public/vendor/monaco/vs/index-049xrXrp.js +1 -0
  190. package/dist/web/public/vendor/monaco/vs/index-CBVt3dzv.js +5 -0
  191. package/dist/web/public/vendor/monaco/vs/index.js +1 -0
  192. package/dist/web/public/vendor/monaco/vs/ini-CsNwO04R.js +1 -0
  193. package/dist/web/public/vendor/monaco/vs/initialize-DL0l1TGY.js +1 -0
  194. package/dist/web/public/vendor/monaco/vs/java-CI4ZMsH9.js +1 -0
  195. package/dist/web/public/vendor/monaco/vs/javascript-DTJl4Jn1.js +1 -0
  196. package/dist/web/public/vendor/monaco/vs/json.worker-BizpAl9O.js +1 -0
  197. package/dist/web/public/vendor/monaco/vs/jsonMode-DLUiMUrI.js +1 -0
  198. package/dist/web/public/vendor/monaco/vs/julia-BwzEvaQw.js +1 -0
  199. package/dist/web/public/vendor/monaco/vs/kotlin-IUYPiTV8.js +1 -0
  200. package/dist/web/public/vendor/monaco/vs/language/css/css.worker.js +66 -0
  201. package/dist/web/public/vendor/monaco/vs/language/css/monaco.contribution.js +1 -0
  202. package/dist/web/public/vendor/monaco/vs/language/html/html.worker.js +443 -0
  203. package/dist/web/public/vendor/monaco/vs/language/html/monaco.contribution.js +1 -0
  204. package/dist/web/public/vendor/monaco/vs/language/json/json.worker.js +17 -0
  205. package/dist/web/public/vendor/monaco/vs/language/json/monaco.contribution.js +1 -0
  206. package/dist/web/public/vendor/monaco/vs/language/typescript/monaco.contribution.js +1 -0
  207. package/dist/web/public/vendor/monaco/vs/language/typescript/ts.worker.js +67693 -0
  208. package/dist/web/public/vendor/monaco/vs/less-C0eDYdqa.js +2 -0
  209. package/dist/web/public/vendor/monaco/vs/lexon-iON-Kj97.js +1 -0
  210. package/dist/web/public/vendor/monaco/vs/liquid-CLJYelW6.js +1 -0
  211. package/dist/web/public/vendor/monaco/vs/loader.js +1368 -0
  212. package/dist/web/public/vendor/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +2 -0
  213. package/dist/web/public/vendor/monaco/vs/lua-DtygF91M.js +1 -0
  214. package/dist/web/public/vendor/monaco/vs/m3-CsR4AuFi.js +1 -0
  215. package/dist/web/public/vendor/monaco/vs/main-BEx-Fmlo.js +15 -0
  216. package/dist/web/public/vendor/monaco/vs/main-DsK8pnKg.js +3 -0
  217. package/dist/web/public/vendor/monaco/vs/markdown-C_rD0bIw.js +1 -0
  218. package/dist/web/public/vendor/monaco/vs/mdx-CpzZIPHF.js +1 -0
  219. package/dist/web/public/vendor/monaco/vs/mips-CiYP61RB.js +1 -0
  220. package/dist/web/public/vendor/monaco/vs/monaco.contribution-9cKT3C7t.js +1 -0
  221. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BE88ZNGY.js +1 -0
  222. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BPhsneLd.js +1 -0
  223. package/dist/web/public/vendor/monaco/vs/monaco.contribution-BgRy6xDf.js +1 -0
  224. package/dist/web/public/vendor/monaco/vs/msdax-C38-sJlp.js +1 -0
  225. package/dist/web/public/vendor/monaco/vs/mysql-CdtbpvbG.js +1 -0
  226. package/dist/web/public/vendor/monaco/vs/nls/lang/cs.d.ts +1 -0
  227. package/dist/web/public/vendor/monaco/vs/nls/lang/cs.js +9 -0
  228. package/dist/web/public/vendor/monaco/vs/nls/lang/de.d.ts +1 -0
  229. package/dist/web/public/vendor/monaco/vs/nls/lang/de.js +9 -0
  230. package/dist/web/public/vendor/monaco/vs/nls/lang/es.d.ts +1 -0
  231. package/dist/web/public/vendor/monaco/vs/nls/lang/es.js +9 -0
  232. package/dist/web/public/vendor/monaco/vs/nls/lang/fr.d.ts +1 -0
  233. package/dist/web/public/vendor/monaco/vs/nls/lang/fr.js +9 -0
  234. package/dist/web/public/vendor/monaco/vs/nls/lang/it.d.ts +1 -0
  235. package/dist/web/public/vendor/monaco/vs/nls/lang/it.js +9 -0
  236. package/dist/web/public/vendor/monaco/vs/nls/lang/ja.d.ts +1 -0
  237. package/dist/web/public/vendor/monaco/vs/nls/lang/ja.js +9 -0
  238. package/dist/web/public/vendor/monaco/vs/nls/lang/ko.d.ts +1 -0
  239. package/dist/web/public/vendor/monaco/vs/nls/lang/ko.js +9 -0
  240. package/dist/web/public/vendor/monaco/vs/nls/lang/pl.d.ts +1 -0
  241. package/dist/web/public/vendor/monaco/vs/nls/lang/pl.js +9 -0
  242. package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.d.ts +1 -0
  243. package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.js +9 -0
  244. package/dist/web/public/vendor/monaco/vs/nls/lang/ru.d.ts +1 -0
  245. package/dist/web/public/vendor/monaco/vs/nls/lang/ru.js +9 -0
  246. package/dist/web/public/vendor/monaco/vs/nls/lang/tr.d.ts +1 -0
  247. package/dist/web/public/vendor/monaco/vs/nls/lang/tr.js +9 -0
  248. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.d.ts +1 -0
  249. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.js +9 -0
  250. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.d.ts +1 -0
  251. package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.js +9 -0
  252. package/dist/web/public/vendor/monaco/vs/nls.messages-loader.js +1 -0
  253. package/dist/web/public/vendor/monaco/vs/objective-c-CntZFaHX.js +1 -0
  254. package/dist/web/public/vendor/monaco/vs/pascal-r6kuqfl_.js +1 -0
  255. package/dist/web/public/vendor/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
  256. package/dist/web/public/vendor/monaco/vs/perl-DABw_TcH.js +1 -0
  257. package/dist/web/public/vendor/monaco/vs/pgsql-me_jFXeX.js +1 -0
  258. package/dist/web/public/vendor/monaco/vs/php-D_kh-9LK.js +1 -0
  259. package/dist/web/public/vendor/monaco/vs/pla-VfZjczW0.js +1 -0
  260. package/dist/web/public/vendor/monaco/vs/postiats-BBSzz8Pk.js +1 -0
  261. package/dist/web/public/vendor/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
  262. package/dist/web/public/vendor/monaco/vs/powershell-B-7ap1zc.js +1 -0
  263. package/dist/web/public/vendor/monaco/vs/protobuf-BmtuEB1A.js +2 -0
  264. package/dist/web/public/vendor/monaco/vs/pug-BRpRNeEb.js +1 -0
  265. package/dist/web/public/vendor/monaco/vs/python-CqWUUgfu.js +1 -0
  266. package/dist/web/public/vendor/monaco/vs/qsharp-BzsFaUU9.js +1 -0
  267. package/dist/web/public/vendor/monaco/vs/r-f8dDdrp4.js +1 -0
  268. package/dist/web/public/vendor/monaco/vs/razor-hok5y9Km.js +1 -0
  269. package/dist/web/public/vendor/monaco/vs/redis-fvZQY4PI.js +1 -0
  270. package/dist/web/public/vendor/monaco/vs/redshift-45Et0LQi.js +1 -0
  271. package/dist/web/public/vendor/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
  272. package/dist/web/public/vendor/monaco/vs/ruby-CZO8zYTz.js +1 -0
  273. package/dist/web/public/vendor/monaco/vs/rust-Bfetafyc.js +1 -0
  274. package/dist/web/public/vendor/monaco/vs/sb-3GYllVck.js +1 -0
  275. package/dist/web/public/vendor/monaco/vs/scala-foMgrKo1.js +1 -0
  276. package/dist/web/public/vendor/monaco/vs/scheme-CHdMtr7p.js +1 -0
  277. package/dist/web/public/vendor/monaco/vs/scss-C1cmLt9V.js +3 -0
  278. package/dist/web/public/vendor/monaco/vs/shell-ClXCKCEW.js +1 -0
  279. package/dist/web/public/vendor/monaco/vs/solidity-MZ6ExpPy.js +1 -0
  280. package/dist/web/public/vendor/monaco/vs/sophia-DWkuSsPQ.js +1 -0
  281. package/dist/web/public/vendor/monaco/vs/sparql-AUGFYSyk.js +1 -0
  282. package/dist/web/public/vendor/monaco/vs/sql-32GpJSV2.js +1 -0
  283. package/dist/web/public/vendor/monaco/vs/st-CuDFIVZ_.js +1 -0
  284. package/dist/web/public/vendor/monaco/vs/swift-t-PfMj7W.js +1 -0
  285. package/dist/web/public/vendor/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
  286. package/dist/web/public/vendor/monaco/vs/tcl-D74tq1nH.js +1 -0
  287. package/dist/web/public/vendor/monaco/vs/toggleHighContrast-qGX7E9o7.js +61 -0
  288. package/dist/web/public/vendor/monaco/vs/ts.worker-2QLmBukE.js +1 -0
  289. package/dist/web/public/vendor/monaco/vs/tsMode-B0S_kp2q.js +11 -0
  290. package/dist/web/public/vendor/monaco/vs/twig-C6taOxMV.js +1 -0
  291. package/dist/web/public/vendor/monaco/vs/typescript-_2t_511t.js +1 -0
  292. package/dist/web/public/vendor/monaco/vs/typespec-8OfoLt6R.js +1 -0
  293. package/dist/web/public/vendor/monaco/vs/vb-Dyb2648j.js +1 -0
  294. package/dist/web/public/vendor/monaco/vs/wgsl-BhLXMOR0.js +298 -0
  295. package/dist/web/public/vendor/monaco/vs/workers-BBttULjf.js +1 -0
  296. package/dist/web/public/vendor/monaco/vs/xml-cZjNDqDT.js +1 -0
  297. package/dist/web/public/vendor/monaco/vs/yaml-A1fOIdH6.js +1 -0
  298. package/dist/web/server.js +81 -16
  299. package/dist/web/server.js.map +1 -1
  300. package/dist/web/task-queue.js +6 -21
  301. package/dist/web/task-queue.js.map +1 -1
  302. package/dist/web/web-config.js +143 -0
  303. package/dist/web/web-config.js.map +1 -0
  304. package/docs/App/344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +1 -1
  305. package/docs/App/346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +1 -1
  306. package/docs/BENCHMARK_REPORT_en.md +386 -386
  307. package/docs/BENCHMARK_REPORT_zh.md +386 -386
  308. package/docs/DPA.md +65 -63
  309. 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 +69 -67
  310. package/docs/Deployment_Guide_EN.md +1 -1
  311. package/docs/SECURITY_WHITEPAPER.md +2 -2
  312. package/docs/SELF-EVOLVE-GUIDE.md +1 -1
  313. package/docs/SWE_BENCH_REPORT.md +73 -55
  314. package/docs/TECHNICAL_SPEC_en.md +292 -292
  315. package/docs/TECHNICAL_SPEC_zh.md +292 -292
  316. package/docs/Technical_Manual_EN.md +1 -1
  317. package/docs/UPDATE_NOTES_en.md +159 -159
  318. package/docs/UPDATE_NOTES_zh.md +159 -159
  319. package/docs/UPGRADE_7.2.0.md +309 -309
  320. package/docs/UPGRADE_GUIDE_7_5.md +86 -86
  321. package/docs/UPGRADE_GUIDE_7_6.md +153 -0
  322. package/docs/User_Manual_EN.md +1 -1
  323. package/docs/VOLTAGENT_SKILLS_CATALOG.md +95 -0
  324. package/docs/error-codes.md +1 -1
  325. package/docs/geo-feihong-code.html +391 -391
  326. package/docs//344/272/247/345/223/201/345/274/200/345/217/221/346/226/207/346/241/243.md +5 -3
  327. package/docs//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +140 -231
  328. 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 -208
  329. 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 -152
  330. 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 -271
  331. 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 -59
  332. package/docs//345/256/211/345/205/250/347/231/275/347/232/256/344/271/246_v7.2.0.md +84 -82
  333. package/docs//346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +240 -149
  334. package/docs//351/203/250/347/275/262/350/257/264/346/230/216/344/271/246.md +2 -2
  335. package/electron/main.js +404 -404
  336. package/package.json +12 -5
  337. package/templates/skills/api-design/SKILL.md +1 -1
  338. package/templates/skills/code-review/SKILL.md +1 -1
  339. package/templates/skills/dependency-upgrade/SKILL.md +1 -1
  340. package/templates/skills/doc-gen/SKILL.md +1 -1
  341. package/templates/skills/git-flow/SKILL.md +1 -1
  342. package/templates/skills/onboarding/SKILL.md +1 -1
  343. package/templates/skills/performance/SKILL.md +1 -1
  344. package/templates/skills/refactor/SKILL.md +1 -1
  345. package/templates/skills/security-audit/SKILL.md +1 -1
  346. package/templates/skills/test-gen/SKILL.md +1 -1
  347. package/tool-schema.json +197 -197
@@ -1,271 +1,271 @@
1
- # 飞虹 Code v7.2.0 深度复盘报告
2
- ## (运行时实测版 · 第二轮 50 次复盘 · 对标 10 款一线产品)
3
-
4
- > 审计对象:`H:\Muse Code复刻`(TypeScript + Electron + Express 终端 AI 编程智能体,对标 Muse Code / Cursor)
5
- > 审计日期:2026-08-26 | 审计方法:**静态依赖图扫描(50 轮)+ 运行时真实实测(启动 server 带认证打全量 API)+ 逐项源码核验**
6
- > 审计立场:**真实、不粉饰**。本报告只陈述"实测到的事实",不沿用上一版的虚高结论。
7
-
8
- ---
9
-
10
- ## 0. 审计方法(本轮升级)
11
-
12
- | 方法 | 手段 | 目的 |
13
- |---|---|---|
14
- | 静态扫描 | `scripts/_audit-deps.cjs`(50 轮依赖图孤岛扫描)+ `_audit-enterprise.cjs` | 找死代码模块、enterprise 引用 |
15
- | **运行时实测** | 启动真实 server(port 8099)→ 登录获取 Bearer Token → 逐端点打 API(`_api-full.mjs` / `_verify-fix.mjs`) | **决定性证据**:每个声称的功能到底通不通 |
16
- | 源码核验 | 对上一版报告每项声明逐一对照源码 | 勘误 |
17
-
18
- **一句话结论**:上一版 12 维评测矩阵存在 **3 处硬伤 + 综合分算术不可复核**;本轮实测发现 **8 个声称功能运行时全部 404**;本轮已**真实修复**并验证通过(详见 §3)。
19
-
20
- ---
21
-
22
- ## 1. 上一版报告《重新复盘_12维评测矩阵_v7.2.0.html》勘误
23
-
24
- | # | 上一版声明 | 源码核验结果 | 勘误 |
25
- |---|---|---|---|
26
- | 1 | SWE-bench"无集成" | `src/swe/*` 三件套实际 **534 行**(runner/verifier/evaluator 完整) | **错误**,已有完整 harness |
27
- | 2 | "无 Docker 沙箱" | `src/sandbox.ts` **141 行 4 档**:direct → bash → docker → **container** | **错误**,含 container 档 |
28
- | 3 | "无 inline 补全" | VS Code 扩展 + Web 前端均实现 `/api/completion` | **错误**,已实现 |
29
- | 4 | 综合分 8.25(飞虹) | 12 维简单平均实为 **8.33**;报告未披露权重,9/12 行算术对不上 | **算术不可复核**(如 Cursor 平均 7.33 却写 8.83) |
30
- | 5 | enterprise/ 1179 行 | 实测 **1096 行** | 行数误差 |
31
- | 6 | SWE 三件套 245 行 | 实测 **534 行** | 行数误差 |
32
- | 7 | voice 指令"若干" | `VoiceCommandType` 联合类型恰好 **28 种** | 不精确 |
33
-
34
- **结论**:上一版报告的"飞虹综合第 1 / 并列第 1"结论**不成立**——它建立在 3 处错误之上,且综合分算法不可复核。
35
-
36
- ---
37
-
38
- ## 2. 运行时实测结果(修复前,决定性证据)
39
-
40
- 启动 `node dist/cli/index.js serve --port 8099`,`POST /api/auth/login {phone:'vscode-local'}` 获取 token,带 `Authorization: Bearer` 逐端点实测(26+ 端点):
41
-
42
- ### 2.1 核心引擎 —— 全部真实可用 ✅
43
-
44
- | 端点 | 实测 | 说明 |
45
- |---|---|---|
46
- | GET /api/models | **200** | 返回 hy3-free 等模型 |
47
- | GET /api/multi-agent/roles | **200** | 架构师/开发/测试等多角色 |
48
- | **POST /api/multi-agent/run** | **200(130s)** | **真实跑完多角色协同任务** |
49
- | GET /api/custom-agents | **200** | 5 个内置智能体 |
50
- | GET /api/event-driven/config+events | **200** | 事件驱动引擎 |
51
- | GET /api/mcp/tools+config | **200** | MCP 服务器框架 |
52
- | GET /api/changes + detect-conflicts | **200** | 变更审批/冲突检测 |
53
- | GET /api/team/stats、/api/solo/list | **200** | 团队/单人 |
54
- | GET /api/skills/market | **200(100 技能)** | 技能市场 |
55
- | GET /api/office/capabilities、/api/git/status、/api/memory/stats、/api/templates、/api/nodes | **200** | 办公/文档/记忆 |
56
-
57
- ### 2.2 死代码 —— CHANGELOG 声称的 8 项能力运行时全部 404 ❌
58
-
59
- | 端点 | 实测 | CHANGELOG 声称 |
60
- |---|---|---|
61
- | POST /api/voice/parse | **404** | ✅ 语音编程 |
62
- | POST /api/voice/to-code | **404** | ✅ 语音转代码 |
63
- | GET /api/knowledge/documents | **404** | ✅ AI 资料库 |
64
- | POST /api/figma/convert | **404** | ✅ Figma 转代码 |
65
- | GET /api/sso/providers | **404** | ✅ SSO 登录 |
66
- | GET /api/collaboration/config | **404** | ✅ 团队协作 |
67
- | GET /api/plugins | **404** | ✅ 插件管理 |
68
- | GET /api/plugins/market | **404** | ✅ 插件市场 |
69
-
70
- > **这是"报告虚高"的铁证**:文档/CHANGELOG 声称的 8 项能力,服务端一个路由都没注册。代码存在(孤岛模块)但**从未接线**。
71
-
72
- ### 2.3 其余发现
73
-
74
- - 认证为 **Bearer Token fail-closed**:未认证全 401(合理设计,但掩盖了 404,需文档说明)。
75
- - `/api/custom-agents/match`、`/api/completion` 返回 400:是参数名问题(需 `{input}` / `{filePath+fileContent}`),非缺陷。
76
- - `/api/models/providers`、`/api/event-driven/cron`、`GET /api/design-to-code` 404:路由未注册(设计-to-code 只有 POST),属"缺失路由",已在修复清单。
77
- - **版本号 bug**:`src/cli/version.ts` 硬编码 `VERSION='7.0.0'`,而 package.json 已是 7.2.0 → health 返回 7.0.0,**运行时版本与包版本不一致**。
78
-
79
- ---
80
-
81
- ## 3. 真实修复(本轮完成 + 已验证 ✅)
82
-
83
- ### 3.1 新建能力接线层 `src/web/extra-apis.ts`(约 11KB)
84
- 把 7 个孤岛模块接入 server,注册 **30 个新 API**:
85
-
86
- | 模块 | 接入 API | 配置项 |
87
- |---|---|---|
88
- | 语音编程 | /api/voice/commands、parse、to-code | 无 |
89
- | AI 资料库 | /api/knowledge/stats、documents、categories、tags、document CRUD、search | 无 |
90
- | SSO | /api/sso/providers、login-url、validate | 无 |
91
- | 协作 | /api/collaboration/status、notify | FH_FEISHU_* / FH_GITHUB_* |
92
- | Figma | /api/figma/status、convert | FH_FIGMA_TOKEN |
93
- | 插件 | /api/plugins、market、categories、stats、install、uninstall、enable、disable | 无 |
94
- | 自我修正 | /api/agent/correct | 需 modelFix |
95
-
96
- ### 3.2 接入 server + 版本同步
97
- - `src/web/server.ts`:在认证中间件后调用 `registerExtraApis(app, {dataDir})`(受 Bearer 保护)。
98
- - `src/cli/version.ts`:`VERSION` 7.0.0 → **7.2.0**。
99
-
100
- ### 3.3 验证结果(全部通过)
101
-
102
- | 验证项 | 结果 |
103
- |---|---|
104
- | `npx tsc --noEmit` | ✅ 0 错误 |
105
- | `npx tsc` 构建 | ✅ 通过 |
106
- | health 返回 version | ✅ **7.2.0**(修复前 7.0.0) |
107
- | POST /api/voice/parse | ✅ **200**(真实解析"打开文件"→ open_file 指令,confidence 1) |
108
- | POST /api/voice/to-code | ✅ **200**(真实生成代码模板) |
109
- | 知识库 CRUD 闭环 | ✅ **add→200 / list→200 / stats→200 / search→200**(新增文档"飞虹Code部署指南"可检索) |
110
- | /api/plugins/market?q=git | ✅ **200**(返回 Git Enhanced 插件) |
111
- | /api/figma/status、/api/sso/providers、/api/collaboration/status | ✅ **200**(未配置时诚实报错,不静默失效) |
112
-
113
- ### 3.4 SWE-bench 跑分验证(P0-1 部分完成,本轮实测)
114
-
115
- | 验证项 | 结果 | 说明 |
116
- |---|---|---|
117
- | harness 闭环冒烟(mock) | ✅ **2/2 = 100%** | loader→executor→verifier→reporter 全链路真实可执行(`_swe-smoke.mjs`) |
118
- | **harness 真实模型闭环** | ✅ **3/3 = 100% 生成率** | 真实模型 agnes-2.5-flash 驱动 Orchestrator,3 个真实编程任务全部生成目标文件(`_swe-real.mjs`) |
119
- | 迭代/工具调用 | real-001: 2次/2次;real-002: 4次/5次(含 self-heal);real-003: 1次/2次 | 真实模型在循环中写文件闭环正常 |
120
- | **self-heal 自愈机制** | ✅ **真实触发** | real-002 遇到 build-error 时日志显示 "self-heal recovery attempt" + "injected reflection",机制真实工作 |
121
-
122
- > **诚实标注**:以上是"生成率"(目标文件生成成功)。**完整测试通过率**(本轮补跑)见下。官方 SWE-bench(HF) 数据集本机网络不可达(curl timeout),且标准集为 Python 大仓库需 Docker+pytest 环境——故采用 **SWE-bench 格式**(problem_statement + FAIL_TO_PASS)构造 5 个自包含 JS 任务,真实模型修复 + **预定义测试(不交给模型)node --test 断言**验证,得出真实硬指标:
123
-
124
- ### 3.4b SWE-bench 测试通过率(完整跑分,本轮实测)
125
- | 指标 | 结果 | 说明 |
126
- |---|---|---|
127
- | **测试通过率** | **80%(4/5)** | 真实模型 agnes-2.5-flash + node --test 真实断言(`_swe-bench-real.mjs`) |
128
- | 通过实例 | swe-js-001/002/003/005 | maxOf / fibonacci / isPalindrome / countWords 全部断言通过 |
129
- | 失败实例 | swe-js-004(findMissing) | iterations=0 toolCalls=0,模型调用未产出,属执行层失败非实现错误 |
130
- | 防作弊 | ✅ | 测试文件由验证器注入,**不交给模型**,node --test 断言严格判定 |
131
- | 冒烟回归 | ✅ | SWE 跑分后 33 项综合冒烟全通过,无回归 |
132
-
133
- > **对比**:Claude Code SWE-bench 72.5%、Windsurf 40%(第三方评测)。飞虹 Code 在本自建 JS 测试集 80% 通过率——**注意口径不同**(自建任务 vs 官方 SWE-bench Verified),仅作内部基线。官方全量跑分需 Docker 沙箱 + pytest 环境 + HF 可达。
134
-
135
- ### 3.5 前端接线(P0-3 完成,本轮实测)
136
- | 验证项 | 结果 | 说明 |
137
- |---|---|---|
138
- | api.js 追加新 API 封装 | ✅ 12 个函数 | voice/knowledge/plugins/sso(`_api-full.mjs` 对应端点到 200) |
139
- | index.html「能力中心」面板 | ✅ 上线 | 语音解析 / 资料库搜索 / 插件市场 三区块 |
140
- | ui.js 绑定与渲染 | ✅ 语法检查通过 | switchRightTab 支持 capabilities,节点 E2E 验证生效 |
141
- | **端到端验证** | ✅ | server 起后:health 7.2.0;`/` 含 capabilitiesPanel;`/js/api.js` 含 apiVoiceParse/apiKnowledgeSearch;`/js/ui.js` 含 bindCapabilitiesOnce |
142
-
143
- > 此前"v7.2 新 API 前端 0 调用"的断层已修复:用户现可在 Web 界面直接使用语音指令解析、AI 资料库搜索、插件市场浏览。
144
-
145
- ### 3.6 LSP 语义服务层(P0-2 完成,本轮实测)
146
- | 验证项 | 结果 | 说明 |
147
- |---|---|---|
148
- | 语义底座盘点 | ✅ 已存在 | symbol-index 代码图(orchestrator RAG 已接入)+ type-checker 类型诊断 + QualityGate——此前**缺标准 LSP 服务层**(`src/lsp/` 目录不存在) |
149
- | 新建 `src/lsp/lsp-service.ts` | ✅ | LSP 风格接口:diagnostics / symbols / definition / hover / graph / search,复用现有语义底座 |
150
- | 注册 /api/lsp/*(6 端点) | ✅ | graph / symbols / search / diagnostics / definition / hover |
151
- | **冒烟测试** | ✅ **9/9** | graph 459 文件/14783 符号/1212 边;symbols 23(lsp-service.ts);definition 真实定位 current@102;diagnostics 0 错误 |
152
- | 回归 | ✅ | voice/plugins 等已修复 API 不受影响 |
153
-
154
- > 语义感知从"仅内部 RAG"升级为**标准可调用服务层**(对标 opencode 的 LSP 感知):agent/Web/IDE 均可通过统一接口获取诊断、符号、定义、悬停与全仓库图谱。
155
-
156
- > **修复前后对比**:8 个声称功能 404 → **全部可调用**;新增 30 个 API 端点;版本号同步。
157
-
158
- ---
159
-
160
- ## 4. 与 10 款一线产品的真实差距(2026-08 实测/检索)
161
-
162
- | 产品 | 定位 | 模型/引擎 | SWE-bench | 价格 | 与飞虹 Code 的真实差距 |
163
- |---|---|---|---|---|---|
164
- | **Cursor** | GUI IDE,vibe coding 天花板 | 多模型(Composer/Design Mode/Visual Editor) | 高 | $20/月 | 多文件 Composer、可视化编辑、设计模式飞虹 0;飞虹的 Agent/事件驱动引擎可对标其基础能力 |
165
- | **Claude Code** | 终端原生 CLI | 仅 Claude 系 | ~74-79%(Opus 4.6) | 订阅制 | 全仓库推理、LSP 自动加载(飞虹 LSP 0 引用)、自我修正(飞虹已接 but 弱) |
166
- | **GitHub Copilot** | IDE 补全插件 | GPT 系 | ~68% | $10/月 | **补全能力最强**(飞虹 completion API 在但前端无 ghost text) |
167
- | **Codex** | 终端 CLI + IDE | GPT-5.5 系 | Terminal-Bench 83.4% 榜首 | 性价比高 | 多 Agent 并行 Work Tree(飞虹 multi-agent 顺序执行)、Memory 已落地(2026.4) |
168
- | **Windsurf** | GUI IDE | Cascade | ~40% | $15/月 | Cascade 多文件编辑、合规强(企业合规飞虹有雏形) |
169
- | **Trae** | 免费 GUI IDE | 底层豆包模型 | 中上 | 免费 | **完全免费+国内直连+仓库级预测(Cue Pro)+图像转代码 88%**;功能≈Cursor 80%,飞虹可对标其 Agent 编排但缺免费托管模型 |
170
- | **豆包(Seed 2.1)** | 底层模型+生态 | 豆包 2.1 Pro(编程追平 Opus 4.7,成本砍 80%) | 第一梯队 | 输入6/输出30 元 | 飞虹无自有模型,依赖外部 API;豆包为 Trae 提供底层能力 |
171
- | **WorkBuddy** | 办公+代码 | 多模型切换(混元/DeepSeek/GLM/Kimi/MiniMax) | 低(办公向) | 免费 | 中文职场面板、7万+ Skills 连接器;飞虹 enterprise/office 能力与其定位重叠但 Web 端未接线 |
172
- | **opencode** | 开源终端 agent | **75+ Provider** + Ollama 本地 | GLM-4.7→73.8% | 免费+token | **与飞虹定位最像**;但 opencode 有 LSP 感知、TUI 多窗格、自我修正、GitHub 158k stars——飞虹缺 LSP 与 UI |
173
- | **飞虹 Code** | 开源终端 agent | 外部模型(hy3-free 等) | **未跑分**(harness 在) | 免费 | —— |
174
-
175
- ### 4.1 飞虹 Code 的**真实**差异化优势(不粉饰,但确实存在)
176
- 1. **自主产权引擎**:multi-agent 协同、event-driven 事件驱动、MCP 框架、changes 审批、memory、office——**全部实测 200 且代码自研**(非套壳),这是 Trae/Cursor 之外少有的"自研全家桶"。
177
- 2. **隐私/离线**:自托管 + 本地模型支持(对应 opencode 卖点,飞虹同样具备)。
178
- 3. **中文优先**:实测中文指令解析正常(voice"打开文件"→ open_file,confidence 1)。
179
- 4. **企业合规底座**:enterprise/office/self-correction 模块齐备(对比 WorkBuddy 定位)。
180
-
181
- ### 4.2 飞虹 Code 的**真实**短板(对标结论)
182
- 1. **无自有模型** → 代码质量天花板由外部模型决定(豆包/Cursor/Trae 有模型护城河)。
183
- 2. **LSP 0 引用** → 无 IDE 语义理解(Claude Code/opencode 的"全仓库推理"飞虹做不到)。
184
- 3. **前端体验断层** → v7.2 新增 API 前端 0 调用;无 ghost text、无多文件 diff 可视化、无 TUI。
185
- 4. **SWE-bench 未跑分** → 无法用硬指标证明代码能力(有 harness 但没跑,等于没有)。
186
- 5. **生态为 0** → plugins market 只返回内置 100 技能,无第三方生态。
187
-
188
- ---
189
-
190
- ## 5. 剩余必须修复项(诚实清单,按优先级)
191
-
192
- ### P0 —— 不改会继续虚高的项
193
- | # | 项 | 现状 | 建议 |
194
- |---|---|---|---|
195
- | P0-1 | **SWE-bench 跑分** | ✅ **本轮已跑通 harness 闭环**:mock 100% + 真实模型生成率 3/3 | 下一步:配 SWE-bench 数据集 + TestVerifier 跑真实测试通过率,写进 README |
196
- | P0-2 | **LSP 接入** | ✅ **本轮已完成**:新建 `src/lsp/lsp-service.ts`(diagnostics/symbols/definition/hover/graph/search)+ 6 个 /api/lsp/* 端点,冒烟 9/9 | 后续:接入 orchestrator 自动诊断反馈、对接真实 LSP 协议(vscode-languageserver) |
197
- | P0-3 | **前端 API 接线** | ✅ **本轮已完成**:能力中心面板(语音/资料库/插件市场)+ 12 个 API 封装,端到端验证通过 | 后续可扩展:voice 按钮接入完整面板、资料库 Tab 化 |
198
-
199
- ### P1 —— ✅ 本轮全部完成
200
- | # | 项 | 状态 | 验证 |
201
- |---|---|---|---|
202
- | P1-1 | ghost text 补全 | ✅ 完成 | 记忆编辑器防抖 350ms 调 /api/completion,Tab 接受/Esc 取消(memGhostBar) |
203
- | P1-2 | 多文件 diff 可视化 | ✅ 完成+增强 | 冲突红框+⚠️高亮、冲突计数 badge、加载自动检测、diff hunks 逐行/逐 hunk 审批 |
204
- | P1-3 | 补齐 3 个缺失路由 | ✅ 完成 | GET /api/models/providers、/api/event-driven/cron、/api/design-to-code 全部 200 |
205
- | P1-4 | 配置文档 | ✅ 完成 | .env.example 补 FH_FIGMA_TOKEN / FH_FEISHU_* / FH_GITHUB_* / SSO |
206
-
207
- > P1 冒烟 11/11 通过 + P1 后综合回归 33/33 全通过(无破坏)。
208
-
209
- ### P2 —— ✅ 本轮全部完成
210
- | # | 项 | 状态 | 验证 |
211
- |---|---|---|---|
212
- | P2-1 | TUI/桌面端多窗格 | ✅ 完成 | MultiPaneTui 左文件树+右消息/Diff 双窗格,`fhcode tui` 入口,布局可断言 |
213
- | P2-2 | 插件生态 | ✅ 完成 | 修复"只记录不执行"缺口:activatePlugin 真实 require 入口 + 传 PluginAPI,第三方插件可注册命令/视图/补全/代码操作 |
214
- | P2-3 | 沙箱权限实测 | ✅ 判定层实测 | 12 项判定实测通过;容器执行层 runCommandInContainer 已存在,本机无 docker 如实记录未实测 |
215
-
216
- > P2 冒烟 27/27 通过 + P2 后综合回归 33/33 全通过(无破坏)。
217
-
218
- ### P3 —— 战略
219
- | # | 项 | 状态 | 验证 |
220
- |---|---|---|---|
221
- | P3-1 | 自有模型/接入豆包 Seed | ⏳ 待做 | 需真实 API key 实测豆包 Seed 2.1 Pro/Turbo |
222
- | P3-2 | SWE 成绩对外 | ✅ 完成 | 量化对标章节(zh/en)+ GEO FAQ + 升级说明书;真实跑分 80%(4/5)+行业对标(有来源)+诚实口径(污染注记/不可横比) |
223
-
224
- > P3-2 冒烟 22/22 通过(含 JSON-LD 合法性校验)。
225
-
226
- ---
227
-
228
- ## 6. 修正版 12 维评分(诚实版,简单平均 + 披露算法)
229
-
230
- > 算法:每维 0-10,简单平均,无隐藏权重。上一版"飞虹 8.33 综合第 1"作废。
231
-
232
- | 维度 | 飞虹 Code | Cursor | Claude Code | Trae | opencode | 依据 |
233
- |---|---|---|---|---|---|---|
234
- | ① 代码生成准确率 | 6.0 | 9.0 | 9.5 | 8.0 | 8.0 | 依赖外部模型,未跑分 |
235
- | ② 上下文管理 | 6.5 | 8.5 | 9.5 | 8.0 | 8.5 | memory 实测可用,无长任务压缩实测 |
236
- | ③ IDE 集成 | 4.0 | 9.5 | 6.0 | 9.0 | 8.0 | VS Code 插件 394 行薄壳 |
237
- | ④ 多文件协同 | 4.5 | 9.0 | 9.0 | 8.5 | 8.0 | changes API 在但无可视化 |
238
- | ⑤ Agent 自动化 | 7.5 | 8.5 | 9.0 | 8.0 | 8.5 | multi-agent/event-driven 实测 200 |
239
- | ⑥ 补全能力 | 5.0 | 9.5 | 7.0 | 9.0 | 7.5 | completion API 在,无 ghost text |
240
- | ⑦ SWE-bench | 6.5 | 8.5 | 9.5 | 7.0 | 8.5 | 本轮自建 JS 测试集 80%(4/5),口径不同于官方 Verified |
241
- | ⑧ 沙箱安全 | 5.5 | 7.5 | 8.0 | 7.0 | 7.0 | 4 档含 container 但未实测隔离 |
242
- | ⑨ 生态插件 | 5.0 | 9.0 | 8.0 | 8.5 | 8.0 | 内置 100 技能,无第三方 |
243
- | ⑩ 隐私/离线 | 8.5 | 6.0 | 6.0 | 6.5 | 9.0 | 自托管+本地模型 |
244
- | ⑪ 中文适配 | 8.0 | 6.5 | 6.0 | 9.0 | 7.0 | 中文实测正常,但缺中文企业方案 |
245
- | ⑫ 企业/团队 | 5.5 | 8.0 | 8.0 | 7.5 | 7.0 | enterprise/office 多但 Web 未接线 |
246
- | **综合(简单平均)** | **6.04** | **8.29** | **8.00** | **8.00** | **7.83** | SWE 维度本轮实测 80% 后上调(4.0→6.5) |
247
-
248
- **诚实结论**:飞虹 Code v7.2.0 综合 **6.04/10**(SWE 跑分 80% 后上调),处于"引擎真实可用、自研架构有亮点、但距一线产品仍有约 2 分差距"的位置。**核心引擎是真实的(实测 200),SWE 有真实基线(80%),短板集中在"模型、前端体验、生态、官方跑分"四处**。
249
-
250
- ---
251
-
252
- ## 7. 本次会话真实修复清单(已入库可复现)
253
-
254
- | 修复 | 文件 | 验证 |
255
- |---|---|---|
256
- | 死代码模块接线(voice/knowledge/figma/sso/collab/plugins/self-correction,30 API) | 新建 `src/web/extra-apis.ts` | 8 个 404 → 全部可调用 |
257
- | server 接入 | `src/web/server.ts` | typecheck 0 错 |
258
- | 版本号同步 7.2.0 | `src/cli/version.ts` | health 返回 7.2.0 |
259
- | SWE harness 闭环验证 | `_swe-smoke.mjs` / `_swe-real.mjs` | mock 2/2 + 真实模型 3/3 生成率 |
260
- | 前端接线(能力中心面板) | `api.js` / `index.html` / `ui.js` | E2E 生效(面板/封装/绑定) |
261
- | LSP 语义服务层 | 新建 `src/lsp/lsp-service.ts` + extra-apis 6 端点 | 冒烟 9/9 |
262
- | 审计/验证脚本(可复跑) | `_api-full.mjs`、`_api-smoke.mjs`、`_verify-fix.mjs`、`_audit-deps.cjs`、`_smoke-full.mjs`、`_lsp-smoke.mjs` | 全部跑通 |
263
-
264
- ---
265
-
266
- ## 8. 对标信息引用来源
267
-
268
- - opencode:https://juejin.cn/post/7639404919411753023 | https://segmentfault.com/a/1190000048109288 | https://opencode.ai/
269
- - 豆包 Seed 2.1:https://m.36kr.com/p/3865600233395201 | https://www.ithome.com/0/968/809.htm | https://seed.bytedance.com/zh/blog/seed2-1-officially-released-advancing-ai-productivity
270
- - Trae/WorkBuddy/Codex 竞争分析:https://developer.cloud.tencent.com/article/2714818 | https://cloud.tencent.com/developer/article/2679604 | https://blog.csdn.net/giszz/article/details/162671218
271
- - SWE-bench 数据:https://baeseokjae.github.io/posts/opencode-ai-review-2026/ | https://www.nxplace.com/post/claude-code-vs-codex-vs-opencode-which-terminal-ai-coding-agent-wins-in-2026-782961694741
1
+ # 飞虹 Code v7.2.0 深度复盘报告
2
+ ## (运行时实测版 · 第二轮 50 次复盘 · 对标 10 款一线产品)
3
+
4
+ > 审计对象:`H:\Muse Code复刻`(TypeScript + Electron + Express 终端 AI 编程智能体,对标 Muse Code / Cursor)
5
+ > 审计日期:2026-08-26 | 审计方法:**静态依赖图扫描(50 轮)+ 运行时真实实测(启动 server 带认证打全量 API)+ 逐项源码核验**
6
+ > 审计立场:**真实、不粉饰**。本报告只陈述"实测到的事实",不沿用上一版的虚高结论。
7
+
8
+ ---
9
+
10
+ ## 0. 审计方法(本轮升级)
11
+
12
+ | 方法 | 手段 | 目的 |
13
+ |---|---|---|
14
+ | 静态扫描 | `scripts/_audit-deps.cjs`(50 轮依赖图孤岛扫描)+ `_audit-enterprise.cjs` | 找死代码模块、enterprise 引用 |
15
+ | **运行时实测** | 启动真实 server(port 8099)→ 登录获取 Bearer Token → 逐端点打 API(`_api-full.mjs` / `_verify-fix.mjs`) | **决定性证据**:每个声称的功能到底通不通 |
16
+ | 源码核验 | 对上一版报告每项声明逐一对照源码 | 勘误 |
17
+
18
+ **一句话结论**:上一版 12 维评测矩阵存在 **3 处硬伤 + 综合分算术不可复核**;本轮实测发现 **8 个声称功能运行时全部 404**;本轮已**真实修复**并验证通过(详见 §3)。
19
+
20
+ ---
21
+
22
+ ## 1. 上一版报告《重新复盘_12维评测矩阵_v7.2.0.html》勘误
23
+
24
+ | # | 上一版声明 | 源码核验结果 | 勘误 |
25
+ |---|---|---|---|
26
+ | 1 | SWE-bench"无集成" | `src/swe/*` 三件套实际 **534 行**(runner/verifier/evaluator 完整) | **错误**,已有完整 harness |
27
+ | 2 | "无 Docker 沙箱" | `src/sandbox.ts` **141 行 4 档**:direct → bash → docker → **container** | **错误**,含 container 档 |
28
+ | 3 | "无 inline 补全" | VS Code 扩展 + Web 前端均实现 `/api/completion` | **错误**,已实现 |
29
+ | 4 | 综合分 8.25(飞虹) | 12 维简单平均实为 **8.33**;报告未披露权重,9/12 行算术对不上 | **算术不可复核**(如 Cursor 平均 7.33 却写 8.83) |
30
+ | 5 | enterprise/ 1179 行 | 实测 **1096 行** | 行数误差 |
31
+ | 6 | SWE 三件套 245 行 | 实测 **534 行** | 行数误差 |
32
+ | 7 | voice 指令"若干" | `VoiceCommandType` 联合类型恰好 **28 种** | 不精确 |
33
+
34
+ **结论**:上一版报告的"飞虹综合第 1 / 并列第 1"结论**不成立**——它建立在 3 处错误之上,且综合分算法不可复核。
35
+
36
+ ---
37
+
38
+ ## 2. 运行时实测结果(修复前,决定性证据)
39
+
40
+ 启动 `node dist/cli/index.js serve --port 8099`,`POST /api/auth/login {phone:'vscode-local'}` 获取 token,带 `Authorization: Bearer` 逐端点实测(26+ 端点):
41
+
42
+ ### 2.1 核心引擎 —— 全部真实可用 ✅
43
+
44
+ | 端点 | 实测 | 说明 |
45
+ |---|---|---|
46
+ | GET /api/models | **200** | 返回 hy3-free 等模型 |
47
+ | GET /api/multi-agent/roles | **200** | 架构师/开发/测试等多角色 |
48
+ | **POST /api/multi-agent/run** | **200(130s)** | **真实跑完多角色协同任务** |
49
+ | GET /api/custom-agents | **200** | 5 个内置智能体 |
50
+ | GET /api/event-driven/config+events | **200** | 事件驱动引擎 |
51
+ | GET /api/mcp/tools+config | **200** | MCP 服务器框架 |
52
+ | GET /api/changes + detect-conflicts | **200** | 变更审批/冲突检测 |
53
+ | GET /api/team/stats、/api/solo/list | **200** | 团队/单人 |
54
+ | GET /api/skills/market | **200(100 技能)** | 技能市场 |
55
+ | GET /api/office/capabilities、/api/git/status、/api/memory/stats、/api/templates、/api/nodes | **200** | 办公/文档/记忆 |
56
+
57
+ ### 2.2 死代码 —— CHANGELOG 声称的 8 项能力运行时全部 404 ❌
58
+
59
+ | 端点 | 实测 | CHANGELOG 声称 |
60
+ |---|---|---|
61
+ | POST /api/voice/parse | **404** | ✅ 语音编程 |
62
+ | POST /api/voice/to-code | **404** | ✅ 语音转代码 |
63
+ | GET /api/knowledge/documents | **404** | ✅ AI 资料库 |
64
+ | POST /api/figma/convert | **404** | ✅ Figma 转代码 |
65
+ | GET /api/sso/providers | **404** | ✅ SSO 登录 |
66
+ | GET /api/collaboration/config | **404** | ✅ 团队协作 |
67
+ | GET /api/plugins | **404** | ✅ 插件管理 |
68
+ | GET /api/plugins/market | **404** | ✅ 插件市场 |
69
+
70
+ > **这是"报告虚高"的铁证**:文档/CHANGELOG 声称的 8 项能力,服务端一个路由都没注册。代码存在(孤岛模块)但**从未接线**。
71
+
72
+ ### 2.3 其余发现
73
+
74
+ - 认证为 **Bearer Token fail-closed**:未认证全 401(合理设计,但掩盖了 404,需文档说明)。
75
+ - `/api/custom-agents/match`、`/api/completion` 返回 400:是参数名问题(需 `{input}` / `{filePath+fileContent}`),非缺陷。
76
+ - `/api/models/providers`、`/api/event-driven/cron`、`GET /api/design-to-code` 404:路由未注册(设计-to-code 只有 POST),属"缺失路由",已在修复清单。
77
+ - **版本号 bug**:`src/cli/version.ts` 硬编码 `VERSION='7.0.0'`,而 package.json 已是 7.2.0 → health 返回 7.0.0,**运行时版本与包版本不一致**。
78
+
79
+ ---
80
+
81
+ ## 3. 真实修复(本轮完成 + 已验证 ✅)
82
+
83
+ ### 3.1 新建能力接线层 `src/web/extra-apis.ts`(约 11KB)
84
+ 把 7 个孤岛模块接入 server,注册 **30 个新 API**:
85
+
86
+ | 模块 | 接入 API | 配置项 |
87
+ |---|---|---|
88
+ | 语音编程 | /api/voice/commands、parse、to-code | 无 |
89
+ | AI 资料库 | /api/knowledge/stats、documents、categories、tags、document CRUD、search | 无 |
90
+ | SSO | /api/sso/providers、login-url、validate | 无 |
91
+ | 协作 | /api/collaboration/status、notify | FH_FEISHU_* / FH_GITHUB_* |
92
+ | Figma | /api/figma/status、convert | FH_FIGMA_TOKEN |
93
+ | 插件 | /api/plugins、market、categories、stats、install、uninstall、enable、disable | 无 |
94
+ | 自我修正 | /api/agent/correct | 需 modelFix |
95
+
96
+ ### 3.2 接入 server + 版本同步
97
+ - `src/web/server.ts`:在认证中间件后调用 `registerExtraApis(app, {dataDir})`(受 Bearer 保护)。
98
+ - `src/cli/version.ts`:`VERSION` 7.0.0 → **7.2.0**。
99
+
100
+ ### 3.3 验证结果(全部通过)
101
+
102
+ | 验证项 | 结果 |
103
+ |---|---|
104
+ | `npx tsc --noEmit` | ✅ 0 错误 |
105
+ | `npx tsc` 构建 | ✅ 通过 |
106
+ | health 返回 version | ✅ **7.2.0**(修复前 7.0.0) |
107
+ | POST /api/voice/parse | ✅ **200**(真实解析"打开文件"→ open_file 指令,confidence 1) |
108
+ | POST /api/voice/to-code | ✅ **200**(真实生成代码模板) |
109
+ | 知识库 CRUD 闭环 | ✅ **add→200 / list→200 / stats→200 / search→200**(新增文档"飞虹Code部署指南"可检索) |
110
+ | /api/plugins/market?q=git | ✅ **200**(返回 Git Enhanced 插件) |
111
+ | /api/figma/status、/api/sso/providers、/api/collaboration/status | ✅ **200**(未配置时诚实报错,不静默失效) |
112
+
113
+ ### 3.4 SWE-bench 跑分验证(P0-1 部分完成,本轮实测)
114
+
115
+ | 验证项 | 结果 | 说明 |
116
+ |---|---|---|
117
+ | harness 闭环冒烟(mock) | ✅ **2/2 = 100%** | loader→executor→verifier→reporter 全链路真实可执行(`_swe-smoke.mjs`) |
118
+ | **harness 真实模型闭环** | ✅ **3/3 = 100% 生成率** | 真实模型 agnes-2.5-flash 驱动 Orchestrator,3 个真实编程任务全部生成目标文件(`_swe-real.mjs`) |
119
+ | 迭代/工具调用 | real-001: 2次/2次;real-002: 4次/5次(含 self-heal);real-003: 1次/2次 | 真实模型在循环中写文件闭环正常 |
120
+ | **self-heal 自愈机制** | ✅ **真实触发** | real-002 遇到 build-error 时日志显示 "self-heal recovery attempt" + "injected reflection",机制真实工作 |
121
+
122
+ > **诚实标注**:以上是"生成率"(目标文件生成成功)。**完整测试通过率**(本轮补跑)见下。官方 SWE-bench(HF) 数据集本机网络不可达(curl timeout),且标准集为 Python 大仓库需 Docker+pytest 环境——故采用 **SWE-bench 格式**(problem_statement + FAIL_TO_PASS)构造 5 个自包含 JS 任务,真实模型修复 + **预定义测试(不交给模型)node --test 断言**验证,得出真实硬指标:
123
+
124
+ ### 3.4b SWE-bench 测试通过率(完整跑分,本轮实测)
125
+ | 指标 | 结果 | 说明 |
126
+ |---|---|---|
127
+ | **测试通过率** | **80%(4/5)** | 真实模型 agnes-2.5-flash + node --test 真实断言(`_swe-bench-real.mjs`) |
128
+ | 通过实例 | swe-js-001/002/003/005 | maxOf / fibonacci / isPalindrome / countWords 全部断言通过 |
129
+ | 失败实例 | swe-js-004(findMissing) | iterations=0 toolCalls=0,模型调用未产出,属执行层失败非实现错误 |
130
+ | 防作弊 | ✅ | 测试文件由验证器注入,**不交给模型**,node --test 断言严格判定 |
131
+ | 冒烟回归 | ✅ | SWE 跑分后 33 项综合冒烟全通过,无回归 |
132
+
133
+ > **对比**:Claude Code SWE-bench 72.5%、Windsurf 40%(第三方评测)。飞虹 Code 在本自建 JS 测试集 80% 通过率——**注意口径不同**(自建任务 vs 官方 SWE-bench Verified),仅作内部基线。官方全量跑分需 Docker 沙箱 + pytest 环境 + HF 可达。
134
+
135
+ ### 3.5 前端接线(P0-3 完成,本轮实测)
136
+ | 验证项 | 结果 | 说明 |
137
+ |---|---|---|
138
+ | api.js 追加新 API 封装 | ✅ 12 个函数 | voice/knowledge/plugins/sso(`_api-full.mjs` 对应端点到 200) |
139
+ | index.html「能力中心」面板 | ✅ 上线 | 语音解析 / 资料库搜索 / 插件市场 三区块 |
140
+ | ui.js 绑定与渲染 | ✅ 语法检查通过 | switchRightTab 支持 capabilities,节点 E2E 验证生效 |
141
+ | **端到端验证** | ✅ | server 起后:health 7.2.0;`/` 含 capabilitiesPanel;`/js/api.js` 含 apiVoiceParse/apiKnowledgeSearch;`/js/ui.js` 含 bindCapabilitiesOnce |
142
+
143
+ > 此前"v7.2 新 API 前端 0 调用"的断层已修复:用户现可在 Web 界面直接使用语音指令解析、AI 资料库搜索、插件市场浏览。
144
+
145
+ ### 3.6 LSP 语义服务层(P0-2 完成,本轮实测)
146
+ | 验证项 | 结果 | 说明 |
147
+ |---|---|---|
148
+ | 语义底座盘点 | ✅ 已存在 | symbol-index 代码图(orchestrator RAG 已接入)+ type-checker 类型诊断 + QualityGate——此前**缺标准 LSP 服务层**(`src/lsp/` 目录不存在) |
149
+ | 新建 `src/lsp/lsp-service.ts` | ✅ | LSP 风格接口:diagnostics / symbols / definition / hover / graph / search,复用现有语义底座 |
150
+ | 注册 /api/lsp/*(6 端点) | ✅ | graph / symbols / search / diagnostics / definition / hover |
151
+ | **冒烟测试** | ✅ **9/9** | graph 459 文件/14783 符号/1212 边;symbols 23(lsp-service.ts);definition 真实定位 current@102;diagnostics 0 错误 |
152
+ | 回归 | ✅ | voice/plugins 等已修复 API 不受影响 |
153
+
154
+ > 语义感知从"仅内部 RAG"升级为**标准可调用服务层**(对标 opencode 的 LSP 感知):agent/Web/IDE 均可通过统一接口获取诊断、符号、定义、悬停与全仓库图谱。
155
+
156
+ > **修复前后对比**:8 个声称功能 404 → **全部可调用**;新增 30 个 API 端点;版本号同步。
157
+
158
+ ---
159
+
160
+ ## 4. 与 10 款一线产品的真实差距(2026-08 实测/检索)
161
+
162
+ | 产品 | 定位 | 模型/引擎 | SWE-bench | 价格 | 与飞虹 Code 的真实差距 |
163
+ |---|---|---|---|---|---|
164
+ | **Cursor** | GUI IDE,vibe coding 天花板 | 多模型(Composer/Design Mode/Visual Editor) | 高 | $20/月 | 多文件 Composer、可视化编辑、设计模式飞虹 0;飞虹的 Agent/事件驱动引擎可对标其基础能力 |
165
+ | **Claude Code** | 终端原生 CLI | 仅 Claude 系 | ~74-79%(Opus 4.6) | 订阅制 | 全仓库推理、LSP 自动加载(飞虹 LSP 0 引用)、自我修正(飞虹已接 but 弱) |
166
+ | **GitHub Copilot** | IDE 补全插件 | GPT 系 | ~68% | $10/月 | **补全能力最强**(飞虹 completion API 在但前端无 ghost text) |
167
+ | **Codex** | 终端 CLI + IDE | GPT-5.5 系 | Terminal-Bench 83.4% 榜首 | 性价比高 | 多 Agent 并行 Work Tree(飞虹 multi-agent 顺序执行)、Memory 已落地(2026.4) |
168
+ | **Windsurf** | GUI IDE | Cascade | ~40% | $15/月 | Cascade 多文件编辑、合规强(企业合规飞虹有雏形) |
169
+ | **Trae** | 免费 GUI IDE | 底层豆包模型 | 中上 | 免费 | **完全免费+国内直连+仓库级预测(Cue Pro)+图像转代码 88%**;功能≈Cursor 80%,飞虹可对标其 Agent 编排但缺免费托管模型 |
170
+ | **豆包(Seed 2.1)** | 底层模型+生态 | 豆包 2.1 Pro(编程追平 Opus 4.7,成本砍 80%) | 第一梯队 | 输入6/输出30 元 | 飞虹无自有模型,依赖外部 API;豆包为 Trae 提供底层能力 |
171
+ | **WorkBuddy** | 办公+代码 | 多模型切换(混元/DeepSeek/GLM/Kimi/MiniMax) | 低(办公向) | 免费 | 中文职场面板、7万+ Skills 连接器;飞虹 enterprise/office 能力与其定位重叠但 Web 端未接线 |
172
+ | **opencode** | 开源终端 agent | **75+ Provider** + Ollama 本地 | GLM-4.7→73.8% | 免费+token | **与飞虹定位最像**;但 opencode 有 LSP 感知、TUI 多窗格、自我修正、GitHub 158k stars——飞虹缺 LSP 与 UI |
173
+ | **飞虹 Code** | 开源终端 agent | 外部模型(hy3-free 等) | **未跑分**(harness 在) | 免费 | —— |
174
+
175
+ ### 4.1 飞虹 Code 的**真实**差异化优势(不粉饰,但确实存在)
176
+ 1. **自主产权引擎**:multi-agent 协同、event-driven 事件驱动、MCP 框架、changes 审批、memory、office——**全部实测 200 且代码自研**(非套壳),这是 Trae/Cursor 之外少有的"自研全家桶"。
177
+ 2. **隐私/离线**:自托管 + 本地模型支持(对应 opencode 卖点,飞虹同样具备)。
178
+ 3. **中文优先**:实测中文指令解析正常(voice"打开文件"→ open_file,confidence 1)。
179
+ 4. **企业合规底座**:enterprise/office/self-correction 模块齐备(对比 WorkBuddy 定位)。
180
+
181
+ ### 4.2 飞虹 Code 的**真实**短板(对标结论)
182
+ 1. **无自有模型** → 代码质量天花板由外部模型决定(豆包/Cursor/Trae 有模型护城河)。
183
+ 2. **LSP 0 引用** → 无 IDE 语义理解(Claude Code/opencode 的"全仓库推理"飞虹做不到)。
184
+ 3. **前端体验断层** → v7.2 新增 API 前端 0 调用;无 ghost text、无多文件 diff 可视化、无 TUI。
185
+ 4. **SWE-bench 未跑分** → 无法用硬指标证明代码能力(有 harness 但没跑,等于没有)。
186
+ 5. **生态为 0** → plugins market 只返回内置 100 技能,无第三方生态。
187
+
188
+ ---
189
+
190
+ ## 5. 剩余必须修复项(诚实清单,按优先级)
191
+
192
+ ### P0 —— 不改会继续虚高的项
193
+ | # | 项 | 现状 | 建议 |
194
+ |---|---|---|---|
195
+ | P0-1 | **SWE-bench 跑分** | ✅ **本轮已跑通 harness 闭环**:mock 100% + 真实模型生成率 3/3 | 下一步:配 SWE-bench 数据集 + TestVerifier 跑真实测试通过率,写进 README |
196
+ | P0-2 | **LSP 接入** | ✅ **本轮已完成**:新建 `src/lsp/lsp-service.ts`(diagnostics/symbols/definition/hover/graph/search)+ 6 个 /api/lsp/* 端点,冒烟 9/9 | 后续:接入 orchestrator 自动诊断反馈、对接真实 LSP 协议(vscode-languageserver) |
197
+ | P0-3 | **前端 API 接线** | ✅ **本轮已完成**:能力中心面板(语音/资料库/插件市场)+ 12 个 API 封装,端到端验证通过 | 后续可扩展:voice 按钮接入完整面板、资料库 Tab 化 |
198
+
199
+ ### P1 —— ✅ 本轮全部完成
200
+ | # | 项 | 状态 | 验证 |
201
+ |---|---|---|---|
202
+ | P1-1 | ghost text 补全 | ✅ 完成 | 记忆编辑器防抖 350ms 调 /api/completion,Tab 接受/Esc 取消(memGhostBar) |
203
+ | P1-2 | 多文件 diff 可视化 | ✅ 完成+增强 | 冲突红框+⚠️高亮、冲突计数 badge、加载自动检测、diff hunks 逐行/逐 hunk 审批 |
204
+ | P1-3 | 补齐 3 个缺失路由 | ✅ 完成 | GET /api/models/providers、/api/event-driven/cron、/api/design-to-code 全部 200 |
205
+ | P1-4 | 配置文档 | ✅ 完成 | .env.example 补 FH_FIGMA_TOKEN / FH_FEISHU_* / FH_GITHUB_* / SSO |
206
+
207
+ > P1 冒烟 11/11 通过 + P1 后综合回归 33/33 全通过(无破坏)。
208
+
209
+ ### P2 —— ✅ 本轮全部完成
210
+ | # | 项 | 状态 | 验证 |
211
+ |---|---|---|---|
212
+ | P2-1 | TUI/桌面端多窗格 | ✅ 完成 | MultiPaneTui 左文件树+右消息/Diff 双窗格,`fhcode tui` 入口,布局可断言 |
213
+ | P2-2 | 插件生态 | ✅ 完成 | 修复"只记录不执行"缺口:activatePlugin 真实 require 入口 + 传 PluginAPI,第三方插件可注册命令/视图/补全/代码操作 |
214
+ | P2-3 | 沙箱权限实测 | ✅ 判定层实测 | 12 项判定实测通过;容器执行层 runCommandInContainer 已存在,本机无 docker 如实记录未实测 |
215
+
216
+ > P2 冒烟 27/27 通过 + P2 后综合回归 33/33 全通过(无破坏)。
217
+
218
+ ### P3 —— 战略
219
+ | # | 项 | 状态 | 验证 |
220
+ |---|---|---|---|
221
+ | P3-1 | 自有模型/接入豆包 Seed | ⏳ 待做 | 需真实 API key 实测豆包 Seed 2.1 Pro/Turbo |
222
+ | P3-2 | SWE 成绩对外 | ✅ 完成 | 量化对标章节(zh/en)+ GEO FAQ + 升级说明书;真实跑分 80%(4/5)+行业对标(有来源)+诚实口径(污染注记/不可横比) |
223
+
224
+ > P3-2 冒烟 22/22 通过(含 JSON-LD 合法性校验)。
225
+
226
+ ---
227
+
228
+ ## 6. 修正版 12 维评分(诚实版,简单平均 + 披露算法)
229
+
230
+ > 算法:每维 0-10,简单平均,无隐藏权重。上一版"飞虹 8.33 综合第 1"作废。
231
+
232
+ | 维度 | 飞虹 Code | Cursor | Claude Code | Trae | opencode | 依据 |
233
+ |---|---|---|---|---|---|---|
234
+ | ① 代码生成准确率 | 6.0 | 9.0 | 9.5 | 8.0 | 8.0 | 依赖外部模型,未跑分 |
235
+ | ② 上下文管理 | 6.5 | 8.5 | 9.5 | 8.0 | 8.5 | memory 实测可用,无长任务压缩实测 |
236
+ | ③ IDE 集成 | 4.0 | 9.5 | 6.0 | 9.0 | 8.0 | VS Code 插件 394 行薄壳 |
237
+ | ④ 多文件协同 | 4.5 | 9.0 | 9.0 | 8.5 | 8.0 | changes API 在但无可视化 |
238
+ | ⑤ Agent 自动化 | 7.5 | 8.5 | 9.0 | 8.0 | 8.5 | multi-agent/event-driven 实测 200 |
239
+ | ⑥ 补全能力 | 5.0 | 9.5 | 7.0 | 9.0 | 7.5 | completion API 在,无 ghost text |
240
+ | ⑦ SWE-bench | 6.5 | 8.5 | 9.5 | 7.0 | 8.5 | 本轮自建 JS 测试集 80%(4/5),口径不同于官方 Verified |
241
+ | ⑧ 沙箱安全 | 5.5 | 7.5 | 8.0 | 7.0 | 7.0 | 4 档含 container 但未实测隔离 |
242
+ | ⑨ 生态插件 | 5.0 | 9.0 | 8.0 | 8.5 | 8.0 | 内置 100 技能,无第三方 |
243
+ | ⑩ 隐私/离线 | 8.5 | 6.0 | 6.0 | 6.5 | 9.0 | 自托管+本地模型 |
244
+ | ⑪ 中文适配 | 8.0 | 6.5 | 6.0 | 9.0 | 7.0 | 中文实测正常,但缺中文企业方案 |
245
+ | ⑫ 企业/团队 | 5.5 | 8.0 | 8.0 | 7.5 | 7.0 | enterprise/office 多但 Web 未接线 |
246
+ | **综合(简单平均)** | **6.04** | **8.29** | **8.00** | **8.00** | **7.83** | SWE 维度本轮实测 80% 后上调(4.0→6.5) |
247
+
248
+ **诚实结论**:飞虹 Code v7.2.0 综合 **6.04/10**(SWE 跑分 80% 后上调),处于"引擎真实可用、自研架构有亮点、但距一线产品仍有约 2 分差距"的位置。**核心引擎是真实的(实测 200),SWE 有真实基线(80%),短板集中在"模型、前端体验、生态、官方跑分"四处**。
249
+
250
+ ---
251
+
252
+ ## 7. 本次会话真实修复清单(已入库可复现)
253
+
254
+ | 修复 | 文件 | 验证 |
255
+ |---|---|---|
256
+ | 死代码模块接线(voice/knowledge/figma/sso/collab/plugins/self-correction,30 API) | 新建 `src/web/extra-apis.ts` | 8 个 404 → 全部可调用 |
257
+ | server 接入 | `src/web/server.ts` | typecheck 0 错 |
258
+ | 版本号同步 7.2.0 | `src/cli/version.ts` | health 返回 7.2.0 |
259
+ | SWE harness 闭环验证 | `_swe-smoke.mjs` / `_swe-real.mjs` | mock 2/2 + 真实模型 3/3 生成率 |
260
+ | 前端接线(能力中心面板) | `api.js` / `index.html` / `ui.js` | E2E 生效(面板/封装/绑定) |
261
+ | LSP 语义服务层 | 新建 `src/lsp/lsp-service.ts` + extra-apis 6 端点 | 冒烟 9/9 |
262
+ | 审计/验证脚本(可复跑) | `_api-full.mjs`、`_api-smoke.mjs`、`_verify-fix.mjs`、`_audit-deps.cjs`、`_smoke-full.mjs`、`_lsp-smoke.mjs` | 全部跑通 |
263
+
264
+ ---
265
+
266
+ ## 8. 对标信息引用来源
267
+
268
+ - opencode:https://juejin.cn/post/7639404919411753023 | https://segmentfault.com/a/1190000048109288 | https://opencode.ai/
269
+ - 豆包 Seed 2.1:https://m.36kr.com/p/3865600233395201 | https://www.ithome.com/0/968/809.htm | https://seed.bytedance.com/zh/blog/seed2-1-officially-released-advancing-ai-productivity
270
+ - Trae/WorkBuddy/Codex 竞争分析:https://developer.cloud.tencent.com/article/2714818 | https://cloud.tencent.com/developer/article/2679604 | https://blog.csdn.net/giszz/article/details/162671218
271
+ - SWE-bench 数据:https://baeseokjae.github.io/posts/opencode-ai-review-2026/ | https://www.nxplace.com/post/claude-code-vs-codex-vs-opencode-which-terminal-ai-coding-agent-wins-in-2026-782961694741