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
package/docs/DPA.md CHANGED
@@ -1,63 +1,65 @@
1
- # 数据处理协议(DPA)
2
-
3
- > 版本:v1.0 · 更新:2026-08-26
4
- > 晋江市飞虹智科技企业管理有限公司(以下简称「处理方」)与数据处理委托方(以下简称「控制方」)
5
- > 就「飞虹 Code」软件及服务处理个人数据相关事宜达成协议。本协议为政企售前/签约配套材料。
6
-
7
- ## 1. 定义与角色
8
-
9
- - **控制方**:决定处理目的与方式的组织/个人(使用飞虹 Code 的客户)
10
- - **处理方**:晋江市飞虹智科技企业管理有限公司(软件提供方)及其授权支持人员
11
- - **数据主体**:控制方系统中的自然人(如客户员工、最终用户)
12
-
13
- ## 2. 处理的数据类别
14
-
15
- | 类别 | 说明 | 默认是否落盘 |
16
- |---|---|---|
17
- | 用户输入(代码/文本/指令) | 控制方在使用飞虹 Code 时提交的内容 | 本地工作区(默认) |
18
- | 配置文件 | 模型供应商配置、token(经安全存储加密) | 本地安全存储 |
19
- | 运行日志 | 事件日志、审计记录 | 本地(支持关闭) |
20
- | 遥测/用量(如启用) | 功能用量统计 | 需控制方显式开启 |
21
- | 不收集 | 键盘记录、屏幕内容、未经授权的通讯录/文件 | |
22
-
23
- **关键承诺**:飞虹 Code 采用**本地优先**架构,代码与配置默认不出本地;模型调用是否出域由控制方选择的模型供应商决定(可配置为私有化/本地模型,实现数据不出域)。
24
-
25
- ## 3. 处理目的与法律依据
26
-
27
- - 处理目的:提供代码补全、Agent 任务执行、会话管理与质量改进
28
- - 法律依据:《个人信息保护法》(PIPL)下的「履行合同所必需」及「控制方合法处理」
29
- - 处理期限:控制方卸载/删除数据后 30 日内删除相关本地副本(法律法规另有规定的除外)
30
-
31
- ## 4. 处理方义务
32
-
33
- 1. 按控制方书面指示处理数据,不得用于约定目的之外
34
- 2. 采取安全措施:本地沙箱隔离、命令审批、变更审批流、审计哈希链、凭证加密、供应链安全 CI
35
- 3. 不向第三方传输数据(除控制方明确选择的模型供应商,且以控制方配置为准)
36
- 4. 发生数据安全事件时,按 PIPL 通知控制方与监管机构(如适用)
37
- 5. 提供数据主体权利响应支持:查询、更正、删除
38
-
39
- ## 5. 控制方义务
40
-
41
- 1. 确保其数据处理行为合法(获得数据主体授权等)
42
- 2. 对输出的数据内容负责(不输入违法违规/涉密数据)
43
- 3. 合理配置安全策略(沙箱档位、审批、网络白名单等),按使用场景选择本地/私有化模型实现数据不出域
44
-
45
- ## 6. 跨境传输
46
-
47
- - 默认无跨境传输;若控制方选择境外模型供应商,跨境传输由控制方基于该供应商的合规声明自行决策,处理方不承担该环节合规责任
48
- - 处理方如需跨境支持访问(如远程排障),须取得控制方书面同意并最小化数据范围
49
-
50
- ## 7. 违约责任与争议
51
-
52
- - 因处理方过错导致数据泄露的,处理方按《民法典》及相关法规承担赔偿责任
53
- - 因控制方输入违法内容/错误配置导致的后果,由控制方承担
54
- - 争议协商解决,协商不成提交处理方所在地有管辖权法院
55
-
56
- ## 8. 附则
57
-
58
- - 本协议作为软件采购/服务协议附件,冲突时以主协议为准
59
- - 更新时提前 30 日通知控制方;控制方不接受更新的可停止使用
60
- - 本协议不构成对第三方(含模型供应商)的义务承诺
61
-
62
- ---
63
- **联系**:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
1
+ # 数据处理协议(DPA)
2
+
3
+ > 版本:v1.0 · 更新:2026-08-26
4
+ > 晋江市飞虹智科技企业管理有限公司(以下简称「处理方」)与数据处理委托方(以下简称「控制方」)
5
+ > 就「飞虹 Code」软件及服务处理个人数据相关事宜达成协议。本协议为政企售前/签约配套材料。
6
+
7
+ > **📋 性质声明(自评估材料)**:本协议为**软件提供方自行起草的合同底稿**,其中对安全控制措施与合规状态的描述均为**内部自评估结论**,**不构成** SOC 2 / ISO 27001 等任何第三方认证或独立审计意见。签署前须由双方法务复核并按实际部署情况修订;如需认证背书,以第三方审计机构正式报告为准。
8
+
9
+ ## 1. 定义与角色
10
+
11
+ - **控制方**:决定处理目的与方式的组织/个人(使用飞虹 Code 的客户)
12
+ - **处理方**:晋江市飞虹智科技企业管理有限公司(软件提供方)及其授权支持人员
13
+ - **数据主体**:控制方系统中的自然人(如客户员工、最终用户)
14
+
15
+ ## 2. 处理的数据类别
16
+
17
+ | 类别 | 说明 | 默认是否落盘 |
18
+ |---|---|---|
19
+ | 用户输入(代码/文本/指令) | 控制方在使用飞虹 Code 时提交的内容 | 本地工作区(默认) |
20
+ | 配置文件 | 模型供应商配置、token(经安全存储加密) | 本地安全存储 |
21
+ | 运行日志 | 事件日志、审计记录 | 本地(支持关闭) |
22
+ | 遥测/用量(如启用) | 功能用量统计 | 需控制方显式开启 |
23
+ | 不收集 | 键盘记录、屏幕内容、未经授权的通讯录/文件 | — |
24
+
25
+ **关键承诺**:飞虹 Code 采用**本地优先**架构,代码与配置默认不出本地;模型调用是否出域由控制方选择的模型供应商决定(可配置为私有化/本地模型,实现数据不出域)。
26
+
27
+ ## 3. 处理目的与法律依据
28
+
29
+ - 处理目的:提供代码补全、Agent 任务执行、会话管理与质量改进
30
+ - 法律依据:《个人信息保护法》(PIPL)下的「履行合同所必需」及「控制方合法处理」
31
+ - 处理期限:控制方卸载/删除数据后 30 日内删除相关本地副本(法律法规另有规定的除外)
32
+
33
+ ## 4. 处理方义务
34
+
35
+ 1. 按控制方书面指示处理数据,不得用于约定目的之外
36
+ 2. 采取安全措施:本地沙箱隔离、命令审批、变更审批流、审计哈希链、凭证加密、供应链安全 CI
37
+ 3. 不向第三方传输数据(除控制方明确选择的模型供应商,且以控制方配置为准)
38
+ 4. 发生数据安全事件时,按 PIPL 通知控制方与监管机构(如适用)
39
+ 5. 提供数据主体权利响应支持:查询、更正、删除
40
+
41
+ ## 5. 控制方义务
42
+
43
+ 1. 确保其数据处理行为合法(获得数据主体授权等)
44
+ 2. 对输出的数据内容负责(不输入违法违规/涉密数据)
45
+ 3. 合理配置安全策略(沙箱档位、审批、网络白名单等),按使用场景选择本地/私有化模型实现数据不出域
46
+
47
+ ## 6. 跨境传输
48
+
49
+ - 默认无跨境传输;若控制方选择境外模型供应商,跨境传输由控制方基于该供应商的合规声明自行决策,处理方不承担该环节合规责任
50
+ - 处理方如需跨境支持访问(如远程排障),须取得控制方书面同意并最小化数据范围
51
+
52
+ ## 7. 违约责任与争议
53
+
54
+ - 因处理方过错导致数据泄露的,处理方按《民法典》及相关法规承担赔偿责任
55
+ - 因控制方输入违法内容/错误配置导致的后果,由控制方承担
56
+ - 争议协商解决,协商不成提交处理方所在地有管辖权法院
57
+
58
+ ## 8. 附则
59
+
60
+ - 本协议作为软件采购/服务协议附件,冲突时以主协议为准
61
+ - 更新时提前 30 日通知控制方;控制方不接受更新的可停止使用
62
+ - 本协议不构成对第三方(含模型供应商)的义务承诺
63
+
64
+ ---
65
+ **联系**:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
@@ -1,67 +1,69 @@
1
- # 数据处理协议(DPA)模板 v1.0
2
-
3
- **晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹**
4
- **适用**:飞虹 Code(软件即本地部署工具,非云服务)——企业客户采购/部署时签署
5
-
6
- > 本模板为面向企业客户的数据处理协议底稿。签署前请由法务复核并填写空白项(【】)。飞虹 Code 默认**本地部署、数据不出域**,数据处理面最小化。
7
-
8
- ---
9
-
10
- ## 一、双方与定义
11
-
12
- **数据处理方(乙方)**:晋江市飞虹智科技企业管理有限公司(统一社会信用代码:【__】)
13
- **数据控制方(甲方)**:【客户全称】
14
-
15
- - **"个人数据"**:甲方或其员工在使用飞虹 Code 过程中提交、输入、生成的数据中涉及自然人个人信息的部分
16
- - **"处理"**:收集、存储、使用、加工、传输、提供、删除等
17
-
18
- ## 二、处理范围与目的
19
-
20
- | 项 | 约定 |
21
- |---|---|
22
- | 处理目的 | 提供飞虹 Code 本地部署的 AI 编程智能体功能(代码生成、任务执行、知识检索) |
23
- | 数据类型 | 代码、对话内容、配置、日志、审计记录(不含甲方明确标注的敏感个人信息类型) |
24
- | 处理方式 | 乙方软件在甲方指定的本地服务器/终端运行;默认不向乙方服务器回传 |
25
- | 数据位置 | 甲方本地(`~/.feihong-code` 或甲方指定目录);乙方不托管 |
26
-
27
- ## 三、双方义务
28
-
29
- ### 3.1 甲方(控制方)义务
30
- 1. 保证其输入数据的合法性,取得必要的用户授权
31
- 2. 按最小必要原则使用,配置 RBAC 控制访问权限
32
- 3. 依据法律保存必要审计记录
33
-
34
- ### 3.2 乙方(处理方)义务
35
- 1. **仅在甲方本地处理**:软件不主动外传个人数据;联网仅为模型调用(可配置离线模式完全关闭)
36
- 2. 提供访问控制、审计日志、数据删除(`fhcode` 数据目录清理)机制
37
- 3. 配合甲方行使数据权利(访问 / 更正 / 删除 / 导出)
38
- 4. 发现安全事件 48 小时内通知甲方
39
- 5. 不向第三方出售个人数据
40
-
41
- ## 四、安全措施(对应《安全白皮书 v7.2.0》)
42
-
43
- - RBAC 权限隔离 + 多租户(企业模式)
44
- - 审计日志(命令与关键操作可追溯)
45
- - 沙箱隔离(read-only / workspace-write / container)
46
- - 供应链安全(SBOM + npm audit + osv-scanner)
47
- - 密钥环境变量注入,禁止明文落盘
48
-
49
- ## 五、数据留存与删除
50
-
51
- 1. 默认留存:会话 / 审计 / 经验库在甲方本地按配置留存
52
- 2. 删除:甲方可随时清理数据目录;乙方提供删除指引
53
- 3. 合同终止后:甲方删除本地数据或按甲方要求移交
54
-
55
- ## 六、违约责任与争议
56
-
57
- 1. 因乙方过错导致的数据泄露,乙方依法承担相应责任
58
- 2. 争议解决:提交甲方所在地有管辖权的人民法院
59
-
60
- ## 七、生效与变更
61
-
62
- 本协议自双方盖章之日起生效;变更需双方书面确认。本模板空白项【】由双方填写后成为有效协议文本。
63
-
64
- ---
65
-
66
- *甲方(盖章):___ 乙方(盖章):晋江市飞虹智科技企业管理有限公司*
67
- *签署日期:____年__月__日*
1
+ # 数据处理协议(DPA)模板 v1.0
2
+
3
+ **晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹**
4
+ **适用**:飞虹 Code(软件即本地部署工具,非云服务)——企业客户采购/部署时签署
5
+
6
+ > 本模板为面向企业客户的数据处理协议底稿。签署前请由法务复核并填写空白项(【】)。飞虹 Code 默认**本地部署、数据不出域**,数据处理面最小化。
7
+
8
+ > **📋 性质声明(自评估材料)**:本模板中的安全控制措施与合规状态描述均为**内部自评估结论**,**不构成** SOC 2 / ISO 27001 等任何第三方认证或独立审计意见;认证背书以第三方审计机构正式报告为准。
9
+
10
+ ---
11
+
12
+ ## 一、双方与定义
13
+
14
+ **数据处理方(乙方)**:晋江市飞虹智科技企业管理有限公司(统一社会信用代码:【__】)
15
+ **数据控制方(甲方)**:【客户全称】
16
+
17
+ - **"个人数据"**:甲方或其员工在使用飞虹 Code 过程中提交、输入、生成的数据中涉及自然人个人信息的部分
18
+ - **"处理"**:收集、存储、使用、加工、传输、提供、删除等
19
+
20
+ ## 二、处理范围与目的
21
+
22
+ | | 约定 |
23
+ |---|---|
24
+ | 处理目的 | 提供飞虹 Code 本地部署的 AI 编程智能体功能(代码生成、任务执行、知识检索) |
25
+ | 数据类型 | 代码、对话内容、配置、日志、审计记录(不含甲方明确标注的敏感个人信息类型) |
26
+ | 处理方式 | 乙方软件在甲方指定的本地服务器/终端运行;默认不向乙方服务器回传 |
27
+ | 数据位置 | 甲方本地(`~/.feihong-code` 或甲方指定目录);乙方不托管 |
28
+
29
+ ## 三、双方义务
30
+
31
+ ### 3.1 甲方(控制方)义务
32
+ 1. 保证其输入数据的合法性,取得必要的用户授权
33
+ 2. 按最小必要原则使用,配置 RBAC 控制访问权限
34
+ 3. 依据法律保存必要审计记录
35
+
36
+ ### 3.2 乙方(处理方)义务
37
+ 1. **仅在甲方本地处理**:软件不主动外传个人数据;联网仅为模型调用(可配置离线模式完全关闭)
38
+ 2. 提供访问控制、审计日志、数据删除(`fhcode` 数据目录清理)机制
39
+ 3. 配合甲方行使数据权利(访问 / 更正 / 删除 / 导出)
40
+ 4. 发现安全事件 48 小时内通知甲方
41
+ 5. 不向第三方出售个人数据
42
+
43
+ ## 四、安全措施(对应《安全白皮书 v7.2.0》)
44
+
45
+ - RBAC 权限隔离 + 多租户(企业模式)
46
+ - 审计日志(命令与关键操作可追溯)
47
+ - 沙箱隔离(read-only / workspace-write / container)
48
+ - 供应链安全(SBOM + npm audit + osv-scanner)
49
+ - 密钥环境变量注入,禁止明文落盘
50
+
51
+ ## 五、数据留存与删除
52
+
53
+ 1. 默认留存:会话 / 审计 / 经验库在甲方本地按配置留存
54
+ 2. 删除:甲方可随时清理数据目录;乙方提供删除指引
55
+ 3. 合同终止后:甲方删除本地数据或按甲方要求移交
56
+
57
+ ## 六、违约责任与争议
58
+
59
+ 1. 因乙方过错导致的数据泄露,乙方依法承担相应责任
60
+ 2. 争议解决:提交甲方所在地有管辖权的人民法院
61
+
62
+ ## 七、生效与变更
63
+
64
+ 本协议自双方盖章之日起生效;变更需双方书面确认。本模板空白项【】由双方填写后成为有效协议文本。
65
+
66
+ ---
67
+
68
+ *甲方(盖章):___ 乙方(盖章):晋江市飞虹智科技企业管理有限公司*
69
+ *签署日期:____年__月__日*
@@ -1,6 +1,6 @@
1
1
  # Feihong Code (fhcode) — Deployment Guide
2
2
 
3
- **Version**: v0.5.0-b
3
+ **Version**: v7.6.0
4
4
  **Date**: 2026-08-16
5
5
  **Product**: Feihong Code (feihong-code) — a terminal AI coding agent (a Muse Code reimplementation)
6
6
  **Attribution**: Jinjiang Feihongzhi Tech Enterprise Management Co., Ltd. · Feiyang Qiyuan R&D Center · Lead: Wu Cihong
@@ -1,12 +1,12 @@
1
1
  # 飞虹 Code · 安全白皮书(政企售前材料)
2
2
 
3
- > 版本:v7.5.0-dev · 更新:2026-08-26
3
+ > 版本:v7.6.0 · 更新:2026-08-28
4
4
  > 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
5
5
  > **合规声明**:本文档为**自评估**材料,明确区分「已实现」与「目标项」,**不宣称已取得 SOC2/ISO27001 正式认证**。正式认证计划见第 5 节。
6
6
 
7
7
  ## 1. 产品定位与数据流
8
8
 
9
- 飞虹 Code 是本地优先的终端 AI 编程智能体(Muse Code 参照复刻),核心原则:**代码与配置默认留在本地工作区**,模型调用可通过本地/私有化模型供应商完成,满足政企数据不出域的诉求。
9
+ 飞虹 Code 是本地优先的终端 AI 编程智能体(对标 Muse Code,自研内核),核心原则:**代码与配置默认留在本地工作区**,模型调用可通过本地/私有化模型供应商完成,满足政企数据不出域的诉求。
10
10
 
11
11
  数据流:
12
12
  ```
@@ -1,6 +1,6 @@
1
1
  # 自我进化系统使用指南
2
2
 
3
- > 版本: v0.5.1 | 最后更新: 2026-08-22
3
+ > 版本: v7.6.0 | 最后更新: 2026-08-28
4
4
 
5
5
  ---
6
6
 
@@ -1,55 +1,73 @@
1
- # 飞虹 Code · SWE-bench Verified 跑分状态与说明
2
-
3
- > 更新时间:2026-08-26 · 版本:7.5.0-dev
4
- > 本文档为 **SWE-bench 硬指标对外文案的事实依据**。所有数字均来自真实运行,不编造。
5
-
6
- ## 1. 官方 harness 能力(已集成)
7
-
8
- 飞虹 Code 内置 SWE-bench 官方评测 harness(`src/harness/`),对接 HuggingFace 官方数据集 `princeton-nlp/SWE-bench`(split 支持 `lite` / `verified`):
9
-
10
- | 模块 | 作用 |
11
- |---|---|
12
- | `SwebenchLoader` | 从 HuggingFace datasets-server 分页拉取官方实例(含 instance_id / problem_statement / FAIL_TO_PASS / PASS_TO_PASS / patch 等) |
13
- | `MockOrchestratorExecutor` | mock 模式:脚本化 orchestrator 回归,验证 harness 链路(不依赖模型) |
14
- | `RealModelExecutor` | real 模式:真实模型推理,跑官方问题 |
15
- | `FileExistsVerifier` | 通过标准=生成指定文件(链路自检用) |
16
- | `TestVerifier`(P7-1) | **通过标准=官方测试通过**:有 FAIL_TO_PASS 用例时优先跑这些失败用例(`npm test -- <用例>`),退出码 0 判通过 |
17
- | `MarkdownReporter` / `JsonReporter` | 报告输出 |
18
-
19
- ## 2. 实测结果(诚实记录,mock 模式)
20
-
21
- | 运行 | 数据集 | 实例数 | 通过率 | 说明 |
22
- |---|---|---|---|---|
23
- | 2026-08-26 | SWE-bench lite | 1 | 100% | `harness lite --limit 2 --mode mock`,django__django-11099,验证 harness 链路真实可用 |
24
-
25
- > ⚠️ 1/1 **mock(脚本化)回归**,用于验证「拉取官方数据集 执行 验证 报告」全链路,**不代表模型真实解题能力**。真实硬指标必须以 `--mode real` + `--verifier test` 跑出。
26
-
27
- ## 3. 真实跑分命令(需模型 + Docker 环境)
28
-
29
- ```bash
30
- # 官方 SWE-bench Verified,真实模型推理 + 官方测试验证
31
- fhcode harness verified --limit 20 --mode real --verifier test --report docs/swe-bench-verified-run.md
32
-
33
- # 全量(500 例,耗时长,建议 CI 分批)
34
- fhcode harness verified --mode real --verifier test --report docs/swe-bench-verified-full.md
35
-
36
- # 输出 JSON 供后续对标
37
- fhcode harness verified --mode real --verifier test --json
38
- ```
39
-
40
- **环境前置**:
41
- - 已配置模型供应商(`fhcode config set` 或 `~/.feihong-code/config.json` 的 `models.providers`)
42
- - Docker 可用(验证器在容器内跑 FAIL_TO_PASS 测试,隔离不信任代码)
43
- - 每实例需 clone 对应 repo(django / sympy / astropy 等),网络可达 GitHub
44
-
45
- ## 4. 对外文案口径(有据可依)
46
-
47
- - 可对外宣称:**「已接入 SWE-bench Verified 官方评测(HuggingFace 官方数据集 + FAIL_TO_PASS 测试验证器),支持一键跑分」**
48
- - 在真实 `--mode real` 跑分未完成前,**禁止**对外发布任何「SWE-bench 通过率 X%」数字
49
- - 当前公开口径:**「SWE-bench Verified 官方 harness 已就绪,跑分结果将随 v7.5.0 发布」**
50
-
51
- ## 5. 与对标产品的差距定位(供内部参考)
52
-
53
- - OpenAI Codex / Cursor / Claude Code 均已公开 SWE-bench Verified 通过率(如 60-75% 量级)
54
- - 飞虹 Code 尚未完成真实跑分 差距仍在,但**从"无 harness"升级为"官方 harness 就绪,待真实跑分"**
55
- - 真实跑分完成后的对标文案更新入口:`docs/BENCHMARK_REPORT_zh.md`
1
+ # 飞虹 Code · SWE-bench Verified 跑分状态与说明
2
+
3
+ > 更新时间:2026-08-28 · 版本:7.6.0
4
+ > 本文档为 **SWE-bench 硬指标对外文案的事实依据**。所有数字均来自真实运行,不编造。
5
+
6
+ ## 1. 官方 harness 能力(已集成)
7
+
8
+ 飞虹 Code 内置 SWE-bench 官方评测 harness(`src/harness/`),对接 HuggingFace 官方数据集 `princeton-nlp/SWE-bench`(split 支持 `lite` / `verified`):
9
+
10
+ | 模块 | 作用 |
11
+ |---|---|
12
+ | `SwebenchLoader` | 从 HuggingFace datasets-server 分页拉取官方实例(含 instance_id / problem_statement / FAIL_TO_PASS / PASS_TO_PASS / patch 等) |
13
+ | `MockOrchestratorExecutor` | mock 模式:脚本化 orchestrator 回归,验证 harness 链路(不依赖模型) |
14
+ | `RealModelExecutor` | real 模式:真实模型推理,跑官方问题 |
15
+ | `FileExistsVerifier` | 通过标准=生成指定文件(链路自检用) |
16
+ | `TestVerifier`(P7-1) | **通过标准=官方测试通过**:有 FAIL_TO_PASS 用例时优先跑这些失败用例(`npm test -- <用例>`),退出码 0 判通过 |
17
+ | `MarkdownReporter` / `JsonReporter` | 报告输出 |
18
+
19
+ ## 2. 实测结果(诚实记录)
20
+
21
+ ### 2.1 自建任务集 · 真实模型跑分(2026-08-27 复测,v7.6.0)
22
+
23
+ | 运行 | 数据集 | 实例数 | 通过率 | 模型 | 验证器 | 说明 |
24
+ |---|---|---|---|---|---|---|
25
+ | 2026-08-27 | 自建 JS 任务集(5 例) | 5 | **100%(5/5)** | agnes-2.5-flash | real-test(node --test 真实断言) | 真实模型驱动 Orchestrator 修复,预定义测试不交给模型;平均迭代 2.2 次/例 |
26
+ | 2026-08-26 | 自建 JS 任务集(5 例) | 5 | 80%(4/5) | agnes-2.5-flash | real-test | v7.2.0 首测,1 例因模型调用中断失败 |
27
+ | 2026-08-26 | SWE-bench lite(官方) | 1 | 100% | mock(脚本化) | FileExistsVerifier | `harness lite --limit 2 --mode mock`,django__django-11099,验证 harness 链路真实可用 |
28
+
29
+ > ⚠️ 自建任务集 100% 为 **5 个简单 JS 函数题**(max/fib/palindrome/findMissing/countWords)的实测,**不代表模型在真实复杂仓库上的解题能力**。真实硬指标必须以官方 SWE-bench Verified `--mode real --verifier test` 跑出。
30
+
31
+ **复现命令**:
32
+ ```bash
33
+ node scripts/_swe-bench-real.mjs # 自建任务集真实跑分(5 例)
34
+ node scripts/_swe-smoke.mjs # harness 闭环冒烟(mock,2 例)
35
+ node scripts/_swe-fetch.mjs # 拉取官方 SWE-bench Lite 数据集(验证网络可达)
36
+ ```
37
+
38
+ ### 2.2 官方 SWE-bench Verified 数据集可达性(2026-08-27 验证)
39
+
40
+ - `node scripts/_swe-fetch.mjs` 成功从 HuggingFace datasets-server 拉取官方实例(django/django-11099,problem_statement="Fix ORM bug.",FAIL_TO_PASS=test_orm)。
41
+ - 结论:**官方数据集网络可达**,官方 harness 已就绪,可执行真实跑分。
42
+ - 限制:官方 Verified 为 Python 大仓库(django/sympy/astropy 等),每例需 clone 仓库 + Docker 内跑 pytest,单例耗时数分钟至数十分钟,全量 500 例建议在 CI 中分批执行。
43
+
44
+ ## 3. 真实跑分命令(需模型 + Docker 环境)
45
+
46
+ ```bash
47
+ # 官方 SWE-bench Verified,真实模型推理 + 官方测试验证
48
+ fhcode harness verified --limit 20 --mode real --verifier test --report docs/swe-bench-verified-run.md
49
+
50
+ # 全量(500 例,耗时长,建议 CI 分批)
51
+ fhcode harness verified --mode real --verifier test --report docs/swe-bench-verified-full.md
52
+
53
+ # 输出 JSON 供后续对标
54
+ fhcode harness verified --mode real --verifier test --json
55
+ ```
56
+
57
+ **环境前置**:
58
+ - 已配置模型供应商(`fhcode config set` 或 `~/.feihong-code/config.json` 的 `models.providers`)
59
+ - Docker 可用(验证器在容器内跑 FAIL_TO_PASS 测试,隔离不信任代码)
60
+ - 每实例需 clone 对应 repo(django / sympy / astropy 等),网络可达 GitHub
61
+
62
+ ## 4. 对外文案口径(有据可依)
63
+
64
+ - ✅ **可对外宣称(自建任务集)**:**「自建 SWE-bench 格式任务集真实跑分:5/5 = 100% 通过率(agnes-2.5-flash 真实模型 + node --test 预定义测试断言,2026-08-27 复测)」**——必须同时注明"自建 JS 任务集,非官方 SWE-bench Verified"。
65
+ - ✅ **可对外宣称(官方 harness)**:**「已接入 SWE-bench Verified 官方评测(HuggingFace 官方数据集 + FAIL_TO_PASS 测试验证器),官方数据集已验证可达,支持一键跑分」**。
66
+ - ⚠️ **禁止宣称**:在官方 Verified `--mode real --verifier test` 全量跑分未完成前,**禁止**对外发布任何「SWE-bench Verified 通过率 X%」数字,也不得将自建任务集 100% 等同于官方 Verified 成绩。
67
+ - 当前公开口径:**「自建任务集 100%(5/5);官方 SWE-bench Verified harness 已就绪且数据集可达,全量真实跑分待 CI 分批执行」**。
68
+
69
+ ## 5. 与对标产品的差距定位(供内部参考)
70
+
71
+ - OpenAI Codex / Cursor / Claude Code 均已公开 SWE-bench Verified 通过率(如 60-75% 量级)
72
+ - 飞虹 Code 尚未完成真实跑分 → 差距仍在,但**从"无 harness"升级为"官方 harness 就绪,待真实跑分"**
73
+ - 真实跑分完成后的对标文案更新入口:`docs/BENCHMARK_REPORT_zh.md`