☰
如何一键暂停AI改写:claudish-to-english运行时开关与调试日志实战教程
2026/10/1 8:46:52 网站建设 项目流程

如何一键暂停AI改写:claudish-to-english运行时开关与调试日志实战教程

【免费下载链接】claudish-to-english项目地址: https://gitcode.com/gh_mirrors/cl/claudish-to-english

claudish-to-english 是一款 Claude Code 插件,它能调用本地 LLM(ollama)把 AI 助手的每条回复额外改写为通俗易懂的白话文。本教程教你两个高频操作:一键暂停 AI 改写(运行时开关)和打开调试日志排查问题,全程只需几行命令。

为什么需要"运行时开关"?

插件的配置(环境变量)在会话启动时就被"冻结"了——会话进行到一半修改配置是不会生效的。

但"标志文件"机制打破了这个限制:两个钩子脚本每次被触发时都会实时检查文件是否存在,所以你可以在会话进行到一半时瞬间暂停或恢复改写,无需重启 Claude Code。

核心开关一览:

开关生效时机适用场景
~/.claude/claudish-off标志文件立即生效(每条消息实时检查)会话中途一键暂停/恢复
CLAUDISH_ENABLED=0下次启动会话生效彻底关闭插件
CLAUDISH_DEBUG=1下次启动会话生效打开调试日志

💡 即使暂停或关闭失败,插件遵循"fail-open"(失败放行)契约:任何异常都只会原样显示 Claude 的原始文字,绝不会吞掉或损坏回答。

一键暂停改写:claudish-off 标志文件实战

这是最常用的操作。在终端里创建或删除一个空文件即可:

touch ~/.claude/claudish-off # 暂停改写,下一条消息立即生效 rm ~/.claude/claudish-off # 恢复改写

实现原理在 rewrite.sh 中只有一行关键判断:

# 运行时开关:每次调用都是全新进程,标志文件检查始终"实时" [ -f "${CLAUDISH_OFF_FILE:-$HOME/.claude/claudish-off}" ] && ENABLED=0

Windows 用户:PowerShell 等效命令

Windows 上通过 Git Bash 运行钩子脚本,PowerShell 里对应写法如下(来自 README.md 的官方说明):

New-Item -ItemType File $HOME\.claude\claudish-off # 暂停改写 Remove-Item $HOME\.claude\claudish-off # 恢复

进阶:快捷键一键切换

官方推荐把"两行切换脚本"绑定到键盘热键,这样所有正在运行的会话会同时被暂停/恢复,非常适合多窗口开发场景。

标志文件路径还可以通过CLAUDISH_OFF_FILE环境变量自定义(默认~/.claude/claudish-off),方便统一团队约定或放在共享位置。

彻底关闭插件:CLAUDISH_ENABLED 主开关

如果不想"每条消息都检查",而是干脆不用这个插件,可以把主开关设为0:

# 一次性会话生效 CLAUDISH_ENABLED=0 claude

或在~/.claude/settings.json的env块中永久设置:

{ "env": { "CLAUDISH_ENABLED": "0" } }

⚠️ 两个易踩的坑:

  1. 修改env后必须重启 Claude Code——环境变量在启动时捕获,运行中的会话仍是旧值;
  2. env不会跨作用域合并——优先级最高的那份 settings 文件提供整个env块(managed → local → project → user),请把CLAUDISH_*变量都写在"胜出"的那个文件里。

更多变量(显示模式CLAUDISH_MODE、超时、最短改写长度等)完整清单见 README.md 的 "Configuration (env vars)" 章节。

调试日志实战:用 CLAUDISH_DEBUG 看清每一次改写

改写没出现?模型超时了?想确认钩子到底有没有触发?打开调试日志:

{ "env": { "CLAUDISH_DEBUG": "1" } }

重启 Claude Code 后,两个钩子会把带时间戳和进程号的运行记录追加写入系统临时目录:

日志文件来源记录内容
$TMPDIR/claudish-to-english/debug.log显示钩子 rewrite.sh分片缓冲、正文字数、最终改写结果、跳过原因
$TMPDIR/claudish-to-english/debug-md.logMarkdown 文件钩子 rewrite-md.sh候选文件、frontmatter 拆分、写入目标

日志条目格式为HH:MM:SS [PID] 说明,例如:

14:32:01 [8821] chunk idx=0 final=false mid=msg_abc mode=append 14:32:03 [8824] final: prose_len=1520 min=200 mode=append full_bytes=4830 14:32:05 [8824] ollama model=gemma4:26b-mlx curl_rc=0 http=200 resp_bytes=2104 rewrite_bytes=1987 truncated=false err=none

第三行由共享的 provider 层 providers.sh 输出,能一眼看到 HTTP 状态、响应字节数、是否被截断和错误信息——排查"改写偶发丢失"时最有用。

Windows 上的日志位置:Git Bash 的临时目录,通常是C:\Users\<你>\AppData\Local\Temp\claudish-to-english\。

配套提示:会话内一次性通知(CLAUDISH_NOTICE)

就算不开调试日志,插件也会在每个会话只提示一次改写被跳过的原因(服务商不可达、超时、缺 API key、模型未拉取等),并追加显示在屏幕底部。觉得碍眼可用CLAUDISH_NOTICE=0彻底静默(纯 fail-open 模式)。该机制自 0.1.1 版本引入,详见 CHANGELOG.md。

常见排查清单

症状先查这里
创建标志文件后仍在改写确认删除/创建的是同一文件;会话中途生效的是标志文件,env修改需重启
屏幕上出现 ⚠️ 一次性通知按通知提示检查 ollama 是否在运行、模型是否已ollama pull
改写迟迟不出现CLAUDISH_DEBUG=1后看debug.log的curl_rc与http字段
短消息没有改写属正常:正文字数低于CLAUDISH_MIN_CHARS(默认 200)会跳过
插件钩子没注册查看/plugin的 Errors 标签页,必要时执行/reload-plugins

钩子注册配置见 hooks/hooks.json:MessageDisplay事件绑定 rewrite.sh(60 秒超时),PostToolUse绑定 rewrite-md.sh(180 秒超时),两者共享 providers.sh 提供的 ollama / Anthropic / OpenAI 兼容三通道。

小结

  • 一键暂停:touch ~/.claude/claudish-off,下一条消息立即生效;rm恢复;
  • 彻底关闭:CLAUDISH_ENABLED=0,下次会话生效;
  • 看日志:CLAUDISH_DEBUG=1,盯住$TMPDIR/claudish-to-english/下的debug.log和debug-md.log;
  • 一切异常都 fail-open,原始回答永远安全。

掌握这三招,你就能对 claudish-to-english 的运行时行为做到完全可控、随时可查。

【免费下载链接】claudish-to-english项目地址: https://gitcode.com/gh_mirrors/cl/claudish-to-english

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询