chixin114514/claude-cn-converter/tree/main/plugins/cn-converter
cn-converter
Claude では中国大陸の簡体字を使い続けながら、Claude に実際に送信する中国語を自動的に台湾の繁体字へ変換し、Claude の繁体字の返信を再び中国大陸の簡体字で表示します。
この mod について
このリポジトリには、Claude Code プラグイン版と Tampermonkey Userscript 版の二つがあります。Claude Code 版は Function Hooks を使い、prompt.submit で中国大陸の簡体字を台湾の繁体字に変換し、ui.render で繁体字の返信を簡体字に戻し、コードブロック、インラインコード、パス識別子を保護します。プラグインには OpenCC 辞書とローカル Trie 変換器が組み込まれているため、Node.js もネットワークも必要ありません。marketplace を追加して claude plugin install cn-converter@chixin-plugins を実行してインストールできます。cn-converter-test 自己診断コマンドも提供します。
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add chixin114514/claude-cn-converter claude plugin install cn-converter
原文 / README
Claude CN Converter
让你在 Claude 中继续使用大陆简体中文,但实际发送给 Claude 的中文自动转换为台湾繁体,并把 Claude 的繁体回复重新显示成大陆简体。
本仓库提供两个版本:
- Claude Code Plugin / Mod:用于 Claude Code 终端。
- Tampermonkey Userscript:用于
claude.ai网页版。
转换逻辑基于 OpenCC:
- 网页版使用 opencc-js。
- Claude Code Mod 由于运行在无 Node.js、无网络的隔离环境中,内置 opencc-data 词典并使用本地 Trie 转换器,不依赖
node_modules。 - 发送:大陆简体 → 台湾繁体,并转换台湾常用词汇。
- 显示:台湾繁体及词汇 → 大陆简体。
Claude Code 插件
功能
Claude Code 版本使用 Function Hooks / Mods:
- 你在输入框里输入简体中文。
prompt.submit在真正提交之前自动转换成台湾繁体。- Claude 实际收到的是转换后的繁体 prompt。
ui.render在终端渲染 Claude 回复时自动转换回简体。- 用户消息在终端里也重新显示为简体,所以正常使用时基本感觉不到转换过程。
同时会保护:
- Markdown fenced code blocks,例如
python ... - 行内代码,例如
git status - 命令、路径和代码标识符不会因为中文转换被意外修改
要求
Claude Code Function Hooks 目前需要显式启用。
建议使用 Claude Code 2.1.269 或更新版本:
claude --version
在 ~/.claude/settings.json 中加入:
{
"env": {
"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1"
}
}
如果你的 settings.json 已经有其他设置,只需要把 env 字段合并进去,不要覆盖原文件。
也可以仅为当前终端会话启用:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude
PowerShell:
$env:CLAUDE_CODE_ENABLE_FUNCTION_HOOKS = "1"
claude
安装
把本仓库加入 Claude Code marketplace:
claude plugin marketplace add chixin114514/claude-cn-converter
安装插件:
claude plugin install cn-converter@chixin-plugins
然后重新启动 Claude Code,或者在已有会话中运行:
/reload-plugins
安装完成后无需额外命令,转换会自动生效。
插件提供确定性的本地自检。直接在普通输入框输入:
cn-converter-test
不要加 /。如果 Function Hook 已经加载,这条文本不会发送给 Claude 模型,而是直接返回:
Claude CN Converter 1.0.4 loaded
S → TW: 憂鬱的烏龜;軟體;網路連線;程式碼
TW → S: 忧郁的乌龟;软件;网络连接;代码
如果 Claude 把 cn-converter-test 当成普通问题回答,则说明 Function Hook 没有加载。
更新已安装插件
如果你已经安装过旧版,先刷新 marketplace,再更新插件:
claude plugin marketplace update chixin-plugins
claude plugin update cn-converter@chixin-plugins
然后重新启动 Claude Code,或在当前会话执行:
/reload-plugins
也可以在 Claude Code 会话内执行:
/plugin marketplace add chixin114514/claude-cn-converter
/plugin install cn-converter@chixin-plugins
本地开发测试
克隆仓库后,可以跳过 marketplace,直接加载插件:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 \
claude --plugin-dir ./plugins/cn-converter
可以先让 Claude Code 校验插件结构:
claude plugin validate ./plugins/cn-converter
Claude Code 插件结构
.claude-plugin/
└── marketplace.json
plugins/
└── cn-converter/
├── .claude-plugin/
│ └── plugin.json
├── hooks/
│ ├── hooks.json
│ ├── register.ts
│ ├── opencc.ts
│ ├── opencc-s2t-data.ts
│ └── opencc-t2s-data.ts
├── LICENSES/
│ └── Apache-2.0.txt
└── THIRD_PARTY_NOTICES.md
Claude Code 版本不依赖 npm 包;转换代码和 OpenCC 词典都随插件一起加载。
一个例子
你输入:
帮我检查这个软件有没有问题。
真正提交给 Claude 的内容会转换为:
幫我檢查這個軟體有沒有問題。
如果 Claude 回复:
這個軟體目前有三個問題。
终端中会显示为:
这个软件目前有三个问题。
回复转换属于 UI 渲染转换。插件改变的是你在终端中看到的文本,不会重新改写 Claude 已经生成的底层消息记录。
claude.ai / Tampermonkey 版本
网页版脚本位于:
claude-cn-converter.user.js
功能
- 在 Claude 输入框按 Enter 发送时,将简体中文转换为台湾繁体再发送。
- Claude 回复在页面显示时,自动转换为大陆简体中文。
Shift + Enter保持正常换行。- 中文输入法(IME)正在选字时,不拦截 Enter。
- 跳过
code、pre、输入框、脚本和样式节点。 - 支持 Claude 流式回复。
- 仅匹配
https://claude.ai/*。
安装
- 浏览器安装 Tampermonkey。
- 打开 Userscript: https://raw.githubusercontent.com/chixin114514/claude-cn-converter/main/claude-cn-converter.user.js
- Tampermonkey 弹出安装页面后点击“安装”。
- 刷新 https://claude.ai/ 。
License
本项目自有代码使用 MIT License。
Claude Code 插件内置的 OpenCC 词典数据来自 nk2028/opencc-data / BYVoid/OpenCC,按 Apache License 2.0 使用,详见 plugins/cn-converter/THIRD_PARTY_NOTICES.md。
