关于 peon-ping-rename
peon-ping-rename 是为当前会话设置自定义名称的技能,可更新终端标签页标题和桌面通知标题。同一仓库中的不同会话可分别命名。
主要功能
- 01重命名当前会话
- 02更新终端标签页标题
- 03在通知标题中使用名称
- 04为各标签页独立命名
- 05重置为自动命名
适用场景
- 01为 API 任务标记会话
- 02区分同一仓库中的多个会话
- 03恢复基于项目的自动命名
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ peonping/ peon-ping --skill peon-ping-rename安装后在 Claude Code 中输入/peon-ping-rename确认已加载。
详细介绍
peon-ping-rename
为当前会话设置自定义名称,该名称会显示在桌面通知标题和终端标签页标题中。
工作原理
当用户输入 /peon-ping-rename <name> 时,UserPromptSubmit 钩子会在命令到达模型之前拦截它:
- 提取会话 ID 和名称
- 将
session_names[session_id] = name写入.state.json - 立即通过 ANSI 转义序列更新终端标签页标题
- 返回确认信息(不消耗 token)
在此之后的每次钩子事件中,peon.sh 都会将 session_names[session_id] 作为优先级最高的项目名称。同一仓库中的多个标签页各自拥有独立的名称。
用法
/peon-ping-rename Auth Refactor
/peon-ping-rename API: payments
/peon-ping-rename ← reset to auto-detect
名称最多为 50 个字符。允许使用:字母、数字、空格、点、连字符和下划线。
手动备用方案(钩子失效时)
1. 获取会话 ID
echo "$CLAUDE_SESSION_ID"
2. 将名称写入状态
python3 -c "
import json, os, time
state_path = os.path.expanduser('~/.claude/hooks/peon-ping/.state.json')
try:
state = json.load(open(state_path))
except:
state = {}
state.setdefault('session_names', {})['SESSION_ID_HERE'] = 'My Session Name'
json.dump(state, open(state_path, 'w'), indent=2)
"
3. 触发钩子事件以刷新标签页标题
提交任意提示词——peon.sh 会在下一个 UserPromptSubmit 或 Stop 事件中读取新名称。
重置
/peon-ping-rename
或者直接从 .state.json 的 session_names 中移除会话 ID。
优先级
/peon-ping-rename > CLAUDE_SESSION_NAME 环境变量 > .peon-label 文件 > notification_title_script > project_name_map > notification_title_override > Git 仓库名称 > 文件夹名称
评论
支持 Markdown