用途:在实现重要功能、修复状态检测问题、涉及会话跟踪的提交前,或用户要求“测试应用”“验证是否可用”时,对 Claude HUD 进行手动验证。
主要能力与流程: 一、完全重置。运行 ./scripts/dev/reset-for-testing.sh,清除应用 UserDefaults、~/.capacitor/ 下的会话、锁与活动数据,以及钩子脚本与注册信息,并重新构建和启动应用。 二、首次运行验证。确认出现设置界面(能检测到缺少钩子)、钩子安装成功、项目列表为空。 三、核心功能清单。添加项目(点击 + 选择文件夹后出现在列表);会话检测(在项目中启动 Claude,状态显示 Ready/Working);状态转换(输入提示并等待响应,Working 转 Ready);锁检测(Claude 运行时 ls ~/.capacitor/sessions/ 下存在锁目录);会话结束(退出后状态回到 Idle)。 四、调试命令。tail -f ~/.capacitor/hud-hook-debug.log 实时查看钩子事件;cat ~/.capacitor/sessions.json | jq . 查看会话状态;ls -la ~/.capacitor/sessions/ 检查活动锁;ps aux | grep -E "(claude|hud-hook)" 检查进程。 五、快速重启。./scripts/dev/restart-app.sh 重新构建 Rust 与 Swift 并重启应用,保留现有状态,适合迭代测试。
常见问题处理:状态卡在 Working/Waiting 时检查锁持有者进程是否存活(cat ~/.capacitor/sessions/*.lock/pid | xargs -I {} ps -p {}),若 PID 已死但锁仍在,下次启动时清理应移除;钩子事件未触发时检查 cat ~/.claude/settings.json | jq '.hooks' 是否包含 SessionStart、UserPromptSubmit 等指向 hud-state-tracker.sh 的条目;UniFFI 校验和不匹配时按文档重新生成绑定(cargo build -p hud-core --release 等命令)。
验证总结:确认应用无崩溃启动、首次运行钩子安装成功、项目可增删、会话状态反映真实 Claude 活动、状态正确转换(Idle → Ready → Working → Ready → Idle)、无孤立锁持有者累积。
限制:本资料给出的是手动测试步骤与调试方法,未提供自动化测试框架、平台支持范围或性能指标,相关事实暂未提供。