mirror of
https://github.com/NanmiCoder/claude-code-haha.git
synced 2026-10-10 03:43:11 +08:00
5dc59c5892
A reply that summarised commits quoted `开题报告2.docx` and `D:/资料/测试文档1.docx` from their messages. The turn only ran `git log`, yet three Word cards appeared under it and every name was a link, all opening "file not found". Being mentioned is not being produced, and a guessed path is not a file. Output cards now need the turn to have produced the file. A changed file in the turn checkpoint still counts. A turn whose checkpoint lists no unverified write source (only read-only shell, no MCP writes) has no unseen output, so other mentions are dropped without touching the disk. Otherwise a mention is shown only once the disk reports it exists and was modified since the turn began, compared on the server's clock via a new checkpoint `startedAt`. Cards wait while the checkpoint loads. File links guessed from code spans and prose render as plain code until the workspace confirms the file exists, and stay plain when it does not. Links the reply wrote in Markdown are kept as written. Clicking a file that is gone shows the existing "could not open" toast instead of a tab. Both checks share one stat channel: GET /api/sessions/:id/workspace/stat (at most 20 paths, same boundary as the file route, the workspace root resolved once per request). The client batches every message that mounts in a tick into one request, dedupes in-flight paths and caches answers for 10 s, so a remounted message renders its final state at once and a link just verified opens without another round trip.
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64, MSI only)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录,文件名会显式包含平台、架构和包类型。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app