Skip to content

kcd-dev/claude-code-title-cn-hook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Title CN Hook

把 Claude Code 自动生成的英文会话标题改成中文,并保留原英文:

安全更新 OpenClaw(Safely update OpenClaw)

这个项目优先通过 Claude Code 的 UserPromptSubmit / SessionStart hook 设置 sessionTitle,并保留旧版 Stop hook 兼容:每轮回复结束后可继续修正 transcript 里的 aiTitle 字段。不会上传会话内容,也不会调用外部翻译服务。

特点

  • 保留原英文标题,方便还原和搜索
  • 新版 Claude Code 可在提交提示词后更快设置中文标题
  • 恢复会话时可从 transcript 尝试恢复中文标题
  • 只处理 ~/.claude/projects 下当前会话的 transcript
  • 已经含中文的标题会自动跳过
  • 无 npm 依赖,只需要本机有 node
  • 安装脚本会先备份 ~/.claude/settings.json

安装(Windows)

在仓库目录打开 PowerShell:

Set-ExecutionPolicy -Scope Process Bypass
.\install.ps1

安装完成后,重启 Claude Code 或重新打开会话。

卸载

Set-ExecutionPolicy -Scope Process Bypass
.\uninstall.ps1

卸载只移除 settings.json 里的 hook 配置,默认保留脚本文件。需要一起删除脚本:

.\uninstall.ps1 -RemoveScript

工作原理

安装脚本会把 hooks/translate-ai-title.js 复制到:

~/.claude/hooks/claude-title-cn/translate-ai-title.js

然后向 ~/.claude/settings.json 添加类似配置:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "node \"<HOME>/.claude/hooks/claude-title-cn/translate-ai-title.js\"",
            "timeout": 10,
            "statusMessage": "Localize Claude title"
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "matcher": "startup|resume",
        "hooks": [
          {
            "type": "command",
            "command": "node \"<HOME>/.claude/hooks/claude-title-cn/translate-ai-title.js\"",
            "timeout": 10,
            "statusMessage": "Restore localized Claude title"
          }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "node \"<HOME>/.claude/hooks/claude-title-cn/translate-ai-title.js\"",
            "timeout": 10,
            "statusMessage": "Localize Claude title (legacy)"
          }
        ]
      }
    ]
  }
}

Claude Code 收到提示词或生成标题后,hook 会把标题转换成:

中文标题(Original English Title)

新版主路径会尽量在 UserPromptSubmit 阶段直接设置标题;如果当前 Claude Code 版本仍依赖旧流程,Stop 兼容逻辑会在当前回合结束后再把英文标题改成中文。

测试

npm test

或直接检查脚本语法:

node --check .\hooks\translate-ai-title.js

自定义词库

打开 hooks/translate-ai-title.js,修改:

  • EXACT_CN:精确标题映射
  • VERBS:开头动词映射
  • PHRASES:常见短语映射

建议不要把私人会话标题、项目路径、账号信息提交到公开仓库。

安全说明

脚本只会在满足以下条件时写入文件:

  • hook 事件是 Stop
  • Claude Code 传入了 transcript_path
  • transcript_path 位于 ~/.claude/projects

UserPromptSubmit / SessionStart 只向 stdout 返回 Claude Code 支持的 JSON 输出,不写入本地文件。

License

MIT

About

自动将claude生成的会话名称翻译成中文存储

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors