mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Slash-command and skill prompts can enter the title-generation path as internal XML breadcrumbs. The async title request previously treated that transport metadata as user prose, so a generated ai-title could persist raw command tags and override the normal session title. This routes title sources and generated title output through a shared sanitizer, preserving user-visible command names and arguments while dropping unrelated internal XML metadata. Desktop fallback title rendering now applies the same cleanup so existing transcripts with bad ai-title entries recover on read. Constraint: Session titles can be produced by both desktop server logic and the SDK generate_session_title control request. Rejected: Only clean desktop session display | leaves CLI and remote title generation able to persist bad titles again Confidence: high Scope-risk: moderate Directive: Keep generated-title input and persisted-title readback on the shared sanitizer; do not add a title path that reads command XML directly. Tested: bun test src/utils/__tests__/sessionTitle.test.ts src/utils/__tests__/sessionTitleText.test.ts Tested: bun run check:server Tested: bun run check:desktop Tested: bun run verify (7 passed, 1 failed on existing aggregate agent-utils coverage baseline) Not-tested: live model title-generation smoke
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