)
1. 写作润色这件事为什么值得用 Claude Code 重做一遍写东西的人大概都遇到过这种时刻稿子写完了读起来总觉得哪里别扭但自己盯久了就是看不出来。改语法靠语感扩写靠硬凑换风格靠反复重写一篇两千字的稿子能磨掉一整个下午。更麻烦的是语法、扩写、换风格这三件事的诉求完全不同——语法要的是精确扩写要的是发散换风格要的是语感迁移用同一个提示词硬套出来的结果往往三头不讨好。Claude Code 在这里的价值不是它本身会写文章而是它能让你把「写作润色」拆成一套可配置、可复用、可批量跑的工程流程。你不再是一次次打开对话框粘贴文本而是在项目里定义好三类任务的提示词模板通过统一的 API 通道调用模型把改语法、扩写、换风格变成三个可以随时触发的命令。写完之后跑一遍结果直接落到文件里还能看到 diff 对比。这篇要交付的就是这套流程里最容易被卡住的一环settings.json 配置骨架。很多人卡在第一步——Claude Code 怎么接上模型、Key 放哪、base_url 怎么写、环境变量怎么传。我会用 TaoToken 作为统一 Key/API 通道把配置片段完整给出来然后逐项验证改语法、扩写、换风格三类任务能不能跑通。适合已经装了 Claude Code、想把它变成日常写作工具的人也适合想把润色流程接进自己脚本里的开发者。2. 前置准备TaoToken 统一 Key 与 Claude Code 环境在动 settings.json 之前先把两件事理清楚模型通道和本地环境。TaoToken 在这里扮演的是统一 API 通道的角色。你不需要为每个模型单独维护一套 Key 和地址而是通过一个入口拿到兼容 OpenAI 接口格式的调用能力Claude Code 侧只需要认这个 base_url 和 Key。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 地址不带 UTM 参数配置里写这个就行。Key 的获取走控制台的 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。拿到之后不要直接硬编码进 settings.json用环境变量注入后面会讲为什么。本地环境这边Claude Code 需要 Node 环境装好之后确认claude --version能正常输出。另外建议单独建一个写作项目目录比如writing-assistant/把 settings.json、提示词模板、待处理文本都放进去避免和别的项目混在一起。注意Key 只放在环境变量或本地未提交的配置文件里不要写进会推到 Git 的 settings.json。这是后面所有配置的前提。3. settings.json 配置骨架把三类润色任务接进 Claude CodeClaude Code 的配置分两层一层是全局的~/.claude/settings.json管模型通道和权限一层是项目级的.claude/settings.json管这个写作项目专属的行为。我们重点写项目级配置因为它更干净也方便你复制到别的项目。先看完整的配置骨架再逐段解释{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: ${TAOTOKEN_API_KEY}, ANTHROPIC_MODEL: claude-sonnet-4-20250514, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-20250514 }, permissions: { allow: [ Read, Write, Edit, Bash(python:*), Bash(cat:*) ], deny: [] }, includeCoAuthoredBy: false, cleanupPeriodDays: 30 }这里有几个点需要说清楚。ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址Claude Code 会把所有模型请求发到这里。ANTHROPIC_AUTH_TOKEN用${TAOTOKEN_API_KEY}引用环境变量这样 Key 不会出现在配置文件里。你在 shell 里这样设置export TAOTOKEN_API_KEYsk-你的keyWindows 下用set TAOTOKEN_API_KEYsk-你的key或者写进系统环境变量。验证是否生效echo $TAOTOKEN_API_KEYANTHROPIC_MODEL是主模型负责改语法、扩写、换风格这些需要理解力的任务。ANTHROPIC_SMALL_FAST_MODEL是轻量模型Claude Code 内部做一些快速判断时会用它配一个便宜快速的能省不少。permissions.allow里放的是这个项目允许 Claude Code 执行的操作。写作润色场景下读文件、写文件、编辑、跑 Python 脚本就够了。Bash(python:*)是为了后面批量处理留的口子。includeCoAuthoredBy设成 false是因为润色后的文本要直接给人看不需要在提交信息里加署名。cleanupPeriodDays控制会话记录保留天数30 天够用。配置写好后在项目目录下启动 Claude Code它会自动读取.claude/settings.json。你可以用/config命令确认当前生效的模型和地址。4. 三类润色任务的提示词模板与验证请求配置只是通道真正决定润色质量的是提示词。下面给三类任务各一个可直接用的模板放在项目里的prompts/目录下。4.1 改语法精确优先温度调低改语法的核心是「只改错的不动对的」。提示词要明确约束修改范围并要求输出修改原因方便你复核。你是一位中文语法校对专家。请检查以下文本中的语法错误、错别字、标点问题。 要求 1. 只修改确实有错误的地方保持原文结构和段落格式 2. 输出修改后的完整文本 3. 用表格列出每处修改原文 | 修改为 | 原因 文本 {{text}}在 Claude Code 里触发claude -p 读取 prompts/grammar.md把 {{text}} 替换成 articles/draft1.md 的内容执行校对结果写入 output/draft1_fixed.md温度参数在 Claude Code 里通过模型选择间接控制改语法这类任务建议用主模型但把提示词写得足够约束避免它自由发挥。4.2 扩写给方向不给字数硬指标扩写最容易翻车的地方是「凑字数」。提示词里不要只写「扩到 2000 字」而要告诉它往哪个方向扩——补案例、补数据、补反面论证。你是一位写作扩展专家。请在保持原文核心观点不变的前提下扩展内容。 扩展方向按优先级 1. 为每个论点补充一个具体案例或场景 2. 补充数据或事实支撑如无把握用「据公开资料」标注 3. 增加一段反面论证或常见误区 要求 - 扩展后逻辑连贯不出现重复表述 - 目标长度约为原文的 2 倍 - 直接输出扩展后的完整文本 原文 {{text}}触发命令claude -p 读取 prompts/expand.md对 articles/draft1_fixed.md 执行扩写结果写入 output/draft1_expanded.md4.3 换风格给风格描述不给风格标签「改成正式风格」这种指令太模糊模型只能猜。有效的做法是把目标风格的特征描述出来。你是一位写作风格转换专家。请将以下文本转换为目标风格。 目标风格特征 - 用词书面语为主避免口语化表达 - 句式完整句为主少用短句和省略 - 语气客观、克制不出现感叹和情绪化词汇 - 结构每段有明确主题句 要求 - 保持原文核心信息不变 - 转换后自然流畅不出现生硬替换 - 直接输出转换后的文本 原文 {{text}}触发命令claude -p 读取 prompts/style.md把目标风格特征替换为「轻松口语化、多用短句、允许适度网络用语」对 articles/draft1_fixed.md 执行转换结果写入 output/draft1_casual.md三类任务跑完你的 output 目录下会有三个文件分别对应改语法、扩写、换风格的结果。这就是可复现的润色流程。5. 验证请求与成功结果怎么确认配置真的生效了配置写完不代表生效得逐项验证。下面是我实测下来最省事的验证顺序。第一步确认通道通。在项目目录下跑一个最小请求claude -p 回复两个字通了如果返回「通了」说明 base_url 和 Key 都正确。如果报 401检查TAOTOKEN_API_KEY环境变量是否在当前 shell 生效如果报连接错误检查ANTHROPIC_BASE_URL是否写成了https://taotoken.net/api注意结尾没有斜杠。第二步验证文件读写权限。让 Claude Code 读一个文件再写一个文件claude -p 读取 articles/draft1.md 的前三行写入 output/test.txt成功的话output/test.txt里会有前三行内容。如果报权限错误检查 settings.json 里permissions.allow是否包含Read和Write。第三步跑一次完整的改语法任务看输出格式是否符合预期。重点看两处修改后的文本是否保持了原文段落结构修改表格是否列出了原因。如果模型把整段重写了说明提示词约束不够回去把「只修改确实有错误的地方」这条加粗强调。第四步验证扩写和换风格。扩写看长度是否接近原文两倍、有没有出现重复段落换风格看目标特征是否体现、核心信息有没有丢失。四步都过说明 settings.json 配置骨架和提示词模板都到位了。这时候你可以把三类任务串成一个脚本一次性跑完claude -p 依次执行1. 对 articles/draft1.md 改语法写入 output/step1.md2. 对 output/step1.md 扩写写入 output/step2.md3. 对 output/step2.md 换风格为口语化写入 output/final.md6. 本篇常见错排查配置和验证过程中下面这几个错出现频率最高。报 401 Unauthorized。九成是 Key 没传进去。先echo $TAOTOKEN_API_KEY确认环境变量有值再确认 settings.json 里写的是${TAOTOKEN_API_KEY}而不是别的变量名。如果你在 IDE 里启动 Claude Code注意 IDE 可能不继承 shell 的环境变量需要在 IDE 的终端设置里单独配。报连接超时或 DNS 错误。检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api/多了结尾斜杠或者误写成了官网地址。API 地址就是https://taotoken.net/api不带路径后缀。模型返回空内容。常见于提示词里{{text}}占位符没被替换模型收到的是字面量。检查你的触发命令里有没有正确指定输入文件。另一个可能是 max_tokens 设太小扩写任务尤其容易触发把输出上限调大。改语法任务把原文重写了。这是提示词约束不够的典型表现。在提示词开头加一句「你的任务是校对不是重写。除错误处外原文一字不改」通常能解决。换风格后核心信息丢失。说明模型在转换时做了过度概括。在提示词里加一条「转换前先列出原文的三个核心信息点转换后逐条核对是否保留」让它自己检查。批量处理时部分文件失败。检查文件编码非 UTF-8 的文件读取会报错。统一转成 UTF-8 再跑。另外空文件也会导致失败批处理脚本里加一个空内容跳过判断。如果排查完还是不通直接去接入文档对照一遍配置项https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。文档里有完整的参数说明和示例请求比对着改通常几分钟就能定位。7. 把润色流程固定下来下一步怎么走配置跑通之后建议做两件事把它变成日常工具。一是把三类任务的触发命令写成 shell 脚本或 Makefile比如make grammar FILEdraft1.md省得每次敲长命令。二是把提示词模板版本化每次调整后记录改了什么、效果如何积累几轮你就有了一套针对自己写作习惯的润色提示词库。如果你还想验证不同模型在润色任务上的表现差异可以到模型对话页面直接对比https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。同一个段落丢给不同模型跑改语法输出质量差别挺明显选一个最合你口味的固定下来。长期做编码或 Agent 类任务的话Coding Plan 那边有更完整的额度方案https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。写作润色只是 Claude Code 的一个用法同一套配置换个提示词就能干别的通道打通了后面都好办。