Repository navigation
AI Course Workbench 0.2.5
AI Course Workbench 0.2.5
What's new
- The start page is a project list. Workbench remembers every course project you have opened, most recent first, and one click resumes the course you were last working in. A row whose folder was moved or deleted says so and offers "relocate" — allowed only when the
project.idmatches — or removing just that row; both only touch the list, never the course files on disk. - Opening a folder no longer misidentifies a project. A usable
project.jsonopens directly; a manifest from an older schema is repaired first with itsproject.idpreserved; a corrupt, too-new or non-course manifest states the actual problem; and a folder without any manifest goes straight to the import scan. A parent folder that holds one project per child is not mistaken for any of them. - Nine text and document formats import as real lesson content.
.txt.text.md.markdown.tex.latex.docx.epub.pdfarrive with their structure — heading levels, paragraphs, bold / italic / strikethrough, blockquotes, lists, code, tables, links and embedded images — instead of collapsing into one plain-text block. - You approve the documents one by one. After the mapping plan is confirmed, a "select documents to import as lesson content" step lists every candidate with select all / select none / per-row checkboxes. Images and videos need no checking — they go to the media library automatically.
- Scrolling a large media library is stable. The flicker, UI thrash and stuck cards that appeared when scrolling back up through many assets are fixed: a finished preview repaints only its own card, live cards are no longer evicted from the thumbnail cache, and a card that fails to load shows a retry button instead of looping. A 120-card automated case pins the behaviour frame by frame.
Notes
- Importing is reference-safe: your source files are never moved, renamed, deleted or overwritten, and an import only appends course content. The project list is a rebuildable index (project id, path, title, last opened) stored outside the project — it never holds course bodies or credentials, and deleting it only loses the recent list.
- Format boundaries are explicit: scanned PDFs have no text layer and are kept as reference files only (no OCR in this round); PDF import reads the text layer only, without embedded images, forms or annotations; LaTeX math is preserved as code blocks with a degradation notice;
.txtdeliberately guesses no headings; EPUB CSS is not parsed; DOCX Word styling is dropped. - The media-scroll fix was verified in the shipped frontend with automation, but real-trackpad scrolling and the in-window pointer walkthrough still need a human pass. So do the two channels inherited from 0.2.4: native window pointer / panel gestures and live provider calls — this environment still cannot script clicks into the macOS window and cannot reach
api.openai.com(outbound requests time out). - The 0.2.5 Universal macOS package is ad-hoc signed, has no
TeamIdentifier, and has not been notarized. On the built package,spctl --assess --type executereturnsrejected; macOS may require approval in Privacy & Security on first launch. - Undoing an import restores the project exactly but leaves the imported files in
assets/— Workbench never deletes files it did not create in a scratch area. Nothing else is destructive: v0.2.4 projects open directly, migration keepsproject.idbyte-identical, and API keys still live only in the macOS Keychain.
Release verification
- Source tag
v0.2.5points to commitd16b622c082720c3c386613df187deec3b7ec469; the release workflow 37100286505 completed withsuccesson the tag push. - The latest release page publishes the Universal DMG (14,293,951 bytes) and SHA-256 sidecar. Both were downloaded anonymously: the DMG hashes to
a84884466b084cd674a4d0d32a52b3284863a9adb9706c11283009fb14b7f9fd, the sidecar contains exactly that digest, and it matches the checksum GitHub reports for the asset.hdiutil verifyreported the DMG checksum VALID. - The mounted app bundle reports version 0.2.5 and carries both x86_64 and arm64 slices. Its signature is ad-hoc with
TeamIdentifiernot set;spctl --assess --type executereturnedrejected, and the package is not notarized. releases/latestnow resolves tov0.2.5, and the fixed direct linkreleases/latest/download/AI-Course-Workbench-macOS.dmgresolves to this release. Thev0.2.4tag, its Release, its DMG and its SHA-256 sidecar were not modified by this release.- Automated gates at the tagged source state:
deno task checkclean, 584 Deno tests passed / 0 failed,cargo fmt --checkclean, 216 Rust tests passed / 0 failed,cargo buildclean. The Universalcargo tauri buildruns in the release workflow and succeeded there. No human native-window pass, no live provider call and no real-trackpad scroll check are asserted by this release — see Notes above for what those channels still need.
System
- macOS 11.0 (Big Sur) 或更高版本
- Architecture: Universal(Apple Silicon arm64 + Intel x86_64,同一个安装包)
Install
- 下载
AI-Course-Workbench-macOS.dmg - 双击打开 DMG
- 将 AI Course Workbench 拖到 Applications
- 从 Applications 打开
- 首次打开需要手动放行一次,方式取决于 macOS 版本:
- macOS 15 (Sequoia) / 26 及更新版本:Control-click 已无法绕过 Gatekeeper。
双击后点「完成」→ 打开「系统设置 → 隐私与安全性」→ 在「安全性」区域点「仍要打开」→ 输入密码或 Touch ID 确认。 - macOS 11 (Big Sur) – 14 (Sonoma):在「应用程序」中右键点击(或按住 Control 点击)
AI Course Workbench → 选择「打开」→ 在弹窗中再次点「打开」。 - 放行一次之后,双击即可正常打开。
- macOS 15 (Sequoia) / 26 及更新版本:Control-click 已无法绕过 Gatekeeper。
- 不建议关闭 Gatekeeper,也不建议用
xattr移除隔离属性。
Distribution status
- NOT signed with an Apple Developer ID and NOT notarized.
Verify
a84884466b084cd674a4d0d32a52b3284863a9adb9706c11283009fb14b7f9fd AI-Course-Workbench-macOS.dmg
shasum -a 256 ~/Downloads/AI-Course-Workbench-macOS.dmgLinks
- Latest release page: https://github.com/wyzh0117/workbench/releases/latest
- Direct download: https://github.com/wyzh0117/workbench/releases/latest/download/AI-Course-Workbench-macOS.dmg