feihong-code 7.5.0 → 8.0.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.
- package/.github/ISSUE_TEMPLATE/bug_report.md +36 -22
- package/.github/ISSUE_TEMPLATE/config.yml +10 -13
- package/.github/ISSUE_TEMPLATE/feature_request.md +38 -13
- package/.github/PULL_REQUEST_TEMPLATE.md +65 -30
- package/.github/workflows/ci.yml +193 -180
- package/.github/workflows/release.yml +203 -200
- package/.github/workflows/swebench-real.yml +84 -0
- package/CHANGELOG.md +117 -94
- package/CONTRIBUTING.md +61 -5
- package/README.md +636 -609
- package/README.self-evolve.md +279 -274
- package/dist/agent/change-manager.js +1 -1
- package/dist/agent/code-rag.js +1 -1
- package/dist/agent/code-review.js +1 -1
- package/dist/agent/code-writer.js +1 -1
- package/dist/agent/completion-postprocess.js +1 -1
- package/dist/agent/context-compactor.js +11 -0
- package/dist/agent/context-compactor.js.map +1 -1
- package/dist/agent/custom-agent.js +52 -52
- package/dist/agent/design-to-code.js +40 -40
- package/dist/agent/experience.js +1 -1
- package/dist/agent/layered-memory.js +1 -1
- package/dist/agent/lint.js +1 -1
- package/dist/agent/multi-agent.js +44 -44
- package/dist/agent/orchestrator.js +93 -18
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/parallel-orchestrator.js +1 -1
- package/dist/agent/planner.js +8 -3
- package/dist/agent/planner.js.map +1 -1
- package/dist/agent/prompts.js +2 -2
- package/dist/agent/quality-gate.js +1 -1
- package/dist/agent/repo-context.js +1 -1
- package/dist/agent/repo-reader.js +1 -1
- package/dist/agent/repo-underwriter.js +1 -1
- package/dist/agent/self-correction.js +1 -1
- package/dist/agent/self-heal.js +5 -0
- package/dist/agent/self-heal.js.map +1 -1
- package/dist/agent/self-improver.js +1 -1
- package/dist/agent/subagent-summary.js +1 -1
- package/dist/agent/subagent.js +1 -1
- package/dist/agent/swe-agent.js +1 -1
- package/dist/agent/swe-verifier.js +1 -1
- package/dist/agent/symbol-index.js +1 -1
- package/dist/agent/team.js +1 -1
- package/dist/agent/type-checker.js +1 -1
- package/dist/cli/commands.js +7 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/index.js +57 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl.js +1 -1
- package/dist/cli/run.js +40 -3
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/self-evolve-cli.js +168 -0
- package/dist/cli/tui-run.js +1 -1
- package/dist/cli/tui.js +1 -1
- package/dist/cli/version.js +3 -3
- package/dist/cli/version.js.map +1 -1
- package/dist/enterprise/audit.js +1 -1
- package/dist/enterprise/index.js +1 -1
- package/dist/enterprise/policy.js +1 -1
- package/dist/enterprise/quota.js +1 -1
- package/dist/enterprise/tenant.js +1 -1
- package/dist/harness/executor.js +1 -1
- package/dist/harness/index.js +1 -1
- package/dist/harness/loader.js +1 -1
- package/dist/harness/types.js +1 -1
- package/dist/harness/verifier.js +52 -12
- package/dist/harness/verifier.js.map +1 -1
- package/dist/hello.js +14 -0
- package/dist/hello.js.map +1 -0
- package/dist/integrations/feishu-bridge.js +348 -0
- package/dist/integrations/feishu-bridge.js.map +1 -0
- package/dist/integrations/github-mcp.js +137 -0
- package/dist/integrations/github-mcp.js.map +1 -0
- package/dist/integrations/wechat-bridge.js +499 -0
- package/dist/integrations/wechat-bridge.js.map +1 -0
- package/dist/integrations/yuanbao-bridge.js +326 -0
- package/dist/integrations/yuanbao-bridge.js.map +1 -0
- package/dist/lsp/lsp-client.js +1 -1
- package/dist/memory/honcho-store.js +231 -0
- package/dist/memory/honcho-store.js.map +1 -0
- package/dist/models/model-router.js +1 -1
- package/dist/models/model.dto.js +1 -1
- package/dist/models/providers/ollama.provider.js +1 -1
- package/dist/models/providers/openai-compatible.provider.js +1 -1
- package/dist/plugins/plugin-loader.js +1 -1
- package/dist/runtime/event-log.js +1 -1
- package/dist/runtime/git.js +1 -1
- package/dist/runtime/hooks.js +71 -4
- package/dist/runtime/hooks.js.map +1 -1
- package/dist/runtime/session-persist.js +1 -1
- package/dist/runtime/worktree.js +1 -1
- package/dist/self-evolve/hook.ts +80 -0
- package/dist/self-evolve/manager.d.ts +8 -0
- package/dist/self-evolve/manager.js +517 -401
- package/dist/self-evolve/self-heal-scheduler.js +160 -0
- package/dist/self-evolve/self-heal-scheduler.js.map +1 -0
- package/dist/shared/concurrency.js +1 -1
- package/dist/shared/config.js +4 -2
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/errors.js +1 -1
- package/dist/shared/i18n.js +1 -1
- package/dist/shared/i18n.js.map +1 -1
- package/dist/shared/log-rotator.js +238 -0
- package/dist/shared/log-rotator.js.map +1 -0
- package/dist/shared/secure-store.js +12 -5
- package/dist/shared/secure-store.js.map +1 -1
- package/dist/shared/sqlite-store.js +512 -0
- package/dist/shared/sqlite-store.js.map +1 -0
- package/dist/shared/types.js +1 -1
- package/dist/skills/goal.js +1 -1
- package/dist/skills/grill.js +1 -1
- package/dist/skills/plan.js +1 -1
- package/dist/skills/pua-hooks.js +273 -0
- package/dist/skills/pua-hooks.js.map +1 -0
- package/dist/skills/self-heal.js +9 -3
- package/dist/skills/self-heal.js.map +1 -1
- package/dist/skills/skill-loader.js +1 -1
- package/dist/skills/skill-market.js +84 -8
- package/dist/skills/skill-market.js.map +1 -1
- package/dist/tools/analysis/code-analyzer.js +1 -1
- package/dist/tools/docker-sandbox.js +212 -0
- package/dist/tools/docker-sandbox.js.map +1 -0
- package/dist/tools/file/edit.tool.js +18 -3
- package/dist/tools/file/edit.tool.js.map +1 -1
- package/dist/tools/file/list.tool.js +1 -1
- package/dist/tools/file/read.tool.js +1 -1
- package/dist/tools/file/write.tool.js +1 -1
- package/dist/tools/generator/code-generator.js +1 -1
- package/dist/tools/generator/test-generator.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/mcp/index.js +1 -1
- package/dist/tools/mcp/mcp-client.js +1 -1
- package/dist/tools/safe-path.js +1 -1
- package/dist/tools/search/grep.tool.js +1 -1
- package/dist/tools/shell/exec.js +1 -1
- package/dist/tools/shell/run-shell.tool.js +1 -1
- package/dist/tools/skills/load-skill.tool.js +1 -1
- package/dist/tools/tool.registry.js +10 -1
- package/dist/tools/tool.registry.js.map +1 -1
- package/dist/tools/verify/build-check.tool.js +1 -1
- package/dist/tools/verify/test-run.tool.js +1 -1
- package/dist/tools/web/web.tool.js +1 -1
- package/dist/voice/voice-programming.js +32 -6
- package/dist/voice/voice-programming.js.map +1 -1
- package/dist/web/auth.js +34 -2
- package/dist/web/auth.js.map +1 -1
- package/dist/web/channels.js +1 -1
- package/dist/web/public/css/style.css +1751 -1724
- package/dist/web/public/favicon.svg +11 -0
- package/dist/web/public/index.html +1246 -1242
- package/dist/web/public/js/api.js +558 -555
- package/dist/web/public/js/app.js +2233 -2210
- package/dist/web/public/js/mock-api.js +259 -234
- package/dist/web/public/js/monaco-editor.js +363 -363
- package/dist/web/public/js/ui.js +2217 -2251
- package/dist/web/public/js/utils.js +214 -214
- package/dist/web/public/manifest.json +59 -59
- package/dist/web/public/robots.txt +14 -0
- package/dist/web/public/service-worker.js +149 -173
- package/dist/web/public/vendor/monaco/vs/abap-D-t0cyap.js +1 -0
- package/dist/web/public/vendor/monaco/vs/apex-CcIm7xu6.js +1 -0
- package/dist/web/public/vendor/monaco/vs/assets/css.worker-URu8fCFR.js +97 -0
- package/dist/web/public/vendor/monaco/vs/assets/editor.worker-lj3bdIIn.js +30 -0
- package/dist/web/public/vendor/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +30 -0
- package/dist/web/public/vendor/monaco/vs/assets/html.worker-D1SL3iM8.js +474 -0
- package/dist/web/public/vendor/monaco/vs/assets/json.worker-CoJx_OPf.js +62 -0
- package/dist/web/public/vendor/monaco/vs/assets/ts.worker-BWKtMYOk.js +67722 -0
- package/dist/web/public/vendor/monaco/vs/azcli-BA0tQDCg.js +1 -0
- package/dist/web/public/vendor/monaco/vs/basic-languages/monaco.contribution.js +1 -0
- package/dist/web/public/vendor/monaco/vs/bat-C397hTD6.js +1 -0
- package/dist/web/public/vendor/monaco/vs/bicep-DF5aW17k.js +2 -0
- package/dist/web/public/vendor/monaco/vs/cameligo-plsz8qhj.js +1 -0
- package/dist/web/public/vendor/monaco/vs/clojure-Y2auQMzK.js +1 -0
- package/dist/web/public/vendor/monaco/vs/coffee-Bu45yuWE.js +1 -0
- package/dist/web/public/vendor/monaco/vs/cpp-CkKPQIni.js +1 -0
- package/dist/web/public/vendor/monaco/vs/csharp-CX28MZyh.js +1 -0
- package/dist/web/public/vendor/monaco/vs/csp-D8uWnyxW.js +1 -0
- package/dist/web/public/vendor/monaco/vs/css-CaeNmE3S.js +3 -0
- package/dist/web/public/vendor/monaco/vs/css.worker-CyhWkhHo.js +1 -0
- package/dist/web/public/vendor/monaco/vs/cssMode-CV6Ay48H.js +1 -0
- package/dist/web/public/vendor/monaco/vs/cypher-DVThT8BS.js +1 -0
- package/dist/web/public/vendor/monaco/vs/dart-CmGfCvrO.js +1 -0
- package/dist/web/public/vendor/monaco/vs/dockerfile-CZqqYdch.js +1 -0
- package/dist/web/public/vendor/monaco/vs/ecl-30fUercY.js +1 -0
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.css +1 -0
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.js +1 -0
- package/dist/web/public/vendor/monaco/vs/editor/editor.worker.js +1 -0
- package/dist/web/public/vendor/monaco/vs/editor-KLE6jdfb.js +831 -0
- package/dist/web/public/vendor/monaco/vs/editor.js +1 -0
- package/dist/web/public/vendor/monaco/vs/editorWorkerHost-fVE1cjcC.js +35 -0
- package/dist/web/public/vendor/monaco/vs/elixir-xjPaIfzF.js +1 -0
- package/dist/web/public/vendor/monaco/vs/flow9-DqtmStfK.js +1 -0
- package/dist/web/public/vendor/monaco/vs/freemarker2-FWreY7v7.js +3 -0
- package/dist/web/public/vendor/monaco/vs/fsharp-BOMdg4U1.js +1 -0
- package/dist/web/public/vendor/monaco/vs/go-D_hbi-Jt.js +1 -0
- package/dist/web/public/vendor/monaco/vs/graphql-CKUU4kLG.js +1 -0
- package/dist/web/public/vendor/monaco/vs/handlebars-CZi4pHCH.js +1 -0
- package/dist/web/public/vendor/monaco/vs/hcl-DTaboeZW.js +1 -0
- package/dist/web/public/vendor/monaco/vs/html-j_7ZTNRU.js +1 -0
- package/dist/web/public/vendor/monaco/vs/html.worker-CA3iAimZ.js +1 -0
- package/dist/web/public/vendor/monaco/vs/htmlMode-27by_KM4.js +1 -0
- package/dist/web/public/vendor/monaco/vs/index-049xrXrp.js +1 -0
- package/dist/web/public/vendor/monaco/vs/index-CBVt3dzv.js +5 -0
- package/dist/web/public/vendor/monaco/vs/index.js +1 -0
- package/dist/web/public/vendor/monaco/vs/ini-CsNwO04R.js +1 -0
- package/dist/web/public/vendor/monaco/vs/initialize-DL0l1TGY.js +1 -0
- package/dist/web/public/vendor/monaco/vs/java-CI4ZMsH9.js +1 -0
- package/dist/web/public/vendor/monaco/vs/javascript-DTJl4Jn1.js +1 -0
- package/dist/web/public/vendor/monaco/vs/json.worker-BizpAl9O.js +1 -0
- package/dist/web/public/vendor/monaco/vs/jsonMode-DLUiMUrI.js +1 -0
- package/dist/web/public/vendor/monaco/vs/julia-BwzEvaQw.js +1 -0
- package/dist/web/public/vendor/monaco/vs/kotlin-IUYPiTV8.js +1 -0
- package/dist/web/public/vendor/monaco/vs/language/css/css.worker.js +66 -0
- package/dist/web/public/vendor/monaco/vs/language/css/monaco.contribution.js +1 -0
- package/dist/web/public/vendor/monaco/vs/language/html/html.worker.js +443 -0
- package/dist/web/public/vendor/monaco/vs/language/html/monaco.contribution.js +1 -0
- package/dist/web/public/vendor/monaco/vs/language/json/json.worker.js +17 -0
- package/dist/web/public/vendor/monaco/vs/language/json/monaco.contribution.js +1 -0
- package/dist/web/public/vendor/monaco/vs/language/typescript/monaco.contribution.js +1 -0
- package/dist/web/public/vendor/monaco/vs/language/typescript/ts.worker.js +67693 -0
- package/dist/web/public/vendor/monaco/vs/less-C0eDYdqa.js +2 -0
- package/dist/web/public/vendor/monaco/vs/lexon-iON-Kj97.js +1 -0
- package/dist/web/public/vendor/monaco/vs/liquid-CLJYelW6.js +1 -0
- package/dist/web/public/vendor/monaco/vs/loader.js +1368 -0
- package/dist/web/public/vendor/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +2 -0
- package/dist/web/public/vendor/monaco/vs/lua-DtygF91M.js +1 -0
- package/dist/web/public/vendor/monaco/vs/m3-CsR4AuFi.js +1 -0
- package/dist/web/public/vendor/monaco/vs/main-BEx-Fmlo.js +15 -0
- package/dist/web/public/vendor/monaco/vs/main-DsK8pnKg.js +3 -0
- package/dist/web/public/vendor/monaco/vs/markdown-C_rD0bIw.js +1 -0
- package/dist/web/public/vendor/monaco/vs/mdx-CpzZIPHF.js +1 -0
- package/dist/web/public/vendor/monaco/vs/mips-CiYP61RB.js +1 -0
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-9cKT3C7t.js +1 -0
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BE88ZNGY.js +1 -0
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BPhsneLd.js +1 -0
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BgRy6xDf.js +1 -0
- package/dist/web/public/vendor/monaco/vs/msdax-C38-sJlp.js +1 -0
- package/dist/web/public/vendor/monaco/vs/mysql-CdtbpvbG.js +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.d.ts +1 -0
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.js +9 -0
- package/dist/web/public/vendor/monaco/vs/nls.messages-loader.js +1 -0
- package/dist/web/public/vendor/monaco/vs/objective-c-CntZFaHX.js +1 -0
- package/dist/web/public/vendor/monaco/vs/pascal-r6kuqfl_.js +1 -0
- package/dist/web/public/vendor/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
- package/dist/web/public/vendor/monaco/vs/perl-DABw_TcH.js +1 -0
- package/dist/web/public/vendor/monaco/vs/pgsql-me_jFXeX.js +1 -0
- package/dist/web/public/vendor/monaco/vs/php-D_kh-9LK.js +1 -0
- package/dist/web/public/vendor/monaco/vs/pla-VfZjczW0.js +1 -0
- package/dist/web/public/vendor/monaco/vs/postiats-BBSzz8Pk.js +1 -0
- package/dist/web/public/vendor/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
- package/dist/web/public/vendor/monaco/vs/powershell-B-7ap1zc.js +1 -0
- package/dist/web/public/vendor/monaco/vs/protobuf-BmtuEB1A.js +2 -0
- package/dist/web/public/vendor/monaco/vs/pug-BRpRNeEb.js +1 -0
- package/dist/web/public/vendor/monaco/vs/python-CqWUUgfu.js +1 -0
- package/dist/web/public/vendor/monaco/vs/qsharp-BzsFaUU9.js +1 -0
- package/dist/web/public/vendor/monaco/vs/r-f8dDdrp4.js +1 -0
- package/dist/web/public/vendor/monaco/vs/razor-hok5y9Km.js +1 -0
- package/dist/web/public/vendor/monaco/vs/redis-fvZQY4PI.js +1 -0
- package/dist/web/public/vendor/monaco/vs/redshift-45Et0LQi.js +1 -0
- package/dist/web/public/vendor/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
- package/dist/web/public/vendor/monaco/vs/ruby-CZO8zYTz.js +1 -0
- package/dist/web/public/vendor/monaco/vs/rust-Bfetafyc.js +1 -0
- package/dist/web/public/vendor/monaco/vs/sb-3GYllVck.js +1 -0
- package/dist/web/public/vendor/monaco/vs/scala-foMgrKo1.js +1 -0
- package/dist/web/public/vendor/monaco/vs/scheme-CHdMtr7p.js +1 -0
- package/dist/web/public/vendor/monaco/vs/scss-C1cmLt9V.js +3 -0
- package/dist/web/public/vendor/monaco/vs/shell-ClXCKCEW.js +1 -0
- package/dist/web/public/vendor/monaco/vs/solidity-MZ6ExpPy.js +1 -0
- package/dist/web/public/vendor/monaco/vs/sophia-DWkuSsPQ.js +1 -0
- package/dist/web/public/vendor/monaco/vs/sparql-AUGFYSyk.js +1 -0
- package/dist/web/public/vendor/monaco/vs/sql-32GpJSV2.js +1 -0
- package/dist/web/public/vendor/monaco/vs/st-CuDFIVZ_.js +1 -0
- package/dist/web/public/vendor/monaco/vs/swift-t-PfMj7W.js +1 -0
- package/dist/web/public/vendor/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
- package/dist/web/public/vendor/monaco/vs/tcl-D74tq1nH.js +1 -0
- package/dist/web/public/vendor/monaco/vs/toggleHighContrast-qGX7E9o7.js +61 -0
- package/dist/web/public/vendor/monaco/vs/ts.worker-2QLmBukE.js +1 -0
- package/dist/web/public/vendor/monaco/vs/tsMode-B0S_kp2q.js +11 -0
- package/dist/web/public/vendor/monaco/vs/twig-C6taOxMV.js +1 -0
- package/dist/web/public/vendor/monaco/vs/typescript-_2t_511t.js +1 -0
- package/dist/web/public/vendor/monaco/vs/typespec-8OfoLt6R.js +1 -0
- package/dist/web/public/vendor/monaco/vs/vb-Dyb2648j.js +1 -0
- package/dist/web/public/vendor/monaco/vs/wgsl-BhLXMOR0.js +298 -0
- package/dist/web/public/vendor/monaco/vs/workers-BBttULjf.js +1 -0
- package/dist/web/public/vendor/monaco/vs/xml-cZjNDqDT.js +1 -0
- package/dist/web/public/vendor/monaco/vs/yaml-A1fOIdH6.js +1 -0
- package/dist/web/server.js +151 -16
- package/dist/web/server.js.map +1 -1
- package/dist/web/task-queue.js +6 -21
- package/dist/web/task-queue.js.map +1 -1
- package/dist/web/web-config.js +143 -0
- package/dist/web/web-config.js.map +1 -0
- package/docs/API.md +827 -0
- package/docs/App/344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +1 -1
- package/docs/App/346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +1 -1
- package/docs/BENCHMARK_REPORT_en.md +386 -386
- package/docs/BENCHMARK_REPORT_zh.md +386 -386
- package/docs/DPA.md +65 -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 +69 -67
- package/docs/Deployment_Guide_EN.md +1 -1
- package/docs/PROJECT-ANALYSIS-AND-TEST.md +721 -0
- package/docs/SECURITY_WHITEPAPER.md +2 -2
- package/docs/SELF-EVOLVE-GUIDE.md +1 -1
- package/docs/SWE_BENCH_REPORT.md +73 -55
- package/docs/TECHNICAL-SPECIFICATION.md +746 -0
- package/docs/TECHNICAL_SPEC_en.md +292 -292
- package/docs/TECHNICAL_SPEC_zh.md +292 -292
- package/docs/Technical_Manual_EN.md +1 -1
- package/docs/UPDATE_NOTES_en.md +159 -159
- package/docs/UPDATE_NOTES_zh.md +159 -159
- package/docs/UPGRADE-v7.9.0.md +291 -0
- package/docs/UPGRADE-v8.0.0.md +237 -0
- package/docs/UPGRADE_7.2.0.md +309 -309
- package/docs/UPGRADE_GUIDE_7_5.md +86 -86
- package/docs/UPGRADE_GUIDE_7_6.md +153 -0
- package/docs/User_Manual_EN.md +1 -1
- package/docs/VOLTAGENT_SKILLS_CATALOG.md +95 -0
- package/docs/error-codes.md +1 -1
- package/docs/geo-feihong-code.html +391 -391
- package/docs//344/272/247/345/223/201/345/274/200/345/217/221/346/226/207/346/241/243.md +5 -3
- package/docs//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246-v8.0.0.md +922 -0
- package/docs//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +140 -231
- 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
- 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
- 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
- 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
- package/docs//345/256/211/345/205/250/347/231/275/347/232/256/344/271/246_v7.2.0.md +84 -82
- package/docs//346/212/200/346/234/257/350/257/264/346/230/216/344/271/246.md +240 -149
- package/docs//351/203/250/347/275/262/350/257/264/346/230/216/344/271/246.md +2 -2
- package/electron/main.js +404 -404
- package/package.json +12 -5
- package/templates/skills/api-design/SKILL.md +1 -1
- package/templates/skills/code-review/SKILL.md +1 -1
- package/templates/skills/dependency-upgrade/SKILL.md +1 -1
- package/templates/skills/doc-gen/SKILL.md +1 -1
- package/templates/skills/git-flow/SKILL.md +1 -1
- package/templates/skills/onboarding/SKILL.md +1 -1
- package/templates/skills/performance/SKILL.md +1 -1
- package/templates/skills/refactor/SKILL.md +1 -1
- package/templates/skills/security-audit/SKILL.md +1 -1
- package/templates/skills/test-gen/SKILL.md +1 -1
- package/tool-schema.json +197 -197
package/README.self-evolve.md
CHANGED
|
@@ -1,274 +1,279 @@
|
|
|
1
|
-
# 飞虹 Code - 自我迭代升级系统
|
|
2
|
-
|
|
3
|
-
> 让 AI 编程助手能够自我学习、持续进化
|
|
4
|
-
|
|
5
|
-
## 🎯 系统概述
|
|
6
|
-
|
|
7
|
-
Self-Evolve 是飞虹 Code 的**元技能系统**,让它能够:
|
|
8
|
-
|
|
9
|
-
1. **自动记录失败** - 每次任务失败都会被记录并分析
|
|
10
|
-
2. **提取错误模式** - 识别重复出现的错误类型
|
|
11
|
-
3. **创建解决技能** - 当遇到无解问题时,自动生成新技能
|
|
12
|
-
4. **定期复盘优化** - 每日/每周回顾,持续改进
|
|
13
|
-
|
|
14
|
-
## 📦 包含内容
|
|
15
|
-
|
|
16
|
-
### 核心系统
|
|
17
|
-
- `skills/self-evolve/SKILL.md` - Self-Evolve 技能定义
|
|
18
|
-
- `src/self-evolve/manager.js` - 核心管理器
|
|
19
|
-
- `src/self-evolve/hook.ts` - 集成钩子
|
|
20
|
-
- `src/cli/self-evolve-cli.js` -
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- `docs/self-evolve
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- `tests/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### 2.
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
#
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
#
|
|
53
|
-
fe
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
│
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
## 🔧 集成开发
|
|
147
|
-
|
|
148
|
-
### 在工具中记录失败
|
|
149
|
-
|
|
150
|
-
```typescript
|
|
151
|
-
import { selfEvolveHook } from './self-evolve/hook.ts';
|
|
152
|
-
|
|
153
|
-
try {
|
|
154
|
-
await someToolCall(input);
|
|
155
|
-
} catch (error) {
|
|
156
|
-
selfEvolveHook.onToolFailure({
|
|
157
|
-
tool: 'tool-name',
|
|
158
|
-
input: input,
|
|
159
|
-
error: error.message,
|
|
160
|
-
attemptedSolutions: []
|
|
161
|
-
});
|
|
162
|
-
throw error;
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### 定期复盘
|
|
167
|
-
|
|
168
|
-
```javascript
|
|
169
|
-
// 每天运行
|
|
170
|
-
const report = await selfEvolveHook.dailyReview();
|
|
171
|
-
console.log(`今日失败: ${report.total_failures}`);
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## 📚 与现有系统集成
|
|
175
|
-
|
|
176
|
-
Self-Evolve 可以与以下技能配合:
|
|
177
|
-
|
|
178
|
-
| 技能 | 集成点 | 作用 |
|
|
179
|
-
|------|--------|------|
|
|
180
|
-
| `/self-heal` | 自动创建修复技能 | 解决技术错误 |
|
|
181
|
-
| `/plan` | 计划时参考历史 | 避免重复失败 |
|
|
182
|
-
| `/goal` | 目标设定参考 | 追踪迭代进度 |
|
|
183
|
-
|
|
184
|
-
## 🎯 使用示例
|
|
185
|
-
|
|
186
|
-
### 示例1:处理编译错误
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
# 分析最近7天的编译错误
|
|
190
|
-
fe analyze --days 7 --type compile-error
|
|
191
|
-
|
|
192
|
-
# 创建通用编译错误处理技能
|
|
193
|
-
fe create-skill \
|
|
194
|
-
--name compile-error-handler \
|
|
195
|
-
--description "处理TypeScript编译错误" \
|
|
196
|
-
--pattern compile-error \
|
|
197
|
-
--solution "1. 检查导入路径\n2. 验证类型定义\n3. 安装缺失依赖" \
|
|
198
|
-
--triggers "error TS, syntax error, cannot find module"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### 示例2:处理路径穿越
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
# 创建路径安全技能
|
|
205
|
-
fe create-skill \
|
|
206
|
-
--name path-security-handler \
|
|
207
|
-
--description "处理路径穿越安全问题" \
|
|
208
|
-
--pattern path-error \
|
|
209
|
-
--solution "1. 验证路径在workspace内\n2. 使用相对路径\n3. 规范化路径" \
|
|
210
|
-
--triggers "path traversal, outside workspace, EACCES"
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### 示例3:查看每日复盘
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
fe review --daily
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
输出:
|
|
220
|
-
```
|
|
221
|
-
📅 每日复盘报告
|
|
222
|
-
========================================
|
|
223
|
-
日期: 2026-08-16
|
|
224
|
-
失败任务: 5
|
|
225
|
-
已解决: 3
|
|
226
|
-
待处理: 2
|
|
227
|
-
新技能: 1
|
|
228
|
-
|
|
229
|
-
今日失败详情:
|
|
230
|
-
✅ [a1b2c3d4] compile-error: error TS2307...
|
|
231
|
-
⏳ [e5f6g7h8] path-error: Path traversal...
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## 🛡️ 纪律与原则
|
|
235
|
-
|
|
236
|
-
1. **诚实记录** - 失败就是失败,不伪造成功
|
|
237
|
-
2. **及时复盘** - 每日至少一次复盘分析
|
|
238
|
-
3. **渐进改进** - 每次迭代只优化一个方面
|
|
239
|
-
4. **验证优先** - 新技能必须经过测试验证
|
|
240
|
-
5. **可追溯** - 所有变更记录保存历史版本
|
|
241
|
-
|
|
242
|
-
## 📈 版本历史
|
|
243
|
-
|
|
244
|
-
- **v1.
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
1
|
+
# 飞虹 Code - 自我迭代升级系统
|
|
2
|
+
|
|
3
|
+
> 让 AI 编程助手能够自我学习、持续进化
|
|
4
|
+
|
|
5
|
+
## 🎯 系统概述
|
|
6
|
+
|
|
7
|
+
Self-Evolve 是飞虹 Code 的**元技能系统**,让它能够:
|
|
8
|
+
|
|
9
|
+
1. **自动记录失败** - 每次任务失败都会被记录并分析
|
|
10
|
+
2. **提取错误模式** - 识别重复出现的错误类型
|
|
11
|
+
3. **创建解决技能** - 当遇到无解问题时,自动生成新技能
|
|
12
|
+
4. **定期复盘优化** - 每日/每周回顾,持续改进
|
|
13
|
+
|
|
14
|
+
## 📦 包含内容
|
|
15
|
+
|
|
16
|
+
### 核心系统
|
|
17
|
+
- `skills/self-evolve/SKILL.md` - Self-Evolve 技能定义
|
|
18
|
+
- `src/self-evolve/manager.js` - 核心管理器
|
|
19
|
+
- `src/self-evolve/hook.ts` - 集成钩子
|
|
20
|
+
- `src/cli/self-evolve-cli.js` - 命令行接口(自包含、零外部依赖)
|
|
21
|
+
- `src/agent/self-improver.ts` - 新一代闭环自我改进(与 orchestrator 共用 experiences 经验库,实现真正的回流闭环)
|
|
22
|
+
|
|
23
|
+
### 文档
|
|
24
|
+
- `docs/self-evolve.md` - 用户文档
|
|
25
|
+
- `docs/self-evolve-implementation.md` - 实现指南
|
|
26
|
+
|
|
27
|
+
### 测试
|
|
28
|
+
- `tests/unit/self-evolve.test.js` - 单元测试
|
|
29
|
+
- `tests/demo/self-evolve-demo.js` - 演示脚本
|
|
30
|
+
|
|
31
|
+
## 🚀 快速开始
|
|
32
|
+
|
|
33
|
+
> 无需安装脚本:`self-evolve` 已接入主 CLI(`fhcode self-evolve`),首次调用即自动初始化数据目录。
|
|
34
|
+
|
|
35
|
+
### 1. 查看系统状态
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# 查看统计(自动初始化)
|
|
39
|
+
fhcode self-evolve status
|
|
40
|
+
|
|
41
|
+
# 或设置别名(可选)
|
|
42
|
+
alias fe='fhcode self-evolve'
|
|
43
|
+
fe status
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. 开始使用
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 列出失败记录
|
|
50
|
+
fe failures list
|
|
51
|
+
|
|
52
|
+
# 查看技能库
|
|
53
|
+
fe skills list
|
|
54
|
+
|
|
55
|
+
# 每日复盘
|
|
56
|
+
fe review --daily
|
|
57
|
+
|
|
58
|
+
# 分析错误模式
|
|
59
|
+
fe analyze
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 📊 核心功能
|
|
63
|
+
|
|
64
|
+
### 失败记录
|
|
65
|
+
自动记录所有失败的执行,包括:
|
|
66
|
+
- 错误类型(编译、运行时、路径、权限、API等)
|
|
67
|
+
- 完整的错误信息
|
|
68
|
+
- 尝试的解决方案
|
|
69
|
+
- 根本原因分析
|
|
70
|
+
|
|
71
|
+
### 错误模式识别
|
|
72
|
+
- 按类型统计失败频率
|
|
73
|
+
- 识别重复出现的错误
|
|
74
|
+
- 建议创建针对性技能
|
|
75
|
+
|
|
76
|
+
### 技能自动生成
|
|
77
|
+
当遇到无法解决的新问题时:
|
|
78
|
+
```bash
|
|
79
|
+
# 系统会提示创建技能
|
|
80
|
+
fe create-skill \
|
|
81
|
+
--name my-error-handler \
|
|
82
|
+
--description "处理我的特定错误" \
|
|
83
|
+
--pattern error-type \
|
|
84
|
+
--solution "具体解决步骤" \
|
|
85
|
+
--triggers "触发关键词"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 定期复盘
|
|
89
|
+
```bash
|
|
90
|
+
# 每日复盘
|
|
91
|
+
fhcode self-evolve review --daily
|
|
92
|
+
|
|
93
|
+
# 错误模式分析(建议创建技能)
|
|
94
|
+
fhcode self-evolve analyze --days 7
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
> 说明:`fe status --week`(周统计)尚未实现;如需查看跨任务学习沉淀,请用 `fhcode self-improve`(新一代闭环系统,读写 `~/.feihong-code/experiences/`)。
|
|
98
|
+
|
|
99
|
+
## 🔄 工作流程
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
任务执行
|
|
103
|
+
↓
|
|
104
|
+
成功? → 记录成功
|
|
105
|
+
↓ 失败
|
|
106
|
+
自动记录失败
|
|
107
|
+
↓
|
|
108
|
+
搜索已知解决方案
|
|
109
|
+
↓ 找到 → 应用方案
|
|
110
|
+
↓ 未找到
|
|
111
|
+
分析根因
|
|
112
|
+
↓
|
|
113
|
+
创建新技能? → 是 → 保存到 ~/.feihong-code/skills/
|
|
114
|
+
↓ 否
|
|
115
|
+
标记待人工处理
|
|
116
|
+
↓
|
|
117
|
+
每日复盘 → 优化系统
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## 📁 数据结构
|
|
121
|
+
|
|
122
|
+
所有数据存储在 `~/.feihong-code/self-evolve/`:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
~/.feihong-code/
|
|
126
|
+
├── self-evolve/
|
|
127
|
+
│ ├── config.json # 配置
|
|
128
|
+
│ ├── failures.json # 失败记录(运维视图)
|
|
129
|
+
│ ├── skills-index.json # 技能索引
|
|
130
|
+
│ ├── history.json # 操作历史
|
|
131
|
+
│ └── report-YYYY-MM-DD.json # 每日报告
|
|
132
|
+
├── skills/
|
|
133
|
+
│ └── <skill-name>/
|
|
134
|
+
│ └── SKILL.md
|
|
135
|
+
├── experiences/ # ★ 统一经验库(self-evolve 与 self-improve 共用)
|
|
136
|
+
│ └── experiences.jsonl # 失败/反思/技能 全部回流至此,供 orchestrator 检索
|
|
137
|
+
└── ...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
> **统一经验库(双系统已收敛)**:本系统与新一代 `self-improve`(`src/agent/experience.ts`)**共用同一经验库** `~/.feihong-code/experiences/experiences.jsonl`。
|
|
141
|
+
> - 本系统记录的**失败** → 自动写入 `error-pattern` 经验;**解决问题/沉淀技能** → 写入 `success-pattern` 经验
|
|
142
|
+
> - 新一代系统的任务反思也写入同一文件,二者以「稳定 id + upsert」合并(同一模式重复出现只累加权重,不无限膨胀)
|
|
143
|
+
> - orchestrator 在后续任务启动时检索注入这批经验,形成「执行 → 反思 → 回流 → 更强执行」的闭环
|
|
144
|
+
> - 查询学习沉淀统一用 `fhcode self-improve`;本系统的 `fhcode self-evolve` 聚焦「失败记录/技能/复盘」的运维视图
|
|
145
|
+
|
|
146
|
+
## 🔧 集成开发
|
|
147
|
+
|
|
148
|
+
### 在工具中记录失败
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
import { selfEvolveHook } from './self-evolve/hook.ts';
|
|
152
|
+
|
|
153
|
+
try {
|
|
154
|
+
await someToolCall(input);
|
|
155
|
+
} catch (error) {
|
|
156
|
+
selfEvolveHook.onToolFailure({
|
|
157
|
+
tool: 'tool-name',
|
|
158
|
+
input: input,
|
|
159
|
+
error: error.message,
|
|
160
|
+
attemptedSolutions: []
|
|
161
|
+
});
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 定期复盘
|
|
167
|
+
|
|
168
|
+
```javascript
|
|
169
|
+
// 每天运行
|
|
170
|
+
const report = await selfEvolveHook.dailyReview();
|
|
171
|
+
console.log(`今日失败: ${report.total_failures}`);
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## 📚 与现有系统集成
|
|
175
|
+
|
|
176
|
+
Self-Evolve 可以与以下技能配合:
|
|
177
|
+
|
|
178
|
+
| 技能 | 集成点 | 作用 |
|
|
179
|
+
|------|--------|------|
|
|
180
|
+
| `/self-heal` | 自动创建修复技能 | 解决技术错误 |
|
|
181
|
+
| `/plan` | 计划时参考历史 | 避免重复失败 |
|
|
182
|
+
| `/goal` | 目标设定参考 | 追踪迭代进度 |
|
|
183
|
+
|
|
184
|
+
## 🎯 使用示例
|
|
185
|
+
|
|
186
|
+
### 示例1:处理编译错误
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# 分析最近7天的编译错误
|
|
190
|
+
fe analyze --days 7 --type compile-error
|
|
191
|
+
|
|
192
|
+
# 创建通用编译错误处理技能
|
|
193
|
+
fe create-skill \
|
|
194
|
+
--name compile-error-handler \
|
|
195
|
+
--description "处理TypeScript编译错误" \
|
|
196
|
+
--pattern compile-error \
|
|
197
|
+
--solution "1. 检查导入路径\n2. 验证类型定义\n3. 安装缺失依赖" \
|
|
198
|
+
--triggers "error TS, syntax error, cannot find module"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 示例2:处理路径穿越
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# 创建路径安全技能
|
|
205
|
+
fe create-skill \
|
|
206
|
+
--name path-security-handler \
|
|
207
|
+
--description "处理路径穿越安全问题" \
|
|
208
|
+
--pattern path-error \
|
|
209
|
+
--solution "1. 验证路径在workspace内\n2. 使用相对路径\n3. 规范化路径" \
|
|
210
|
+
--triggers "path traversal, outside workspace, EACCES"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### 示例3:查看每日复盘
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
fe review --daily
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
输出:
|
|
220
|
+
```
|
|
221
|
+
📅 每日复盘报告
|
|
222
|
+
========================================
|
|
223
|
+
日期: 2026-08-16
|
|
224
|
+
失败任务: 5
|
|
225
|
+
已解决: 3
|
|
226
|
+
待处理: 2
|
|
227
|
+
新技能: 1
|
|
228
|
+
|
|
229
|
+
今日失败详情:
|
|
230
|
+
✅ [a1b2c3d4] compile-error: error TS2307...
|
|
231
|
+
⏳ [e5f6g7h8] path-error: Path traversal...
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## 🛡️ 纪律与原则
|
|
235
|
+
|
|
236
|
+
1. **诚实记录** - 失败就是失败,不伪造成功
|
|
237
|
+
2. **及时复盘** - 每日至少一次复盘分析
|
|
238
|
+
3. **渐进改进** - 每次迭代只优化一个方面
|
|
239
|
+
4. **验证优先** - 新技能必须经过测试验证
|
|
240
|
+
5. **可追溯** - 所有变更记录保存历史版本
|
|
241
|
+
|
|
242
|
+
## 📈 版本历史
|
|
243
|
+
|
|
244
|
+
- **v1.1.0** (2026-08-28) - 修复与接入
|
|
245
|
+
- 移除未安装的 `uuid` 依赖(修复 CLI 崩溃)
|
|
246
|
+
- CLI 重写为自包含零依赖解析(移除未声明的 commander)
|
|
247
|
+
- `self-evolve` 正式接入主 CLI(`fhcode self-evolve ...` 可直接使用)
|
|
248
|
+
- 消除文档中不存在的脚本引用,标注新旧两套系统差异
|
|
249
|
+
- **v1.0.0** (2026-08-16) - 初始版本
|
|
250
|
+
- 基础失败记录功能
|
|
251
|
+
- 技能自动生成
|
|
252
|
+
- 每日复盘
|
|
253
|
+
- CLI 接口
|
|
254
|
+
|
|
255
|
+
## 🔮 未来规划
|
|
256
|
+
|
|
257
|
+
- [ ] 自动检测技能冲突
|
|
258
|
+
- [ ] 技能效果追踪
|
|
259
|
+
- [ ] 团队共享技能库
|
|
260
|
+
- [ ] AI 辅助技能创建
|
|
261
|
+
- [ ] 失败预测模型
|
|
262
|
+
|
|
263
|
+
## 🤝 贡献指南
|
|
264
|
+
|
|
265
|
+
欢迎贡献!请遵循以下步骤:
|
|
266
|
+
|
|
267
|
+
1. Fork 本仓库
|
|
268
|
+
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
|
|
269
|
+
3. 提交更改 (`git commit -m 'Add amazing feature'`)
|
|
270
|
+
4. 推送到分支 (`git push origin feature/amazing-feature`)
|
|
271
|
+
5. 创建 Pull Request
|
|
272
|
+
|
|
273
|
+
## 📄 许可证
|
|
274
|
+
|
|
275
|
+
MIT License
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
**让飞虹 Code 越来越聪明!** 🚀
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ChangeManager = void 0;
|
|
4
4
|
exports.createChangeManager = createChangeManager;
|
|
5
5
|
/**
|
|
6
|
-
* 飞虹 Code (Muse Code
|
|
6
|
+
* 飞虹 Code (对标 Muse Code · 自研内核)
|
|
7
7
|
* 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
|
|
8
8
|
*
|
|
9
9
|
* P3-1 多文件协同编辑变更管理器:
|
package/dist/agent/code-rag.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.buildRagContext = buildRagContext;
|
|
|
6
6
|
exports.ragDiagnostics = ragDiagnostics;
|
|
7
7
|
exports.createRagRetriever = createRagRetriever;
|
|
8
8
|
/**
|
|
9
|
-
* 飞虹 Code (Muse Code
|
|
9
|
+
* 飞虹 Code (对标 Muse Code · 自研内核)
|
|
10
10
|
* 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
|
|
11
11
|
*
|
|
12
12
|
* P0-2 RAG 增强代码生成(对齐 Cursor Codebase Indexing):
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CodeWriter = void 0;
|
|
4
4
|
exports.createCodeWriter = createCodeWriter;
|
|
5
5
|
/**
|
|
6
|
-
* 飞虹 Code (Muse Code
|
|
6
|
+
* 飞虹 Code (对标 Muse Code · 自研内核)
|
|
7
7
|
* 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
|
|
8
8
|
*
|
|
9
9
|
* 自主代码编写器(M8):
|
|
@@ -10,6 +10,7 @@ exports.smartCompact = smartCompact;
|
|
|
10
10
|
exports.shouldCompactByTokens = shouldCompactByTokens;
|
|
11
11
|
exports.compactContextByTokens = compactContextByTokens;
|
|
12
12
|
const logger_1 = require("../shared/logger");
|
|
13
|
+
const hooks_1 = require("../runtime/hooks");
|
|
13
14
|
const context_budget_1 = require("./context-budget");
|
|
14
15
|
/** 从早期消息中提取结构化摘要(增强版:提取更多关键信息) */
|
|
15
16
|
function extractSummary(messages) {
|
|
@@ -192,6 +193,16 @@ function compactContext(messages, preservedCount = 10) {
|
|
|
192
193
|
if (earlyMessages.length === 0) {
|
|
193
194
|
return { messages, stats: { originalLength: messages.length, compressedLength: messages.length, preservedMessages, compressedRounds: 0, timestamp: new Date().toISOString() } };
|
|
194
195
|
}
|
|
196
|
+
// P2-1:PreCompact hooks(如 pua-ext 保存失败计数到 builder-journal.md)
|
|
197
|
+
// fire-and-forget:不阻塞压缩流程,持久化状态由 hook 自身保证
|
|
198
|
+
(0, hooks_1.runSkillHooks)('PreCompact', {
|
|
199
|
+
cwd: process.cwd(),
|
|
200
|
+
runId: '',
|
|
201
|
+
messageCount: messages.length,
|
|
202
|
+
preservedCount,
|
|
203
|
+
}).catch((e) => {
|
|
204
|
+
logger_1.logger.warn('PreCompact hook failed', { error: e instanceof Error ? e.message : String(e) });
|
|
205
|
+
});
|
|
195
206
|
// 提取摘要
|
|
196
207
|
const summary = extractSummary(earlyMessages);
|
|
197
208
|
const compactionPrompt = generateCompactionPrompt(summary, preservedMessages, totalRounds);
|