| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(agent): 自愈死循环根治——edit_file 三级匹配兜底 + 自愈上限防击穿 2026-10-05 C盘检查任务实测暴露:模型反复提供不匹配的 oldText,edit_file 连续失败,且单轮 13 条错误一次性把自愈计数推到 19 > 上限 10,任务自动终止。 三处修复: 1. edit.tool.ts:oldText 匹配三级兜底(精确 → CRLF/LF 换行符自动对齐 → 逐行空白容忍窗口匹配,唯一命中才替换、多处命中拒绝误伤), 根治缩进/换行差异导致的反复盲试死循环 2. self-heal.ts:「未找到 oldText」归入 file-not-found 并引导改用 write_file;permission-denied 提示改为沙箱工作区边界指引(写脚本 运行替代直闯受保护路径) 3. orchestrator.ts:审计日志全量留痕,errorHistory 只计入上限内, 防止单轮批量错误击穿 MAX_TOTAL_SELF_HEALS;终止报告如实说明截断数 验证:typecheck ✅ / npm test 421/421 ✅(+9 新用例)/ build ✅ 署名:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 6 天前 | |
feat(release): v8.0.1 — desktop手脚+AI员工军团整合、全仓脱敏与清理加固 - desktop-touch MCP 嫁接(A配置/B策略/C内化)+ feihong_desktop_see/act/verify - AI 员工军团整合(agent-team 17员工 + feihong_agents_list/submit + 飞虹模型路由) - 脱敏:移除 app.js 硬编码密钥、docs 本机路径、历史泄露KEY(filter-branch 后 force push) - 清理:bench/real 6.8GB 运行产物、.gitignore 加固 - 修复:copy-web.cjs cpSync 原生崩溃(重写手写递归)、steer 事件注入恢复 | 1 个月前 | |
fix(memory): appendAll 自引用防御——阻断 workingMemory 无限自增崩溃 - appendAll 传入数组若为 workingMemory 本尊,for-of 遍历+push 会无限 自增长直至 RangeError(实测 1.12 亿条崩溃);加自引用拒绝护栏 - buildPrompt 返回 [...workingMemory] 副本,避免外部持有可变引用 - agents.test.ts 隔离环境补清 FH_HOME(否则配置分层合并读到真实全局 provider,与 tests/helpers/force-offline.mjs 闸口同主题加固) | 6 天前 | |
feat(web): 控制台「定时任务」面板 + 审批裁决端点(v8.8.0 第二项) 背景:v8.7.0 的 /api/routines 全套接口已文档化,但控制台无 UI——用户只能拿 curl 管理定时任务、查审批。本项补上可视化面板。 - 新增审批裁决端点 POST /api/approvals/:id/decide({approve, by?}),与 CLI fhcode approvals 同源;收件箱未初始化 503、裁决失败 400(含幂等保护)。 - 新增右侧「⏱ 定时任务」tab 与面板(index.html + ui.js): 任务卡片列表(cron 表达式 / AI·shell 类型徽章 / 算力档位 / 上次·下次执行时间 / 上次错误)、新建表单(cron + goal|command + 档位选择)、每任务的立即执行 / 启停 / 删除按钮、底部内嵌「🔐 待审批」区可直接批准或拒绝。 - 性能:切到该 tab 时按需加载(新增 fhcode:tab-shown 自定义事件挂在 switchRightTab 上),避免首屏无谓请求;所有用户可控文本经 esc() 转义防注入。 - 命名消歧:既有「⚡ 自动化」页是**指令模板**(手动一键发起),本面板是 **cron 定时 调度**(需 fhcode serve 常驻),故命名「定时任务」并加 title 说明,避免混淆。 测试 +1 例(Web 裁决端点依赖的 approve=false 拒绝语义,共 8 例)。 文档:docs/API.md 补裁决端点(含"裁决仅解除挂起"提示)。 实测:起 serve 于 8123 端口,GET /api/routines 与 /api/routines/approvals 均返回 真实数据、首页含新面板元素、裁决端点路由匹配且错误语义正确(不存在 id→400、 受签名保护→401)。 验证:npm test 412/412 全绿;typecheck 0 错误;build 通过;check:cross 11 项过 10 项 (D7 electron EBUSY 为本机文件锁既有项)。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
fix(C): 审计锁 stale 清理增加 rename 兜底,解除 safe-delete 环境下的锁死 - withAuditLock 的 stale 锁清理原只有 unlinkSync 一条路;在宿主 safe-delete shim (fs.unlink 重定向回收站、沙箱内失败)环境下 stale 锁永远清不掉,所有写入者 5s 超时(测试日志暴露的"审计写入锁等待超时"根因)。 - 新增 tryRemoveStaleLock:unlink 失败时改用 renameSync 把锁改名挪开(rename 不被 shim 拦截),两次均失败才记 warn 等待重试。 - 新增专项测试:残留 stale 锁(无效 PID + mtime 回拨 30s)下写入自愈、锁不残留。 (验证:tsc --noEmit 0 错误;npm test 275/275 通过) | 13 天前 | |
fix(bugs): 三项核心修复——dots文本toolcall解析/成本闸checkpoint状态/FH_BUDGET_USD硬闸 (v8.5.1) - bug①: 新增 text-toolcall.ts 解析 dots/Qwen 文本格式 tool call(含截断容错),provider 自动兜底 - bug②: orchestrator 成本熔断等异常终止 checkpoint 落 crashed,resume 链路修复 - bug③: FH_BUDGET_USD 环境变量接入硬闸(resolveMaxCostUsd),sessions/swe/executor 统一 - 附带: tool_calls.type 校验放宽(Ollama/AMD 兼容)、max_tokens 默认 8192 - 测试: 301/301 通过(新增 text-toolcall 9 例 + budget-usd 5 例 + checkpoint 2 例) 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 9 天前 | |
feat(v0.5.0-a): IDE 深度集成首轮 — review --json + 内联评审 + 上下文入参 + O6 安全前置 - M1.1a: fhcode review [路径] --json 结构化评审输出;修复 runGrill 单文件目标 - M1.3: --context-file 附加活动文件/选区内容为结构化上下文(限 32KB) - M1.1b: VSCode 内联评审(DiagnosticCollection + CodeAction + reviewOnSave) - O6: verifyHmacSignature/verifyWecomSignature 入站校验 + FH_CHANNEL_ALLOW 出站白名单 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(web): 任务看门狗超时机制 + 前端停止按钮(防僵尸任务) 背景:模型挂起或死循环会让任务永久停留 running,占满并发额度且无法恢复。 - 后端(src/web/task-queue.ts): TaskQueueOptions.maxDurationMs 可配置单任务 最大执行时长,默认读环境变量 FH_TASK_MAX_MINUTES(缺省 30 分钟);超时触发 controller.abort() 中断;catch 分支按 watchdogFired / 用户主动 stop / 真实异常 三种来源给出可区分文案;if (!record.error) 保证 cancelTask 已标记的错误不被 AbortError 覆盖;finally 清理定时器与控制器,避免句柄泄漏。 - 前端(ui.js + style.css):任务列表对 running/queued 状态显示「⏹ 停止」按钮, POST /api/tasks/:id/stop 精准停止单任务(此前只能整体 cancel),带二次确认与 toast。 测试(tests/unit/task-queue.test.ts +6 例,共 19 例): - 看门狗默认 30 分钟 / opts 覆盖 / FH_TASK_MAX_MINUTES 环境变量覆盖 - 看门狗中断后任务必落终态、不停留 running(防僵尸的核心不变量) - 中断不向用户泄漏裸 AbortError 原文 - cancelTask 主动停止后错误文案不被 AbortError 覆盖 顺带把 channels.test.ts 的完成轮询预算 2s 放宽到 30s(并行负载下偶发少 1 次通知的 既有 flake,仅放宽等待上限,不改断言语义)。 验证:npm test 382/382 全绿;typecheck 0 错误。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
feat(cline): 补交 Cline 执行工具、隧道模块与配套源码(修复远程构建断裂) - src/tools/cline: cline-exec.tool(web/routes/cline.ts 已依赖此模块,此前未入库导致远程 clone 无法构建) - src/tunnel: 隧道模块 - src/shared/code-extract.ts + tests: 代码提取纯函数与单测 - tests/unit/planner-first-principles.test.ts: 规划器一阶原理单测 - 一键启动Cline面板.bat | 12 天前 | |
fix: 全面bug修复与前端分模块升级 ## 严重问题修复 - Shell注入正则过度拦截 → 精准危险模式检测,允许正常管道/命令链/变量 - Web任务安全硬编码全权限 → buildSecurityFromPermissions()按任务permissions映射 - 并发硬编码为1(process.chdir) → 移除全局chdir,默认并发提高到2 - upsertExperience读-改-写竞态 → 文件级Promise锁串行化写入 ## 高优先级修复 - planner过度拆分连贯句子 → MIN_FRAGMENT_LEN=12防过短片段 - experience顺序匹配脆弱 → toolCallId精确关联工具调用与结果 - spawn timeout只杀shell不杀子进程 → 手动SIGTERM→SIGKILL+进程组杀 - 验证死循环(self-heal null绕过maxRetry) → classifyError返回unknown兜底+反思提示含工具名/参数 - 工具参数被zod静默strip → 未知参数警告注入输出+__parse_error__处理 - JSON解析失败返回{}无反馈 → 3级降级解析+__parse_error__标记 ## 中优先级修复 - shell输出截断丢末尾错误 → smartTruncate保留前2000+后3000 - 模型空content+重复工具调用 → prompts思考规范+orchestrator toolResultCache去重 - 根目录23个垃圾文件(含134MB gradle zip) → 已清理 ## 前端分模块升级 - 5043行单文件index.html → index.html(46KB) + css/style.css(52KB) + js/app.js(132KB) - 移除对话分隔线和执行过程展开区 - renderMarkdown替代linkifyArtifacts,支持粗体/标题/列表/代码块 - formatToolArgs替代JSON.stringify原始输出 - 对话与步骤合并单一时序流,最新消息在底部 ## 上下文压缩修复 - compactContext始终保留首条system指令和首条user目标 - 防止压缩后丢失系统提示或模型网关拒绝'No user query' ## 构建 - npm run build (tsc + copy-web) 编译通过 - 新增scripts/split-frontend.cjs前端拆分工具 | 1 个月前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
fix: 大模型并发限制 - parallel-orchestrator 无限制并发修复 ## 问题 parallel-orchestrator.ts 使用 Promise.allSettled 同时启动所有子任务, 无并发限制。如果 decomposeGoal 返回 10+ 子任务,会同时发起 10+ 个 模型调用链,导致 API 限流(429)和资源耗尽。 ## 修复 1. 新增 src/shared/concurrency.ts 通用并发控制工具: - asyncPool(concurrency): p-limit 风格的并发限制器 - runWithConcurrency(tasks, concurrency): 批量执行保留顺序 - runWithConcurrencySettled(tasks, concurrency): 允许部分失败 2. parallel-orchestrator.ts: - 新增 maxConcurrent 选项(默认 3) - Promise.allSettled(runs) → runWithConcurrencySettled(taskFns, 3) - 日志输出 maxConcurrent 便于排查 3. 新增 tests/unit/concurrency.test.ts(7 用例): - 最大并发数限制验证 - concurrency=1 串行执行 - 任务失败时正确释放槽位 - 按顺序返回结果 - 默认并发数为 3 - 允许部分失败 - 空任务数组不阻塞 ## 并发现状总结 - Web 任务队列:默认并发 2(FH_TASK_CONCURRENCY 可配置)✅ - parallel-orchestrator:默认并发 3(maxConcurrent 可配置)✅ 本次修复 - team.ts:并发由成员数量控制(默认 3 成员)✅ 天然限制 - ModelRouter:无全局并发限制(由上层编排器控制)✅ 合理 3 files changed, +280 / -8 | 1 个月前 | |
fix(config+agent): 配置分层字段级合并 + 完成协议防「叙述即完成」 - config.ts: loadConfigFile 不再「首个文件即全部」——cwd 仅配 mcp 时全局 models.providers 被无视导致离线误判/provider 空列表;改为 mergeConfigFiles 字段级合并(高优先级覆盖、空值跳过、损坏文件跳过、显式 path 单文件语义) - orchestrator.ts: 无工具调用不再一律视为任务完成——新增完成协议 (resolveNoToolCall 纯函数):touchedFiles 非空 / FINAL: 前缀 / 连续 3 轮 纯文本兜底才结束,否则注入 nudge 引导调工具;finalAnswer 统一剥离 think 标签与 FINAL: 前缀;系统提示注入完成协议 - tests: config-merge(11) + orchestrator-nudge(11) 回归测试 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 6 天前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
feat(release): v8.0.1 — desktop手脚+AI员工军团整合、全仓脱敏与清理加固 - desktop-touch MCP 嫁接(A配置/B策略/C内化)+ feihong_desktop_see/act/verify - AI 员工军团整合(agent-team 17员工 + feihong_agents_list/submit + 飞虹模型路由) - 脱敏:移除 app.js 硬编码密钥、docs 本机路径、历史泄露KEY(filter-branch 后 force push) - 清理:bench/real 6.8GB 运行产物、.gitignore 加固 - 修复:copy-web.cjs cpSync 原生崩溃(重写手写递归)、steer 事件注入恢复 | 1 个月前 | |
fix(agent): 自愈死循环根治——edit_file 三级匹配兜底 + 自愈上限防击穿 2026-10-05 C盘检查任务实测暴露:模型反复提供不匹配的 oldText,edit_file 连续失败,且单轮 13 条错误一次性把自愈计数推到 19 > 上限 10,任务自动终止。 三处修复: 1. edit.tool.ts:oldText 匹配三级兜底(精确 → CRLF/LF 换行符自动对齐 → 逐行空白容忍窗口匹配,唯一命中才替换、多处命中拒绝误伤), 根治缩进/换行差异导致的反复盲试死循环 2. self-heal.ts:「未找到 oldText」归入 file-not-found 并引导改用 write_file;permission-denied 提示改为沙箱工作区边界指引(写脚本 运行替代直闯受保护路径) 3. orchestrator.ts:审计日志全量留痕,errorHistory 只计入上限内, 防止单轮批量错误击穿 MAX_TOTAL_SELF_HEALS;终止报告如实说明截断数 验证:typecheck ✅ / npm test 421/421 ✅(+9 新用例)/ build ✅ 署名:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 6 天前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
refactor: 前端深度分模块 + 单元测试补充 ## 前端分模块升级 - app-mobile/index.html 拆分为 index.html + css/style.css + js/app.js - 主站 js/app.js (132KB/2691行) 进一步拆分为4模块: - utils.js (8KB/16函数): 纯工具函数 escapeHtml/renderMarkdown/formatToolArgs 等 - api.js (14KB/24函数): HTTP 请求与数据获取 - ui.js (40KB/41函数): DOM 渲染与交互 - app.js (70KB/1465行): 状态管理、初始化、事件处理 - index.html script 加载顺序: utils→api→ui→app(依赖顺序正确) - 新增 scripts/split-app-js.cjs 自动化拆分工具(函数名分类+括号计数精确提取) ## 单元测试补充 - tests/unit/agent-self-heal.test.ts (新增): 9个测试 - classifyError 新增规则验证: file-not-found/build-error/command-not-found/invalid-args - unknown 兜底永不返回 null - 空输入不崩溃 - tests/unit/planner.test.ts (新增): 8个测试 - decomposeGoal 空目标/单句/多句拆分 - MIN_FRAGMENT_LEN=12 过短片段合并修复验证 - 足够长片段正常拆分 - tests/unit/experience.test.ts (新增4个测试): - upsertExperience 并发同 id 写入不丢失(文件锁竞态修复验证) - toolCallId 精确匹配工具调用与结果(乱序返回) - 无 toolCallId 回退到最后一个调用(兼容旧数据) ## 验证 - npm run build 编译通过 - 新增测试全部通过 (40 tests, 0 failures) | 1 个月前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(license): 在线授权模式(FH_LICENSE_SERVER 心跳/远程吊销/席位管控) - src/license/online.ts:在线授权核心——RSA 验签、心跳(到期才发)、 宽限期(FH_LICENSE_GRACE_HOURS 默认 72h)、吊销/换机检测、记录沙箱写入 - cli/web 双出口:fhcode license show|heartbeat|server 在线模式 + /api/license 自动区分离线/在线 + serve 常驻心跳守护(每分钟检查) - 离线模式(默认)零网络行为;测试 license-online.test.ts 304 行纯离线单测 - docs/ONLINE-LICENSE-INTEGRATION.md:发行方集成指南 验证:npm test 451/451 + typecheck + build v8.8.1 | 6 天前 | |
fix: 全面bug修复与前端分模块升级 ## 严重问题修复 - Shell注入正则过度拦截 → 精准危险模式检测,允许正常管道/命令链/变量 - Web任务安全硬编码全权限 → buildSecurityFromPermissions()按任务permissions映射 - 并发硬编码为1(process.chdir) → 移除全局chdir,默认并发提高到2 - upsertExperience读-改-写竞态 → 文件级Promise锁串行化写入 ## 高优先级修复 - planner过度拆分连贯句子 → MIN_FRAGMENT_LEN=12防过短片段 - experience顺序匹配脆弱 → toolCallId精确关联工具调用与结果 - spawn timeout只杀shell不杀子进程 → 手动SIGTERM→SIGKILL+进程组杀 - 验证死循环(self-heal null绕过maxRetry) → classifyError返回unknown兜底+反思提示含工具名/参数 - 工具参数被zod静默strip → 未知参数警告注入输出+__parse_error__处理 - JSON解析失败返回{}无反馈 → 3级降级解析+__parse_error__标记 ## 中优先级修复 - shell输出截断丢末尾错误 → smartTruncate保留前2000+后3000 - 模型空content+重复工具调用 → prompts思考规范+orchestrator toolResultCache去重 - 根目录23个垃圾文件(含134MB gradle zip) → 已清理 ## 前端分模块升级 - 5043行单文件index.html → index.html(46KB) + css/style.css(52KB) + js/app.js(132KB) - 移除对话分隔线和执行过程展开区 - renderMarkdown替代linkifyArtifacts,支持粗体/标题/列表/代码块 - formatToolArgs替代JSON.stringify原始输出 - 对话与步骤合并单一时序流,最新消息在底部 ## 上下文压缩修复 - compactContext始终保留首条system指令和首条user目标 - 防止压缩后丢失系统提示或模型网关拒绝'No user query' ## 构建 - npm run build (tsc + copy-web) 编译通过 - 新增scripts/split-frontend.cjs前端拆分工具 | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(v8.7.0): 对标纳米Work 四大能力(成本调度/专家向导/7x24自动化/记忆复用) 借鉴 360 纳米Work(企业智能体工作平台),补齐 fhcode 四项核心能力。 ① 算力档位智能调度(轻量/省钱/满血) - 新增 src/models/tier.ts:ComputeTier(light/save/full)、TIERS 元信息、 classifyGoalTier() 启发式分档、normalizeTier()。 - ModelRouter 评分档位优先(light/save 偏 cheap/local);config.models.defaultTier + FH_TIER 全局锁定,fhcode tier set <档位> / --tier 单次覆盖。 ② 对话式专家创建向导 - 新增 src/cli/cmds/agent-new.ts:4 步向导(选模板→提示/工具→档位→命名), 非交互 --name/--prompt/--tools/--tier/--category;专家加 tier 联动①。 ③ 自动化任务真实执行(云端 7x24) - RoutineAction 新增 {type:'goal'; goal; tier?}。 - 新增 src/runtime/routines/runner.ts:goal/command 均先过三级规则引擎→红线恒 deny; ask 在 requireApproval 时提交审批收件箱挂起、autonomous(serve) 直接执行;放行后 goal 走 executeTask、command 走 runCommand。 - RoutineScheduler.runOnce();service.ts 进程单例 ensureScheduler()。 - CLI fhcode routine list|add|run|enable|rm;Web routes/routines.ts(/api/routines); runServe 启动 scheduler.start(60s)。AppConfig.security.rules 支持用户规则集。 ④ 工作记忆增强(跨会话复用) - executeTask 默认装配 LayeredMemory:启动召回项目记忆注入上下文、过程自动压缩、 结束持久化决策/产物;RunOptions.layeredMemory 可注入共享实例。 - 新增 src/memory/profile.ts(纯函数业务画像)+ fhcode memory profile|stats|clear。 验证:typecheck 0 错误;build 通过;verify:m4/m6/m7/m8/m9/routines/policy 全绿; check:version/check:compliance 通过;新增单测 routine-runner(7)+memory-profile(5)+tier(3) 与 routines(13) 全绿。check:cross 仅 D7(electron/main.js EBUSY) 为本机文件锁的既有环境项。 附带修 tests/unit/task-queue.test.ts 并行 flake:完成轮询预算 6s→30s(语义不变)。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
fix: 全面bug修复与前端分模块升级 ## 严重问题修复 - Shell注入正则过度拦截 → 精准危险模式检测,允许正常管道/命令链/变量 - Web任务安全硬编码全权限 → buildSecurityFromPermissions()按任务permissions映射 - 并发硬编码为1(process.chdir) → 移除全局chdir,默认并发提高到2 - upsertExperience读-改-写竞态 → 文件级Promise锁串行化写入 ## 高优先级修复 - planner过度拆分连贯句子 → MIN_FRAGMENT_LEN=12防过短片段 - experience顺序匹配脆弱 → toolCallId精确关联工具调用与结果 - spawn timeout只杀shell不杀子进程 → 手动SIGTERM→SIGKILL+进程组杀 - 验证死循环(self-heal null绕过maxRetry) → classifyError返回unknown兜底+反思提示含工具名/参数 - 工具参数被zod静默strip → 未知参数警告注入输出+__parse_error__处理 - JSON解析失败返回{}无反馈 → 3级降级解析+__parse_error__标记 ## 中优先级修复 - shell输出截断丢末尾错误 → smartTruncate保留前2000+后3000 - 模型空content+重复工具调用 → prompts思考规范+orchestrator toolResultCache去重 - 根目录23个垃圾文件(含134MB gradle zip) → 已清理 ## 前端分模块升级 - 5043行单文件index.html → index.html(46KB) + css/style.css(52KB) + js/app.js(132KB) - 移除对话分隔线和执行过程展开区 - renderMarkdown替代linkifyArtifacts,支持粗体/标题/列表/代码块 - formatToolArgs替代JSON.stringify原始输出 - 对话与步骤合并单一时序流,最新消息在底部 ## 上下文压缩修复 - compactContext始终保留首条system指令和首条user目标 - 防止压缩后丢失系统提示或模型网关拒绝'No user query' ## 构建 - npm run build (tsc + copy-web) 编译通过 - 新增scripts/split-frontend.cjs前端拆分工具 | 1 个月前 | |
fix(config+agent): 配置分层字段级合并 + 完成协议防「叙述即完成」 - config.ts: loadConfigFile 不再「首个文件即全部」——cwd 仅配 mcp 时全局 models.providers 被无视导致离线误判/provider 空列表;改为 mergeConfigFiles 字段级合并(高优先级覆盖、空值跳过、损坏文件跳过、显式 path 单文件语义) - orchestrator.ts: 无工具调用不再一律视为任务完成——新增完成协议 (resolveNoToolCall 纯函数):touchedFiles 非空 / FINAL: 前缀 / 连续 3 轮 纯文本兜底才结束,否则注入 nudge 引导调工具;finalAnswer 统一剥离 think 标签与 FINAL: 前缀;系统提示注入完成协议 - tests: config-merge(11) + orchestrator-nudge(11) 回归测试 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 6 天前 | |
fix(agent): 原地打转 bug——write_file 引导结束 + 同文循环强化提示 2026-10-05 C盘任务第二次实测暴露:修复自愈死循环后,模型(agnes-3.0-flash) 陷入「原地打转」——反复输出同一段思考 + 同一 write_file 调用, 3 次同文检测后强制终止。37 秒失败。 两处修复: 1. write.tool.ts:成功消息强化为「✅ 文件写入完成,请直接用文字 总结并结束任务;不要再次调用 write_file / read_file」, 让模型看到结果后知道任务已达成 2. orchestrator.ts:同文循环 prompt 强化——列出最近已成功执行的工具 名 + 二选一(选项 A:直接返回总结结束;选项 B:换不同工具) + 「绝对不要」用相同工具+相同参数再调第二次;事件类型扩展 'loop-break-fortified' 策略 验证:typecheck ✅ / npm test 422/422 ✅(+1 新用例)/ build ✅ 署名:晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 6 天前 | |
test(ci): 新增单元测试强制 fail-closed 门禁 - 新增独立 test job 运行 npm test(当前 286 例) - 任一用例失败即阻断 CI,恢复实测全绿的自动守护 - 同步提交 planner/plugin-loader 两测试文件的重构对齐修复 | 11 天前 | |
refactor: 前端深度分模块 + 单元测试补充 ## 前端分模块升级 - app-mobile/index.html 拆分为 index.html + css/style.css + js/app.js - 主站 js/app.js (132KB/2691行) 进一步拆分为4模块: - utils.js (8KB/16函数): 纯工具函数 escapeHtml/renderMarkdown/formatToolArgs 等 - api.js (14KB/24函数): HTTP 请求与数据获取 - ui.js (40KB/41函数): DOM 渲染与交互 - app.js (70KB/1465行): 状态管理、初始化、事件处理 - index.html script 加载顺序: utils→api→ui→app(依赖顺序正确) - 新增 scripts/split-app-js.cjs 自动化拆分工具(函数名分类+括号计数精确提取) ## 单元测试补充 - tests/unit/agent-self-heal.test.ts (新增): 9个测试 - classifyError 新增规则验证: file-not-found/build-error/command-not-found/invalid-args - unknown 兜底永不返回 null - 空输入不崩溃 - tests/unit/planner.test.ts (新增): 8个测试 - decomposeGoal 空目标/单句/多句拆分 - MIN_FRAGMENT_LEN=12 过短片段合并修复验证 - 足够长片段正常拆分 - tests/unit/experience.test.ts (新增4个测试): - upsertExperience 并发同 id 写入不丢失(文件锁竞态修复验证) - toolCallId 精确匹配工具调用与结果(乱序返回) - 无 toolCallId 回退到最后一个调用(兼容旧数据) ## 验证 - npm run build 编译通过 - 新增测试全部通过 (40 tests, 0 failures) | 1 个月前 | |
test(ci): 新增单元测试强制 fail-closed 门禁 - 新增独立 test job 运行 npm test(当前 286 例) - 任一用例失败即阻断 CI,恢复实测全绿的自动守护 - 同步提交 planner/plugin-loader 两测试文件的重构对齐修复 | 11 天前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(v8.7.0): 对标纳米Work 四大能力(成本调度/专家向导/7x24自动化/记忆复用) 借鉴 360 纳米Work(企业智能体工作平台),补齐 fhcode 四项核心能力。 ① 算力档位智能调度(轻量/省钱/满血) - 新增 src/models/tier.ts:ComputeTier(light/save/full)、TIERS 元信息、 classifyGoalTier() 启发式分档、normalizeTier()。 - ModelRouter 评分档位优先(light/save 偏 cheap/local);config.models.defaultTier + FH_TIER 全局锁定,fhcode tier set <档位> / --tier 单次覆盖。 ② 对话式专家创建向导 - 新增 src/cli/cmds/agent-new.ts:4 步向导(选模板→提示/工具→档位→命名), 非交互 --name/--prompt/--tools/--tier/--category;专家加 tier 联动①。 ③ 自动化任务真实执行(云端 7x24) - RoutineAction 新增 {type:'goal'; goal; tier?}。 - 新增 src/runtime/routines/runner.ts:goal/command 均先过三级规则引擎→红线恒 deny; ask 在 requireApproval 时提交审批收件箱挂起、autonomous(serve) 直接执行;放行后 goal 走 executeTask、command 走 runCommand。 - RoutineScheduler.runOnce();service.ts 进程单例 ensureScheduler()。 - CLI fhcode routine list|add|run|enable|rm;Web routes/routines.ts(/api/routines); runServe 启动 scheduler.start(60s)。AppConfig.security.rules 支持用户规则集。 ④ 工作记忆增强(跨会话复用) - executeTask 默认装配 LayeredMemory:启动召回项目记忆注入上下文、过程自动压缩、 结束持久化决策/产物;RunOptions.layeredMemory 可注入共享实例。 - 新增 src/memory/profile.ts(纯函数业务画像)+ fhcode memory profile|stats|clear。 验证:typecheck 0 错误;build 通过;verify:m4/m6/m7/m8/m9/routines/policy 全绿; check:version/check:compliance 通过;新增单测 routine-runner(7)+memory-profile(5)+tier(3) 与 routines(13) 全绿。check:cross 仅 D7(electron/main.js EBUSY) 为本机文件锁的既有环境项。 附带修 tests/unit/task-queue.test.ts 并行 flake:完成轮询预算 6s→30s(语义不变)。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
feat(P3): routines 调度引擎——cron/事件/补偿/互斥/退避(T3.1-T3.6) v8.6.0「Always-on 飞虹 dots」第三期:Routines 内置任务管理 - src/runtime/routines/cron.ts:五字段 cron 解析(宏 @hourly/@daily/@midnight、 步进 */n、区间 a-b/n、dom/dow 同时显式时 OR 语义)、nextCronRun 逐分钟 扫描上限 4 年(覆盖闰日) - src/runtime/routines/store.ts:RoutineDef/RoutineState JSON 持久化, writeJsonAtomic 原子写(tmp 带 PID → renameSync) - src/runtime/routines/scheduler.ts:tick 调度(retry > catchup > cron 优先级)、 notifyEvent 事件触发、错过窗口补偿(catchUp 恰好一次)、运行中互斥 + 全局并发上限(默认 3)、失败指数退避(base*2^(n-1),maxRetries 默认 2)、 可控时钟注入、awaitSettle 双模式 - tests/unit/routines.test.ts:13 用例(T3.1a-T3.6b) - scripts/verify-routines.mjs:18 项端到端检查(V1-V18),挂入 verify 链 - package.json:新增 verify:routines 脚本,verify 链追加 闸口:npm test 337/337、typecheck、build、verify 链九项全绿。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 9 天前 | |
feat(P4): 三级规则引擎 + 审批收件箱——硬红线四类(T4.1-T4.6) v8.6.0「Always-on 飞虹 dots」收官期:三级权限规则引擎与审批闭环 - src/security/rules-engine.ts:allow/ask/deny 三级判定(红线 > 精确 > 通配 > fail-safe 默认 ask)、硬红线四类不可覆盖(改密码/转账/永久删除/ 外发,中英双语词表)、单 * 通配(防 ReDoS)、同层最严效果胜出 - src/security/approval-inbox.ts:审批收件箱(submit→pending→approved/ rejected/expired),approvals.json 原子写持久化(重启不丢 T4.3)、 裁决幂等保护(已决不可再决 T4.4)、可选注入 M4 AuditLog 事件入 hash chain(T4.5)、落盘前 redact 脱敏(队列文件无密钥明文 T4.6)、TTL 过期 - src/security/index.ts:追加 re-export 出口 - tests/unit/rules-engine.test.ts:17 用例(T4.1a-T4.6b + 补充检测器/过期) - scripts/verify-policy.mjs:13 项端到端检查(V1-V13),挂入 verify 链 - package.json:新增 verify:policy 脚本,verify 链追加(现十项) 闸口:npm test 354/354、typecheck、build、verify 链十项全绿 (m4 41 + m6 29 + m7 12 + m8 27 + m9 25 + routines 18 + policy 13)。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 9 天前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(P1): self-schema introspection (T1.1-T1.4) v8.6.0「Always-on 飞虹 dots」第一期:Agent 自我认知。 - 新增 src/agent/self-awareness.ts:能力清单双来源(ToolRegistry 运行时 > tool-schema.json 静态), buildSystemPrompt() 注入自省段落,SYSTEM_PROMPT 向后兼容 - 降级原则:文件缺失/JSON 损坏/清单为空一律回退基础 prompt,永不抛异常 - 新增 tests/unit/self-awareness.test.ts:T1 矩阵 8 用例 + 双来源契约 2 用例 - 验证:npm test 312/312(基线 302 + 新增 10),typecheck 通过 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 10 天前 | |
feat(web): 添加会话管理配置 + 对话气泡交互功能 + 迭代次数优化 新增功能: - Web 控制台会话管理配置(发送前自动新建、打开时重置、清空历史) - 最终回复气泡添加操作菜单(复制/编辑/分享/创建文档) - 迭代次数默认值调整(orchestrator 12→25, CLI 6→15) - 上下文压缩阈值优化(保留最近20条消息) 技术改进: - sessionConfig 持久化到 localStorage - 气泡操作菜单支持 base64 分享链接 - 文档下载为 Markdown 格式 安全:无硬编码密钥,所有 token 从环境变量读取 | 1 个月前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
feat(v0.3.1): 自我迭代系统闭环 + 写代码能力升级 经验系统强化学习化(experience.ts): - upsertExperience 稳定id去重加权合并 - retrieveRelevantExperiences 标签/新鲜度/成功率加权召回 - extractFixPattern 自愈修复经验提取 - classifyError 精确错误分类(接入 self-heal) 反思器打通回流(self-improver.ts): - reflect 真实分析对话(工具数/错误簇/自愈)并写入共用经验库 - getLearnedPrompt(goal) 召回既往学习 orchestrator 闭环: 加载加权检索注入 + 提取upsert强化 + 自愈固化修复经验 代码编写器真实bug修复(code-writer.ts): - 移除 /.*/ 通配(会整体覆盖文件) 仅做安全针对性修复 - 空规则导致审查失效 -> 回落默认规则 - 新增 selfHealFix 审查->修复->复审查多轮收敛 reviewCode 跨行误判修复(g标志 lastIndex 残留) self-improve 命令增强: 经验库/Top经验/学习提示预览 新增测试: self-learn(6) + code-writer(3) = 51/51 验证: typecheck✅ build✅ npm test 51/51✅ verify:m4 41/41 m6 29/29 m7 12/12 m8 27/27 m9 25/25 m9-real 11/11 | 1 个月前 | |
fix(shell): 输出分段截断 + 测试环境隔离修复(复盘第三轮) - run_shell 输出改为 stdout/stderr 分段截断(buildOutput):此前拼接后整体截断,stderr 日志行占据尾部窗口,stdout 末尾的测试汇总行(# pass/# fail)被挤出视野,agent 看不到汇总会误判失败反复重跑(实测 44 轮空转根因之一) - tests/unit/agents.test.ts 隔离修复(上一轮遗留未提交,敌对环境实测通过):isolated() 补删 FH_PROVIDERS/FH_MODEL_* 全家族变量 + __resetConfigForTest() 防脏缓存,杜绝本机真实 provider 配置穿透测试(doubao vs mock 幽灵失败根因) - 新增回归测试:长输出分段截断用例(stdout 汇总行保留 + stderr 分段标记) - 验证:typecheck ✅ npm test 429/429 ✅(422 基线 + 6 超时回归 + 1 截断回归)敌对环境 agents 3/3 ✅ build ✅ | 6 天前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
feat(release): v8.0.1 — desktop手脚+AI员工军团整合、全仓脱敏与清理加固 - desktop-touch MCP 嫁接(A配置/B策略/C内化)+ feihong_desktop_see/act/verify - AI 员工军团整合(agent-team 17员工 + feihong_agents_list/submit + 飞虹模型路由) - 脱敏:移除 app.js 硬编码密钥、docs 本机路径、历史泄露KEY(filter-branch 后 force push) - 清理:bench/real 6.8GB 运行产物、.gitignore 加固 - 修复:copy-web.cjs cpSync 原生崩溃(重写手写递归)、steer 事件注入恢复 | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
fix: 全面bug修复与前端分模块升级 ## 严重问题修复 - Shell注入正则过度拦截 → 精准危险模式检测,允许正常管道/命令链/变量 - Web任务安全硬编码全权限 → buildSecurityFromPermissions()按任务permissions映射 - 并发硬编码为1(process.chdir) → 移除全局chdir,默认并发提高到2 - upsertExperience读-改-写竞态 → 文件级Promise锁串行化写入 ## 高优先级修复 - planner过度拆分连贯句子 → MIN_FRAGMENT_LEN=12防过短片段 - experience顺序匹配脆弱 → toolCallId精确关联工具调用与结果 - spawn timeout只杀shell不杀子进程 → 手动SIGTERM→SIGKILL+进程组杀 - 验证死循环(self-heal null绕过maxRetry) → classifyError返回unknown兜底+反思提示含工具名/参数 - 工具参数被zod静默strip → 未知参数警告注入输出+__parse_error__处理 - JSON解析失败返回{}无反馈 → 3级降级解析+__parse_error__标记 ## 中优先级修复 - shell输出截断丢末尾错误 → smartTruncate保留前2000+后3000 - 模型空content+重复工具调用 → prompts思考规范+orchestrator toolResultCache去重 - 根目录23个垃圾文件(含134MB gradle zip) → 已清理 ## 前端分模块升级 - 5043行单文件index.html → index.html(46KB) + css/style.css(52KB) + js/app.js(132KB) - 移除对话分隔线和执行过程展开区 - renderMarkdown替代linkifyArtifacts,支持粗体/标题/列表/代码块 - formatToolArgs替代JSON.stringify原始输出 - 对话与步骤合并单一时序流,最新消息在底部 ## 上下文压缩修复 - compactContext始终保留首条system指令和首条user目标 - 防止压缩后丢失系统提示或模型网关拒绝'No user query' ## 构建 - npm run build (tsc + copy-web) 编译通过 - 新增scripts/split-frontend.cjs前端拆分工具 | 1 个月前 | |
feat(ci,docs): 对外叙事统一 + CI 内容三闸门 + 版本治理 + 安全材料自评估标注 一、对外叙事统一(弱化复刻、统一对标措辞) - 127 个源码文件头注释与 2 个运行时标语改为「对标 Muse Code · 自研内核差异化」 - README/README_EN 新增「措辞基线」「对标对比矩阵」「差异化能力」章节 - CONTRIBUTING/说明书等文档措辞同步 二、版本号与里程碑解耦 - README §十二 / CHANGELOG 头部 / 产品开发文档 §10 补两套编号关系说明 - JSON-LD featureList 同步 三、版本单一权威源 + CI 自动校验 - package.json 为权威源;scripts/check-version.mjs 硬校验 4 派生落点 - scripts/bump-version.mjs 一键升版同步传播 四、跨端一致性冒烟(桌面/移动/扩展) - scripts/check-cross-platform.mjs:12 项契约校验(产物/版本/appId/端口/API 端点注册) 五、合规宣称扫描 - scripts/check-compliance-claims.mjs:拦截对外材料违规认证宣称(自评估属性护栏) 六、安全材料自评估标注 - DPA ×2 / 安全白皮书 v7.2.0 补「内部自评估,不构成认证背书」性质声明 CI build job 新增版本一致性与跨端冒烟步骤;security job 新增合规宣称扫描步骤 | 1 个月前 | |
fix(core): 熔断上限提升 + run_shell 超时兜底 + 上下文压缩保留已读文件 + 测试轮询窗口放宽 - task-executor: 交互模式默认 maxIterations 20→100,避免大任务(项目复盘+安全审计)被过早误熔断,空转死循环仍由 NO_PROGRESS 熔断兜底 - shell/exec: forceTimer 超时兜底 timeoutMs+10000→+5000,修复 Windows 上 npm test | tail 子进程树杀不干净导致 orchestrator 卡死近 10 分钟的问题 - context-compactor: smartCompact 打分给 read_file/list_dir/grep/search/glob 等信息收集工具 +20、成功 tool 结果 +10;extractSummary 新增 readFiles 字段,generateCompactionPrompt 注入「已读取/勘察的文件」清单,防止长任务压缩后模型忘记已读文件而反复重读触发重复调用熔断 - task-persist.test: 轮询窗口 100×20ms=2s 放宽到 750×20ms=15s,消除 12 核并行下偶发的任务落盘超时 验证:npm run typecheck 通过;全量测试连续 3 次 451/451 全绿(exit 0,0 not ok);已编译进 dist。 | 2 天前 | |
feat(web): 任务看门狗超时机制 + 前端停止按钮(防僵尸任务) 背景:模型挂起或死循环会让任务永久停留 running,占满并发额度且无法恢复。 - 后端(src/web/task-queue.ts): TaskQueueOptions.maxDurationMs 可配置单任务 最大执行时长,默认读环境变量 FH_TASK_MAX_MINUTES(缺省 30 分钟);超时触发 controller.abort() 中断;catch 分支按 watchdogFired / 用户主动 stop / 真实异常 三种来源给出可区分文案;if (!record.error) 保证 cancelTask 已标记的错误不被 AbortError 覆盖;finally 清理定时器与控制器,避免句柄泄漏。 - 前端(ui.js + style.css):任务列表对 running/queued 状态显示「⏹ 停止」按钮, POST /api/tasks/:id/stop 精准停止单任务(此前只能整体 cancel),带二次确认与 toast。 测试(tests/unit/task-queue.test.ts +6 例,共 19 例): - 看门狗默认 30 分钟 / opts 覆盖 / FH_TASK_MAX_MINUTES 环境变量覆盖 - 看门狗中断后任务必落终态、不停留 running(防僵尸的核心不变量) - 中断不向用户泄漏裸 AbortError 原文 - cancelTask 主动停止后错误文案不被 AbortError 覆盖 顺带把 channels.test.ts 的完成轮询预算 2s 放宽到 30s(并行负载下偶发少 1 次通知的 既有 flake,仅放宽等待上限,不改断言语义)。 验证:npm test 382/382 全绿;typecheck 0 错误。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
fix(test+audit+plugin): 全量测试 38s 全绿(原卡 20min+)+ 审计锁自愈闭环 - tests/helpers/force-offline.mjs:npm test 预加载闸口——FH_OFFLINE=true 强制离线 (防遗漏 offline:true 时读 .env providers 真实调外网 LLM,单用例拖 200s+)+ FH_HOME 进程级隔离(node --test 并行子进程共享审计目录时,宿主 safe-delete shim 拦截 unlink 留残留锁,跨进程无法区分持锁/残留,死等超时 → 任务 failed) - tests/unit/task-webhook.test.ts:补第二用例 offline:true(原在线跑真实 orchestrator 磨 209s 后 abort) - src/enterprise/audit.ts:①同进程残留锁直接接管(同步锁单线程不可重入, EEXIST 且锁内 PID===本进程必为上次释放失败残留,覆写后立即执行不再傻等 stale 超时)②自愈类锁告警同进程仅提示一次(shim 环境下 rename/覆写兜底 属预期路径,不再每轮审计写入刷屏) - src/plugins/plugin-loader.ts:安装清理 rmSync 加兜底(shim 拦截批量 rm 时 降级覆盖合并/改名挪开,不阻断安装与校验错误传播) 验证:npm test 451/451(38s)+ typecheck + build v8.8.1 | 6 天前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
fix(bugs): 三项核心修复——dots文本toolcall解析/成本闸checkpoint状态/FH_BUDGET_USD硬闸 (v8.5.1) - bug①: 新增 text-toolcall.ts 解析 dots/Qwen 文本格式 tool call(含截断容错),provider 自动兜底 - bug②: orchestrator 成本熔断等异常终止 checkpoint 落 crashed,resume 链路修复 - bug③: FH_BUDGET_USD 环境变量接入硬闸(resolveMaxCostUsd),sessions/swe/executor 统一 - 附带: tool_calls.type 校验放宽(Ollama/AMD 兼容)、max_tokens 默认 8192 - 测试: 301/301 通过(新增 text-toolcall 9 例 + budget-usd 5 例 + checkpoint 2 例) 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 9 天前 | |
feat(v8.7.0): 对标纳米Work 四大能力(成本调度/专家向导/7x24自动化/记忆复用) 借鉴 360 纳米Work(企业智能体工作平台),补齐 fhcode 四项核心能力。 ① 算力档位智能调度(轻量/省钱/满血) - 新增 src/models/tier.ts:ComputeTier(light/save/full)、TIERS 元信息、 classifyGoalTier() 启发式分档、normalizeTier()。 - ModelRouter 评分档位优先(light/save 偏 cheap/local);config.models.defaultTier + FH_TIER 全局锁定,fhcode tier set <档位> / --tier 单次覆盖。 ② 对话式专家创建向导 - 新增 src/cli/cmds/agent-new.ts:4 步向导(选模板→提示/工具→档位→命名), 非交互 --name/--prompt/--tools/--tier/--category;专家加 tier 联动①。 ③ 自动化任务真实执行(云端 7x24) - RoutineAction 新增 {type:'goal'; goal; tier?}。 - 新增 src/runtime/routines/runner.ts:goal/command 均先过三级规则引擎→红线恒 deny; ask 在 requireApproval 时提交审批收件箱挂起、autonomous(serve) 直接执行;放行后 goal 走 executeTask、command 走 runCommand。 - RoutineScheduler.runOnce();service.ts 进程单例 ensureScheduler()。 - CLI fhcode routine list|add|run|enable|rm;Web routes/routines.ts(/api/routines); runServe 启动 scheduler.start(60s)。AppConfig.security.rules 支持用户规则集。 ④ 工作记忆增强(跨会话复用) - executeTask 默认装配 LayeredMemory:启动召回项目记忆注入上下文、过程自动压缩、 结束持久化决策/产物;RunOptions.layeredMemory 可注入共享实例。 - 新增 src/memory/profile.ts(纯函数业务画像)+ fhcode memory profile|stats|clear。 验证:typecheck 0 错误;build 通过;verify:m4/m6/m7/m8/m9/routines/policy 全绿; check:version/check:compliance 通过;新增单测 routine-runner(7)+memory-profile(5)+tier(3) 与 routines(13) 全绿。check:cross 仅 D7(electron/main.js EBUSY) 为本机文件锁的既有环境项。 附带修 tests/unit/task-queue.test.ts 并行 flake:完成轮询预算 6s→30s(语义不变)。 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 7 天前 | |
feat(P2): 透明记忆模块——可读/可编辑/可导出(T2.1-T2.6) v8.6.0「Always-on 飞虹 dots」第二期,反 dots「记忆不可读不可导出」锁定设计: - src/memory/transparent.ts:TransparentMemory(增/列/搜/改/删 + exportJson/exportMarkdown/importJson) - 导出默认过 enterprise/audit.redact 脱敏(sk-密钥/Bearer/JWT/key=value),redact:false 为本地自用对照 - 导出格式 feihong-transparent-memory v1,round-trip 可恢复、按内容去重 - 构造时自动 userUpsert 确保用户存在,可脱离 HonchoStore 独立使用 - tests/unit/transparent-memory.test.ts:12 用例(写读一致/导出格式/编辑生效/round-trip/并发20条/脱敏) - 验证:npm test 324/324、typecheck、build、verify m4/m6/m7/m8/m9 全绿 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹 | 9 天前 | |
fix(A4): voiceToCode 接真实模型生成、记忆总结改直连 ModelRouter - voice/voice-programming.ts: voiceToCode 优先经 ModelRouter.chat 按语音描述真实生成代码 (置信度 0.95),模型未配置/调用失败时回退原模板骨架(离线可用);构造器支持注入 路由器(传 null 显式禁用,供确定性测试)。 - memory/auto-summarize.ts: summarizeWithAI 由 execSync 拼 shell 管道调 CLI 改为直连 ModelRouter.chat(消除引号转义脆弱与 cwd 依赖),失败仍降级为手动处理标记。 - tests: voice 测试更新为「真实 LLM 桩路径 + 模板回退路径」双断言(274/274 通过)。 (验证:tsc --noEmit 0 错误;npm test 274/274 通过) | 13 天前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 | |
test(v0.4.0): 单元测试扩充至 156 例 新增 16 个测试文件(156/156 全绿): model-router 统计 / audit 哈希链 / web-auth 鉴权 / sandbox(含 container)/ mcp 客户端(本地 mock 服务器) / hooks / repo-context 路径规则 / skill-loader / skill-market(市场对接+tar.gz 夹具) / subagent 嵌套 / subagent 摘要 / symbol-index 语义索引 / task-queue / task-webhook / channels 消息渠道 / team / web-tools Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 天前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 7 天前 | ||
| 13 天前 | ||
| 9 天前 | ||
| 1 个月前 | ||
| 7 天前 | ||
| 12 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 7 天前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 6 天前 | ||
| 11 天前 | ||
| 1 个月前 | ||
| 11 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 7 天前 | ||
| 9 天前 | ||
| 9 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 7 天前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 9 天前 | ||
| 7 天前 | ||
| 9 天前 | ||
| 13 天前 | ||
| 1 个月前 | ||
| 1 个月前 |