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.
- package/.github/workflows/ci.yml +180 -140
- package/.github/workflows/release.yml +200 -173
- package/CHANGELOG.md +94 -115
- package/README.md +609 -586
- package/dist/agent/completion-engine.js +76 -45
- package/dist/agent/completion-engine.js.map +1 -1
- package/dist/agent/completion-postprocess.js +109 -0
- package/dist/agent/completion-postprocess.js.map +1 -0
- package/dist/agent/context-budget.js +121 -0
- package/dist/agent/context-budget.js.map +1 -0
- package/dist/agent/context-compactor.js +47 -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/lint.js +121 -0
- package/dist/agent/lint.js.map +1 -0
- package/dist/agent/multi-agent.js +44 -44
- package/dist/agent/orchestrator.js +20 -20
- package/dist/agent/prompts.js +54 -54
- package/dist/agent/self-correction.js +24 -24
- package/dist/agent/self-heal.js +27 -27
- package/dist/cli/commands.js +9 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/index.js +9 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/multi-pane-tui.js +217 -0
- package/dist/cli/multi-pane-tui.js.map +1 -0
- package/dist/cli/run.js +129 -40
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/tui-run.js +79 -0
- package/dist/cli/tui-run.js.map +1 -0
- package/dist/cli/tui.js.map +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/lsp/lsp-client.js +183 -0
- package/dist/lsp/lsp-client.js.map +1 -0
- package/dist/lsp/lsp-service.js +159 -0
- package/dist/lsp/lsp-service.js.map +1 -0
- package/dist/plugins/manager.js +50 -2
- package/dist/plugins/manager.js.map +1 -1
- package/dist/shared/i18n.js +108 -100
- package/dist/shared/i18n.js.map +1 -1
- package/dist/tools/generator/code-generator.js +40 -40
- package/dist/tools/generator/test-generator.js +9 -9
- package/dist/tools/shell/exec.js +23 -1
- package/dist/tools/shell/exec.js.map +1 -1
- package/dist/web/extra-apis.js +440 -0
- package/dist/web/extra-apis.js.map +1 -0
- package/dist/web/public/css/style.css +1715 -1715
- package/dist/web/public/index.html +1242 -1200
- package/dist/web/public/js/api.js +555 -496
- package/dist/web/public/js/app.js +2210 -2210
- package/dist/web/public/js/mock-api.js +234 -234
- package/dist/web/public/js/monaco-editor.js +363 -203
- package/dist/web/public/js/ui.js +2251 -1981
- package/dist/web/public/js/utils.js +214 -214
- package/dist/web/public/manifest.json +59 -59
- package/dist/web/public/service-worker.js +173 -173
- package/dist/web/server.js +97 -45
- package/dist/web/server.js.map +1 -1
- package/docs/BENCHMARK_REPORT_en.md +386 -329
- package/docs/BENCHMARK_REPORT_zh.md +386 -329
- package/docs/DPA.md +63 -0
- 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
- package/docs/SECURITY_WHITEPAPER.md +74 -0
- package/docs/SWE_BENCH_REPORT.md +55 -0
- package/docs/TECHNICAL_SPEC_en.md +292 -292
- package/docs/TECHNICAL_SPEC_zh.md +292 -292
- package/docs/UPDATE_NOTES_en.md +159 -159
- package/docs/UPDATE_NOTES_zh.md +159 -159
- package/docs/UPGRADE_7.2.0.md +309 -0
- package/docs/UPGRADE_GUIDE_7_5.md +86 -0
- package/docs/geo-feihong-code.html +391 -0
- 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
- 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
- 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
- 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
- package/docs//345/256/211/345/205/250/347/231/275/347/232/256/344/271/246_v7.2.0.md +82 -0
- package/electron/main.js +404 -602
- package/package.json +175 -172
- package/templates/skills/api-design/SKILL.md +27 -0
- package/templates/skills/code-review/SKILL.md +35 -0
- package/templates/skills/dependency-upgrade/SKILL.md +29 -0
- package/templates/skills/doc-gen/SKILL.md +29 -0
- package/templates/skills/git-flow/SKILL.md +26 -0
- package/templates/skills/onboarding/SKILL.md +27 -0
- package/templates/skills/performance/SKILL.md +29 -0
- package/templates/skills/refactor/SKILL.md +28 -0
- package/templates/skills/security-audit/SKILL.md +28 -0
- package/templates/skills/test-gen/SKILL.md +30 -0
- package/tool-schema.json +197 -197
- package/dist/hello.js +0 -14
- package/dist/hello.js.map +0 -1
- package/dist/self-evolve/hook.ts +0 -80
- package/dist/self-evolve/manager.d.ts +0 -8
- package/dist/web/public/vendor/monaco/vs/abap-D-t0cyap.js +0 -1
- package/dist/web/public/vendor/monaco/vs/apex-CcIm7xu6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/assets/css.worker-URu8fCFR.js +0 -97
- package/dist/web/public/vendor/monaco/vs/assets/editor.worker-lj3bdIIn.js +0 -30
- package/dist/web/public/vendor/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +0 -30
- package/dist/web/public/vendor/monaco/vs/assets/html.worker-D1SL3iM8.js +0 -474
- package/dist/web/public/vendor/monaco/vs/assets/json.worker-CoJx_OPf.js +0 -62
- package/dist/web/public/vendor/monaco/vs/assets/ts.worker-BWKtMYOk.js +0 -67722
- package/dist/web/public/vendor/monaco/vs/azcli-BA0tQDCg.js +0 -1
- package/dist/web/public/vendor/monaco/vs/basic-languages/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/bat-C397hTD6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/bicep-DF5aW17k.js +0 -2
- package/dist/web/public/vendor/monaco/vs/cameligo-plsz8qhj.js +0 -1
- package/dist/web/public/vendor/monaco/vs/clojure-Y2auQMzK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/coffee-Bu45yuWE.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cpp-CkKPQIni.js +0 -1
- package/dist/web/public/vendor/monaco/vs/csharp-CX28MZyh.js +0 -1
- package/dist/web/public/vendor/monaco/vs/csp-D8uWnyxW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/css-CaeNmE3S.js +0 -3
- package/dist/web/public/vendor/monaco/vs/css.worker-CyhWkhHo.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cssMode-CV6Ay48H.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cypher-DVThT8BS.js +0 -1
- package/dist/web/public/vendor/monaco/vs/dart-CmGfCvrO.js +0 -1
- package/dist/web/public/vendor/monaco/vs/dockerfile-CZqqYdch.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ecl-30fUercY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.css +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.worker.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor-KLE6jdfb.js +0 -831
- package/dist/web/public/vendor/monaco/vs/editor.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editorWorkerHost-fVE1cjcC.js +0 -35
- package/dist/web/public/vendor/monaco/vs/elixir-xjPaIfzF.js +0 -1
- package/dist/web/public/vendor/monaco/vs/flow9-DqtmStfK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/freemarker2-FWreY7v7.js +0 -3
- package/dist/web/public/vendor/monaco/vs/fsharp-BOMdg4U1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/go-D_hbi-Jt.js +0 -1
- package/dist/web/public/vendor/monaco/vs/graphql-CKUU4kLG.js +0 -1
- package/dist/web/public/vendor/monaco/vs/handlebars-CZi4pHCH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/hcl-DTaboeZW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/html-j_7ZTNRU.js +0 -1
- package/dist/web/public/vendor/monaco/vs/html.worker-CA3iAimZ.js +0 -1
- package/dist/web/public/vendor/monaco/vs/htmlMode-27by_KM4.js +0 -1
- package/dist/web/public/vendor/monaco/vs/index-049xrXrp.js +0 -1
- package/dist/web/public/vendor/monaco/vs/index-CBVt3dzv.js +0 -5
- package/dist/web/public/vendor/monaco/vs/index.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ini-CsNwO04R.js +0 -1
- package/dist/web/public/vendor/monaco/vs/initialize-DL0l1TGY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/java-CI4ZMsH9.js +0 -1
- package/dist/web/public/vendor/monaco/vs/javascript-DTJl4Jn1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/json.worker-BizpAl9O.js +0 -1
- package/dist/web/public/vendor/monaco/vs/jsonMode-DLUiMUrI.js +0 -1
- package/dist/web/public/vendor/monaco/vs/julia-BwzEvaQw.js +0 -1
- package/dist/web/public/vendor/monaco/vs/kotlin-IUYPiTV8.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/css/css.worker.js +0 -66
- package/dist/web/public/vendor/monaco/vs/language/css/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/html/html.worker.js +0 -443
- package/dist/web/public/vendor/monaco/vs/language/html/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/json/json.worker.js +0 -17
- package/dist/web/public/vendor/monaco/vs/language/json/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/typescript/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/typescript/ts.worker.js +0 -67693
- package/dist/web/public/vendor/monaco/vs/less-C0eDYdqa.js +0 -2
- package/dist/web/public/vendor/monaco/vs/lexon-iON-Kj97.js +0 -1
- package/dist/web/public/vendor/monaco/vs/liquid-CLJYelW6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/loader.js +0 -1368
- package/dist/web/public/vendor/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +0 -2
- package/dist/web/public/vendor/monaco/vs/lua-DtygF91M.js +0 -1
- package/dist/web/public/vendor/monaco/vs/m3-CsR4AuFi.js +0 -1
- package/dist/web/public/vendor/monaco/vs/main-BEx-Fmlo.js +0 -15
- package/dist/web/public/vendor/monaco/vs/main-DsK8pnKg.js +0 -3
- package/dist/web/public/vendor/monaco/vs/markdown-C_rD0bIw.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mdx-CpzZIPHF.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mips-CiYP61RB.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-9cKT3C7t.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BE88ZNGY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BPhsneLd.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BgRy6xDf.js +0 -1
- package/dist/web/public/vendor/monaco/vs/msdax-C38-sJlp.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mysql-CdtbpvbG.js +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls.messages-loader.js +0 -1
- package/dist/web/public/vendor/monaco/vs/objective-c-CntZFaHX.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pascal-r6kuqfl_.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pascaligo-BiXoTmXh.js +0 -1
- package/dist/web/public/vendor/monaco/vs/perl-DABw_TcH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pgsql-me_jFXeX.js +0 -1
- package/dist/web/public/vendor/monaco/vs/php-D_kh-9LK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pla-VfZjczW0.js +0 -1
- package/dist/web/public/vendor/monaco/vs/postiats-BBSzz8Pk.js +0 -1
- package/dist/web/public/vendor/monaco/vs/powerquery-Dt-g_2cc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/powershell-B-7ap1zc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/protobuf-BmtuEB1A.js +0 -2
- package/dist/web/public/vendor/monaco/vs/pug-BRpRNeEb.js +0 -1
- package/dist/web/public/vendor/monaco/vs/python-CqWUUgfu.js +0 -1
- package/dist/web/public/vendor/monaco/vs/qsharp-BzsFaUU9.js +0 -1
- package/dist/web/public/vendor/monaco/vs/r-f8dDdrp4.js +0 -1
- package/dist/web/public/vendor/monaco/vs/razor-hok5y9Km.js +0 -1
- package/dist/web/public/vendor/monaco/vs/redis-fvZQY4PI.js +0 -1
- package/dist/web/public/vendor/monaco/vs/redshift-45Et0LQi.js +0 -1
- package/dist/web/public/vendor/monaco/vs/restructuredtext-C7UUFKFD.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ruby-CZO8zYTz.js +0 -1
- package/dist/web/public/vendor/monaco/vs/rust-Bfetafyc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sb-3GYllVck.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scala-foMgrKo1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scheme-CHdMtr7p.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scss-C1cmLt9V.js +0 -3
- package/dist/web/public/vendor/monaco/vs/shell-ClXCKCEW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/solidity-MZ6ExpPy.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sophia-DWkuSsPQ.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sparql-AUGFYSyk.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sql-32GpJSV2.js +0 -1
- package/dist/web/public/vendor/monaco/vs/st-CuDFIVZ_.js +0 -1
- package/dist/web/public/vendor/monaco/vs/swift-t-PfMj7W.js +0 -1
- package/dist/web/public/vendor/monaco/vs/systemverilog-Ch4vA8Yt.js +0 -1
- package/dist/web/public/vendor/monaco/vs/tcl-D74tq1nH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/toggleHighContrast-qGX7E9o7.js +0 -61
- package/dist/web/public/vendor/monaco/vs/ts.worker-2QLmBukE.js +0 -1
- package/dist/web/public/vendor/monaco/vs/tsMode-B0S_kp2q.js +0 -11
- package/dist/web/public/vendor/monaco/vs/twig-C6taOxMV.js +0 -1
- package/dist/web/public/vendor/monaco/vs/typescript-_2t_511t.js +0 -1
- package/dist/web/public/vendor/monaco/vs/typespec-8OfoLt6R.js +0 -1
- package/dist/web/public/vendor/monaco/vs/vb-Dyb2648j.js +0 -1
- package/dist/web/public/vendor/monaco/vs/wgsl-BhLXMOR0.js +0 -298
- package/dist/web/public/vendor/monaco/vs/workers-BBttULjf.js +0 -1
- package/dist/web/public/vendor/monaco/vs/xml-cZjNDqDT.js +0 -1
- package/dist/web/public/vendor/monaco/vs/yaml-A1fOIdH6.js +0 -1
- package/dist/web/web-config.js +0 -143
- package/dist/web/web-config.js.map +0 -1
- package/docs/DEPLOYMENT.md +0 -382
- package/docs/MODEL_FINETUNING.md +0 -405
|
@@ -1,292 +1,292 @@
|
|
|
1
|
-
# 飞虹 Code v7.0.0 技术说明书
|
|
2
|
-
|
|
3
|
-
**版本**:7.0.0
|
|
4
|
-
**日期**:2026年8月24日
|
|
5
|
-
**研发团队**:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. 产品概述
|
|
10
|
-
|
|
11
|
-
飞虹 Code(feihong-code)是一款终端 AI 编程智能体,对标 Muse Code / Cursor CLI,支持多模型路由、企业级 RBAC 审计、全自动 SWE Agent,支持离线私有化部署。
|
|
12
|
-
|
|
13
|
-
### 1.1 核心能力
|
|
14
|
-
|
|
15
|
-
- 自然语言到代码变更:将用户需求转化为真实、可验证的代码仓库变更
|
|
16
|
-
- 多模型路由:支持 DeepSeek、通义千问、Ollama、OpenAI 等多种模型
|
|
17
|
-
- 全自动 SWE Agent:自主规划、执行、验证、修复
|
|
18
|
-
- 企业级安全:RBAC 权限、审计日志、工作区隔离
|
|
19
|
-
- 全平台支持:Web 控制台、Electron 桌面版、CLI 命令行
|
|
20
|
-
|
|
21
|
-
### 1.2 技术栈
|
|
22
|
-
|
|
23
|
-
| 层级 | 技术 | 版本 |
|
|
24
|
-
|------|------|------|
|
|
25
|
-
| 运行时 | Node.js | 18+ |
|
|
26
|
-
| 语言 | TypeScript | 5.x |
|
|
27
|
-
| Web 框架 | Express | 4.x |
|
|
28
|
-
| 数据校验 | Zod | 3.x |
|
|
29
|
-
| 前端 | 原生 HTML/CSS/JS | - |
|
|
30
|
-
| 桌面端 | Electron | 41.x |
|
|
31
|
-
| 打包 | electron-builder | 26.x |
|
|
32
|
-
| 构建 | tsc | 5.x |
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## 2. 系统架构
|
|
37
|
-
|
|
38
|
-
### 2.1 整体架构
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
┌─────────────────────────────────────────────────┐
|
|
42
|
-
│ 用户界面层 │
|
|
43
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
44
|
-
│ │ Web 控制台 │ │ 桌面版 │ │ CLI 命令行 │ │
|
|
45
|
-
│ └────┬─────┘ └────┬─────┘ └──────┬───────┘ │
|
|
46
|
-
└───────┼─────────────┼───────────────┼──────────┘
|
|
47
|
-
│ │ │
|
|
48
|
-
└─────────────┼───────────────┘
|
|
49
|
-
│
|
|
50
|
-
┌───────▼───────┐
|
|
51
|
-
│ Express API │
|
|
52
|
-
│ 服务层 │
|
|
53
|
-
└───────┬───────┘
|
|
54
|
-
│
|
|
55
|
-
┌─────────────┼─────────────┐
|
|
56
|
-
│ │ │
|
|
57
|
-
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
|
|
58
|
-
│ 任务队列 │ │ 模型路由 │ │ 权限审计 │
|
|
59
|
-
│ TaskQueue │ │ Router │ │ Security │
|
|
60
|
-
└─────┬─────┘ └─────┬─────┘ └───────────┘
|
|
61
|
-
│ │
|
|
62
|
-
┌─────▼─────────────▼─────┐
|
|
63
|
-
│ SWE Agent 编排层 │
|
|
64
|
-
│ Orchestrator │
|
|
65
|
-
└─────┬───────────────────┘
|
|
66
|
-
│
|
|
67
|
-
┌─────▼───────────────────┐
|
|
68
|
-
│ 工具执行层 │
|
|
69
|
-
│ 文件操作 / Shell / 浏览器│
|
|
70
|
-
└─────────────────────────┘
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 2.2 核心模块
|
|
74
|
-
|
|
75
|
-
#### 2.2.1 Agent 编排层(src/agent/)
|
|
76
|
-
|
|
77
|
-
- **orchestrator.ts**:核心编排器,管理对话循环、工具调用、错误恢复
|
|
78
|
-
- **prompts.ts**:系统提示词,定义 AI 行为边界和能力要求
|
|
79
|
-
- **self-heal.ts**:自我修复模块,错误分类、修复建议生成
|
|
80
|
-
- **code-writer.ts**:代码生成模块
|
|
81
|
-
- **swe-agent.ts**:SWE Agent 实现
|
|
82
|
-
- **experience.ts**:经验检索与复用
|
|
83
|
-
|
|
84
|
-
#### 2.2.2 Web 服务层(src/web/)
|
|
85
|
-
|
|
86
|
-
- **server.ts**:Express 服务,API 路由、静态文件服务
|
|
87
|
-
- **task-queue.ts**:任务队列,并发控制、任务持久化、状态管理
|
|
88
|
-
- **public/**:前端静态资源(HTML/CSS/JS)
|
|
89
|
-
|
|
90
|
-
#### 2.2.3 CLI 层(src/cli/)
|
|
91
|
-
|
|
92
|
-
- **index.ts**:CLI 入口,命令解析
|
|
93
|
-
- **commands.ts**:命令实现(serve/run/init 等)
|
|
94
|
-
- **version.ts**:版本号集中定义
|
|
95
|
-
- **repl.ts**:交互式 REPL
|
|
96
|
-
|
|
97
|
-
#### 2.2.4 桌面端(electron/)
|
|
98
|
-
|
|
99
|
-
- **main.js**:Electron 主进程,窗口管理、服务器启动、IPC 通信
|
|
100
|
-
- **preload.js**:预加载脚本,安全暴露 API 给渲染进程
|
|
101
|
-
|
|
102
|
-
#### 2.2.5 本地语音识别(funasr-server/)
|
|
103
|
-
|
|
104
|
-
- **app.py**:FastAPI 服务,基于 faster-whisper
|
|
105
|
-
- **requirements.txt**:Python 依赖
|
|
106
|
-
- **启动语音识别服务.bat**:Windows 一键启动
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 3. 核心机制
|
|
111
|
-
|
|
112
|
-
### 3.1 任务执行流程
|
|
113
|
-
|
|
114
|
-
1. **任务提交**:用户通过 Web/桌面/CLI 提交任务
|
|
115
|
-
2. **任务入队**:TaskQueue 接收任务,设置状态为 queued
|
|
116
|
-
3. **任务执行**:并发控制下取出任务,调用 Orchestrator
|
|
117
|
-
4. **编排循环**:Orchestrator 管理模型调用、工具执行、结果验证
|
|
118
|
-
5. **错误恢复**:连续错误触发 self-heal,生成修复建议并重试
|
|
119
|
-
6. **任务完成**:结果持久化,触发 webhook/通知
|
|
120
|
-
|
|
121
|
-
### 3.2 对话流渲染机制
|
|
122
|
-
|
|
123
|
-
- **conversation**:完整对话历史,上限 300 条
|
|
124
|
-
- **steps**:思维链路步骤,上限 500 条
|
|
125
|
-
- **实时轮询**:前端每 1 秒轮询任务状态
|
|
126
|
-
- **纯文本输出**:前端 stripMarkdown 硬防线,剥离所有格式符号
|
|
127
|
-
- **思考过程展示**:从 steps 中提取 model.response 内容实时显示
|
|
128
|
-
|
|
129
|
-
### 3.3 自我修复机制
|
|
130
|
-
|
|
131
|
-
- **错误分类**:compile-error / runtime-error / build-error / timeout 等 11 类
|
|
132
|
-
- **连续错误检测**:遍历所有连续错误消息分类记录
|
|
133
|
-
- **修复建议生成**:基于错误类型生成具体排查步骤
|
|
134
|
-
- **最大重试次数**:默认 3 次,可配置
|
|
135
|
-
- **结构化报告**:错误类型 + 最后错误 + 修复建议 + 下一步操作
|
|
136
|
-
|
|
137
|
-
### 3.4 权限与安全
|
|
138
|
-
|
|
139
|
-
- **RBAC 权限**:读范围、写权限、Shell 权限、网络权限、浏览器权限
|
|
140
|
-
- **工作区隔离**:文件操作限制在工作区范围内
|
|
141
|
-
- **审计日志**:所有操作记录到 event-log
|
|
142
|
-
- **安全审批**:危险操作需要用户确认
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 4. API 接口
|
|
147
|
-
|
|
148
|
-
### 4.1 核心 API
|
|
149
|
-
|
|
150
|
-
| 方法 | 路径 | 说明 |
|
|
151
|
-
|------|------|------|
|
|
152
|
-
| GET | /api/health | 健康检查 |
|
|
153
|
-
| POST | /api/auth/login | 登录 |
|
|
154
|
-
| GET | /api/tasks | 任务列表 |
|
|
155
|
-
| POST | /api/tasks | 创建任务 |
|
|
156
|
-
| GET | /api/tasks/:id | 任务详情 |
|
|
157
|
-
| POST | /api/tasks/:id/cancel | 取消任务 |
|
|
158
|
-
| DELETE | /api/tasks/:id | 删除任务 |
|
|
159
|
-
| POST | /api/tasks/:id/continue | 继续任务 |
|
|
160
|
-
| GET | /api/models | 可用模型列表 |
|
|
161
|
-
| POST | /api/computer/screenshot | 电脑截图 |
|
|
162
|
-
| POST | /api/computer/mouse/move | 鼠标移动 |
|
|
163
|
-
| POST | /api/computer/mouse/click | 鼠标点击 |
|
|
164
|
-
| POST | /api/computer/keyboard/type | 键盘输入 |
|
|
165
|
-
| POST | /api/computer/keyboard/press | 按键 |
|
|
166
|
-
|
|
167
|
-
### 4.2 本地语音识别 API
|
|
168
|
-
|
|
169
|
-
| 方法 | 路径 | 说明 |
|
|
170
|
-
|------|------|------|
|
|
171
|
-
| GET | /health | 健康检查 |
|
|
172
|
-
| POST | /api/recognize | 语音识别(文件上传) |
|
|
173
|
-
| POST | /api/recognize-bytes | 语音识别(字节流) |
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## 5. 部署方式
|
|
178
|
-
|
|
179
|
-
### 5.1 npm 全局安装
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
npm install -g feihong-code
|
|
183
|
-
fhcode serve
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### 5.2 源码部署
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
git clone https://github.com/wch887292/feihong-code.git
|
|
190
|
-
cd feihong-code
|
|
191
|
-
npm install
|
|
192
|
-
npm run build
|
|
193
|
-
node dist/cli/index.js serve
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### 5.3 桌面版
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
# 一键启动
|
|
200
|
-
双击 一键启动桌面版.bat
|
|
201
|
-
|
|
202
|
-
# 或手动
|
|
203
|
-
npm run build
|
|
204
|
-
npm run electron
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### 5.4 本地语音识别服务
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
cd funasr-server
|
|
211
|
-
双击 启动语音识别服务.bat
|
|
212
|
-
# 服务地址:http://localhost:8082
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## 6. 配置说明
|
|
218
|
-
|
|
219
|
-
### 6.1 环境变量
|
|
220
|
-
|
|
221
|
-
| 变量 | 说明 | 默认值 |
|
|
222
|
-
|------|------|--------|
|
|
223
|
-
| FH_WEB_PORT | Web 服务端口 | 8080 |
|
|
224
|
-
| FH_WEB_TOKEN | 访问令牌 | 自动生成 |
|
|
225
|
-
| FH_HOME | 数据目录 | ~/.feihong-code |
|
|
226
|
-
| FH_TASK_CONCURRENCY | 任务并发数 | 2 |
|
|
227
|
-
| FH_TASK_PERSIST_DIR | 任务持久化目录 | FH_HOME/tasks |
|
|
228
|
-
| FH_TASK_WEBHOOK_URL | 任务 Webhook | - |
|
|
229
|
-
|
|
230
|
-
### 6.2 模型配置
|
|
231
|
-
|
|
232
|
-
支持多模型路由,可在 Web 控制台配置:
|
|
233
|
-
- DeepSeek(deepseek-chat / deepseek-coder)
|
|
234
|
-
- 通义千问(qwen-turbo / qwen-max)
|
|
235
|
-
- Ollama(本地模型)
|
|
236
|
-
- OpenAI 兼容接口
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## 7. 扩展开发
|
|
241
|
-
|
|
242
|
-
### 7.1 新增工具
|
|
243
|
-
|
|
244
|
-
在 `src/agent/tools/` 下新增工具定义,遵循 Zod schema 规范。
|
|
245
|
-
|
|
246
|
-
### 7.2 新增技能
|
|
247
|
-
|
|
248
|
-
在工作区 `.feihong/skills/` 下创建技能目录,包含 SKILL.md 和脚本。
|
|
249
|
-
|
|
250
|
-
### 7.3 插件系统
|
|
251
|
-
|
|
252
|
-
模板库支持自定义来源,通过节点连接外部插件系统。
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## 8. 性能指标
|
|
257
|
-
|
|
258
|
-
| 指标 | 数值 |
|
|
259
|
-
|------|------|
|
|
260
|
-
| 启动时间 | < 3 秒 |
|
|
261
|
-
| 任务并发 | 默认 2,可配置 |
|
|
262
|
-
| 对话历史 | 300 条 |
|
|
263
|
-
| 思维步骤 | 500 条 |
|
|
264
|
-
| 前端轮询间隔 | 1 秒 |
|
|
265
|
-
| 构建时间 | < 10 秒 |
|
|
266
|
-
| 桌面版内存 | ~200MB |
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## 9. 目录结构
|
|
271
|
-
|
|
272
|
-
```
|
|
273
|
-
feihong-code/
|
|
274
|
-
├── src/ # 源码
|
|
275
|
-
│ ├── agent/ # Agent 核心
|
|
276
|
-
│ ├── cli/ # CLI 命令行
|
|
277
|
-
│ ├── models/ # 模型抽象
|
|
278
|
-
│ ├── runtime/ # 运行时
|
|
279
|
-
│ ├── shared/ # 共享工具
|
|
280
|
-
│ └── web/ # Web 服务
|
|
281
|
-
├── electron/ # Electron 桌面端
|
|
282
|
-
├── funasr-server/ # 本地语音识别服务
|
|
283
|
-
├── docs/ # 文档
|
|
284
|
-
├── dist/ # 构建输出
|
|
285
|
-
├── package.json
|
|
286
|
-
├── tool-schema.json
|
|
287
|
-
└── README.md
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
*晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心*
|
|
1
|
+
# 飞虹 Code v7.0.0 技术说明书
|
|
2
|
+
|
|
3
|
+
**版本**:7.0.0
|
|
4
|
+
**日期**:2026年8月24日
|
|
5
|
+
**研发团队**:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. 产品概述
|
|
10
|
+
|
|
11
|
+
飞虹 Code(feihong-code)是一款终端 AI 编程智能体,对标 Muse Code / Cursor CLI,支持多模型路由、企业级 RBAC 审计、全自动 SWE Agent,支持离线私有化部署。
|
|
12
|
+
|
|
13
|
+
### 1.1 核心能力
|
|
14
|
+
|
|
15
|
+
- 自然语言到代码变更:将用户需求转化为真实、可验证的代码仓库变更
|
|
16
|
+
- 多模型路由:支持 DeepSeek、通义千问、Ollama、OpenAI 等多种模型
|
|
17
|
+
- 全自动 SWE Agent:自主规划、执行、验证、修复
|
|
18
|
+
- 企业级安全:RBAC 权限、审计日志、工作区隔离
|
|
19
|
+
- 全平台支持:Web 控制台、Electron 桌面版、CLI 命令行
|
|
20
|
+
|
|
21
|
+
### 1.2 技术栈
|
|
22
|
+
|
|
23
|
+
| 层级 | 技术 | 版本 |
|
|
24
|
+
|------|------|------|
|
|
25
|
+
| 运行时 | Node.js | 18+ |
|
|
26
|
+
| 语言 | TypeScript | 5.x |
|
|
27
|
+
| Web 框架 | Express | 4.x |
|
|
28
|
+
| 数据校验 | Zod | 3.x |
|
|
29
|
+
| 前端 | 原生 HTML/CSS/JS | - |
|
|
30
|
+
| 桌面端 | Electron | 41.x |
|
|
31
|
+
| 打包 | electron-builder | 26.x |
|
|
32
|
+
| 构建 | tsc | 5.x |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. 系统架构
|
|
37
|
+
|
|
38
|
+
### 2.1 整体架构
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
┌─────────────────────────────────────────────────┐
|
|
42
|
+
│ 用户界面层 │
|
|
43
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
44
|
+
│ │ Web 控制台 │ │ 桌面版 │ │ CLI 命令行 │ │
|
|
45
|
+
│ └────┬─────┘ └────┬─────┘ └──────┬───────┘ │
|
|
46
|
+
└───────┼─────────────┼───────────────┼──────────┘
|
|
47
|
+
│ │ │
|
|
48
|
+
└─────────────┼───────────────┘
|
|
49
|
+
│
|
|
50
|
+
┌───────▼───────┐
|
|
51
|
+
│ Express API │
|
|
52
|
+
│ 服务层 │
|
|
53
|
+
└───────┬───────┘
|
|
54
|
+
│
|
|
55
|
+
┌─────────────┼─────────────┐
|
|
56
|
+
│ │ │
|
|
57
|
+
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
|
|
58
|
+
│ 任务队列 │ │ 模型路由 │ │ 权限审计 │
|
|
59
|
+
│ TaskQueue │ │ Router │ │ Security │
|
|
60
|
+
└─────┬─────┘ └─────┬─────┘ └───────────┘
|
|
61
|
+
│ │
|
|
62
|
+
┌─────▼─────────────▼─────┐
|
|
63
|
+
│ SWE Agent 编排层 │
|
|
64
|
+
│ Orchestrator │
|
|
65
|
+
└─────┬───────────────────┘
|
|
66
|
+
│
|
|
67
|
+
┌─────▼───────────────────┐
|
|
68
|
+
│ 工具执行层 │
|
|
69
|
+
│ 文件操作 / Shell / 浏览器│
|
|
70
|
+
└─────────────────────────┘
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 2.2 核心模块
|
|
74
|
+
|
|
75
|
+
#### 2.2.1 Agent 编排层(src/agent/)
|
|
76
|
+
|
|
77
|
+
- **orchestrator.ts**:核心编排器,管理对话循环、工具调用、错误恢复
|
|
78
|
+
- **prompts.ts**:系统提示词,定义 AI 行为边界和能力要求
|
|
79
|
+
- **self-heal.ts**:自我修复模块,错误分类、修复建议生成
|
|
80
|
+
- **code-writer.ts**:代码生成模块
|
|
81
|
+
- **swe-agent.ts**:SWE Agent 实现
|
|
82
|
+
- **experience.ts**:经验检索与复用
|
|
83
|
+
|
|
84
|
+
#### 2.2.2 Web 服务层(src/web/)
|
|
85
|
+
|
|
86
|
+
- **server.ts**:Express 服务,API 路由、静态文件服务
|
|
87
|
+
- **task-queue.ts**:任务队列,并发控制、任务持久化、状态管理
|
|
88
|
+
- **public/**:前端静态资源(HTML/CSS/JS)
|
|
89
|
+
|
|
90
|
+
#### 2.2.3 CLI 层(src/cli/)
|
|
91
|
+
|
|
92
|
+
- **index.ts**:CLI 入口,命令解析
|
|
93
|
+
- **commands.ts**:命令实现(serve/run/init 等)
|
|
94
|
+
- **version.ts**:版本号集中定义
|
|
95
|
+
- **repl.ts**:交互式 REPL
|
|
96
|
+
|
|
97
|
+
#### 2.2.4 桌面端(electron/)
|
|
98
|
+
|
|
99
|
+
- **main.js**:Electron 主进程,窗口管理、服务器启动、IPC 通信
|
|
100
|
+
- **preload.js**:预加载脚本,安全暴露 API 给渲染进程
|
|
101
|
+
|
|
102
|
+
#### 2.2.5 本地语音识别(funasr-server/)
|
|
103
|
+
|
|
104
|
+
- **app.py**:FastAPI 服务,基于 faster-whisper
|
|
105
|
+
- **requirements.txt**:Python 依赖
|
|
106
|
+
- **启动语音识别服务.bat**:Windows 一键启动
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 3. 核心机制
|
|
111
|
+
|
|
112
|
+
### 3.1 任务执行流程
|
|
113
|
+
|
|
114
|
+
1. **任务提交**:用户通过 Web/桌面/CLI 提交任务
|
|
115
|
+
2. **任务入队**:TaskQueue 接收任务,设置状态为 queued
|
|
116
|
+
3. **任务执行**:并发控制下取出任务,调用 Orchestrator
|
|
117
|
+
4. **编排循环**:Orchestrator 管理模型调用、工具执行、结果验证
|
|
118
|
+
5. **错误恢复**:连续错误触发 self-heal,生成修复建议并重试
|
|
119
|
+
6. **任务完成**:结果持久化,触发 webhook/通知
|
|
120
|
+
|
|
121
|
+
### 3.2 对话流渲染机制
|
|
122
|
+
|
|
123
|
+
- **conversation**:完整对话历史,上限 300 条
|
|
124
|
+
- **steps**:思维链路步骤,上限 500 条
|
|
125
|
+
- **实时轮询**:前端每 1 秒轮询任务状态
|
|
126
|
+
- **纯文本输出**:前端 stripMarkdown 硬防线,剥离所有格式符号
|
|
127
|
+
- **思考过程展示**:从 steps 中提取 model.response 内容实时显示
|
|
128
|
+
|
|
129
|
+
### 3.3 自我修复机制
|
|
130
|
+
|
|
131
|
+
- **错误分类**:compile-error / runtime-error / build-error / timeout 等 11 类
|
|
132
|
+
- **连续错误检测**:遍历所有连续错误消息分类记录
|
|
133
|
+
- **修复建议生成**:基于错误类型生成具体排查步骤
|
|
134
|
+
- **最大重试次数**:默认 3 次,可配置
|
|
135
|
+
- **结构化报告**:错误类型 + 最后错误 + 修复建议 + 下一步操作
|
|
136
|
+
|
|
137
|
+
### 3.4 权限与安全
|
|
138
|
+
|
|
139
|
+
- **RBAC 权限**:读范围、写权限、Shell 权限、网络权限、浏览器权限
|
|
140
|
+
- **工作区隔离**:文件操作限制在工作区范围内
|
|
141
|
+
- **审计日志**:所有操作记录到 event-log
|
|
142
|
+
- **安全审批**:危险操作需要用户确认
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 4. API 接口
|
|
147
|
+
|
|
148
|
+
### 4.1 核心 API
|
|
149
|
+
|
|
150
|
+
| 方法 | 路径 | 说明 |
|
|
151
|
+
|------|------|------|
|
|
152
|
+
| GET | /api/health | 健康检查 |
|
|
153
|
+
| POST | /api/auth/login | 登录 |
|
|
154
|
+
| GET | /api/tasks | 任务列表 |
|
|
155
|
+
| POST | /api/tasks | 创建任务 |
|
|
156
|
+
| GET | /api/tasks/:id | 任务详情 |
|
|
157
|
+
| POST | /api/tasks/:id/cancel | 取消任务 |
|
|
158
|
+
| DELETE | /api/tasks/:id | 删除任务 |
|
|
159
|
+
| POST | /api/tasks/:id/continue | 继续任务 |
|
|
160
|
+
| GET | /api/models | 可用模型列表 |
|
|
161
|
+
| POST | /api/computer/screenshot | 电脑截图 |
|
|
162
|
+
| POST | /api/computer/mouse/move | 鼠标移动 |
|
|
163
|
+
| POST | /api/computer/mouse/click | 鼠标点击 |
|
|
164
|
+
| POST | /api/computer/keyboard/type | 键盘输入 |
|
|
165
|
+
| POST | /api/computer/keyboard/press | 按键 |
|
|
166
|
+
|
|
167
|
+
### 4.2 本地语音识别 API
|
|
168
|
+
|
|
169
|
+
| 方法 | 路径 | 说明 |
|
|
170
|
+
|------|------|------|
|
|
171
|
+
| GET | /health | 健康检查 |
|
|
172
|
+
| POST | /api/recognize | 语音识别(文件上传) |
|
|
173
|
+
| POST | /api/recognize-bytes | 语音识别(字节流) |
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 5. 部署方式
|
|
178
|
+
|
|
179
|
+
### 5.1 npm 全局安装
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
npm install -g feihong-code
|
|
183
|
+
fhcode serve
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 5.2 源码部署
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
git clone https://github.com/wch887292/feihong-code.git
|
|
190
|
+
cd feihong-code
|
|
191
|
+
npm install
|
|
192
|
+
npm run build
|
|
193
|
+
node dist/cli/index.js serve
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 5.3 桌面版
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# 一键启动
|
|
200
|
+
双击 一键启动桌面版.bat
|
|
201
|
+
|
|
202
|
+
# 或手动
|
|
203
|
+
npm run build
|
|
204
|
+
npm run electron
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### 5.4 本地语音识别服务
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
cd funasr-server
|
|
211
|
+
双击 启动语音识别服务.bat
|
|
212
|
+
# 服务地址:http://localhost:8082
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 6. 配置说明
|
|
218
|
+
|
|
219
|
+
### 6.1 环境变量
|
|
220
|
+
|
|
221
|
+
| 变量 | 说明 | 默认值 |
|
|
222
|
+
|------|------|--------|
|
|
223
|
+
| FH_WEB_PORT | Web 服务端口 | 8080 |
|
|
224
|
+
| FH_WEB_TOKEN | 访问令牌 | 自动生成 |
|
|
225
|
+
| FH_HOME | 数据目录 | ~/.feihong-code |
|
|
226
|
+
| FH_TASK_CONCURRENCY | 任务并发数 | 2 |
|
|
227
|
+
| FH_TASK_PERSIST_DIR | 任务持久化目录 | FH_HOME/tasks |
|
|
228
|
+
| FH_TASK_WEBHOOK_URL | 任务 Webhook | - |
|
|
229
|
+
|
|
230
|
+
### 6.2 模型配置
|
|
231
|
+
|
|
232
|
+
支持多模型路由,可在 Web 控制台配置:
|
|
233
|
+
- DeepSeek(deepseek-chat / deepseek-coder)
|
|
234
|
+
- 通义千问(qwen-turbo / qwen-max)
|
|
235
|
+
- Ollama(本地模型)
|
|
236
|
+
- OpenAI 兼容接口
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 7. 扩展开发
|
|
241
|
+
|
|
242
|
+
### 7.1 新增工具
|
|
243
|
+
|
|
244
|
+
在 `src/agent/tools/` 下新增工具定义,遵循 Zod schema 规范。
|
|
245
|
+
|
|
246
|
+
### 7.2 新增技能
|
|
247
|
+
|
|
248
|
+
在工作区 `.feihong/skills/` 下创建技能目录,包含 SKILL.md 和脚本。
|
|
249
|
+
|
|
250
|
+
### 7.3 插件系统
|
|
251
|
+
|
|
252
|
+
模板库支持自定义来源,通过节点连接外部插件系统。
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 8. 性能指标
|
|
257
|
+
|
|
258
|
+
| 指标 | 数值 |
|
|
259
|
+
|------|------|
|
|
260
|
+
| 启动时间 | < 3 秒 |
|
|
261
|
+
| 任务并发 | 默认 2,可配置 |
|
|
262
|
+
| 对话历史 | 300 条 |
|
|
263
|
+
| 思维步骤 | 500 条 |
|
|
264
|
+
| 前端轮询间隔 | 1 秒 |
|
|
265
|
+
| 构建时间 | < 10 秒 |
|
|
266
|
+
| 桌面版内存 | ~200MB |
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 9. 目录结构
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
feihong-code/
|
|
274
|
+
├── src/ # 源码
|
|
275
|
+
│ ├── agent/ # Agent 核心
|
|
276
|
+
│ ├── cli/ # CLI 命令行
|
|
277
|
+
│ ├── models/ # 模型抽象
|
|
278
|
+
│ ├── runtime/ # 运行时
|
|
279
|
+
│ ├── shared/ # 共享工具
|
|
280
|
+
│ └── web/ # Web 服务
|
|
281
|
+
├── electron/ # Electron 桌面端
|
|
282
|
+
├── funasr-server/ # 本地语音识别服务
|
|
283
|
+
├── docs/ # 文档
|
|
284
|
+
├── dist/ # 构建输出
|
|
285
|
+
├── package.json
|
|
286
|
+
├── tool-schema.json
|
|
287
|
+
└── README.md
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
*晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心*
|