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
package/dist/shared/i18n.js
CHANGED
|
@@ -52,56 +52,56 @@ const ZH = {
|
|
|
52
52
|
'app.tagline': '终端 AI 编程智能体(Muse Code 参照复刻)',
|
|
53
53
|
'app.signature': '晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹',
|
|
54
54
|
'cli.brand': '[飞虹 Code]',
|
|
55
|
-
'cli.help': `飞虹 Code (fhcode) v{version}
|
|
56
|
-
|
|
57
|
-
用法:
|
|
58
|
-
fhcode 进入交互 REPL
|
|
59
|
-
fhcode "<需求>" 单命令模式执行一条需求
|
|
60
|
-
fhcode --parallel "<需求>" 多子代理并行(M2:git worktree 隔离)
|
|
61
|
-
fhcode /plan "<目标>" 生成实现计划(只读)
|
|
62
|
-
fhcode /grill [路径] 红队式代码审查(只读)
|
|
63
|
-
fhcode /goal "<目标>" 分解并保存高层目标
|
|
64
|
-
fhcode sessions 列出历史会话(M3 恢复与审计)
|
|
65
|
-
fhcode resume <id> 从检查点恢复中断的会话(M3)
|
|
66
|
-
fhcode diff [<id>] 展示会话/工作区变更(M3)
|
|
67
|
-
fhcode rollback <id> [--yes] 回滚会话改动(M3,危险操作需 --yes)
|
|
68
|
-
|
|
69
|
-
企业能力 (M4):
|
|
70
|
-
fhcode whoami 当前租户 / 用户 / 角色 / 隔离目录 / 配额
|
|
71
|
-
fhcode policy 查看生效的 RBAC 策略与角色矩阵
|
|
72
|
-
fhcode audit [--limit N] 查看审计记录(默认最近 20 条)
|
|
73
|
-
fhcode audit verify 校验审计哈希链是否被篡改
|
|
74
|
-
fhcode tenants 列出全部租户与用量汇总
|
|
75
|
-
fhcode doctor 环境自检(版本/git/provider/路径/网络)
|
|
76
|
-
|
|
77
|
-
自我进化 (M6):
|
|
78
|
-
fhcode model-stats 查看各模型性能统计
|
|
79
|
-
fhcode experiences [路径] 列出经验库
|
|
80
|
-
|
|
81
|
-
Web 控制台 (M5):
|
|
82
|
-
fhcode serve [--port 8080] 启动 Web 管理控制台(默认 http://localhost:8080)
|
|
83
|
-
令牌由 FH_WEB_TOKEN 或自动生成(控制台仅观测,不执行)
|
|
84
|
-
|
|
85
|
-
自主编程 (M8):
|
|
86
|
-
fhcode code-write "<目标>" 自主编写代码(规划→编写→测试→审查→修复)
|
|
87
|
-
fhcode quality-gate [路径] 质量门禁审查(安全+质量+测试覆盖)
|
|
88
|
-
fhcode self-improve 自我改进统计与历史
|
|
89
|
-
|
|
90
|
-
全自动软件工程 Agent (M9):
|
|
91
|
-
fhcode swe "<目标>" 读取仓库→拆解规划→实现+验证+自愈→报告
|
|
92
|
-
--repo <路径> 指定仓库(默认当前目录)
|
|
93
|
-
--plan-only 仅规划不执行
|
|
94
|
-
--verify-only 仅跑验证不实现
|
|
95
|
-
--max-tasks N 限制子任务数(默认8)
|
|
96
|
-
--max-retries N 单任务自愈重试(默认2)
|
|
97
|
-
|
|
98
|
-
fhcode --version 显示版本 (-v)
|
|
99
|
-
fhcode --help 显示帮助 (-h)
|
|
100
|
-
fhcode --lang <zh|en> 设置界面语言(中文/英文)
|
|
101
|
-
|
|
102
|
-
说明: 未配置 FH_PROVIDERS 时自动进入离线模式(脚本化 Mock 驱动闭环验证)。
|
|
103
|
-
配置 FH_PROVIDERS(OpenAI 兼容 / Ollama)后,将调用真实大模型执行任务。
|
|
104
|
-
企业模式默认开启(租户隔离 + RBAC + 审计链 + 配额),可用 FH_ENTERPRISE=false 关闭。
|
|
55
|
+
'cli.help': `飞虹 Code (fhcode) v{version}
|
|
56
|
+
|
|
57
|
+
用法:
|
|
58
|
+
fhcode 进入交互 REPL
|
|
59
|
+
fhcode "<需求>" 单命令模式执行一条需求
|
|
60
|
+
fhcode --parallel "<需求>" 多子代理并行(M2:git worktree 隔离)
|
|
61
|
+
fhcode /plan "<目标>" 生成实现计划(只读)
|
|
62
|
+
fhcode /grill [路径] 红队式代码审查(只读)
|
|
63
|
+
fhcode /goal "<目标>" 分解并保存高层目标
|
|
64
|
+
fhcode sessions 列出历史会话(M3 恢复与审计)
|
|
65
|
+
fhcode resume <id> 从检查点恢复中断的会话(M3)
|
|
66
|
+
fhcode diff [<id>] 展示会话/工作区变更(M3)
|
|
67
|
+
fhcode rollback <id> [--yes] 回滚会话改动(M3,危险操作需 --yes)
|
|
68
|
+
|
|
69
|
+
企业能力 (M4):
|
|
70
|
+
fhcode whoami 当前租户 / 用户 / 角色 / 隔离目录 / 配额
|
|
71
|
+
fhcode policy 查看生效的 RBAC 策略与角色矩阵
|
|
72
|
+
fhcode audit [--limit N] 查看审计记录(默认最近 20 条)
|
|
73
|
+
fhcode audit verify 校验审计哈希链是否被篡改
|
|
74
|
+
fhcode tenants 列出全部租户与用量汇总
|
|
75
|
+
fhcode doctor 环境自检(版本/git/provider/路径/网络)
|
|
76
|
+
|
|
77
|
+
自我进化 (M6):
|
|
78
|
+
fhcode model-stats 查看各模型性能统计
|
|
79
|
+
fhcode experiences [路径] 列出经验库
|
|
80
|
+
|
|
81
|
+
Web 控制台 (M5):
|
|
82
|
+
fhcode serve [--port 8080] 启动 Web 管理控制台(默认 http://localhost:8080)
|
|
83
|
+
令牌由 FH_WEB_TOKEN 或自动生成(控制台仅观测,不执行)
|
|
84
|
+
|
|
85
|
+
自主编程 (M8):
|
|
86
|
+
fhcode code-write "<目标>" 自主编写代码(规划→编写→测试→审查→修复)
|
|
87
|
+
fhcode quality-gate [路径] 质量门禁审查(安全+质量+测试覆盖)
|
|
88
|
+
fhcode self-improve 自我改进统计与历史
|
|
89
|
+
|
|
90
|
+
全自动软件工程 Agent (M9):
|
|
91
|
+
fhcode swe "<目标>" 读取仓库→拆解规划→实现+验证+自愈→报告
|
|
92
|
+
--repo <路径> 指定仓库(默认当前目录)
|
|
93
|
+
--plan-only 仅规划不执行
|
|
94
|
+
--verify-only 仅跑验证不实现
|
|
95
|
+
--max-tasks N 限制子任务数(默认8)
|
|
96
|
+
--max-retries N 单任务自愈重试(默认2)
|
|
97
|
+
|
|
98
|
+
fhcode --version 显示版本 (-v)
|
|
99
|
+
fhcode --help 显示帮助 (-h)
|
|
100
|
+
fhcode --lang <zh|en> 设置界面语言(中文/英文)
|
|
101
|
+
|
|
102
|
+
说明: 未配置 FH_PROVIDERS 时自动进入离线模式(脚本化 Mock 驱动闭环验证)。
|
|
103
|
+
配置 FH_PROVIDERS(OpenAI 兼容 / Ollama)后,将调用真实大模型执行任务。
|
|
104
|
+
企业模式默认开启(租户隔离 + RBAC + 审计链 + 配额),可用 FH_ENTERPRISE=false 关闭。
|
|
105
105
|
署名: {signature}`,
|
|
106
106
|
'repl.welcome': '飞虹 Code REPL(输入需求回车执行,exit 退出)',
|
|
107
107
|
'repl.hint': '提示:未配置 FH_PROVIDERS 时自动离线模式运行;支持 /plan /grill /goal 技能。\n',
|
|
@@ -180,8 +180,12 @@ Web 控制台 (M5):
|
|
|
180
180
|
'doctor.home': '主目录可写',
|
|
181
181
|
'doctor.sandbox': '沙箱模式',
|
|
182
182
|
'doctor.sandboxUnavailable': '(配置不可用)',
|
|
183
|
+
'doctor.docker': 'Docker 沙箱(container 档)',
|
|
183
184
|
'doctor.allOk': '✅ 环境就绪,无异常项',
|
|
184
185
|
'doctor.issues': '⚠️ 发现 {n} 项异常,请根据提示处理',
|
|
186
|
+
'skillMarket.localSeed': '(网络不可达,已使用本地种子源 templates/market/index.json)',
|
|
187
|
+
'skillMarket.registered': '✅ 已自动注册到本地技能索引(当前共 {n} 个技能)',
|
|
188
|
+
'skillMarket.notRegisteredWarn': '⚠️ 技能已安装但未被本地索引发现:{name}(请检查 SKILL.md 格式)',
|
|
185
189
|
'plugin.installUsage': '用法: fhcode plugin install <本地目录|git URL>',
|
|
186
190
|
'plugin.installed': '✅ 插件已安装: {name}({dir})',
|
|
187
191
|
'plugin.installFailed': '❌ 插件安装失败: ',
|
|
@@ -284,56 +288,56 @@ const EN = {
|
|
|
284
288
|
'app.tagline': 'Terminal AI coding agent (a Muse Code reimplementation)',
|
|
285
289
|
'app.signature': 'Jinjiang Feihongzhi Tech Enterprise Management Co., Ltd. · Feiyang Qiyuan R&D Center · Lead: Wu Cihong',
|
|
286
290
|
'cli.brand': '[fhcode]',
|
|
287
|
-
'cli.help': `fhcode (Feihong Code) v{version}
|
|
288
|
-
|
|
289
|
-
Usage:
|
|
290
|
-
fhcode Enter interactive REPL
|
|
291
|
-
fhcode "<request>" Run a single request
|
|
292
|
-
fhcode --parallel "<request>" Multi-subagent parallel mode (M2: git worktree isolation)
|
|
293
|
-
fhcode /plan "<goal>" Generate an implementation plan (read-only)
|
|
294
|
-
fhcode /grill [path] Red-team code review (read-only)
|
|
295
|
-
fhcode /goal "<goal>" Decompose and save a high-level goal
|
|
296
|
-
fhcode sessions List historical sessions (M3 resume & audit)
|
|
297
|
-
fhcode resume <id> Resume an interrupted session from checkpoint (M3)
|
|
298
|
-
fhcode diff [<id>] Show session/workspace diff (M3)
|
|
299
|
-
fhcode rollback <id> [--yes] Roll back session changes (M3, destructive, needs --yes)
|
|
300
|
-
|
|
301
|
-
Enterprise (M4):
|
|
302
|
-
fhcode whoami Current tenant / user / role / isolated dir / quota
|
|
303
|
-
fhcode policy Show active RBAC policy & role matrix
|
|
304
|
-
fhcode audit [--limit N] View audit records (last 20 by default)
|
|
305
|
-
fhcode audit verify Verify audit hash-chain integrity
|
|
306
|
-
fhcode tenants List all tenants & usage summary
|
|
307
|
-
fhcode doctor Environment self-check (version/git/providers/paths/network)
|
|
308
|
-
|
|
309
|
-
Self-evolution (M6):
|
|
310
|
-
fhcode model-stats View per-model performance stats
|
|
311
|
-
fhcode experiences [path] List the experience library
|
|
312
|
-
|
|
313
|
-
Web console (M5):
|
|
314
|
-
fhcode serve [--port 8080] Start the Web console (default http://localhost:8080)
|
|
315
|
-
Token from FH_WEB_TOKEN or auto-generated (observe-only)
|
|
316
|
-
|
|
317
|
-
Autonomous coding (M8):
|
|
318
|
-
fhcode code-write "<goal>" Autonomous code writing (plan→write→test→review→fix)
|
|
319
|
-
fhcode quality-gate [path] Quality-gate review (security+quality+test coverage)
|
|
320
|
-
fhcode self-improve Self-improvement stats & history
|
|
321
|
-
|
|
322
|
-
Autonomous SWE Agent (M9):
|
|
323
|
-
fhcode swe "<goal>" Read repo→plan→implement+verify+self-heal→report
|
|
324
|
-
--repo <path> target repo (default cwd)
|
|
325
|
-
--plan-only plan only, no execution
|
|
326
|
-
--verify-only verification only, no implementation
|
|
327
|
-
--max-tasks N max subtasks (default 8)
|
|
328
|
-
--max-retries N self-heal retries per task (default 2)
|
|
329
|
-
|
|
330
|
-
fhcode --version Show version (-v)
|
|
331
|
-
fhcode --help Show help (-h)
|
|
332
|
-
fhcode --lang <zh|en> Set UI language (Chinese / English)
|
|
333
|
-
|
|
334
|
-
Notes: offline mode is used automatically when FH_PROVIDERS is unset (scripted Mock drives the loop).
|
|
335
|
-
With FH_PROVIDERS (OpenAI-compatible / Ollama) configured, real LLMs run the tasks.
|
|
336
|
-
Enterprise mode is on by default (tenant isolation + RBAC + audit chain + quota); disable with FH_ENTERPRISE=false.
|
|
291
|
+
'cli.help': `fhcode (Feihong Code) v{version}
|
|
292
|
+
|
|
293
|
+
Usage:
|
|
294
|
+
fhcode Enter interactive REPL
|
|
295
|
+
fhcode "<request>" Run a single request
|
|
296
|
+
fhcode --parallel "<request>" Multi-subagent parallel mode (M2: git worktree isolation)
|
|
297
|
+
fhcode /plan "<goal>" Generate an implementation plan (read-only)
|
|
298
|
+
fhcode /grill [path] Red-team code review (read-only)
|
|
299
|
+
fhcode /goal "<goal>" Decompose and save a high-level goal
|
|
300
|
+
fhcode sessions List historical sessions (M3 resume & audit)
|
|
301
|
+
fhcode resume <id> Resume an interrupted session from checkpoint (M3)
|
|
302
|
+
fhcode diff [<id>] Show session/workspace diff (M3)
|
|
303
|
+
fhcode rollback <id> [--yes] Roll back session changes (M3, destructive, needs --yes)
|
|
304
|
+
|
|
305
|
+
Enterprise (M4):
|
|
306
|
+
fhcode whoami Current tenant / user / role / isolated dir / quota
|
|
307
|
+
fhcode policy Show active RBAC policy & role matrix
|
|
308
|
+
fhcode audit [--limit N] View audit records (last 20 by default)
|
|
309
|
+
fhcode audit verify Verify audit hash-chain integrity
|
|
310
|
+
fhcode tenants List all tenants & usage summary
|
|
311
|
+
fhcode doctor Environment self-check (version/git/providers/paths/network)
|
|
312
|
+
|
|
313
|
+
Self-evolution (M6):
|
|
314
|
+
fhcode model-stats View per-model performance stats
|
|
315
|
+
fhcode experiences [path] List the experience library
|
|
316
|
+
|
|
317
|
+
Web console (M5):
|
|
318
|
+
fhcode serve [--port 8080] Start the Web console (default http://localhost:8080)
|
|
319
|
+
Token from FH_WEB_TOKEN or auto-generated (observe-only)
|
|
320
|
+
|
|
321
|
+
Autonomous coding (M8):
|
|
322
|
+
fhcode code-write "<goal>" Autonomous code writing (plan→write→test→review→fix)
|
|
323
|
+
fhcode quality-gate [path] Quality-gate review (security+quality+test coverage)
|
|
324
|
+
fhcode self-improve Self-improvement stats & history
|
|
325
|
+
|
|
326
|
+
Autonomous SWE Agent (M9):
|
|
327
|
+
fhcode swe "<goal>" Read repo→plan→implement+verify+self-heal→report
|
|
328
|
+
--repo <path> target repo (default cwd)
|
|
329
|
+
--plan-only plan only, no execution
|
|
330
|
+
--verify-only verification only, no implementation
|
|
331
|
+
--max-tasks N max subtasks (default 8)
|
|
332
|
+
--max-retries N self-heal retries per task (default 2)
|
|
333
|
+
|
|
334
|
+
fhcode --version Show version (-v)
|
|
335
|
+
fhcode --help Show help (-h)
|
|
336
|
+
fhcode --lang <zh|en> Set UI language (Chinese / English)
|
|
337
|
+
|
|
338
|
+
Notes: offline mode is used automatically when FH_PROVIDERS is unset (scripted Mock drives the loop).
|
|
339
|
+
With FH_PROVIDERS (OpenAI-compatible / Ollama) configured, real LLMs run the tasks.
|
|
340
|
+
Enterprise mode is on by default (tenant isolation + RBAC + audit chain + quota); disable with FH_ENTERPRISE=false.
|
|
337
341
|
Signature: {signature}`,
|
|
338
342
|
'repl.welcome': 'fhcode REPL (type a request and press Enter to run; type exit to quit)',
|
|
339
343
|
'repl.hint': 'Hint: offline mode is used automatically when FH_PROVIDERS is not configured; /plan /grill /goal skills supported.\n',
|
|
@@ -412,6 +416,7 @@ Signature: {signature}`,
|
|
|
412
416
|
'doctor.home': 'Home dir writable',
|
|
413
417
|
'doctor.sandbox': 'Sandbox mode',
|
|
414
418
|
'doctor.sandboxUnavailable': '(config unavailable)',
|
|
419
|
+
'doctor.docker': 'Docker sandbox (container mode)',
|
|
415
420
|
'doctor.allOk': '✅ Environment ready, no issues',
|
|
416
421
|
'doctor.issues': '⚠️ {n} issue(s) found, please fix them as suggested',
|
|
417
422
|
'plugin.installUsage': 'Usage: fhcode plugin install <local-dir|git-url>',
|
|
@@ -427,6 +432,9 @@ Signature: {signature}`,
|
|
|
427
432
|
'skillMarket.searchTitle': 'Market results for "{q}" ({n} found, source {base}):',
|
|
428
433
|
'skillMarket.installHint': 'Install: fhcode skill-market install <skill-name> [--repo <market-url>]',
|
|
429
434
|
'skillMarket.installUsage': 'Usage: fhcode skill-market install <skill-name> [--repo <market-url>]',
|
|
435
|
+
'skillMarket.localSeed': '(network unreachable, using local seed templates/market/index.json)',
|
|
436
|
+
'skillMarket.registered': '✅ auto-registered to local skill index (total {n} skills)',
|
|
437
|
+
'skillMarket.notRegisteredWarn': '⚠️ installed but NOT discovered by local index: {name} (check SKILL.md format)',
|
|
430
438
|
'skillMarket.notFound': '❌ Skill not found in market: {name}',
|
|
431
439
|
'skillMarket.installed': '✅ Skill installed: {name} ({dir}), auto-discovered in tasks',
|
|
432
440
|
'skillMarket.installFailed': '❌ Skill install failed: ',
|
package/dist/shared/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/shared/i18n.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/shared/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,62 +21,62 @@ const path_1 = require("path");
|
|
|
21
21
|
const logger_1 = require("../../shared/logger");
|
|
22
22
|
/** 生成 API 路由模板 */
|
|
23
23
|
function generateApiRoute(method, path, controller) {
|
|
24
|
-
const content = `import { Router, Request, Response } from 'express';
|
|
25
|
-
import { ${controller} } from '../controllers/${controller}';
|
|
26
|
-
|
|
27
|
-
const router = Router();
|
|
28
|
-
|
|
29
|
-
router.${method.toLowerCase()}('${path}', ${controller}.handle);
|
|
30
|
-
|
|
31
|
-
export default router;
|
|
24
|
+
const content = `import { Router, Request, Response } from 'express';
|
|
25
|
+
import { ${controller} } from '../controllers/${controller}';
|
|
26
|
+
|
|
27
|
+
const router = Router();
|
|
28
|
+
|
|
29
|
+
router.${method.toLowerCase()}('${path}', ${controller}.handle);
|
|
30
|
+
|
|
31
|
+
export default router;
|
|
32
32
|
`;
|
|
33
33
|
return { success: true, content };
|
|
34
34
|
}
|
|
35
35
|
/** 生成 Model 定义模板 */
|
|
36
36
|
function generateModel(name, fields) {
|
|
37
37
|
const fieldLines = Object.entries(fields).map(([k, t]) => ` ${k}: ${t};`).join('\n');
|
|
38
|
-
const content = `export interface ${name} {
|
|
39
|
-
${fieldLines}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export class ${name}Model {
|
|
43
|
-
// TODO: 实现数据库操作
|
|
44
|
-
}
|
|
38
|
+
const content = `export interface ${name} {
|
|
39
|
+
${fieldLines}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class ${name}Model {
|
|
43
|
+
// TODO: 实现数据库操作
|
|
44
|
+
}
|
|
45
45
|
`;
|
|
46
46
|
return { success: true, content };
|
|
47
47
|
}
|
|
48
48
|
/** 生成 Tool 模板 */
|
|
49
49
|
function generateToolTemplate(toolName) {
|
|
50
|
-
const content = `/**
|
|
51
|
-
* ${toolName} 工具(M7 自动生成)
|
|
52
|
-
*/
|
|
53
|
-
import type { ToolContext, ToolResult } from '../tool.interface';
|
|
54
|
-
|
|
55
|
-
export interface ${toolName}Args {
|
|
56
|
-
// TODO: 定义参数
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export async function execute${toolName}(
|
|
60
|
-
args: ${toolName}Args,
|
|
61
|
-
ctx: ToolContext,
|
|
62
|
-
): Promise<ToolResult> {
|
|
63
|
-
// TODO: 实现工具逻辑
|
|
64
|
-
return { ok: true, output: '...已执行' };
|
|
65
|
-
}
|
|
50
|
+
const content = `/**
|
|
51
|
+
* ${toolName} 工具(M7 自动生成)
|
|
52
|
+
*/
|
|
53
|
+
import type { ToolContext, ToolResult } from '../tool.interface';
|
|
54
|
+
|
|
55
|
+
export interface ${toolName}Args {
|
|
56
|
+
// TODO: 定义参数
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export async function execute${toolName}(
|
|
60
|
+
args: ${toolName}Args,
|
|
61
|
+
ctx: ToolContext,
|
|
62
|
+
): Promise<ToolResult> {
|
|
63
|
+
// TODO: 实现工具逻辑
|
|
64
|
+
return { ok: true, output: '...已执行' };
|
|
65
|
+
}
|
|
66
66
|
`;
|
|
67
67
|
return { success: true, content };
|
|
68
68
|
}
|
|
69
69
|
/** 生成测试文件模板 */
|
|
70
70
|
function generateTestTemplate(targetFile, functionName) {
|
|
71
|
-
const content = `import { describe, it, expect } from 'vitest';
|
|
72
|
-
import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
|
|
73
|
-
|
|
74
|
-
describe('${functionName}', () => {
|
|
75
|
-
it('should execute successfully', () => {
|
|
76
|
-
const result = ${functionName}({});
|
|
77
|
-
expect(result).toBeDefined();
|
|
78
|
-
});
|
|
79
|
-
});
|
|
71
|
+
const content = `import { describe, it, expect } from 'vitest';
|
|
72
|
+
import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
|
|
73
|
+
|
|
74
|
+
describe('${functionName}', () => {
|
|
75
|
+
it('should execute successfully', () => {
|
|
76
|
+
const result = ${functionName}({});
|
|
77
|
+
expect(result).toBeDefined();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
80
|
`;
|
|
81
81
|
return { success: true, content };
|
|
82
82
|
}
|
|
@@ -17,16 +17,16 @@ const fs_1 = require("fs");
|
|
|
17
17
|
const path_1 = require("path");
|
|
18
18
|
/** 生成 Jest 测试模板 */
|
|
19
19
|
function generateJestTest(targetFile, functionName, tests) {
|
|
20
|
-
const testCases = tests.map((t, i) => `
|
|
21
|
-
it('${t.description || `test case ${i + 1}`}', () => {
|
|
22
|
-
const result = ${functionName}(${JSON.stringify(t.inputs)});
|
|
23
|
-
expect(result).toEqual(${JSON.stringify(t.expectedOutput)});
|
|
20
|
+
const testCases = tests.map((t, i) => `
|
|
21
|
+
it('${t.description || `test case ${i + 1}`}', () => {
|
|
22
|
+
const result = ${functionName}(${JSON.stringify(t.inputs)});
|
|
23
|
+
expect(result).toEqual(${JSON.stringify(t.expectedOutput)});
|
|
24
24
|
});`).join('\n');
|
|
25
|
-
const content = `import { describe, it, expect } from 'vitest';
|
|
26
|
-
import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
|
|
27
|
-
|
|
28
|
-
describe('${functionName}', () => {${testCases}
|
|
29
|
-
});
|
|
25
|
+
const content = `import { describe, it, expect } from 'vitest';
|
|
26
|
+
import { ${functionName} } from '../${targetFile.replace(/\.ts$/, '')}';
|
|
27
|
+
|
|
28
|
+
describe('${functionName}', () => {${testCases}
|
|
29
|
+
});
|
|
30
30
|
`;
|
|
31
31
|
return { file: `${targetFile.replace(/\.ts$/, '.test.ts')}`, content };
|
|
32
32
|
}
|
package/dist/tools/shell/exec.js
CHANGED
|
@@ -17,7 +17,18 @@ const child_process_1 = require("child_process");
|
|
|
17
17
|
function containerImage() {
|
|
18
18
|
return process.env.FH_SANDBOX_IMAGE || 'node:22-alpine';
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* P7-2 容器隔离加固:运行不信任代码的默认档位
|
|
22
|
+
* - 资源限制:内存 / pids 上限(防 fork 炸弹与内存耗尽)
|
|
23
|
+
* - 能力裁剪:--cap-drop ALL + no-new-privileges(防容器逃逸提权)
|
|
24
|
+
* - 网络隔离:默认 --network none(不信任代码断网执行);需装依赖时设
|
|
25
|
+
* FH_SANDBOX_NETWORK=host 恢复联网(仍受沙箱 network allow/deny 约束)
|
|
26
|
+
* 环境变量:
|
|
27
|
+
* - FH_SANDBOX_IMAGE 容器镜像(默认 node:22-alpine)
|
|
28
|
+
* - FH_SANDBOX_MEM 内存上限(默认 512m)
|
|
29
|
+
* - FH_SANDBOX_PIDS pids 上限(默认 256)
|
|
30
|
+
* - FH_SANDBOX_NETWORK none|host(默认 none)
|
|
31
|
+
*/
|
|
21
32
|
function runCommandInContainer(cmd, cwd, timeoutMs = 60000) {
|
|
22
33
|
const image = containerImage();
|
|
23
34
|
// 挂载工作区到 /workspace,容器内 cwd=/workspace;--rm 用完即删
|
|
@@ -28,6 +39,17 @@ function runCommandInContainer(cmd, cwd, timeoutMs = 60000) {
|
|
|
28
39
|
`${cwd}:/workspace`,
|
|
29
40
|
'-w',
|
|
30
41
|
'/workspace',
|
|
42
|
+
// ---- P7-2 隔离加固 ----
|
|
43
|
+
'--memory',
|
|
44
|
+
process.env.FH_SANDBOX_MEM || '512m',
|
|
45
|
+
'--pids-limit',
|
|
46
|
+
process.env.FH_SANDBOX_PIDS || '256',
|
|
47
|
+
'--cap-drop',
|
|
48
|
+
'ALL',
|
|
49
|
+
'--security-opt',
|
|
50
|
+
'no-new-privileges',
|
|
51
|
+
process.env.FH_SANDBOX_NETWORK === 'host' ? '--network' : '--network',
|
|
52
|
+
process.env.FH_SANDBOX_NETWORK === 'host' ? 'host' : 'none',
|
|
31
53
|
image,
|
|
32
54
|
'sh',
|
|
33
55
|
'-c',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/tools/shell/exec.ts"],"names":[],"mappings":";;AAgBA,wCAEC;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/tools/shell/exec.ts"],"names":[],"mappings":"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"}
|