Skip to content

feat: 完成第三波 10 个工作台 0.9.0 深度整改与验收 - #3

Merged
ketd merged 18 commits into
floatboatai:mainfrom
zhangqinzhong:feat/workbench-wave3-handoff
Oct 29, 2026
Merged

ketd merged 18 commits into
floatboatai:mainfrom
zhangqinzhong:feat/workbench-wave3-handoff

Conversation

@zhangqinzhong

Copy link
Copy Markdown
Contributor

改动

完成第三波 10 个工作台的 0.9.0 深度整改,补齐本地核心流程、保存恢复、错误处理、产品文档和验收截图,并同步 catalog、README 与版本记录。

工作台 主要能力
OpenSheetMusicDisplay MusicXML/MXL 乐谱、播放/移调、批注及 PDF/PNG 导出
LangExtract 模型通道、手工标注和批量审阅
Docling 本地 PDF/DOCX/HTML/Markdown 转换、分页与来源定位
Promptfoo 本地评测矩阵、多提供方断言、发布审阅与导出
faster-whisper 示例访谈、逐词校对和转录选项
Presenton 本地简报生成演示稿、PPTX/PDF 导出与缩略图修复
Graphify 多文件知识图谱、社区、来源追踪、路径查询与导出
OpenMontage 离线多轨剪辑、MP4/WebM 导出与移动端编辑
DeerFlow 计划确认、本地检索、引用报告与 SSE 流式交互
MiroFish 六阶段本地确定性模拟、运行记录与报告归属

验证

  • 本轮收尾已完成 329 项应用测试及各项目 check/package。原先完成的 5 项独立重跑 check/test 并复核最终截图;其浏览器证据来自同日验收记录。
  • Docling、Graphify、OpenMontage、Promptfoo、MiroFish 补做桌面/移动端浏览器主流程、保存与恢复验收;Docling、Graphify 在解包副本再次通过应用测试。
  • OpenMontage 导出经 ffprobe 确认 H.264/AAC、1280×720、30fps,移动端导出 854×480。
  • 10 个包均已核对最终代码、文档和 SHA-256;详细验证边界见各项目 ACCEPTANCE。
  • 同步最新 main 后,重新执行 node --test scripts/tests/*.test.mjs,45/45 通过。
  • 排除 3 份保持上游原样的 PDF.js CMap/字体许可证后,diff 空白检查通过;完整检查仍有这些许可证的尾空格提示。

待验证与范围

  • 未发起真实 Floatboat Host/LLM 调用,客户端导入仍待复测。外部服务分别标明 mock、夹具或历史实测;本机 faster-whisper 模型结果来自此前验收。
  • 共享约 900KB 模型存储上限尚未统一调整,部分跨工作台结构审阅仍待完成。
  • 飞书台账已更新本轮开发进度、能力与限制,保留人工测试结论和商店状态;本地通过不代表客户端通过或已上架。
  • 第四至六波 30 项不在本 PR 范围。此 PR 只执行检查与打包,商店操作遵循合并后的既有发布流程。

zhangqinzhong and others added 18 commits October 29, 2026 04:36
…view at 0.9.0

- Built-in Floatboat Host channel: LangExtract-style Q/A few-shot prompts per
  chunk, output parsing and codepoint source alignment in Node; durable runs
  with deterministic request IDs, no re-send on replay or restart (mock-tested;
  real Host not called).
- Without any model: select text to annotate, edit class/value/attributes,
  anchor records to a selection, auto-align unlocated records.
- Batches up to 40 documents, class statistics, reviewed JSONL, visualization
  HTML and CSV exports; structured few-shot editor with verbatim checks.
- Five-document procurement sample batch; Python service kept as an optional
  channel with status and start-up help beside the action.
- File lifecycle moved into the 档案 menu; design, engineering and acceptance
  docs updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d playback, transposition, layouts, on-score annotations and annotated PDF/PNG export

- Content-addressed source library with chunked upload; accept standard DOCTYPE, UTF-16, MXL rootfile selection
- OSMD cursor stepping, Web Audio playback, TransposeCalculator, page/landscape/endless/line layouts, part toggles, measure numbers
- Annotations anchored to measure and beat, numbered on the score SVG and linked with the ledger
- PDF/PNG/SVG exports with annotations, review JSON v2, public-domain and original samples
- 0.3 projects migrated into the source library at startup; 17 tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Brief step: paste or read .md/.txt (UTF-8/GB18030), .docx (heading
  styles, lists, tables), .html and .csv; 280k-character briefs; audience,
  objective, language, target length and density.
- Deterministic local outline: tables become native charts (bar/line/
  doughnut, mismatched-scale columns excluded, computed takeaways), numeric
  points become key stats, "time: item" lists timelines, two subsections a
  comparison, quotes and closing asks; agenda, continuation pages, target
  length trimming and a per-section generation log.
- Deck step: 11 layouts and 5 themes from one geometry shared by the HTML
  stage, the canvas PDF renderer and PptxGenJS 4.0.1; click-to-field
  inspector, chart data grid, key stats, built-in illustrations or uploaded
  images (media table, migration 0005), layout switching that derives
  charts/stats, reset slide from outline.
- Export PPTX (native text, bullets, editable charts, images, notes) and
  PDF (per-slide JPEG pages); portable project JSON with images; Markdown.
- Optional channels: Floatboat model outline draft (status, re-check,
  in-page confirmation, candidate adoption; mock-tested only) and the
  existing Presenton connector moved to a status chip and drawer with
  start instructions; durable job ledger contract unchanged.
- Document menu replaces the generic header; 0.4 projects migrate
  deterministically; original sample brief and generated 12-slide deck.
- 47 tests; real-Chrome flow at 1440 and 375 including autosave contract.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thumbnails render the slide inside a <button>, whose default centred text
and the app's nowrap button style leaked into list primitives (text
primitives already set their alignment). The HTML renderer now resets the
canvas root and declares alignment, wrapping and weight on every list and
text primitive, matching the canvas PDF and PPTX hanging-indent layout.
Page numbers move to a column beside the thumbnail. Regression tests cover
the renderer styles and PPTX bullet alignment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ieval, cited reports and SSE streaming

Question -> editable plan (template or optional Floatboat model draft, human
confirmation) -> execution (Node built-in web reading with Readability and Jina
fallback, Exa search, GitHub) or optional DeerFlow background runs followed over
the official run SSE stream with Last-Event-ID resume -> Markdown report editor
with stable [n] citations, citation jump, review gate and Markdown/HTML export.
DeerFlow address configurable in the page with re-check and setup steps. Sample
is a completed original SQLite WAL study. 53 tests; browser flows verified with
loopback fixtures and a mock Host only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ranscribe options

- First open loads a bundled original two-voice interview (Kokoro-synthesised)
  with its real faster-whisper small word-timestamp transcript; proofreading and
  export work with no service running.
- Word timings and confidence, re-alignment after edits, zoomable waveform with
  draggable/keyboard in-out points, split at playhead or word, merge, nudges,
  find/replace with regex, speaker roster and labels, low-confidence filter.
- SRT/VTT (<v>)/TXT/JSON export; VTT voice tags and segment JSON with words import.
- Service status, start commands and recheck beside the transcribe button;
  language, task=translate, word_timestamps, vad_filter, beam_size,
  initial_prompt, hotwords and condition_on_previous_text pass through to
  WhisperModel.transcribe() and are verified in the job echo.
- Audio up to 200 MB with content sniffing; "字幕稿"/"导出" menus replace the
  project picker header. In-browser Whisper fallback evaluated and rejected (CSP).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Serve formats (WIP)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve the WIP conversion changes, stabilize dialog focus, correct nested Markdown source ranges, refresh 0.9.0 documentation and screenshots, and make conversion fixtures portable in packaged tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add local corpus extraction, community analysis, source inspection and portable
reports with native file navigation. Preserve newer drafts across asynchronous
work, isolate late results, and ship verified sample and guidance resources.
Validate Node 22 checks, 26 application tests, 6 Python tests, 79 browser checks,
and byte-for-byte source package contents including finalized documentation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ports

Complete the 0.9.0 timeline editor, persist unfinished numeric drafts, protect document transitions, and verify desktop/mobile export and recovery. Finalize documentation before packaging and record source/resource parity evidence.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Finish the six-stage MiroFish workflow with deterministic local simulation, source ingestion, graph/persona editing, reports and portable exports. Verify autosave failure recovery, independent Chrome layouts, offline flows and packaged source parity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Complete deterministic evaluation, multi-provider comparisons, portable reports and resilient autosave/task recovery. Verify Node 22, isolated desktop/mobile Chrome flows and packaged source/document parity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-independent

On Linux the HTTP client reuses a pooled keep-alive socket after the service
stops, so the first failure is UND_ERR_SOCKET rather than ECONNREFUSED. The
connection message now gives a next step for ECONNRESET/UND_ERR_SOCKET, and the
refusal tests probe a port no client has connected to. CI on ubuntu failed both
tests on PR floatboatai#3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ketd
ketd merged commit b235f74 into floatboatai:main Oct 29, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants