Files
storyforge/CHANGELOG.md
kris 4f3ca3f20f
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: surface video recorder and recent ai video engine
2026-04-07 16:13:12 +08:00

691 lines
57 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-07
### AI 视频表单可直接跳到火山视频配置状态
- `创建 AI 视频任务` 里的 `Seedance 配置` 提示现在不再只是静态文案,而是新增了 `查看火山配置状态` 入口。
- 点击后会直接跳到 `自动流程 -> 依赖健康 -> Huobao` 卡片,立刻看到当前火山视频配置是否就绪、部署位置和配置提示,不用再自己记 `/settings/ai-config -> 视频 -> 火山引擎` 再手动找入口。
- 同时 `依赖健康` 里的各张集成卡现在都带稳定锚点,后续其他配置提示也可以直接把用户带到最相关的健康卡,而不是只停在说明文字里。
### AI 视频表单开始跟随视频引擎动态刷新配置提示
- `视频引擎``当前默认引擎` 切到 `Seedance 2.0` 时,`引擎模型` 默认值和占位文案现在会立刻跟着刷新,不用再手动猜当前应该填什么。
- `Seedance 配置` 提示也会随引擎切换即时更新,表单第一眼就能看出这次走的是默认视频链,还是 `Seedance 2.0 -> 火山视频配置`
- 这套联动同样保留“手动改过就不再自动覆盖”的原则,避免把用户已经输入的模型名冲掉。
### AI 视频开始按项目记忆最近一次视频引擎
- `创建 AI 视频任务` 现在会按项目记住你最近一次使用的 `视频引擎 / 引擎模型`
- 如果某个项目最近一次就是用 `Seedance 2.0 + seedance-2.0-pro`,下次再打开这张表单时会优先带出这套组合,不用每次重新选。
- 这套记忆只在当前项目内生效,不会把一个项目的视频引擎偏好串到别的项目上。
### 修复额度页套餐建议引起的全局渲染报错
- `额度` 页面现在会先初始化 `packageRecommendation` 再渲染套餐建议,不再因为变量未定义把整个工作台渲染链打断。
- 这次修复直接解决了公网页面点击 `AI 视频` 等直执行动作后被额度页报错拦住的问题,控制台已经恢复为无报错状态。
- 对应前端回归也补了一条更硬的断言,锁住 `renderCreditsScreen()` 对套餐建议变量的初始化。
### 额度策略开始按真实用量给出套餐建议
- `租户额度与审计``额度` 工作区现在会根据当前项目最近的预算消耗、视频动作量、文案动作量和存储使用,直接给出 `试用 / 增长 / 规模 / 自定义` 的套餐建议。
- `编辑租户额度` 弹层里的套餐预览也开始带上这层建议,不再只是静态展示当前选择的套餐说明;切换预设或继续调整自定义额度时,建议会跟着实时刷新。
- 这让额度页从“只展示当前配额”继续往“告诉你现在更适合哪档套餐”收了一层,也把预算、动作池和真实使用节奏更明确地连在一起。
### 创作表单开始跟随来源任务动态刷新推荐值
- `生成文案 / 创建 AI 视频 / 创建实拍剪辑 / 写复盘` 这四类创作表单,现在不只会在打开时算一次默认值;如果你在表单里切换来源任务,平台、标题、受众、画幅、时长、目标这些推荐值会继续跟着刷新。
- 这套联动只会在字段还处于“自动推荐”状态时继续接管;一旦用户手动改过,就会尊重手改内容,不会再被来源任务覆盖。
- `来源任务` 摘要区也会跟着联动更新,切换任务后第一眼就能看到当前承接的是哪条任务。
- 为了支持这层联动,输入型表单里的 HTML 字段现在也带了稳定的 `data-action-field` 标记,后续继续做表单智能化和回归锁定会更稳。
### 直播录制表单开始跟随项目和平台动态刷新
- `新增录制源 / 编辑录制源` 现在会在切换项目或平台时动态刷新录制名称占位,并同步更新可选 Agent 列表,不再停留在打开表单时的默认值。
- `导入 URL 配置` 现在会在切换平台时实时刷新说明文案和样例配置,抖音/快手两种场景可以直接在同一张表单里切换预设。
- 这套联动同样保留“手动改过就不再覆盖”的原则,避免自动推荐把用户已经输入的内容冲掉。
### 输入型表单切项目时会同步刷新 Agent 和上下文
- `导入主页 / 导入当前对标 / 加入跟踪 / 导入作品链接 / 导入文本 / 上传本地视频` 这几张输入型表单,现在在切换项目后会一起刷新可选 Agent 列表和顶部“当前上下文”摘要。
- 这样不会再出现“项目已经换了,但表单里还是上一项目的 Agent 和上下文”的错位。
- `加入跟踪` 虽然没有项目切换,但现在在切换负责 Agent 时,顶部上下文摘要也会实时更新。
## 2026-04-06
### 主 Agent 高注意图动作统一切到直执行入口
- `create_assistant / import_homepage / track_account / generate_copy / ai_video / real_cut` 这批高频意图动作现在统一注册成 `direct-*`,不再回退到旧的 `open-*` 表单入口。
- 这样主 Agent 结果卡、动作注册表和工作台高频按钮现在共用同一套直执行链,后续回跳与结果落点也更一致。
- `analyze_account / analyze_top_videos` 现在也统一切到 `direct-*`,并且在缺少当前选中账号时会自动回退到旧表单,不会把用户卡死在“缺少上下文”的提示上。
- `direct-search-similar / direct-save-benchmark-link` 现在也会在缺少当前账号或相似候选时自动回退到旧表单,避免“查相似 / 存对标”入口因为上下文不完整直接报错。
- `导入主页 / 导入作品链接 / 导入文本 / 上传视频` 这批输入型表单现在会按当前项目和当前平台自动推荐标题占位,并且在表单里切换项目或平台时会同步更新,不再一直停留在通用示例文案。
### 依赖健康卡开始显示服务部署位置
- `collector``/v2/integrations/health` 现在会统一带出 `deployment_scope / deployment_label`,明确说明依赖当前跑在 `服务器 / NAS / Windows / NAS 隧道 / 未启用` 哪一侧。
- 工作台里的依赖健康卡已经开始展示 `部署:服务器``部署Windows` 这类信息,和 `ASR 在线 · GPU` 一起出现,后续迁服务时不需要再靠命令行手查。
- 当前这套口径已经覆盖 `n8n / huobao / asr / cutvideo / live_recorder / local_model`
### 工作台依赖健康现在会显示 ASR 真实运行模式
- `collector``/v2/integrations/health` 现在会带出 ASR 的 `language_mode / runtime_device_mode / runtime_compute_type_mode / active_device / active_compute_type / model_name`
- 工作台里的依赖健康卡不再只是显示 `ASR 在线`,而是会直接展示 `在线 · GPU``在线 · CPU`,并补充当前模型、语言模式和 compute type。
- 这样以后排查“Windows ASR 当前到底有没有吃到 GPU”时不需要再手查命令行或单独打 `/health`
### Windows ASR GPU 失败时自动回退 CPU
- Windows `ASR HTTP` 现在在 `auto` 模式下仍会优先尝试 `cuda + int8_float16`,但如果在真正推理阶段命中 `cublas/cudnn/cuda` 运行库缺失,会自动切回 `cpu + int8` 重试,不再把整次转写卡死在 GPU 路径。
- 这让“默认优先用 GPU、但当前机器 CUDA 运行库不完整”的场景也能稳定返回结果,同时保留混合中英文自动识别。
- `smoke_public_storyforge.sh``smoke_fnos_storyforge_lan.sh` 现在会覆盖 ASR 转写链路,公网 smoke 在遇到 `127.0.0.1` 这类服务器内网地址时会自动跳过真实转写,避免在开发机上误判。
- Windows ASR 运行时现在会自动发现 venv 里的 `nvidia-cublas-cu12 / nvidia-cuda-runtime-cu12 / nvidia-cudnn-cu12` DLL 目录并注入搜索路径;实机验证后 `active_device` 已经恢复为 `cuda`,不再长期回退到 CPU。
### Windows ASR 默认改成 GPU 优先与自动语言识别
- Windows `ASR HTTP` 现在默认不再强锁 `zh + cpu + int8`,而是改成:
- `WHISPER_DEVICE=auto`
- `WHISPER_LANGUAGE=auto`
- `WHISPER_COMPUTE_TYPE=auto`
- 运行时会优先尝试 `cuda + int8_float16`,如果当前机器没有可用 GPU再自动回退到 `cpu + int8`
- 转写请求默认不再强制指定语言,这样一句话里中英混说时,会按模型自动识别而不是强压成中文模式。
- 健康接口现在也会明确返回:
- 配置层 `language/device/compute_type`
- 实际加载后的 `active_device/active_compute_type`
便于区分“当前策略”和“本轮真实用到的运行模式”。
### NAS collector 改走服务器本机的 n8n 与火爆视频
- 新增 `fnOS -> 公网服务器` 的本地转发隧道,把服务器本机 `127.0.0.1:25670/25678` 分别映射到 NAS 的 `19570/19578`
- `deploy_fnos_storyforge_collector.sh` 默认值已经改成走这条隧道,不再继续依赖旧的 `192.168.31.139:5670/5678`
- 这样局域网和外网的 `collector` 现在统一使用同一套服务器侧 `n8n + huobao`,只有 `cutvideo / live_recorder / Windows ASR` 继续保留在局域网设备。
- NAS `integrations/health``n8n / huobao / asr / cutvideo / live_recorder` 已全部恢复在线,`local_model` 维持为刻意禁用状态。
### 公网 n8n 与火爆视频迁到服务器本机
- 公网 `n8n` 不再依赖旧的 SSH 反向隧道,已经迁到服务器本机 Docker健康检查地址切到 `127.0.0.1:25670/healthz`
- 公网 `huobao` 也已经从外部依赖迁到服务器本机 Docker健康检查地址切到 `127.0.0.1:25678/health`
- 公网 `collector` 现已统一使用服务器本机的 `n8n + huobao + cutvideo + live_recorder`,同时继续保持 `local_model` 禁用、`ASR` 走 Windows 桥接。
- 这让外网主链不再依赖你当前这台 Mac 或旧的 `192.168.31.139` 服务状态,公网 `integrations/health``n8n / huobao / asr / cutvideo / live_recorder` 现在都恢复为在线。
### 自动连接首屏再提速一层
- 自动连接成功后,`/v2/me``/v2/me/dashboard` 现在改成并行请求,不再串行等待。
- 会话拿到以后页面会更快进入真实项目总台和当前工作区骨架再继续后台补齐账号、存储、Agent 控制面等重数据。
- 这让“点开就能用”的体验更接近真实可交互,而不是长时间停在连接提示上。
### 自动连接工作区改成先可用后补水
- 自动连接成功后不再把账号详情、存储、Agent 控制面、OneLiner 消息、文档等重数据全部串在首屏可用之前。
- 现在会先渲染当前项目和工作区骨架,让页面尽快进入可交互状态,再后台补齐重数据。
- 顶部连接状态和移动端状态条也会明确显示“同步中”,但不再让整页一直卡在不可用态。
### 导入当前对标与更新跟踪账号开始优先直执行
- `导入当前对标` 在当前项目里已有内容源配置或可直接拿到主页链接时,会优先直接触发同步,而不是默认打开旧表单。
- `更新跟踪账号` 在当前账号已经处于跟踪中时,会直接沿用现有跟踪配置触发更新;只有首次加入跟踪时才继续保留表单。
- 这样 `找对标 -> 接入项目 / 跟踪` 这条链在有足够上下文时也收成了 direct-execute。
### 查相似与保存对标关系入口开始优先直执行
- `查相似` 入口在当前已经选中账号时,会优先直接触发相似账号搜索,而不是先打开旧表单。
- `保存对标关系` 入口在当前已有相似候选时,也会优先直接保存首个候选关系;只有缺少上下文时才回退到旧表单。
- 这样 `找对标` 这条主链进一步从“先开表单再继续”收成了“有上下文就直接执行、没上下文才补信息”。
## 2026-04-05
### 直播录制表单开始按当前项目和平台推荐默认标题与导入样例
- `新增录制源` 现在会按当前项目和当前平台自动带出更合理的默认录制名称,不再每次都从空白标题开始。
- `编辑录制源` 的占位标题也会跟着当前项目和平台变化,方便快速补齐那些原本没有手工命名的录制源。
- `导入 URL 配置` 会按当前偏好平台切换导入样例和说明文案,让抖音/快手场景在第一眼看到的例子就更贴近当前工作流。
### 导入主页、导入当前对标、加入跟踪表单补齐上下文摘要
- `导入主页 / 导入当前对标 / 加入跟踪` 这三张仍需用户补信息的表单,现在和 `导入作品 / 导入文本 / 上传视频` 一样,都会在顶部展示 `当前项目 / 默认 Agent / 默认知识库` 的上下文摘要。
- 默认 Agent 也统一跟随当前已选 Agent避免用户每次打开表单都要重新对齐负责 Agent。
- 这让“仍然必须保留表单”的入口也和前面已经收好的输入型流程保持了同一套体验语言。
### 文案、AI 视频、实拍剪辑、复盘表单补齐同一套上下文体验
- `生成文案 / 创建 AI 视频 / 创建实拍剪辑 / 写复盘` 这四张高频创作表单,现在也会在顶部展示当前项目和默认 Agent 的上下文摘要。
- 这样高频创作动作不管是 direct-execute 还是必须补信息的表单,都已经统一到一套“先看当前上下文,再继续填写”的工作流体验里。
### 高优先级创作表单补齐来源任务摘要
-`生成文案 / 创建 AI 视频 / 创建实拍剪辑 / 写复盘` 是围绕某条已完成任务打开时,表单顶部现在会直接展示这条来源任务的摘要。
- `生成文案``写复盘` 也会优先继承来源任务的平台,避免用户再手工改一次平台。
- 这样从任务详情或主 Agent 结果卡继续往下做时,表单第一眼就知道自己承接的是哪条任务。
### 高优先级创作表单开始自动推荐更合理的默认值
- `生成文案` 现在会按当前平台自动给出更合适的默认受众,而不再一律写成“创业者”。
- `创建 AI 视频` 会按来源任务自动推荐风格、画幅和单镜头时长;`创建实拍剪辑` 会自动推荐目标时长和画幅。
- 这样从主 Agent、任务详情或最近完成任务继续往下做时表单默认值会更贴近当前任务本身而不是每次都从通用模板起步。
### 高优先级创作表单开始自动补标题和剪辑目标
- `创建 AI 视频 / 创建实拍剪辑 / 写复盘` 现在会优先基于来源任务自动带出更合理的标题,而不是总让用户自己再补一遍。
- `创建实拍剪辑` 还会基于来源任务摘要自动生成更贴近当前任务的默认剪辑目标。
- 这样从某条任务继续派生后续动作时,表单不仅默认值更合理,连标题和目标文案也更像是承接当前任务的自然下一步。
### 主 Agent 抖音相似搜索与对标关系 live 修复
- 修复 `search-similar-accounts` / `save-benchmark-link` 在抖音 live 数据上错误按 `project_id` 查询账号导致的 500。
- `OneLiner` 现在会按抖音真实表结构解析目标账号,和国内平台 `content_sources` 路径分开处理。
- 新增抖音专用治理回归,锁住“查相似账号 -> 存对标关系”这条真实执行链。
### OneLiner 对话里的直接执行建议保留完整上下文
- OneLiner 助手消息里的 `suggested_actions` 现在不再只是渲染成一个裸 `data-action` 标签。
- 前端会把每条建议对应的 `executor_key / platform / payload / session_id` 一起带上,所以“直接分析账号 / 直接同步跟踪池 / 直接创建 AI 视频”这类建议从对话里点下去时,会真正走当前 live 执行器。
- 这让 OneLiner 对话、运行卡、结果卡三条链的“直接执行”行为终于统一,不会再出现运行卡能跑、对话建议却丢上下文的断层。
### 主页导入和高分分析的落点改成真正直达
- `直接导入主页` 现在不再把人扔回 `找对标` 总览,而是直接落到新建同步任务的详情页,方便立即看同步进度。
- `直接分析高分作品` 现在会直接回到当前对象,而不是回到整个 `找对标` 首页,让高分拆解结论和相似账号建议更容易接着看。
- LAN smoke 现在会直接校验 `import-homepage / search-similar-accounts / save-benchmark-link / refresh-tracking / mark-tracking-read` 这些主 Agent 直执行动作已经注册在线,避免后续回退。
### 主 Agent 可直接执行分析账号、加入跟踪、创建 Agent
- `OneLiner / 主 Agent` 的动作执行器现在新增了三条真实动作:
- `直接分析账号`
- `直接加入跟踪`
- `直接创建 Agent`
- 这三条链不再只是“建议 + 跳页”,而是会直接调用当前 live 后端接口完成动作,再把结果落回工作台。
- `分析账号` 现在会直接调用对应平台的账号分析接口,并把结果回到当前对象详情。
- `加入跟踪` 会直接创建跟踪对象,并在支持任务同步的平台上立即触发一次同步,再把落点带回任务详情或跟踪对象。
- `创建 Agent` 会直接在当前项目下创建 Agent并把工作流继续落到编辑页。
- 治理回归新增了这三条执行器的 live 断言,锁住动作注册表、分析执行、跟踪执行和 Agent 创建这条链不能退回成假执行器。
### 主 Agent 可直接批量同步跟踪池
- `OneLiner / 主 Agent` 现在新增了 `直接同步跟踪池` 动作,会批量触发当前平台已跟踪账号的同步任务。
- 这条链会直接调用 `/v2/{platform}/tracking/refresh`,不再只是建议用户先跳去跟踪页再手动点同步。
- 如果本轮只生成了一条同步任务,结果会直接落到任务详情;如果是多条批量同步,则回到跟踪工作区继续看结果。
- 治理回归补上了这条动作的断言,锁住动作注册表、批量同步执行和推荐落点都必须保持 live。
### 主 Agent 可直接标记跟踪日报已读
- `OneLiner / 主 Agent` 现在新增了 `直接标记日报已读` 动作,会直接调用 `/v2/{platform}/tracking/cursor` 更新当前平台的已读游标。
- 这让跟踪流不再只停在“同步一批账号”,而是可以顺手把这轮日报窗口标成已处理。
- 动作完成后会统一回到 `跟踪工作区`,继续看当前平台的日报和下一步跟进动作。
### 额度编辑弹层补成真正的套餐配置器
- `编辑租户额度` 不再只是裸数字表单,而是会即时预览当前套餐的预算、动作池和预警阈值。
- 选择 `试用 / 增长 / 规模` 这类预设套餐时,前端会直接预填并锁定对应额度字段,避免用户误以为这些数值需要手工对齐。
- 切回 `自定义套餐` 时,会恢复当前项目自己的手工额度草稿,继续支持精细化配置。
### 套餐档位真正变成服务端额度预设
- `/v2/tenant/quota` 现在会把 `trial / growth / scale / custom` 视为真正的服务端套餐档位,而不只是前端标签。
- 当项目选择 `试用 / 增长 / 规模` 套餐时,后端会自动应用对应的预算、动作池和存储上限,并把规范化后的 `package_title / package_focus / package_defaults / warn_threshold` 一起回写给前端。
- `自定义套餐` 仍然保留手工数值,适合已经明确成本模型或需要特殊策略的项目。
- `额度` 页也跟着升级成更像正式产品的展示:会直接显示套餐标题和套餐定位,不再只看到生硬的 `growth/custom` 标签。
### 失败任务人工处理流改成站内分场景建议
- `生产中心` 里不再用“当前链路没有可自动恢复的模板,建议交给管理员处理”这种笼统提示。
- 前端现在会按失败原因分流成更具体的站内处理建议:
- 额度拦截
- 上传素材缺失
- 实拍剪辑缺少源任务
- AI 视频缺少源任务
- 内容源同步缺主页
- 文本 / 链接缺输入
- 通用站内处理
- 每种场景都会直接给出更贴切的 CTA比如 `去额度 / 重新上传 / 去导入主页 / 看源任务 / 交给主 Agent`,让失败任务不再断在泛泛提示层。
### AI 视频链兼容 Seedance 2.0
- `创建 AI 视频任务` 现在新增了 `视频引擎``引擎模型``镜头语言``运动节奏``风格约束``画幅`,可以直接用当前默认引擎或切到 `Seedance 2.0`
- 当前选择 `Seedance 2.0` 时,前端会把镜头语言、运动节奏和风格约束一起拼进视频 brief不再只是把通用文案原样丢给视频链。
- 后端新增了 `Seedance 2.0` 兼容归一化:
- 对外仍记录真实 `video_provider = seedance2`
- 对内渲染会按兼容映射转到当前可执行的视频引擎链
- 同时保留 `video_dispatch_provider / video_dispatch_model / video_provider_label`
- OneLiner 直接创建 AI 视频时,也会把 `video_provider / video_model` 一起透传,不再丢回默认视频引擎。
- 生产侧回归新增了 `Seedance 2.0` 归一化断言,锁住 `/v2/pipelines/ai-video` 和主 Agent 创建链都必须正确带上 provider 信息。
## 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不再只停留在成功提示里。
- 管理员覆盖策略在保存和历史回滚成功后,会自动回到 `管理员配置台 -> 覆盖与审计`,方便连续治理和审计查看。
- 前端回归新增了这三条治理回跳断言,避免后续又退回成“改完策略后自己重新找页面”。
### 管理员治理剩余回跳补齐
- 管理员在切换“覆盖目标”后,会自动回到 `管理员配置台 -> 覆盖与审计`,直接进入当前目标的审计区。
- 系统主 Agent 历史回滚、系统平台策略历史回滚完成后,会自动回到 `管理员配置台 -> Agent 治理`,方便连续调整系统默认策略。
- 前端回归新增了这三条管理员治理落点断言,锁住“改完就能继续治理”的交互。
### 额度与管理员运维动作回跳补齐
- `租户额度` 保存后,现在会自动回到 `额度` 工作区的策略区域,不再只留一条成功提示。
- `运维扫描 / 事件审计 / 修复计划生成 / 修复计划审计` 完成后,会统一回到 `管理员配置台 -> 运维审计`,方便连续处理下一条事件。
- 前端回归新增了这批动作的 refocus 断言,并锁住了 `credits-quota-anchor``admin-ops-anchor` 两个工作区锚点。
### 跟踪与 Agent 切换顺手度补齐
- `跟踪摘要 -> 标记已读` 完成后,会自动回到 `跟踪账号` 工作区,方便继续处理当天的下一条跟踪任务。
- `切换当前 Agent` 后,会自动回到 `Agent -> 当前 Agent 工作台`,并聚焦到当前选中的 Agent而不是只在原地刷新一句提示。
- 前端回归新增了这两条断言,锁住“切换完成后继续工作”的落点体验。
### 项目切换回到总台工作区
- 切换当前项目后,现在会自动回到 `项目总台` 的首页工作区,并聚焦到 dashboard 主内容,而不是只留在原地刷新。
- 项目切换的移动端 sheet 和桌面项目切换入口都共用这条回跳逻辑,方便切完项目后立刻继续推进当前项目。
- 前端回归新增了 dashboard 工作区锚点和项目切换 refocus 断言,锁住这条落点体验。
### 恢复链与额度文案收口
- `生产中心` 不再用“后续再补任务创建动作”这类半成品口径,当前页面直接按真实任务、恢复和复盘来表达。
- 任务恢复链里的失败提示统一成“先补信息 / 需人工处理”,不再弹出“暂不支持自动恢复”这类生硬口径。
- `额度` 页把“后续再接真实套餐”改成当前就能落地的套餐表达,明确按预算、动作池和项目阶段去配置套餐。
### 基于任务继续生产的视频动作统一改成 direct-execute
- 所有通过 `renderPipelineJobTag()` 渲染出来的 `做 AI 视频 / 做实拍剪辑`,现在都会直接走 `OneLiner` 执行器,不再落回旧的 `job-to-*` 表单打开流。
- 从任务详情、复盘列表、生产中心等位置点这些动作时,会先关闭当前详情层,再直接创建对应任务并跳到真实任务详情,和文案生成链保持一致。
- 前端回归新增了 `PIPELINE_GUARDS -> direct-create-*` 的断言,避免后续映射退回旧入口。
### 文案生成也并进 direct-execute
- `任务详情 -> 用摘要写文案` 和旧的 `job-to-generate-copy` 现在都会直接走 `OneLiner` 执行器,不再先弹回传统文案表单。
- 这条链执行成功后,会把本轮生成结果直接回写到 `Agent -> 最近生成`,并自动回到对应锚点,用户不用再自己寻找结果。
- 前端回归新增了这条 direct-execute 与结果回写断言,避免后续又退回“执行了但最近生成不更新”的半成品状态。
### 套餐档位与恢复引导继续补齐
- `额度` 页和租户额度编辑弹层新增了 `套餐档位``预算预警阈值`,现在能直接按试用、增长、规模、自定义四档去配置项目套餐。
- 租户额度面板会直接展示当前套餐档位和预警阈值,便于把预算和动作池表达成正式产品能力,而不是只看裸配额数字。
- 不可自动恢复的失败任务现在会打开站内“处理建议”面板,直接给出补信息、查看详情或交给主 Agent 的下一步,而不是只停在失败提示。
### 项目切换入口统一
- 所有 `select-project` 入口现在都统一走 `applySelectedProject()`,不再一部分入口回到项目总台、一部分入口只原地刷新。
- 项目卡、项目 sheet 和其他项目切换入口都会在切换后回到 `项目总台` 主工作区,保证切完项目就能直接继续当前项目推进。
### 页面口径继续去掉半成品表达
- `Agent`、模型设置、跟踪、对标关系、复盘这些页面里的“后续再补”口径继续改成当前就能执行的表达,页面语气更像正式产品。
- `创建 Agent / 编辑 Agent` 里的系统提示词占位改成“可先留空,后面随时补充”,减少半成品感。
- `作品与成片`、Agent 执行项默认说明里的“再补”字眼也一起收掉,统一成当前可直接推进的表达。
- 前端回归新增了这批文案断言,避免旧的占位口径再回流到主工作台。
### 依赖健康缺配置入口补齐
- 依赖健康卡片在“未配置地址”时,管理员可以直接点 `去管理员配置台` 继续配置。
- 探测地址缺失文案改成“等待配置探测地址”,不再让人误以为系统异常。
### 主 Agent 可直接查相似与存对标
- `OneLiner / 主 Agent` 现在新增了 `直接查相似账号``直接存对标关系` 两条真实执行动作,不再只停留在“建议后跳回找对标”。
- `直接查相似账号` 会调用当前平台的相似搜索接口,返回真实候选数量,并在有候选账号时直接落到该账号详情。
- `直接存对标关系` 会优先复用最近一次相似搜索的候选,把它直接写入当前平台的对标关系,并把结果回写到找对标工作区。
### 找对标顶部动作改成 direct-execute
- `导入当前对标 / 加入跟踪 / 账号分析 / 高分分析 / 查相似 / 存对标` 这批高频动作现在默认直接执行,不再先开表单。
- 执行后会按真实 `recommended_action` 继续落到任务详情、当前对象或关系区;只有当前没有可直接执行的候选时,才回退到原来的高级表单。
- `接入当前项目` 卡片里的 `导入当前对标 / 加入跟踪` 也已统一切到 direct-execute避免同一页面里出现新旧两套动作体验。
### 主 Agent 落点快捷动作继续下沉
- 主 Agent 落到 `找对标 / Agent / 生产中心 / 发布与复盘` 后,快捷动作里原先的 `高分分析 / 新建 Agent / 写复盘 / 做 AI 视频 / 做实拍剪辑` 已优先改成 direct-execute。
- 这些动作现在直接调用 `OneLiner` 执行器并按真实结果继续落到对象详情、Agent 编辑页、复盘页或任务详情,而不是先打开旧表单。
- `review-draft` 现在支持显式 `source_job_id`,所以从任务详情、复盘页和最近完成任务入口点“写复盘”,会围绕指定任务直接生成草稿,不再总是退回“最近一条任务”。
### 导入与跟踪表单统一收进执行器
- `导入主页 / 导入当前对标 / 加入跟踪 / 导入作品链接 / 导入文本` 这批高频表单现在都统一走 `OneLiner` 执行器,不再一部分直接调业务接口、一部分走主 Agent。
- 后端新增了 `import-video-link / import-text` 两条真实执行动作,并且 `generate-copy / import-homepage / track-account / create-ai-video` 现在都会优先尊重显式 `assistant_id`,避免切到执行器后丢失用户在表单里选定的 Agent。
- `runDirectWorkbenchAction / runDirectDiscoveryAction` 也已支持显式 `projectId / platform`,所以这批旧表单里的“归属项目 / 平台”选择不会在切换到执行器后失效。
- SQLite 连接现在保持 `WAL` 优先,但在临时盘或受限文件系统无法启用 `WAL` 时会自动回退到 `DELETE`,避免测试环境和受限部署因为 `disk I/O error` 直接起不来。
- `generate-copy` 这条执行链现在会直接推荐回到“最近生成”结果区而不是再打开旧文案表单LAN smoke 也同步把 `track-account / import-video-link / import-text / generate-copy / create-assistant` 纳入 action-registry 护栏。
- 全局 `AI 视频 / 实拍剪辑` 主按钮也已经切到 direct-execute会直接承接最近可派生任务不再优先打开旧表单。
- 全局 `写复盘` 旧入口现在也会优先围绕最近已完成任务 direct-execute只有当前项目还没有可承接任务时才回退到手工复盘表单。
- 全局 `生成文案` 旧入口也已经做成相同分流:优先围绕最近完成任务直接生成,只有没有可承接任务时才回退到旧文案表单。
# 2026-04-05
- intake: `导入作品 / 导入文本 / 上传视频` 现在会先显示当前项目、默认 Agent 和默认知识库的上下文摘要,并预填更贴近当前工作流的标题提示。
- intake: 遗留 `导入主页` 入口现在会优先复用当前选中对标的主页链接 direct-execute只有缺少选中对象或主页链接时才回退到表单。
- agent: 遗留 `创建 Agent` 入口现在也会优先 direct-execute当前项目已就绪时直接创建 Agent只有缺上下文时才回退到旧表单。
- pipeline: 全局旧入口 `AI 视频 / 实拍剪辑` 现在也会优先围绕最近完成任务 direct-execute只有没有可承接任务时才回退到旧表单。
- review: `任务详情 -> 写复盘` 旧入口改成 direct-execute`source_job_id` 直接生成复盘草稿,不再优先打开旧复盘表单。
# 2026-04-06
- 修复 fnOS `live_recorder` 部署链,改成同步 `DouyinLiveRecorder-main` 源码到 NAS 并在 NAS 构建,避免错误预构建镜像里缺少 `webui.py` 导致容器启动即失败。
- 新增 `scripts/deploy_fnos_storyforge_live_recorder.sh`,并把 live recorder 并入 `deploy_fnos_storyforge_lan_stack.sh`
- `smoke_fnos_storyforge_lan.sh` 新增 `live_recorder` 健康检查,后续 NAS 重启或版本更新后能直接发现录制服务回退。
# 2026-04-06
- Added fnOS-native deployment assets for StoryForge local dependencies:
- `cli-proxy-api` model gateway on `:8317`
- `n8n` on `:5670`
- `huobao-drama` on `:5678`
- Extended `deploy_fnos_storyforge_lan_stack.sh` so the NAS LAN stack can recreate model gateway, n8n, huobao, live recorder, collector and web from repo-managed assets.
- Switched collector fnOS defaults away from the Mac host for `LOCAL_OPENAI_BASE_URL`, `N8N_BASE_URL`, and `HUOBAO_BASE_URL`, so the NAS stack no longer depends on local disk-hosted services for those routes.
# 2026-04-06
## 公网模型 / Windows ASR 收口
- 默认不再为 fnOS collector 注入 `LOCAL_OPENAI_BASE_URL`,避免运行链继续误依赖本机 `8317`
- 公网 collector 示例配置改为显式禁用 `local_model`,并把 `ASR` 桥接端口切到 `127.0.0.1:28088`
- 新增 Windows `ASR HTTP` 服务资产,兼容 StoryForge 当前 `/transcribe` 协议,便于把 ASR 迁到 Windows 主机 `192.168.31.18`
- Windows 端新增 `ASR` 启动脚本、云端桥接脚本与计划任务注册脚本,并放通 `8088` 入站,保证局域网和公网都可直连该 `ASR` 服务
- 创作类表单的来源任务联动继续收口:`写复盘` 现在切换来源任务时,会同步推荐更合适的负责 Agent并即时刷新顶部当前上下文摘要避免标题、平台已经切过去了但负责人和上下文还停在旧任务上。
- 套餐/额度页面补上“剩余额度预测”:额度页、额度面板和套餐预览现在都会明确显示剩余预算、剩余文案、剩余 AI 视频、剩余实拍和剩余存储,不再只展示总预算和总配额。
- `创建 Agent / 编辑 Agent` 这两张表单也补成了带上下文和知识库联动的产品化表单:创建时切项目会同步刷新默认知识库,编辑时可以直接更新默认知识库,不必再回别处改。
- 额度页残留的半成品口径已收口,不再出现“后端尚未完全接入真实预算”这类提示;未配置独立额度策略时,会直接引导按预算基线和动作池去建立试用、增长或规模套餐。
- `smoke_public_storyforge.sh``smoke_fnos_storyforge_lan.sh` 现在会显式校验 `integrations/health` 的关键依赖状态、部署位置和 `local_model=not_configured` 口径,不再只看页面能打开和基础 healthz。
# 2026-04-07
- 顶层 `AI 视频 / 实拍剪辑` 主按钮改回“先开配置表单”,会自动承接最近完成任务作为默认来源,但不再直接跳过配置页;只有任务上下文里的 `做 AI 视频 / 做实拍剪辑` 仍保持 direct-execute。
- `AI 视频` 表单新增 `Seedance 配置` 提示,明确说明当前 `Seedance 2.0` 走火山视频配置,默认应在 `Huobao /settings/ai-config -> 视频 -> 火山引擎` 配置;如果不用页面配置,也支持通过 `HUOBAO_VIDEO_BASE_URL / HUOBAO_VIDEO_API_KEY / HUOBAO_VIDEO_MODELS` 环境变量覆盖。
- `integrations/health` 新增 `huobao` 视频配置摘要,能直接看出当前 `Huobao` 视频配置页是否已经录入视频引擎配置,以及对应的配置页路径,减少排查 `Seedance` 任务为什么只建单不出片的歧义。
- 首页 `1 主 2 次` 动作里把 `视频录制` 抬成了高频次级动作,当前项目有生产任务时能更快进入录制维护入口。
- `AI 视频` 表单开始直接显示“当前项目最近使用的视频引擎”,像 `Seedance 2.0 · seedance-2.0-pro` 这类信息会在打开表单时直接可见,并保留跳到火山配置状态的入口。