修复: 缓存原子写与 fork 关系持久化,优化摘要重试

- 原子写: 新增 atomicWriteFile,缓存/收藏/forks 改为临时文件+rename,避免崩溃损坏
- fork 关系: executeFork 记录待绑定项,扫描后按 cwd+时间窗口匹配新会话并持久化
- 摘要重试: 去掉 needDetail 反复刷新逻辑,仅对未生成摘要的会话触发,避免浪费 claude -p 调用
- 脚本转义: pwsh/bash 的 Prompt 回显段转义双引号与 $,防止注入和语法错误
- 输入限制: 工作空间数字输入限制 4 位,避免无限增长
- 品牌统一: 底部版本号文案 绝尘 → U-TABS
This commit is contained in:
lxy
2026-07-01 01:29:01 +08:00
parent baec416df7
commit 45e32193af
6 changed files with 156 additions and 34 deletions
+2 -4
View File
@@ -1,8 +1,6 @@
package internal
import (
"charm.land/bubbletea/v2"
)
import tea "charm.land/bubbletea/v2"
// --- 按键分发 ---
@@ -92,7 +90,7 @@ func (m *Model) handleWorkspaceKey(s string) (*Model, tea.Cmd) {
return m.launchSelected()
}
default:
if len(s) == 1 && s[0] >= '0' && s[0] <= '9' {
if len(s) == 1 && s[0] >= '0' && s[0] <= '9' && len(m.inputBuf) < 4 {
m.inputBuf += s
}
}