@lokiyou/pi-nano-footer 0.15.0 → 0.15.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/README.md +21 -27
- package/index.ts +1 -26
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @lokiyou/pi-nano-footer
|
|
2
2
|
|
|
3
|
-
超轻量 powerline 风格 footer for **Pi Coding Agent
|
|
3
|
+
超轻量 powerline 风格 footer for **Pi Coding Agent**。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
它保留 Pi 内置的 `Working...` 指示器,同时在底部显示模型、思考等级、目录、上下文、token 和费用,整体走的是清爽、紧凑的霓虹风。
|
|
6
6
|
|
|
7
7
|
## 安装
|
|
8
8
|
|
|
@@ -10,35 +10,29 @@
|
|
|
10
10
|
pi install npm:@lokiyou/pi-nano-footer
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
安装后重载 Pi:
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
deepseek-v4-flash think:high project 45.2%/128K 1.2k 0.03
|
|
15
|
+
```bash
|
|
16
|
+
/reload
|
|
19
17
|
```
|
|
20
18
|
|
|
19
|
+
## 展示内容
|
|
20
|
+
|
|
21
21
|
从左到右依次展示:
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
| thinking high/xhigh | rainbow | 彩虹渐变 |
|
|
37
|
-
| 上下文正常 | `#6c5ce7` | 紫色 |
|
|
38
|
-
| 上下文 >70% | `#fdcb6e` | 黄色警告 |
|
|
39
|
-
| 上下文 >90% | `#ff3366` | 红色错误 |
|
|
40
|
-
| 费用 | `#fdcb6e` | 明黄 |
|
|
41
|
-
| tokens | `#00ff87` | 荧光绿 |
|
|
22
|
+
|
|
23
|
+
- 🤖 模型名
|
|
24
|
+
- 💭 思考等级
|
|
25
|
+
- 📁 当前目录名
|
|
26
|
+
- 📊 上下文用量
|
|
27
|
+
- 💾 Token 用量
|
|
28
|
+
- 💰 费用
|
|
29
|
+
|
|
30
|
+
## 风格
|
|
31
|
+
|
|
32
|
+
- 采用 powerline 分隔符
|
|
33
|
+
- 颜色和 `pi-powerline-footer` 的默认 preset 保持一致
|
|
34
|
+
- 不替代内置工作状态指示器
|
|
35
|
+
- 适合想要简洁 footer、但不想丢掉 Pi 原生反馈的人
|
|
42
36
|
|
|
43
37
|
## 许可
|
|
44
38
|
|
package/index.ts
CHANGED
|
@@ -60,9 +60,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
60
60
|
|
|
61
61
|
pi.on("session_start", async (_event, ctx) => {
|
|
62
62
|
thinkingLevel = pi.getThinkingLevel();
|
|
63
|
-
|
|
64
|
-
// 隐藏内置的 "Working..." 指示器,用输入框呼吸代替
|
|
65
|
-
ctx.ui.setWorkingVisible(false);
|
|
63
|
+
ctx.ui.setWorkingVisible(true);
|
|
66
64
|
|
|
67
65
|
ctx.ui.setFooter((tui, theme, footerData) => {
|
|
68
66
|
requestRender = () => tui.requestRender();
|
|
@@ -112,35 +110,12 @@ export default function (pi: ExtensionAPI) {
|
|
|
112
110
|
refresh();
|
|
113
111
|
});
|
|
114
112
|
pi.on("model_select", () => refresh());
|
|
115
|
-
|
|
116
|
-
// 工作状态切换 → 控制呼吸发光
|
|
117
|
-
pi.on("agent_start", () => {
|
|
118
|
-
working = true;
|
|
119
|
-
// 50ms 间隔主动刷新,保证呼吸动画 20fps 流畅
|
|
120
|
-
if (requestRender) {
|
|
121
|
-
animInterval = setInterval(requestRender, 50);
|
|
122
|
-
}
|
|
123
|
-
refresh();
|
|
124
|
-
});
|
|
125
|
-
pi.on("agent_end", () => {
|
|
126
|
-
working = false;
|
|
127
|
-
if (animInterval) {
|
|
128
|
-
clearInterval(animInterval);
|
|
129
|
-
animInterval = undefined;
|
|
130
|
-
}
|
|
131
|
-
refresh();
|
|
132
|
-
});
|
|
133
|
-
|
|
134
113
|
pi.on("turn_start", () => refresh());
|
|
135
114
|
pi.on("turn_end", () => refresh());
|
|
136
115
|
|
|
137
116
|
pi.on("session_shutdown", (_event, ctx) => {
|
|
138
117
|
ctx.ui.setFooter(undefined);
|
|
139
118
|
requestRender = undefined;
|
|
140
|
-
if (animInterval) {
|
|
141
|
-
clearInterval(animInterval);
|
|
142
|
-
animInterval = undefined;
|
|
143
|
-
}
|
|
144
119
|
});
|
|
145
120
|
}
|
|
146
121
|
|