Files
storyforge/CHANGELOG.md
kris e910d976f8
Some checks failed
StoryForge CI / Baseline checks (push) Has been cancelled
StoryForge CI / Backend tests (push) Has been cancelled
StoryForge CI / Web tests (push) Has been cancelled
feat: refocus governance mutations after save
2026-04-04 10:45:31 +08:00

308 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# StoryForge Changelog
这个文件用于给 Gitea 仓库保留阶段性版本更新记录,方便直接查看每一轮里程碑,不用只依赖零散 commit。
## 2026-04-04
### 平台 Agent 变更后自动回到详情工作区
- `平台 Agent 配置保存 / 配置回滚 / 记忆保存 / 技能保存 / 技能验收 / 技能回滚` 这些动作成功后,不再只停在通用成功提示。
- 前端现在会在动作完成后自动重开对应的平台 Agent 详情工作区,让用户立刻看到最新记忆、技能、最近执行和配置版本,不用自己再点回去确认结果。
- 这条行为已经补进前端回归,锁住平台 Agent 相关变更必须能顺着同一个详情视图继续做下一步。
### 管理员治理保存后回到 Agent 治理区
- `系统主 Agent 策略``系统平台策略``OneLiner 动作注册表` 在管理员配置台里保存成功后,现在会自动回到 `管理员配置台 -> Agent 治理`
- 同时会尽量滚到最相关的区块:
- 系统主 Agent / 系统平台策略回到治理摘要区
- 动作注册表回到动作注册表区
- 这样管理员连续调策略时,不需要每次保存后再自己切 tab 和找区块。
### 主 Agent 完成态保留精确对象上下文
- 主 Agent run 在创建时会把 `target_account_id / tracked_account_id / job_id / review_id / source_id / assistant_id` 这类对象上下文固化进执行计划,不再只记一个泛化的来源页面。
- 完成态推荐动作现在会优先直接回到具体对象:可以直接打开当前账号、刷新当前跟踪对象、进入任务详情、打开复盘、继续录制维护,或回到刚才编辑的 Agent。
- 前端推荐动作属性映射补齐了 `account_id / tracked_account_id / assistant_id`,当前运行卡、结果卡、最近动作卡和后续落点入口都能保住真实对象上下文。
- 治理回归新增了“围绕当前账号继续分析”这条链路,锁住主 Agent 完成态结果必须返回 `select-account` 和真实 `account_id`
- NAS live collector 已完成热同步重建,线上验证通过:主 Agent 围绕当前账号继续推进时,完成态结果会直接返回 `select-account` 和目标 `account_id`,不再退回泛化的 `goto-discovery`
### Live 文案与兜底反馈继续收口
- 首页 `重点账号 / 对标` 在没有跟踪对象时,提示改成 `先挑一个重点对象开始跟进`,不再用“等待接入”去误导成系统没接好。
- 存储与录制相关说明改成真实 live 口径,聚焦“有文件时直接露出可回看入口”,不再写成“如果已经接入”这类半成品措辞。
- 前端兜底动作提示改成 `暂未识别当前动作`,明确说明这是前端尚未识别精确落点,而不是产品能力没做完。
- 平台运行时兜底文案也改成 `当前还没有可展示的工作台视图`,避免把非工作台平台一律描述成“待接入”。
### OneLiner 直接执行结果补齐精确落点
- OneLiner 直接执行动作现在统一返回结构化 `recommended_action`,不再只有“执行完成”说明块。
- 这次补通的重点包括:
- 平台自检会直接指向对应 `平台 Agent` 详情
- 复盘草稿会直接打开对应复盘项
- 导入主页和高分分析会直接回到 `找对标`
- AI 视频 / 实拍剪辑会直接落到任务详情
- 存储状态 / 录制状态 / 运维扫描会回到最合适的业务或治理页
- 前端新增统一的 `buildRecommendedActionAttrs(...)`,把 `job_id / review_id / platform / source_id` 这类上下文一起带进最近动作卡和执行结果卡,后续新增直接动作时不用再重复拼接跳转参数。
- 后端回归新增了 `review-draft / platform-self-check / generate-copy` 三类真实动作的推荐落点断言;前端回归则锁住了结果卡和最近动作卡必须使用统一的推荐动作属性映射。
- 这轮还顺手修掉了一个真实 bug保存录制源时usage 记账错误地读取了 `binding["id"]`,现在已改成兼容 `binding_id / id`,不会再因为键名差异导致录制源创建链路直接报错。
- 当前运行卡、最近完成、主 Agent 结果卡、平台 Agent 最近执行这几处“回到业务页”入口,现在也全部切到同一套结构化属性映射,不再只带 `run_id / screen`,从这些入口继续跳转时也能保留 `job_id / review_id / source_id` 这类精确上下文。
### 主 Agent 消息卡补齐配置追溯与主动作执行上下文
- OneLiner 助手消息卡里的 `主配置历史 / 平台配置历史` 现在终于拿到真实 `version_id`,不再出现“入口在,但打开后只能停在列表顶部”的半截体验。
- 助手消息卡里的主动作也改成了和次级动作一致的执行标签:会把 `session_id / platform / executor_key / payload` 一起带上,后续再从消息卡直接执行时,不会丢掉真实上下文。
- 后端回归新增了消息卡 `execution_card` 配置追溯断言,前端回归也锁住了主动作统一走 `actionTag + buildOnelinerActionAttrs`,避免后续又退回到只剩一个裸 `data-action`
### 主 Agent 结果卡支持直达配置版本
- 主 Agent 当前运行卡、执行结果卡、平台 Agent 最近执行卡,现在不只显示 `配置 vN / 平台 Agent vN`,而且可以直接点进去打开对应的历史弹层。
- 历史弹层新增“预选版本”能力:从执行结果进入时,会自动定位到本轮真实使用的那一版,不用再手动在版本列表里找。
- 这条直达链已经补进前端回归,防止后续又退回成“只能看版本号,不能回到版本历史”。
### 主 Agent 配置漂移提示与平台执行追溯
- 主 Agent 当前运行卡、执行结果卡现在不只展示 `配置 vN`,还会在发现本轮执行使用的是旧版主配置或旧版平台 Agent 配置时,直接标出 `主配置已更新 / 平台 Agent 已更新`
- 对于失败、阻塞、取消后的主 Agent 运行,如果当前配置已经变更,重试入口会明确显示成 `按当前配置重跑`,不再让用户自己盯着版本号判断要不要重开。
- 平台 Agent 的 `recent_execution` 现在补上了更完整的追溯字段:
- `title / goal`
- `platform_scope`
- `delivery_mode`
- `active_executor_key`
- `source_action_key`
- 平台 Agent 总览卡和详情弹层已经开始直接使用这些 live 字段,最近执行不再只是“做过一次主 Agent 任务”的摘要,而是一条可判断范围和执行模式的业务记录。
- 前端工作台回归新增了:
- 配置漂移提示与“按当前配置重跑”校验
- 平台 Agent 最近执行 `title / platform_scope / delivery_mode` 展示校验
- 后端治理回归也补上了 `recent_execution` 新字段断言,锁住这条主 Agent -> 平台 Agent 的执行追溯链。
### Playbook 与录制维护落点继续收口
- `创建 Agent / 编辑 Agent` 成功后,现在会直接回到 `Agent -> 当前 Agent / Agent 列表` 工作区,并把刚保存的 Agent 聚焦出来,不再只停在通用成功提示。
- `新增录制源 / 编辑录制源 / 导入 URL 配置 / 启停录制源 / 删除录制源` 成功后,都会统一回到 `生产中心 -> 录制维护`,让用户顺着同一个维护区继续做下一步。
- `当前 Agent` 面板新增显式锚点Agent 列表项补了稳定的 `data-assistant-id`,前端回归也补齐到了这两条业务流,避免后续又退回成“成功了但要自己找结果”。
### 主 Agent 配置与执行落点继续收口
- 发现页里三类关键动作现在会落到更精确的业务区域:账号分析会直接切到快照/字段/报告区域,高分作品分析会直接滚到“最近高分拆解”,相似账号生成会直接滚到“相似对标 / 已绑关系”。
- 复盘创建/更新完成后,不再只停留在通用成功提示,而是会自动回到“发布与复盘”,并把刚保存的复盘项聚焦出来。
- 同一类“保存对标关系”动作也统一改成精确落到关系区域,避免成功后仍让用户自己再找结果在哪。
## 2026-03-30
### 主 Agent 治理与运行闭环
- 完成主 Agent 治理底座第一版,补齐系统策略、用户策略、管理员覆盖、历史版本与回滚。
- 主 Agent 悬浮窗口已经接通运行创建、执行确认、进度追踪、结果查看、历史筛选和异常重试。
- 业务页支持把上下文直接交给主 Agent执行完成后会把结果和下一步动作回写到对应页面。
### Web 工作台信息架构
- 首页改成旧 UI 风格下的 `先动作、后概览` 结构,保留当前项目视角和 `1 主 2 次` 今日动作。
- 非首页页面做了一轮可用性清理,重页面改成 tab / 分层结构,薄页面补齐首屏任务感。
- 管理员配置台和用户侧页面边界进一步清晰,避免系统治理内容挤进普通工作流。
### 移动端原生适配
- Web V4 已补成移动端原生风工作台:移动头部、底部导航、项目切换带、底部面板式 OneLiner。
- `找对标 / 生产中心 / Agent / 我的策略 / 我的项目 / 跟踪账号 / 复盘 / 额度 / 设置` 都增加了移动端任务卡和紧凑摘要。
- 移动端抽屉、底部 sheet、项目切换、主 Agent 面板、结果提示等交互做了一轮真实收口。
### 真实能力对齐
- 清理了前端里一批“后端暂未接入”的旧占位文案,改成真实空状态和真实下一步。
- `OneLiner 动作注册表 / 平台 Agent / 租户额度 / 复盘` 已按 live collector 实际能力展示,不再误导成“还没接”。
- `额度``复盘` 页面首屏已改成围绕 live 数据的任务页,直接展示风险、主要消耗、高频结论和下一步动作。
- `跟踪已读 / 批量跟踪同步 / 单账号跟踪同步 / 高分作品分析 / 平台技能验收` 已改成“真实调用优先”,避免旧 capability 口径把已接好的接口误判成未接入。
- `OneLiner 会话 / 运行详情 / 治理控制面 / integrations / live-recorder` 这些固定接口也已经切成 live-first请求失败才降级不再先被陈旧 capability 表拦住。
- 任务恢复链会优先真实调用 `/v2/explore/jobs/{job_id}/retry`,只有接口真的不存在时才回退到手动恢复模板。
- `找对标 / 跟踪账号` 里一批已经失效的 “当前平台待接入” 按钮禁用与入口分支已删除,当前 active 平台都直接走真实路由,失败时再给真实反馈。
- 工作台前端已经清掉浏览器 `alert` 弹窗,缺对象、权限不足、刷新失败和加载失败都会回到站内反馈,不再把用户从当前流程里打断出去。
- `OneLiner 会话 / 主 Agent 运行 / 动作执行器 / 跟踪同步 / 高分分析 / 平台技能验收` 这批真接口也已经去掉“当前实例未提供”的旧降级口径,统一按 live 结果说话。
- 新增一条前端回归护栏:静态声明出来的 `data-action` 必须有明确处理逻辑,避免后续再出现“点了没反应,最后落到动作待接入”的隐性缺口。
- 后端契约测试新增 live-first 路由覆盖,直接校验 `分析高分作品 / 批量跟踪同步 / 单账号跟踪同步 / 跟踪游标` 这些当前前端已完全依赖的接口。
- 后端契约测试继续向治理与运维面扩展,新增 `OneLiner 动作注册表 / 平台 Agent / 平台技能验收与回滚 / tenant quota & usage / admin ops 扫描与修复计划` 的 live 路由覆盖。
- 修掉了平台 Agent 在“项目尚未绑定 assistant”时的真实外键问题现在空项目也能先保存 OneLiner / 平台 Agent 配置,再逐步补齐执行 Agent不会因为空 assistant_id 直接失败。
- 主 Agent 治理测试的清库逻辑也收紧了,回归时不再因为外键残留跳过删除,避免后续新增治理测试后出现假红灯。
### NAS 联调与回归
- NAS 局域网联调链保持可用:
- Web: `http://192.168.31.188:19192/`
- Collector: `http://192.168.31.188:19193/healthz`
- 当前基线通过:
- 前端测试 `63/63`
- 后端单测 `35/35`
- `bash scripts/check_repo_baseline.sh`
- `bash scripts/smoke_fnos_storyforge_lan.sh`
### 版本记录与 CI
- 新增仓库级 `CHANGELOG.md`,让 Gitea 仓库能直接看到阶段性更新记录。
- 最小回归 workflow 同时落在 `.github/workflows/ci.yml``.gitea/workflows/ci.yml`GitHub Actions 与 Gitea Actions 都能跑相同的基线、后端单测和 Web 测试。
## 2026-03-31
### 主 Agent 配置业务流收口
- 管理员配置台里的系统主 Agent、系统平台策略、管理员覆盖这条配置流补上了前端本地权限兜底非超级管理员不会再直接撞到后端 403。
- 管理员覆盖目标为空时,前端会明确提示“当前治理目录里还没有可选用户”,不再放出无效保存和回滚动作。
- 管理员侧三类历史回滚弹层都改成了只读空态:没有历史版本时会隐藏提交按钮,也不会再让空 `version_id` 发起无效回滚请求。
### 配置流回归护栏
- Web 工作台测试新增了主 Agent 配置流空态保护和权限保护覆盖,重点锁住:
- 管理员历史回滚空态
- 管理员治理动作本地权限 guard
- 管理员覆盖目标为空时的编辑/历史保护
- 当前基线重新验证通过:
- 前端测试 `66/66`
- 后端单测 `35/35`
- `bash scripts/check_repo_baseline.sh`
- `bash scripts/smoke_fnos_storyforge_lan.sh`
### NAS 联调发布
- 最新 Web 已重新发布到 fnOS NAS
### OneLiner 主配置版本化
- `OneLiner 主配置` 现在和策略治理层一样,已经支持版本历史、回滚和审计,不再是直接裸改。
- 后端新增了 `GET /v2/oneliner/profile/versions``GET /v2/oneliner/profile/audits``POST /v2/oneliner/profile/rollback`,并让 `GET/PUT /v2/oneliner/profile` 直接返回当前版本、历史数量和最近审计。
- 前端 `配置 OneLiner` 弹层补了当前版本摘要和变更原因,`Agent` 工作台也新增了 `看配置历史``历史与回滚` 入口。
- 回滚会生成新的版本快照并保留审计链,不会直接覆盖旧记录。
### OneLiner 配置流回归
- 新增主配置版本历史和回滚测试,覆盖:
- 初始化版本种子
- 连续更新后的历史版本
- 回滚生成新版本
- 审计记录包含更新与回滚动作
- 前端工作台测试也新增了 `OneLiner 主配置历史` 的回滚与审计入口校验。
- 主 Agent 配置业务流的这轮修复已经同步到 Gitea后续可以直接基于当前分支继续收剩余真实能力细节。
### OneLiner 配置版本进入执行链
- 主 Agent 在创建 run、重试 run 和完成 run 时,都会把当前 `OneLiner 主配置版本` 一起固化进治理快照和结果卡,不再只有治理页知道自己用了哪一版配置。
- 完成态结果现在会带上 `execution_card.oneliner_profile_version`,前端浮窗、运行卡和结果卡都能统一显示 `配置 vN`,避免进入执行链后丢失配置来源。
- run 的治理快照也收窄成“当前主配置 + 当前版本”最小运行态,不再把完整版本历史和审计链塞进每次执行记录,避免 `agent_runs.governance_json` 无限制膨胀。
- Web 回归测试修正了 OneLiner 运行区函数边界,并新增了对执行链配置版本显示的断言;后端治理测试也补上了 run 完成态必须带配置版本的检查。
### 平台 Agent 配置进入执行链
- 主 Agent 在创建 run、重试 run 时,会把当前平台 Agent 的最小运行快照一起固化进治理快照包括平台、Agent 名称、承接使命、assistant 名称和 readiness 状态。
- 完成态结果现在会带上 `execution_card.platform_agent_profile`,前端浮窗、当前运行卡和结果卡都能直接看到“本轮平台 Agent”执行链不会再丢失平台侧配置来源。
- run 的平台 Agent 快照只保留运行时最小必要字段,不把完整平台 Agent 配置、技能列表和记忆列表塞进执行结果,避免执行记录继续膨胀。
- Web 回归测试新增了对“本轮平台 Agent”结果渲染的断言后端治理测试也补上了 run 创建态与完成态必须带平台 Agent 快照的检查。
### NAS 联调发布
- 最新 Web 已重新发布到 fnOS NAS
- Web: `http://192.168.31.188:19192/`
- Collector: `http://192.168.31.188:19193/healthz`
- 当前基线重新验证通过:
- 前端测试 `67/67`
- 后端单测 `36/36`
## 2026-04-04
### 平台 Agent 配置历史与回滚
- `平台 Agent 配置` 现在和 `OneLiner 主配置` 一样,已经支持版本历史、回滚和审计,不再只是直接编辑当前值。
- 后端新增了:
- `GET /v2/platform-agents/{platform}/profile/versions`
- `GET /v2/platform-agents/{platform}/profile/audits`
- `POST /v2/platform-agents/{platform}/profile/rollback`
- `PUT /v2/platform-agents/{platform}/profile` 现在支持记录变更原因,并在保存时自动生成新的版本快照。
- 前端 `平台 Agent 配置` 弹层新增当前版本摘要和变更原因,`平台 Agent 面板 / 详情` 也都新增了 `看配置历史` 入口。
### 平台 Agent 配置进入执行回写
- 主 Agent 在创建 run、重试 run、完成 run 时,都会把当前平台 Agent 配置版本号一起带入执行链。
- 平台 Agent 的 `recent_execution` 现在会显示本轮使用的 `平台 Agent vN`,方便直接判断最近一次执行到底用了哪版平台配置。
- run 完成态结果里的 `execution_card.platform_agent_profile` 也会携带平台 Agent 版本号、标题和摘要,悬浮主 Agent 结果卡能直接回看这轮平台配置来源。
### 回归护栏
- 后端治理测试新增了平台 Agent 配置版本链路覆盖:初始化版本、连续更新、回滚生成新版本、审计记录,以及执行完成后的 `recent_execution.platform_agent_profile_version_no` 回写。
- 前端工作台测试新增了平台 Agent 配置历史入口、历史接口、回滚接口和结果卡版本显示的校验,避免后续再把这条链断开。
- `bash scripts/check_repo_baseline.sh`
- `bash scripts/smoke_fnos_storyforge_lan.sh`
## 2026-04-04
### CI / smoke 护栏加固
- `scripts/check_repo_baseline.sh` 现在会在校验 Web 资产时显式检查 `storyforge-*.js` 是否真的存在,避免后续打包产物变化后只留下一个“看起来在跑、实际漏掉文件”的空洞通过。
- `scripts/smoke_fnos_storyforge_lan.sh` 现在对 `StoryForge` 首页、runtime 配置和 `19181` 兼容入口都做固定字符串断言;其中 `19181` 会校验真实兼容业务台文案,而不是只要抓取成功就算通过。
- 这轮护栏加固保持了现有基线语义不变,只把原来偏宽松的检查收紧成可追踪的真实断言。
### 主 Agent 配置与执行结果继续打通
- `跟踪账号 -> 立即同步` 现在在同步成功后会自动打开对应 `sync_job_id` 的任务详情,不再停留在一条“已同步”的提示上。
- 主 Agent 的执行结果卡、OneLiner 助手消息卡,现在都能直接跳转到 `主配置历史``平台 Agent 配置历史`,把一次执行和当时生效的治理版本真正连起来。
- `execution_card` 里新增了主配置与平台 Agent 配置的 `version_id`,后续继续做更深的版本对比和追溯时不需要再靠标题文本猜版本。
### 平台 Agent 执行回写闭环
- 平台 Agent 配置现在不只是“被主 Agent 带进执行链”,还会在主 Agent 完成态后反向记录最近一次执行信息。
- `platform_agent_profiles` 新增最近执行回写字段,保存:
- 最近 run id
- run 状态
- 最近使用时间
- 意图 key
- 使用的 OneLiner 配置版本号
- 执行摘要
- 来源页面
- `GET /v2/platform-agents` 现在会返回 `recent_execution`,平台 Agent 总览卡和详情弹层都会直接显示“最近执行”和“配置 vN”方便追溯平台配置最近是怎么被主 Agent 用起来的。
- 这条回写链已经覆盖到主 Agent 完成态读取路径,避免只在治理层能看到版本,执行面却看不到最近一次真实使用记录。
### 回归护栏
- 后端新增平台 Agent live 路由回写测试,确认:
- 创建并确认一条主 Agent run 之后
- `GET /v2/platform-agents` 能返回 `recent_execution`
- 最近执行会带上 run id、intent 和 `oneliner_profile_version_no`
- 前端工作台测试新增平台 Agent 最近执行渲染断言,锁住总览卡和详情弹层里的“最近执行”展示。
### 平台 Agent 最近执行继续处理
- 平台 Agent 总览卡和详情弹层里的“最近执行”现在都带上了直接动作,不再只是只读摘要。
- 新增“查看执行结果”,会直接打开对应主 Agent run 的结果卡。
- 新增“回到主 Agent 查看”,会切到对应 run 的上下文并打开主 Agent 悬浮窗口,方便顺着同一轮执行继续处理。
- 前端回归也补上了这两个动作入口和事件处理器,避免后续又退回成只能展示、不能继续操作。
### 真实动作成功后的落点继续收口
- `加入跟踪 / 更新跟踪` 成功后,现在会直接切到 `跟踪账号` 工作区,不再只留一条成功提示。
- `存对标 / 保存对标关系` 成功后,会直接把找对标详情切到 `关系` 视图,便于继续看刚保存的关系和候选。
- `单任务恢复 / 批量恢复` 成功后,会优先打开新恢复出来的任务详情;如果没有拿到新任务 id也会回到 `生产中心 -> 失败恢复`
- `生成文案` 成功后,会直接回到 `Agent` 工作区的“最近生成”结果区,而不是让用户自己找。
### 平台 Agent 最近执行字段补齐
- `recent_execution` 现在除了版本号和摘要,还会带:
- `oneliner_profile_version_id`
- `platform_agent_profile_version_id`
- `recommended_action`
- `workstream_key / workstream_label`
- 平台 Agent 总览卡和详情弹层会直接利用这些字段渲染“回到业务页”动作,不需要先打开 run 详情再猜下一步。
### 回归护栏继续加固
- 前端工作台回归新增了:
- 跟踪/对标成功后的页面落点校验
- 恢复任务和文案生成的结果落点校验
- 平台 Agent 最近执行 `recommended_action / workstream` 渲染校验
- 后端治理回归新增了平台 Agent `recent_execution` 新字段断言,锁住:
- 精确版本 id
- 推荐业务动作
- 工作流标签
### 治理保存后的工作区回跳
- OneLiner 主配置在保存和历史回滚成功后,会自动回到 `Agent -> 当前 Agent 工作台 -> OneLiner 主 Agent` 区块。
- 用户全局策略、用户平台策略在保存和历史回滚成功后,会自动回到 `我的策略` 对应 tab不再只停留在成功提示里。
- 管理员覆盖策略在保存和历史回滚成功后,会自动回到 `管理员配置台 -> 覆盖与审计`,方便连续治理和审计查看。
- 前端回归新增了这三条治理回跳断言,避免后续又退回成“改完策略后自己重新找页面”。