- 设置面板增加通道过滤——勾选启用的通道,取消勾选的不出现在通道弹窗里
- 设置面板增加默认历史条数——通道弹窗的初始回放条数(替代硬编码 100)
- 预设通道列表现在也走 enabledChannels 过滤
- "全通道"标签在通道被过滤时改为"已启用通道"
- 所有通道被禁用时 beep 提示(不再静默无响应)
- count=0 行为在启动路径和弹窗路径之间统一
- combo 输入 fallback 使用 config.defaultHistoryCount(不再硬编码 100)
- build.sh 编译完自动重开 app
- 设置面板增加模型选择下拉菜单——覆盖 CC 的 settings.json 配置,通过
--model参数强制指定(解决 CC 静默丢失[1m]后缀的 bug) - 设置面板增加通道过滤——勾选启用的通道,取消勾选的不出现在通道弹窗里
- 设置面板增加默认历史条数——通道弹窗的初始回放条数从这里读(替代硬编码 100)
scan-sessions.py打包进Contents/Resources,启动时自动部署(缺失或过期自动覆盖)Info.plist版本号同步- README 增加 Release 直接下载入口,源码编译折叠为 details
- 单实例防护已移除(导致 build 后 app 消失)
- auth check 超时时关闭 pipe 读端(防 readQueue 死锁)
- scan-sessions.py 正则收窄(不再误删
/Users/...开头的用户消息) - Ghostty focus 用
as text比较 id(兼容未来格式变化) - build.sh 提示行路径加引号(复制可执行)
- CONTRIBUTING 步骤措辞统一
- #7 可配置默认工作目录——底栏「设置」选择,所有新建/恢复会话使用配置的目录
- #9 启动前认证检查(opt-in)——设置里勾选后,启动会话前自动检查
claude auth status,未登录弹窗引导
- 拆分
Models.swift→Models(数据类型)+Utilities(共享 helper)+AuthGuard(认证逻辑) - 14 个 Swift 文件,约 2200 行
- 所有持久化文件统一 chmod 600
- session ID 拼入 shell 前校验 UUID 格式
- Ghostty 窗口聚焦的 termID 增加 AppleScript 转义
SessionDescriptionStoredecode 失败时不覆盖内存数据(防数据丢失)- 配置文件损坏时 os_log 提示(不再静默 fallback)
- Hub 离线时退避 3 个周期(~90s),不再每 30s 白等 curl 超时
postToHub后台等待进程结束,防孤儿进程
openSession窗口聚焦失败时恢复 fallback 到claude --resume(v0.1.2 首版引入的退化)suggestTagA-Z 用完后 fallback 到数字后缀(不再返回冲突 tag)ttyForPID过滤无终端进程的??返回值- 扫描期间手动刷新不再被静默吞掉
- Finder 工具栏重开时刷新数据(不再显示过期缓存)
postToHub加--connect-timeout 2(防 Hub 离线时线程挂起)- 搜索框 placeholder 提示支持拼音
- 【】包裹的描述不再双层嵌套
- README
open命令加引号(路径含空格)
- 提取
augmentedEnvironment()/isValidUUID()/guardAuth()/showAuthAlert()共享 helper - shell 路径转义加固(无条件单引号包裹)
- 规范化二进制名和注释
- 删除 13 条纯 WHAT 注释
- 右键菜单增加分隔线(编辑/操作/工具三组)
- 所有非继承 class 标记
final saveStars()标记private- 删除死代码(
allActivePIDs、get()、updateIdentityDescription()) - 精简 import(Cocoa → Foundation)、修 Python
bare except build.sh:跳过未运行时的 quit、去掉多余 xattr 和废弃的--deep、编译到临时目录(失败时保留旧版)applicationWillTerminate清理定时器与事件监听SessionScanner用compactMap/Dictionary(grouping:)替代手写循环isValidUUID用UUID(uuidString:)替代正则- 认证终止后
waitUntilExit收 zombie 进程 - 弹窗文案更口语化("需要先登录"、"没有可用的会话")
- #1 终端动态检测——中途启动 Ghostty 无需重启 Launcher(
DynamicTerminalwrapper) - #2 删除废弃的
sessionNames/isBolddead code - #5
SessionDescriptionStore每 30s 从磁盘重读,支持外部 hook 写入
- 提取共享 helper:
hubGet/postToHub/runAppleScript/toLatin/instanceIdSuffix/channelFlags - 删除冗余
scanner参数(renameSession)和refreshSessionswrapper descStore.load()移到 scan completion(不在 star toggle 时触发)groupDateFormatter改 static(避免每行重建)- 修复
self!force-unwrap(crash vector)
首次开源发布。
- 菜单栏会话管理(380×500 Popover,NSSearchField + NSTableView)
- 会话命名,本地持久化(
session-descriptions.json,按完整 UUID 索引) - 实时搜索 + 拼音匹配(CFStringTransform Latin + 首字母)
- ★ 置顶
- 活跃会话检测(PID +
kill -0+ jsonl cross-check) - 一键窗口聚焦(PID → TTY → Ghostty breadcrumb → AppleScript)
- 竞态 bug 检测 + 修复(Claude Code
--resume#8067) - 每 30 秒自动刷新
- launchd 开机自启
- Finder 工具栏支持
-p一次性调用自动过滤(entrypoint == "sdk-cli"不进列表)
- 📡 通道会话 / @标签 / 通道恢复 / Hub 健康指示
- 没装 Hub 时 📡 相关按钮完全隐藏,零打扰
- 11 个 Swift 文件,约 1900 行
- 职责分层:Models / Scanner / Store / DescStore / HubClient / ChannelDialog / HubExtension / PopoverController / AppDelegate / TerminalAdapter
swiftc直接编译,不需要 Xcode 项目