@normful/pi-auto-name2.1.0
Auto-generates names in your language for Pi sessions, tmux windows, herder panes/tabs, zellij panes/tabs so you can easily view what each Pi is doing
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
@normful/pi-auto-name
根据对话自动为你的 Pi 会话和终端复用器表面命名。
支持重命名包含 Pi 的 herdr 面板或 herdr 标签:
也支持重命名包含 Pi 的 tmux 窗口:
并且支持重命名包含 Pi 的 zellij 面板或 zellij 标签:
也支持多种语言,例如日语:
支持的所有语言:English、Español、Deutsch、Français、Italiano、Nederlands、Português、Bahasa Indonesia、Tiếng Việt、Türkçe、Polski、Українська、فارسی、العربية、हिन्दी、简体中文、繁體中文、日本語、한국어、ไทย
安装
pi install npm:@normful/pi-auto-name
使用方法
该扩展完全自动,无需运行任何内容。
配置一次,即可完成。设置后无需再管。
工作原理
在第一次用户输入(或第一个 agent_settled 事件 — 见下方配置)之后,它会重命名 Pi 会话,并重命名包含的:
- tmux 窗口
- herdr 面板和 herdr 标签
- zellij 面板和 zellij 标签
此外,你还可以通过配置 reRenameEveryNTurns 来让扩展在对话进行过程中持续重命名。
配置
配置来源按优先级从高到低排列,各字段分别合并:
- 项目级覆盖:
.pi/pi-auto-name.json - 全局:
~/.pi/agent/pi-auto-name.json(或已配置的<PI_CODING_AGENT_DIR>/pi-auto-name.json) - XDG:
~/.config/pi-auto-name/config.json(XDG_CONFIG_HOME)
完整默认配置:
{
"enabled": true,
"initialRenameTrigger": "first-input",
"language": "en",
"namingCase": "title",
"namingContextDepth": "recent-user-messages",
"namingInstructions": "",
"namingModel": "",
"namingStyle": "natural",
"replaceExistingName": "always",
"reRenameEveryNTurns": 0,
"respectExternalRenames": true,
"sessionNameMaxLength": 200,
"skipSessionNameDedup": false,
"surfaces": {
"renameHerdrPane": true,
"renameHerdrTab": true,
"renamePiSession": true,
"renameTmuxWindow": true,
"renameZellijPane": true,
"renameZellijTab": true
},
"windowNameMaxLength": 30
}
每个配置键都是可选的。
配置参考
| Key | Type | Default | Meaning |
|---|---|---|---|
enabled |
boolean |
true |
false 完全禁用此扩展。 |
initialRenameTrigger |
string |
"first-input" |
第一次重命名触发时:
|
language |
string |
"en" |
可选值:en、es、de、fr、it、nl、pt/pt-BR/pt-PT、id、vi、tr、pl、、ru, ru-RU, uk、fa、ar、hi、zh/zh-CN/zh-Hans、zh-Hant/zh-TW/zh-HK、ja、ko、th |
namingCase |
string |
"title" |
指导两个 natural 名称的大小写: "title" 或 "sentence",保留专有名词和缩写. 对其他风格及不区分大小写的文字无效. |
namingContextDepth |
string |
"recent-user-messages" |
每次重命名提示发送给 LLM 的对话量:
|
namingInstructions |
string |
"" |
为所有风格添加模型指令,补充内置提示词. 请保留 WINDOW: / SESSION: 格式. 项目配置中的空文本会清除全局指令. 不影响备用名称. |
namingModel |
string |
"" |
重命名 LLM 调用的 provider/modelId 覆盖。示例:"openrouter/nvidia/nemotron-3-nano-30b-a3b:free"。留空以使用配置的 Pi 默认模型和提供者。 |
namingStyle |
string |
"natural" |
两种名称使用的命名风格:
|
replaceExistingName |
string |
"always" |
何时覆盖现有 Pi 会话名称、tmux 窗口名称、herdr 面板/标签名称、zellij 面板/标签名称:
|
reRenameEveryNTurns |
integer |
0 |
每 N 轮重命名(每个 agent_settled 事件)。0 表示从不重命名。 |
respectExternalRenames |
boolean |
true |
当 true 时,在检测到外部重命名后禁用此扩展的重命名功能(例如手动运行 /name 后)。 |
sessionNameMaxLength |
integer |
200 |
Pi 会话名称的最大字符限制。 |
skipSessionNameDedup |
boolean |
false |
true 跳过在重命名提示中发送现有 Pi 会话名称。false(默认)发送最多 15 个现有会话名称以避免重复。 |
surfaces.renameHerdrPane |
boolean |
true |
false 禁用 Pi 运行的 herdr 面板重命名。 |
surfaces.renameHerdrTab |
boolean |
true |
false 禁用此进程运行的 herdr 标签重命名。 |
surfaces.renamePiSession |
boolean |
true |
false 禁用 Pi 会话重命名。 |
surfaces.renameTmuxWindow |
boolean |
true |
false 禁用此进程运行的 tmux 窗口重命名。 |
surfaces.renameZellijPane |
boolean |
true |
false 禁用此进程运行的 zellij 面板重命名。 |
surfaces.renameZellijTab |
boolean |
true |
false 禁用此进程运行的 zellij 标签重命名。 |
windowNameMaxLength |
integer |
30 |
每个终端/框架窗口名称的最大字符数(herdr 面板/标签、tmux 窗口、zellij 面板/标签)。两个长度调节旋钮之一。 |
手动重命名
不带参数运行 /rename,即可根据当前对话和配置重新生成名称. 使用 /name 直接设置名称.
调试
设置 PI_AUTO_NAME_DEBUG=1,扩展将在会话转录中追加结构化的 pi-auto-name:debug 条目并在 TUI 中渲染它们。(调试条目不会发送给 LLM。)
灵感来源
本扩展受以下类似扩展的启发: