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
@@ -7,59 +7,59 @@ exports.SYSTEM_PROMPT = void 0;
7
7
  *
8
8
  * 系统提示词与工具协议(飞虹 Code 的"人格"与行为边界)
9
9
  */
10
- exports.SYSTEM_PROMPT = `你是「飞虹 Code」,一个运行在终端的 AI 编程智能体,参照 Muse Code 设计。
11
- 你的目标:把用户的自然语言需求,转化为对代码仓库的真实、可验证的变更。
12
-
13
- 工作原则:
14
- 1. 先勘察、后动手。先理解现状,再决定改什么。
15
- 2. 小步前进、可验证。每完成一组变更就跑测试或构建验证,失败就修复。
16
- 3. 安全优先。文件操作只允许在工作区范围内;shell 命令受白名单与审批约束,绝不执行危险命令。
17
- 4. 完全透明。所有动作都会被审计日志记录,最终给出清晰的总结。
18
- 5. 不要每次任务都做系统自检或环境检查。每天只有第一次任务可以快速确认一下环境,之后的任务直接开始执行,不要重复跑检查命令。只有在执行过程中遇到错误或问题时,才去分析原因并修复。不要为了"稳妥"而在任务开始时做无关的环境探测。
19
-
20
- 编码能力要求(非常重要,直接决定代码质量):
21
- - 写代码前先想清楚整体结构,不要上来就堆代码。先理解项目的架构风格、命名习惯、设计模式,写出来的代码要和现有风格保持一致,不要突兀。
22
- - 命名要清晰有意义,变量名、函数名、类名都要见名知意,不要用 a、b、temp 这种模糊的名字。
23
- - 函数要单一职责,一个函数只做一件事,不要写几百行的大函数。复杂逻辑拆成小函数,每个小函数都要好理解。
24
- - 类型要安全,尤其是 TypeScript 项目,不要随便用 any,能推断的类型让它推断,需要标注的地方准确标注。
25
- - 错误处理要完善,可能出错的地方都要考虑到,不要让程序静默失败。用户输入要校验,异步操作要 catch,边界情况要处理。
26
- - 不要重复造轮子,项目里已经有的工具函数、组件、类型就直接用,不要自己再写一份。
27
- - 写完代码自己先过一遍,看看有没有逻辑漏洞、有没有性能问题、有没有遗漏的边界情况。
28
- - 优先保证能编译通过、能运行,再考虑优化。不要为了所谓的"优雅"把简单问题复杂化。
29
-
30
- 修复bug能力要求(非常重要,直接决定解决问题的效率):
31
- - 修bug先复现,不要上来就改代码。先看错误信息、看堆栈、看日志,搞清楚问题到底是什么、在什么情况下出现。
32
- - 找根因,不要只修表面。比如报错说某个变量是 undefined,不要只加个 if 判断就完事,要搞清楚为什么这个变量会是 undefined,是初始化的问题还是逻辑的问题。
33
- - 仔细读错误信息,报错信息里通常已经告诉你问题在哪了,不要忽略。比如 "Cannot read property of undefined" 就说明前面某个对象是空的,顺着找就行。
34
- - 改完一定要验证,不要改完就说修好了。跑一下构建、跑一下测试、手动复现一下原来的场景,确认问题真的解决了。
35
- - 注意回归,修一个bug不要引入新的bug。改之前想想这个改动会影响哪些地方,改完之后相关的功能都要过一遍。
36
- - 如果问题比较复杂,先定位到具体的函数或行,再分析逻辑,不要整个文件瞎改。
37
- - 不确定的地方先加日志或者调试输出,确认问题在哪再动手,不要靠猜。
38
-
39
- 输出风格(非常重要,直接决定用户体验):
40
- - 全程用自然口语化的中文跟用户交流,就像两个人面对面说话一样。
41
- - 绝对不要使用 Markdown 格式:不要写井号标题(#、##、###),不要用星号列表(*、-),不要用代码块(\`\`\`),不要加粗(**),不要表格,不要用"第一、第二、第三"这种列举式表达,不要用"一、二、三"这种大标题。
42
- - 哪怕是做分析、做总结、做文档梳理,也要用聊天的口吻说出来,不要写成技术报告。比如不要写"### 2. LLM 抽象层解耦合理",而是说"我看了一下 LLM 这一层的设计,解耦做得挺合理的"。
43
- - 不要输出工具名称、参数、调用状态这些技术细节,用户不关心也看不懂。
44
- - 段落不要太长,两三句话一段,空行隔开,读起来轻松。
45
- - 不要用行号引用(ln 123、第45行这种),直接说内容就好。
46
- - 不要用箭头(→)、竖线(|)、等号(===)这些符号来排版,直接用自然语言说。
47
-
48
- 思考过程和最终回复要区分开(非常重要,不要重复):
49
- - 当你还需要操作文件或执行命令时(也就是要调用工具时),你的回复内容就是思考过程。这部分内容会实时显示给用户看,所以绝对不能空着,必须写点什么。
50
- - 思考过程说清楚你现在发现了什么问题、你是怎么判断的、接下来打算怎么做。让用户看到你的思路,而不是只看到结果。
51
- - 思考要具体有信息量,不要说"让我看看"、"我来检查一下"这种空话,直接说结论和意图,比如"这个函数的参数校验有问题,我先读一下完整的实现看看上下文"。
52
- - 哪怕你只是要读一个文件,也要说一句你为什么要读它、期望从中得到什么信息,不要只发工具调用而不说话。
53
- - 当任务全部完成、不需要再操作任何东西时(也就是不调用工具时),你的回复就是最终回复。直接说结果,简洁明了,不要把前面已经说过的思考过程再重复一遍。
54
- - 最终回复说清楚做了什么、有没有验证通过、有没有遗留问题就够了,同样用自然语言,不要列清单不要打符号。
55
-
56
- 工具使用协议:
57
- - 当你需要操作文件或执行命令时,在回复中返回 tool_calls,arguments 必须是合法 JSON 对象。
58
- - 严格参数匹配:每个工具只接受自己文档中定义的参数,不要把 A 工具的参数传给 B 工具。
59
- - 工具结果会自动回填给你,你不需要把结果念给用户听,直接基于结果继续思考和行动。
60
- - 一次只推进一小步,先操作再根据结果决定下一步。
61
- - 绝对禁止重复调用:同一个工具用相同参数已经成功过就不要再调,直接用之前的结果。
62
- - 不要重复失败:同一个工具用同样参数连续失败 2 次以上就换方式,不要硬试。
63
-
10
+ exports.SYSTEM_PROMPT = `你是「飞虹 Code」,一个运行在终端的 AI 编程智能体,参照 Muse Code 设计。
11
+ 你的目标:把用户的自然语言需求,转化为对代码仓库的真实、可验证的变更。
12
+
13
+ 工作原则:
14
+ 1. 先勘察、后动手。先理解现状,再决定改什么。
15
+ 2. 小步前进、可验证。每完成一组变更就跑测试或构建验证,失败就修复。
16
+ 3. 安全优先。文件操作只允许在工作区范围内;shell 命令受白名单与审批约束,绝不执行危险命令。
17
+ 4. 完全透明。所有动作都会被审计日志记录,最终给出清晰的总结。
18
+ 5. 不要每次任务都做系统自检或环境检查。每天只有第一次任务可以快速确认一下环境,之后的任务直接开始执行,不要重复跑检查命令。只有在执行过程中遇到错误或问题时,才去分析原因并修复。不要为了"稳妥"而在任务开始时做无关的环境探测。
19
+
20
+ 编码能力要求(非常重要,直接决定代码质量):
21
+ - 写代码前先想清楚整体结构,不要上来就堆代码。先理解项目的架构风格、命名习惯、设计模式,写出来的代码要和现有风格保持一致,不要突兀。
22
+ - 命名要清晰有意义,变量名、函数名、类名都要见名知意,不要用 a、b、temp 这种模糊的名字。
23
+ - 函数要单一职责,一个函数只做一件事,不要写几百行的大函数。复杂逻辑拆成小函数,每个小函数都要好理解。
24
+ - 类型要安全,尤其是 TypeScript 项目,不要随便用 any,能推断的类型让它推断,需要标注的地方准确标注。
25
+ - 错误处理要完善,可能出错的地方都要考虑到,不要让程序静默失败。用户输入要校验,异步操作要 catch,边界情况要处理。
26
+ - 不要重复造轮子,项目里已经有的工具函数、组件、类型就直接用,不要自己再写一份。
27
+ - 写完代码自己先过一遍,看看有没有逻辑漏洞、有没有性能问题、有没有遗漏的边界情况。
28
+ - 优先保证能编译通过、能运行,再考虑优化。不要为了所谓的"优雅"把简单问题复杂化。
29
+
30
+ 修复bug能力要求(非常重要,直接决定解决问题的效率):
31
+ - 修bug先复现,不要上来就改代码。先看错误信息、看堆栈、看日志,搞清楚问题到底是什么、在什么情况下出现。
32
+ - 找根因,不要只修表面。比如报错说某个变量是 undefined,不要只加个 if 判断就完事,要搞清楚为什么这个变量会是 undefined,是初始化的问题还是逻辑的问题。
33
+ - 仔细读错误信息,报错信息里通常已经告诉你问题在哪了,不要忽略。比如 "Cannot read property of undefined" 就说明前面某个对象是空的,顺着找就行。
34
+ - 改完一定要验证,不要改完就说修好了。跑一下构建、跑一下测试、手动复现一下原来的场景,确认问题真的解决了。
35
+ - 注意回归,修一个bug不要引入新的bug。改之前想想这个改动会影响哪些地方,改完之后相关的功能都要过一遍。
36
+ - 如果问题比较复杂,先定位到具体的函数或行,再分析逻辑,不要整个文件瞎改。
37
+ - 不确定的地方先加日志或者调试输出,确认问题在哪再动手,不要靠猜。
38
+
39
+ 输出风格(非常重要,直接决定用户体验):
40
+ - 全程用自然口语化的中文跟用户交流,就像两个人面对面说话一样。
41
+ - 绝对不要使用 Markdown 格式:不要写井号标题(#、##、###),不要用星号列表(*、-),不要用代码块(\`\`\`),不要加粗(**),不要表格,不要用"第一、第二、第三"这种列举式表达,不要用"一、二、三"这种大标题。
42
+ - 哪怕是做分析、做总结、做文档梳理,也要用聊天的口吻说出来,不要写成技术报告。比如不要写"### 2. LLM 抽象层解耦合理",而是说"我看了一下 LLM 这一层的设计,解耦做得挺合理的"。
43
+ - 不要输出工具名称、参数、调用状态这些技术细节,用户不关心也看不懂。
44
+ - 段落不要太长,两三句话一段,空行隔开,读起来轻松。
45
+ - 不要用行号引用(ln 123、第45行这种),直接说内容就好。
46
+ - 不要用箭头(→)、竖线(|)、等号(===)这些符号来排版,直接用自然语言说。
47
+
48
+ 思考过程和最终回复要区分开(非常重要,不要重复):
49
+ - 当你还需要操作文件或执行命令时(也就是要调用工具时),你的回复内容就是思考过程。这部分内容会实时显示给用户看,所以绝对不能空着,必须写点什么。
50
+ - 思考过程说清楚你现在发现了什么问题、你是怎么判断的、接下来打算怎么做。让用户看到你的思路,而不是只看到结果。
51
+ - 思考要具体有信息量,不要说"让我看看"、"我来检查一下"这种空话,直接说结论和意图,比如"这个函数的参数校验有问题,我先读一下完整的实现看看上下文"。
52
+ - 哪怕你只是要读一个文件,也要说一句你为什么要读它、期望从中得到什么信息,不要只发工具调用而不说话。
53
+ - 当任务全部完成、不需要再操作任何东西时(也就是不调用工具时),你的回复就是最终回复。直接说结果,简洁明了,不要把前面已经说过的思考过程再重复一遍。
54
+ - 最终回复说清楚做了什么、有没有验证通过、有没有遗留问题就够了,同样用自然语言,不要列清单不要打符号。
55
+
56
+ 工具使用协议:
57
+ - 当你需要操作文件或执行命令时,在回复中返回 tool_calls,arguments 必须是合法 JSON 对象。
58
+ - 严格参数匹配:每个工具只接受自己文档中定义的参数,不要把 A 工具的参数传给 B 工具。
59
+ - 工具结果会自动回填给你,你不需要把结果念给用户听,直接基于结果继续思考和行动。
60
+ - 一次只推进一小步,先操作再根据结果决定下一步。
61
+ - 绝对禁止重复调用:同一个工具用相同参数已经成功过就不要再调,直接用之前的结果。
62
+ - 不要重复失败:同一个工具用同样参数连续失败 2 次以上就换方式,不要硬试。
63
+
64
64
  输出约束:不要编造文件内容,不确定就先读再写。优先保证编译和测试通过。`;
65
65
  //# sourceMappingURL=prompts.js.map
@@ -201,30 +201,30 @@ class SelfCorrector {
201
201
  const missingSummary = validation.missingSymbols.length > 0
202
202
  ? `以下符号在代码库中未找到定义(可能是拼写错误或缺少 import):\n${validation.missingSymbols.map((s) => ` - ${s}`).join('\n')}`
203
203
  : '所有引用的符号均存在。';
204
- return `你是一个 TypeScript 代码修复专家。请修复以下文件中的类型错误和未定义符号。
205
-
206
- **文件**: ${filePath}
207
- **类型错误数**: ${validation.typeErrors}
208
- **缺失符号数**: ${validation.missingSymbols.length}
209
-
210
- **类型错误详情**:
211
- ${typeSummary}
212
-
213
- **符号校验**:
214
- ${missingSummary}
215
-
216
- **原始代码**:
217
- \`\`\`typescript
218
- ${code}
219
- \`\`\`
220
-
221
- **修复要求**:
222
- 1. 只修复上述类型错误和未定义符号,不要改变代码的核心逻辑
223
- 2. 对于缺失符号,检查是否是拼写错误,或者需要添加正确的 import 语句
224
- 3. 对于类型错误,修复类型不匹配、缺少属性、参数错误等问题
225
- 4. 保持代码风格和缩进一致
226
- 5. 返回完整的修复后代码,不要只返回修改部分
227
-
204
+ return `你是一个 TypeScript 代码修复专家。请修复以下文件中的类型错误和未定义符号。
205
+
206
+ **文件**: ${filePath}
207
+ **类型错误数**: ${validation.typeErrors}
208
+ **缺失符号数**: ${validation.missingSymbols.length}
209
+
210
+ **类型错误详情**:
211
+ ${typeSummary}
212
+
213
+ **符号校验**:
214
+ ${missingSummary}
215
+
216
+ **原始代码**:
217
+ \`\`\`typescript
218
+ ${code}
219
+ \`\`\`
220
+
221
+ **修复要求**:
222
+ 1. 只修复上述类型错误和未定义符号,不要改变代码的核心逻辑
223
+ 2. 对于缺失符号,检查是否是拼写错误,或者需要添加正确的 import 语句
224
+ 3. 对于类型错误,修复类型不匹配、缺少属性、参数错误等问题
225
+ 4. 保持代码风格和缩进一致
226
+ 5. 返回完整的修复后代码,不要只返回修改部分
227
+
228
228
  请直接输出修复后的完整代码(用 \`\`\`typescript 代码块包裹)。`;
229
229
  }
230
230
  /** 从模型响应中提取代码块 */
@@ -86,43 +86,43 @@ function generateReflectPrompt(errorAnalysis, _goal, lastToolCall, healCount = 0
86
86
  let strategyHint = '';
87
87
  if (healCount >= 7) {
88
88
  // 第8次及以上:强烈警告,要求彻底换方向
89
- strategyHint = `
90
- 🚨 **严重警告**:这已经是第 ${healCount + 1} 次尝试修复了,但问题仍然存在。说明当前思路/方法可能根本走不通!
91
-
92
- **必须彻底改变策略**:
93
- 1. 不要再尝试修复当前的代码或命令——它已经失败了 ${healCount + 1} 次
94
- 2. 停下来重新思考:目标是什么?有没有完全不同的实现方式?
95
- 3. 换一个工具、换一个库、换一种架构——甚至简化目标,砍掉复杂的部分
96
- 4. 如果某个功能一直实现不了,先跳过它,把能跑的基础版本做出来
97
- 5. 先用 list_dir 全面勘察当前目录,确认你在正确的位置、有哪些文件可用
89
+ strategyHint = `
90
+ 🚨 **严重警告**:这已经是第 ${healCount + 1} 次尝试修复了,但问题仍然存在。说明当前思路/方法可能根本走不通!
91
+
92
+ **必须彻底改变策略**:
93
+ 1. 不要再尝试修复当前的代码或命令——它已经失败了 ${healCount + 1} 次
94
+ 2. 停下来重新思考:目标是什么?有没有完全不同的实现方式?
95
+ 3. 换一个工具、换一个库、换一种架构——甚至简化目标,砍掉复杂的部分
96
+ 4. 如果某个功能一直实现不了,先跳过它,把能跑的基础版本做出来
97
+ 5. 先用 list_dir 全面勘察当前目录,确认你在正确的位置、有哪些文件可用
98
98
  `;
99
99
  }
100
100
  else if (healCount >= 4) {
101
101
  // 第5-7次:强调换方法
102
- strategyHint = `
103
- ⚠️ **注意**:这已经是第 ${healCount + 1} 次尝试修复了。如果同样的方法反复失败,请考虑:
104
- 1. 换一种完全不同的实现方式,不要在同一个坑里反复试
105
- 2. 换一个工具来完成目标(比如用 write_file 替代 run_shell,或用 list_dir 先勘察)
106
- 3. 简化目标——先做出能跑的最小版本,再逐步加功能
107
- 4. 检查是否在错误的目录下操作,先用 list_dir 确认当前位置
102
+ strategyHint = `
103
+ ⚠️ **注意**:这已经是第 ${healCount + 1} 次尝试修复了。如果同样的方法反复失败,请考虑:
104
+ 1. 换一种完全不同的实现方式,不要在同一个坑里反复试
105
+ 2. 换一个工具来完成目标(比如用 write_file 替代 run_shell,或用 list_dir 先勘察)
106
+ 3. 简化目标——先做出能跑的最小版本,再逐步加功能
107
+ 4. 检查是否在错误的目录下操作,先用 list_dir 确认当前位置
108
108
  `;
109
109
  }
110
110
  else {
111
111
  // 前4次:正常修复提示
112
- strategyHint = `
113
- 请严格遵守以下规则:
114
- 1. 不要再用相同参数重复调用同一个失败的工具——这会继续失败
115
- 2. 检查工具名称是否正确、参数是否属于该工具(每个工具只接受自己文档中定义的参数)
116
- 3. 如有必要,先用 list_dir 勘察目录结构,或用 read_file 确认文件存在
117
- 4. 如果某个工具连续失败,换一种方式或换一个工具实现目标
118
- 5. 修正后再调用工具,不要盲目重试
112
+ strategyHint = `
113
+ 请严格遵守以下规则:
114
+ 1. 不要再用相同参数重复调用同一个失败的工具——这会继续失败
115
+ 2. 检查工具名称是否正确、参数是否属于该工具(每个工具只接受自己文档中定义的参数)
116
+ 3. 如有必要,先用 list_dir 勘察目录结构,或用 read_file 确认文件存在
117
+ 4. 如果某个工具连续失败,换一种方式或换一个工具实现目标
118
+ 5. 修正后再调用工具,不要盲目重试
119
119
  `;
120
120
  }
121
- return `⚠️ 上一轮工具执行失败,请仔细反思并修正策略:
122
-
123
- **错误类型**: ${errorAnalysis.category}
124
- **错误详情**: ${errorAnalysis.message}${toolInfo}
125
- **修复建议**: ${errorAnalysis.fixHint}
121
+ return `⚠️ 上一轮工具执行失败,请仔细反思并修正策略:
122
+
123
+ **错误类型**: ${errorAnalysis.category}
124
+ **错误详情**: ${errorAnalysis.message}${toolInfo}
125
+ **修复建议**: ${errorAnalysis.fixHint}
126
126
  ${strategyHint}`;
127
127
  }
128
128
  /** 将反思消息注入对话上下文。healCount 为累计修复次数,用于动态调整策略。 */
@@ -71,6 +71,7 @@ const MANAGE_BUILDERS = {
71
71
  policy: () => ({ kind: 'policy' }),
72
72
  tenants: () => ({ kind: 'tenants' }),
73
73
  doctor: () => ({ kind: 'doctor' }),
74
+ tui: () => ({ kind: 'tui' }),
74
75
  plugin: ({ rest }) => ({
75
76
  kind: 'plugin',
76
77
  action: rest[0] === 'install' ? 'install' : 'list',
@@ -82,6 +83,12 @@ const MANAGE_BUILDERS = {
82
83
  query: rest[1],
83
84
  market: flags.repo, // 复用 --repo 承载市场源地址
84
85
  }),
86
+ 'skill-new': ({ flags, rest }) => ({
87
+ kind: 'skill-new',
88
+ name: rest[0] ?? '',
89
+ template: flags.template,
90
+ global: !!flags.global,
91
+ }),
85
92
  review: ({ flags, rest }) => ({ kind: 'review', path: rest[0] || '.', json: !!flags.json }),
86
93
  team: ({ rest }) => ({ kind: 'team', goal: rest.join(' ') || '协作开发' }),
87
94
  serve: ({ flags }) => ({ kind: 'serve', port: flags.port }),
@@ -97,6 +104,8 @@ const MANAGE_BUILDERS = {
97
104
  limit: flags.limit ?? 5,
98
105
  offset: flags.offset ?? 0,
99
106
  mode: flags.mode === 'real' ? 'real' : 'mock',
107
+ verifier: flags.verifier === 'test' ? 'test' : 'file',
108
+ testCommand: flags.testCommand,
100
109
  report: flags.report,
101
110
  json: !!flags.json,
102
111
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -14,6 +14,7 @@ const errors_1 = require("../shared/errors");
14
14
  const config_1 = require("../shared/config");
15
15
  const commands_1 = require("./commands");
16
16
  const repl_1 = require("./repl");
17
+ const tui_run_1 = require("./tui-run");
17
18
  const run_1 = require("./run");
18
19
  const version_1 = require("./version");
19
20
  const i18n_1 = require("../shared/i18n");
@@ -120,12 +121,18 @@ async function dispatchManage(m) {
120
121
  case 'doctor':
121
122
  await (0, run_1.runDoctor)();
122
123
  break;
124
+ case 'tui':
125
+ (0, tui_run_1.runTui)();
126
+ break;
123
127
  case 'plugin':
124
128
  await (0, run_1.runPluginCmd)(m.action, m.source);
125
129
  break;
126
130
  case 'skill-market':
127
131
  await (0, run_1.runSkillMarketCmd)(m.action, m.query, m.market);
128
132
  break;
133
+ case 'skill-new':
134
+ await (0, run_1.runSkillNewCmd)(m.name, { template: m.template, global: m.global });
135
+ break;
129
136
  case 'review':
130
137
  (0, run_1.runReviewCmd)(m.path, m.json);
131
138
  break;
@@ -156,6 +163,8 @@ async function dispatchManage(m) {
156
163
  limit: m.limit,
157
164
  offset: m.offset,
158
165
  mode: m.mode,
166
+ verifier: m.verifier,
167
+ testCommand: m.testCommand,
159
168
  report: m.report,
160
169
  json: m.json,
161
170
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiPaneTui = void 0;
4
+ const ESC = '\x1b[';
5
+ const ALT_ON = '\x1b[?1049h';
6
+ const ALT_OFF = '\x1b[?1049l';
7
+ const MOUSE_ON = '\x1b[?1000h\x1b[?1006h';
8
+ const MOUSE_OFF = '\x1b[?1000l\x1b[?1006l';
9
+ const HIDE_CURSOR = '\x1b[?25l';
10
+ const SHOW_CURSOR = '\x1b[?25h';
11
+ const CLEAR = '\x1b[2J';
12
+ const HOME = '\x1b[H';
13
+ const RESET = '\x1b[0m';
14
+ const BOLD = '\x1b[1m';
15
+ const DIM = '\x1b[2m';
16
+ const GREEN = '\x1b[32m';
17
+ const RED = '\x1b[31m';
18
+ function moveTo(row, col = 1) {
19
+ return `${ESC}${row};${col}H`;
20
+ }
21
+ /** 多窗格 TUI:文件树 + 消息/diff 主窗格 */
22
+ class MultiPaneTui {
23
+ opts;
24
+ status = {};
25
+ fileTree = [];
26
+ treeCursor = 0;
27
+ messages = [];
28
+ diff = null;
29
+ rightMode = 'messages';
30
+ activePane = 'right';
31
+ enabled = false;
32
+ constructor(opts = {}) {
33
+ this.opts = {
34
+ width: opts.width ?? 100,
35
+ height: opts.height ?? 30,
36
+ fileTreeWidth: opts.fileTreeWidth ?? 24,
37
+ color: opts.color ?? false,
38
+ };
39
+ }
40
+ get isEnabled() {
41
+ return this.enabled;
42
+ }
43
+ get activePaneName() {
44
+ return this.activePane;
45
+ }
46
+ setStatus(s) {
47
+ this.status = { ...this.status, ...s };
48
+ if (this.enabled)
49
+ this.redraw();
50
+ }
51
+ /** 设置文件树(保留选中位置) */
52
+ setFileTree(files) {
53
+ this.fileTree = files;
54
+ if (this.treeCursor >= files.length)
55
+ this.treeCursor = Math.max(0, files.length - 1);
56
+ if (this.enabled)
57
+ this.redraw();
58
+ }
59
+ appendMessage(text) {
60
+ for (const line of text.split('\n'))
61
+ this.messages.push(line);
62
+ if (this.messages.length > 500)
63
+ this.messages.splice(0, this.messages.length - 500);
64
+ if (this.enabled)
65
+ this.redraw();
66
+ }
67
+ setDiff(diff) {
68
+ this.diff = diff;
69
+ if (diff)
70
+ this.rightMode = 'diff';
71
+ if (this.enabled)
72
+ this.redraw();
73
+ }
74
+ setRightMode(mode) {
75
+ this.rightMode = mode;
76
+ if (this.enabled)
77
+ this.redraw();
78
+ }
79
+ /** Tab:切换活跃窗格 */
80
+ nextPane() {
81
+ this.activePane = this.activePane === 'tree' ? 'right' : 'tree';
82
+ if (this.enabled)
83
+ this.redraw();
84
+ }
85
+ /** 文件树光标移动(delta=±1) */
86
+ moveTreeCursor(delta) {
87
+ this.treeCursor = Math.max(0, Math.min(this.fileTree.length - 1, this.treeCursor + delta));
88
+ if (this.enabled)
89
+ this.redraw();
90
+ }
91
+ /** 启动:TTY 全屏模式(非 TTY 下仅记录 enabled,由调用方决定是否打印布局) */
92
+ start(stream = process.stdout) {
93
+ if (this.enabled)
94
+ return;
95
+ this.enabled = true;
96
+ if (stream.isTTY) {
97
+ stream.write(ALT_ON + MOUSE_ON + HIDE_CURSOR + CLEAR + HOME);
98
+ this.redraw(stream);
99
+ }
100
+ }
101
+ stop(stream = process.stdout) {
102
+ if (!this.enabled)
103
+ return;
104
+ this.enabled = false;
105
+ if (stream.isTTY) {
106
+ stream.write(ALT_OFF + MOUSE_OFF + SHOW_CURSOR + CLEAR + HOME + RESET);
107
+ }
108
+ }
109
+ /** 生成纯文本多窗格布局(逐行数组,冒烟测试直接断言) */
110
+ getLayout() {
111
+ const { width, height, fileTreeWidth } = this.opts;
112
+ const rightWidth = Math.max(20, width - fileTreeWidth - 1);
113
+ const out = [];
114
+ // 1) 顶栏
115
+ out.push(this.renderHeader().slice(0, width));
116
+ // 2) 分隔线
117
+ out.push('─'.repeat(Math.max(width, 0)));
118
+ // 3) 内容区(height - 3 行:顶栏 + 分隔 + 底部输入)
119
+ const bodyRows = Math.max(1, height - 3);
120
+ const treeRows = this.renderTree(bodyRows, fileTreeWidth);
121
+ const rightRows = this.renderRight(bodyRows, rightWidth);
122
+ for (let i = 0; i < bodyRows; i++) {
123
+ const left = (treeRows[i] ?? '').padEnd(fileTreeWidth, ' ').slice(0, fileTreeWidth);
124
+ const right = (rightRows[i] ?? '').padEnd(rightWidth, ' ').slice(0, rightWidth);
125
+ out.push(left + '│' + right);
126
+ }
127
+ // 4) 底部输入行
128
+ out.push(this.renderPrompt().slice(0, width));
129
+ return out;
130
+ }
131
+ /** TTY 全屏重绘 */
132
+ redraw(stream = process.stdout) {
133
+ const lines = this.getLayout();
134
+ let out = CLEAR + HOME;
135
+ for (const line of lines)
136
+ out += line + '\n';
137
+ out += `${moveTo(this.opts.height)}${SHOW_CURSOR}`;
138
+ stream.write(out);
139
+ }
140
+ renderHeader() {
141
+ const s = this.status;
142
+ const parts = [
143
+ s.mode ? `[${s.mode}]` : '[fhcode]',
144
+ s.runId ? `run=${s.runId.slice(0, 8)}` : '',
145
+ s.iteration !== undefined ? `iter=${s.iteration}` : '',
146
+ s.cost ? `cost=${s.cost}` : '',
147
+ s.state ? `· ${s.state}` : '',
148
+ s.fileCount !== undefined ? `files=${s.fileCount}` : '',
149
+ ].filter(Boolean);
150
+ return parts.join(' ') || '[fhcode]';
151
+ }
152
+ renderTree(rows, width) {
153
+ const label = this.activePane === 'tree' ? '▍文件树' : ' 文件树';
154
+ const out = [label.slice(0, width)];
155
+ const visible = rows - 1;
156
+ for (let i = 0; i < visible; i++) {
157
+ const idx = i;
158
+ const f = this.fileTree[idx];
159
+ if (f === undefined) {
160
+ out.push('');
161
+ continue;
162
+ }
163
+ const cursor = idx === this.treeCursor ? '▶ ' : ' ';
164
+ out.push((cursor + f).slice(0, width));
165
+ }
166
+ return out;
167
+ }
168
+ renderRight(rows, width) {
169
+ const label = this.rightMode === 'diff'
170
+ ? (this.activePane === 'right' ? '▍Diff' : ' Diff')
171
+ : (this.activePane === 'right' ? '▍消息' : ' 消息');
172
+ const out = [label.slice(0, width)];
173
+ const body = this.rightMode === 'diff' ? this.renderDiffLines() : this.messages.slice(-(rows - 1));
174
+ for (let i = 0; i < rows - 1; i++) {
175
+ const line = body[i];
176
+ out.push(line === undefined ? '' : line.slice(0, width));
177
+ }
178
+ return out;
179
+ }
180
+ renderDiffLines() {
181
+ if (!this.diff)
182
+ return ['(无 diff)'];
183
+ const lines = [`文件: ${this.diff.file}`];
184
+ for (const h of this.diff.hunks) {
185
+ lines.push(`@@ ${h.header}`);
186
+ for (const l of h.lines) {
187
+ const mark = l.type === 'add' ? '+ ' : l.type === 'del' ? '- ' : ' ';
188
+ lines.push(mark + l.content);
189
+ }
190
+ }
191
+ return lines;
192
+ }
193
+ renderPrompt() {
194
+ const hint = this.rightMode === 'messages'
195
+ ? '1=消息 2=Diff Tab=切换窗格 ↑/↓=文件树 q=退出'
196
+ : '1=消息 2=Diff Tab=切换窗格 ↑/↓=文件树 q=退出';
197
+ return '> ' + hint;
198
+ }
199
+ /** 导出:对 diff 行做 ANSI 着色(TTY 用) */
200
+ colorizeLines(lines) {
201
+ if (!this.opts.color)
202
+ return lines;
203
+ return lines.map((l) => {
204
+ if (l.startsWith('+ '))
205
+ return GREEN + l + RESET;
206
+ if (l.startsWith('- '))
207
+ return RED + l + RESET;
208
+ if (l.startsWith('@@'))
209
+ return BOLD + l + RESET;
210
+ if (l.startsWith('▍'))
211
+ return BOLD + l + RESET;
212
+ return DIM + l + RESET;
213
+ });
214
+ }
215
+ }
216
+ exports.MultiPaneTui = MultiPaneTui;
217
+ //# sourceMappingURL=multi-pane-tui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-pane-tui.js","sourceRoot":"","sources":["../../src/cli/multi-pane-tui.ts"],"names":[],"mappings":"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"}