Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ X选题补充:[9个项目与转化优先级](docs/research/x-project-shortlist

AI 补充调研:[32 个 AI 项目与工作台选型](docs/research/ai-workbench-candidates.md)。覆盖文档抽取、知识图谱、Agent、评测、字幕、配音、课件和视觉生成,另含 3 个通用组件;已列明接口、独立服务、模型许可和维护边界。该次首批完成6项;后续转化状态以当前清单为准,正式模型/外部服务范围以各项目说明为准。

第3波10项已完成本地功能验收与打包,纳入本地整合分支。第4–6波30项待开展。详细范围、验证与限制见[第三波记录](docs/release-0.9.0.md#第3波--本地工作流与可选服务)。
第3波10项已完成本地功能验收与打包。第4–6波30项待开展。详细范围、验证与限制见[第三波记录](docs/release-0.9.0.md#第3波--本地工作流与可选服务)。

## 工作台实景

Expand Down
4 changes: 2 additions & 2 deletions docs/release-0.9.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@

## 第3波 · 本地工作流与可选服务

第3波10项已完成本地功能验收与打包,纳入本地整合分支。第4–6波的30项尚未开展。本地验收与商店上架、客户端导入分别记录。
第3波10项已完成本地功能验收与打包。第4–6波的30项尚未开展。本地验收与商店上架、客户端导入分别记录。

| 工作台 | 0.9.0 能力 | 应用测试 | 验收记录 |
| --- | --- | ---: | --- |
Expand All @@ -99,7 +99,7 @@

1440/375 浏览器主流程、自动保存和失败处理详见逐项记录。最初五项的浏览器运行来自本日原验收记录,整合者复核最终截图,未将历史运行记为本次重跑;后五项进行了本次独立浏览器验收。Docling、Graphify 另在解包副本运行测试。OpenMontage 实际导出桌面与窄屏成片,以 ffprobe 核对编码、尺寸和音轨。功能验收与结构对照分别记录,部分项目的正式跨工作台结构审查仍为 pending。

安装包逐文件核对源码和最终应用文档。OSMD 清理文件尾部空行后重新打包;DeerFlow 原包携带旧版应用说明,已在最终文档完成后重新打包并更新哈希。manifest 资源路径按模板规则规范化。未推送、未合并 main、未发布商店。
安装包逐文件核对源码和最终应用文档。OSMD 清理文件尾部空行后重新打包;DeerFlow 原包携带旧版应用说明,已在最终文档完成后重新打包并更新哈希。manifest 资源路径按模板规则规范化。商店尚未发布。

真实 Floatboat Host/LLM 未调用,模型通道仅使用 mock;faster-whisper 的 small 中文 CPU 实测沿用本日原验收记录。外部服务范围以逐项验收为准。共享自动保存的约900KB项目上限仍存在;部分大文件通过独立内容库保存,不能把输入上限等同完整项目可保存容量。

Expand Down
6 changes: 3 additions & 3 deletions workbenches/67-openmontage/acceptance-evidence.json
Original file line number Diff line number Diff line change
Expand Up @@ -309,10 +309,10 @@
"sha256": "0b6a061503e92f755c0a965df7afd2d9a3c58d82d3d931cb5f000e10579a3ca5"
},
"package": {
"at": "2026-10-29T12:03:49.912021+00:00",
"at": "2026-10-29T13:26:15+00:00",
"filename": "openmontage-studio-0.9.0.fbworkbench",
"bytes": 2762775,
"sha256": "b32553321af3cf5424a78f8569cd47bd26733afbb3aaa9f8243f3aa3d5fa7a92",
"bytes": 2762855,
"sha256": "180734a079c7343e37b37337de4d9290f69582e389ebb23eaa87d7aec42328e4",
"crc": "passed",
"transferHashesVerified": 71,
"sourceFilesMatched": 61,
Expand Down
4 changes: 4 additions & 0 deletions workbenches/67-openmontage/app/ACCEPTANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,7 @@
- 模板 `check`/`test` 会争用 SDK 生成目录,须串行执行;未修改共享工具链。包采用模板固定源码清单,ACCEPTANCE 留在源码仓库,不属于包内固定三份说明文档。

证据目录:`archive/2026-10-29-workbench-depth/openmontage/`(工作区)。主要文件:`browser-evidence.json`、`depth-evidence.json`、`browser-final.log`、`depth-final.log`、`export-probe.json`、`mobile-export-probe.json`、`export-final-grid.png`、`package-verification.json`。仅本项目录和截图提交,不推送、不更新共享目录或飞书。

## PR 复核修复

2026-10-29 时间码改为固定 `HH:MM:SS:FF`(如 24 秒成片显示 `00:00:24:06`),避免被读成分钟;时间轴刻度仍显示 `MM:SS`。check 与 25 项应用测试通过,1440 与 375 宽浏览器复核监视器与时间轴无挤压、无 console 错误。重新打包,新哈希记录在 `acceptance-evidence.json`。仓库截图拍摄于修改前,监视器仍是旧格式。
3 changes: 2 additions & 1 deletion workbenches/67-openmontage/app/src/contracts/timeline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -312,5 +312,6 @@ export function timecode(seconds: number, fps = 30) {
const f = Math.floor((s - whole) * fps + 1e-6);
const h = Math.floor(whole / 3600), m = Math.floor((whole % 3600) / 60), sec = whole % 60;
const pad = (n: number) => String(n).padStart(2, "0");
return `${h ? pad(h) + ":" : ""}${pad(m)}:${pad(sec)}:${pad(f)}`;
// SMPTE HH:MM:SS:FF; always show hours so a 24-second cut never reads as 24 minutes.
return `${pad(h)}:${pad(m)}:${pad(sec)}:${pad(f)}`;
}
2 changes: 1 addition & 1 deletion workbenches/67-openmontage/app/src/ui/Timeline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ export const TimelineView = memo(function TimelineView({
<div className="tl-ruler" onPointerDown={scrub} title="点击或拖动定位播放头">
{ticks.map((s) => (
<span key={s} className="tick" style={{ left: s * zoom }}>
{timecode(s, timeline.settings.fps).replace(/:\d\d$/, "")}
{timecode(s, timeline.settings.fps).replace(/:\d\d$/, "").replace(/^00:/, "")}
</span>
))}
</div>
Expand Down
3 changes: 2 additions & 1 deletion workbenches/67-openmontage/app/tests/timeline.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ test("fade envelope ramps in and out and is full in between", () => {
test("video layers draw lower tracks first and text above all pictures", () => {
const order = visualOrder(sampleTimeline()).map((k) => k.id);
assert.deepEqual(order, ["v-main", "v-over", "t-sub", "t-title"]);
assert.equal(timecode(61.5, 30), "01:01:15");
assert.equal(timecode(61.5, 30), "00:01:01:15");
assert.equal(timecode(24.2, 30), "00:00:24:06");
assert.equal(timecode(3725, 25), "01:02:05:00");
});
6 changes: 5 additions & 1 deletion workbenches/68-deerflow/ACCEPTANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
### 构建与测试
- `pnpm workbench check deerflow`:manifest、锁文件、类型与构建通过(仅保留共享 autosave-client 体积提示)。
- `pnpm workbench test deerflow`:53 项通过(之前 19 项)。新增覆盖:模板计划/确认规则/模型计划校验、DeerFlow 简报、检索合并保持编号与备注、本地底稿、Markdown/HTML 导出与转义、v1 升级、引用解析与交付门禁、示例完整性、大会话压缩;检索夹具(直读、Jina 回退、GitHub README、404/PDF 错误码、Exa 结果与私网结果丢弃、GitHub 限额说明、ECONNREFUSED)、SSRF(回环/链路本地/内网名/映射地址/DNS 解析后拒绝)、代理选择;mock Host 合同(状态、`generateObject` 计划、`generateText` 报告与编造编号、离线 503);SSE 解码、帧摘要、断线后按 Last-Event-ID 续接且不重复 POST、gap 改读完整状态、反复失败暂停、页面事件流回放与收尾、`/api/models` 检查与授权/拒绝连接说明、地址配置;自动保存提交幂等、未完成网址草稿、冲突保护。原有运行账本测试(持久命令、丢回执只读恢复、模型白名单拒绝、地址变更保护、官方载荷与幂等键)全部保留。
- `pnpm package`:`artifacts/deerflow-studio-0.9.0.fbworkbench`,72 个文件,不含业务数据,SHA-256 `006357c78f72cd113a6c88944e6dfe364f16b481d14d696a72a4192361e28639`。
- `pnpm package`:`artifacts/deerflow-studio-0.9.0.fbworkbench`,72 个文件,不含业务数据,SHA-256 `237cc24ab21ab37c9f7c0ed92915a0e9f4863f4dee98701867f44b4c2b5906c0`。

### 真实浏览器(空数据目录,1440×900)——55 项检查全部通过
1. 首屏为已完成示例,页面加载只请求本机 API;导出 Markdown(参考来源 [1]–[7])与独立 HTML(表格、`#source-n` 锚点)并核对文件内容;点击报告中的 [4] 定位并展开来源 [4]。
Expand Down Expand Up @@ -56,3 +56,7 @@ App/PlanStage/ExecuteStage/DeerFlowPanel/ReportStage/SourcesPanel/FileMenu/style
## 收尾复核

2026-10-29 重新运行 check 与 53 项应用测试通过。更新安装包,使包内 REQUIREMENTS.md、DESIGN.md、ENGINEERING.md 与最终源码一致;逐文件核对代码和文档,资源声明按模板打包规则规范化。原包留存于本地验收归档。

## PR 复核修复

2026-10-29 PR #3 的 CI 在 Linux 上失败 2 项:服务停止后复用 keep-alive 连接报 `UND_ERR_SOCKET`,不是 `ECONNREFUSED`,提示只剩错误码。提交 `21c9991` 将 `ECONNRESET`、`UND_ERR_SOCKET` 解释为服务刚重启或已停止并给出下一步,拒绝连接改用从未连接过的端口测试。check 与 53 项应用测试通过,按该源码重新打包,SHA-256 已更新为上方数值。
2 changes: 1 addition & 1 deletion workbenches/68-deerflow/acceptance-evidence.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"package": {
"path": "artifacts/deerflow-studio-0.9.0.fbworkbench",
"files": 72,
"sha256": "f785d7207339bf0db288b71db1d61fc2c595e3380fb862358be5f9f4641b508b"
"sha256": "237cc24ab21ab37c9f7c0ed92915a0e9f4863f4dee98701867f44b4c2b5906c0"
},
"recoveryExportImportReload": {
"passed": true,
Expand Down