@fanchao8609/agent_brain_sync 1.10.0 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hooks/abs.pi.ts +12 -3
- package/package.json +1 -1
package/hooks/abs.pi.ts
CHANGED
|
@@ -455,9 +455,18 @@ export function renderPanelLines(
|
|
|
455
455
|
if (data.total === 0) return []
|
|
456
456
|
const colorOf = (state: string): string => (state === '滞留中' ? 'muted' : state === '讨论中' ? 'dim' : 'accent')
|
|
457
457
|
const lines: string[] = []
|
|
458
|
-
//
|
|
459
|
-
//
|
|
460
|
-
|
|
458
|
+
// 上描边:用 `thinkingOff` —— 跟 Pi 输入框描边**完全同一个色**。
|
|
459
|
+
// 排查过程(2026-10-03 用户两轮反馈):
|
|
460
|
+
// ① 用 dim = okhsl(229 8% 56%) → 用户说“太亮”(比输入框亮 7%)
|
|
461
|
+
// ② 改 border = okhsl(231 57% 65%) → 用户说“怎么是蓝色的”(高饱和度蓝紫)
|
|
462
|
+
// ③ 真相:输入框的描边是 theme.getThinkingBorderColor(level),level=off 时
|
|
463
|
+
// 就是 thinkingOff = okhsl(229 8% 49%)(纯灰低饱和)。
|
|
464
|
+
// 教训:看到“跟宿主某个 UI 元素一致”的需求,必须去宿主源码查那个元素
|
|
465
|
+
// **实际**用了哪个主题色,不能按名字猜(border 听着像框线,其实不是输入框那个)。
|
|
466
|
+
// 满宽(不 -1)—— 对齐 pi 自己的 DynamicBorder.render:`"─".repeat(Math.max(1, width))`。
|
|
467
|
+
// 曾写 width-1 怕折行,但 pi 自己就满宽画,用户实报“右侧缺一小块”。
|
|
468
|
+
// 且我们传入的 fg() 包了一层 ANSI,ANSI 不占列宽,不会因此溢出。
|
|
469
|
+
lines.push(fg('thinkingOff', '─'.repeat(Math.max(1, width))))
|
|
461
470
|
// 昵称附在作者名后(会话内固定,启动时随机抽)。
|
|
462
471
|
const whoPart = who ? who + (nickname ? ` · ${nickname}` : '') : nickname
|
|
463
472
|
const title = whoPart ? `📋 todo (${data.total}) — ${whoPart}` : `📋 todo (${data.total})`
|