mirror of
https://github.com/NanmiCoder/claude-code-haha.git
synced 2026-10-10 11:53:10 +08:00
0c9dc0edd5
The composer was a plain textarea, so @-selected files and folders could not render inline: they became attachment chips above the input and were sent as a detached @"path" prefix. The composer now runs on ProseMirror (ChatGPT desktop's architecture): @ selections insert an inline mention pill (an atom node carrying label/path/isDirectory), and the pill is serialized back to the @"absolute path" text the CLI already parses at its exact position in the prompt. - MentionComposer + composerEditor: schema, doc<->projection mapping, controlled bridge (doc changes project to text+mentions; external writes rebuild the editor state, resetting undo history), single- backspace whole-pill deletion, placeholder/disabled/aria plumbing - composerMentions: tokenOrdinal keeps pills distinct from literal text that happens to spell the same token, so serialization and rebuilds never rewrite the wrong occurrence - ChatInput and EmptySession composers both migrated; drafts persist mentions; drag-and-drop attachment chips unchanged
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