writing-agent
💡 Summary
A collaborative writing workflow system that helps create human-like articles using AI.
🎯 Target Audience
🤖 AI Roast: “Powerful, but the setup might scare off the impatient.”
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); API keys/tokens handling and storage; filesystem read/write scope and path traversal; dependency pinning and supply-chain risk. Run with least privilege and audit before enabling in production.
写稿Agent v0.6.0
🚀 一个基于 Claude Code Skills + Subagents 的"反AI味"写作系统,让AI写出的文章像人写的一样自然。
支持 DeepSeek / 智谱GLM / MiniMax 等多种国产大模型,成本极低(如果使用智谱GLM,MiniMax等包月套餐2000字文章成本基本可以忽略不计,成本只取决于你的写文章辛勤程度)。
从选题生成、风格建模到发布评审,提供完整的 AI 写作工作流。
🎯 项目简介
写稿Agent 是一个协作式写作工作流系统,通过强制性的模式选择、需求澄清、风格建模、素材调研和主编审稿,帮助你写出不像AI生成的高质量文章。
v0.6.0 去AI味与真实模拟 ⭐ New
- 🤖 Humanizer 去AI味专家:基于 Wikipedia AI Cleanup 项目,识别并修复24种AI痕迹(内容/语言/风格),注入人类"灵魂"。
- 📺 读者模拟器 v3.0 直播版:不再是冷冰冰的数据报告,而是模拟真实读者的"直播现场"——心理弹幕、真话吐槽、朋友圈截图预览。
- 🔄 工作流升级:新增 Stage 10 最终去AI味,在所有流程结束后主动询问,完成最后一道"注入灵魂"工序。
v0.5.1 审稿质量增强
解决"打分就过"的问题,所有评审环节必须给出可执行的修改方案并等待用户确认:
- 🎯 标题设计师 v2.0:15种爆款公式(分6大类)+ 5个候选 + 钩子说明
- ✅ 发布前评审 v2.0:每个问题都有「原文→改为」的修改方案 + 用户确认
- ✅ 读者模拟 v2.1:具体修改建议 + 可自动执行修改 + 修改后重新测试
- 🔒 强制用户确认:不会再出现"打分就直接过去"的情况
v0.5.0 重大架构升级
引入 Subagent 模式,实现上下文隔离:
- 🔄 12 个执行步骤改为独立 Subagent,每个任务独立上下文
- 📁 信息通过文件传递,不依赖对话上下文,避免 Token 累积
- 🎯 工作流导演 Skill 显式调用 Subagent,保持用户交互能力
- 💾 每阶段产物自动落盘,支持断点续写
核心特点
- ✅ Subagent 架构:12 个独立 Subagent 实现上下文隔离,节省 Token
- ✅ 协作工作流:10阶段深度创作模式,包含选题、调研、审稿完整流程
- ✅ 标题设计师 v2.0:15种爆款标题公式(6大类)+ 5个候选 ✨ v0.5.1 New
- ✅ 反AI味道:自动去除小标题病、排比上瘾、格式洁癖等AI典型特征
- ✅ 风格建模 v3.1:支持公众号链接一键提取、多篇批量建模、增量更新风格库
- ✅ 选题生成器:不知道写什么?AI 基于热点、个人优势和竞品分析智能推荐选题
- ✅ 自动素材归档:提取的文章自动保存为本地 Markdown,构建个人知识库
- ✅ 强制模式选择:轻量模式(快速产出)vs 协作模式(深度创作)
- ✅ 素材调研:自动搜集真实数据,新增爆款拆解与痛点验证
- ✅ 字数精准控制:通过外部工具统计,误差控制在±20%以内
- ✅ 发布前评审 v2.0:发布前5问 + 红队7项 + 具体修改建议 ✨ v0.5.1 New
- ✅ 读者模拟 v3.0:心理弹幕 + 真话吐槽 + 朋友圈现场直播 ✨ v0.6.0 New
- ✅ Humanizer:深度去AI味 + 注入灵魂(观点/节奏/细节) ✨ v0.6.0 New
- ✅ 主编审稿 v2.2:12项AI味道量化检测
- ✅ 版本管理:自动保存初稿、修订稿、最终稿,可追溯每次修改
📚 什么是 Claude Code Skills 和 Subagents?
Skills 与 Subagents 的区别
| 特性 | Skills | Subagents | |------|--------|-----------| | 触发方式 | 语义匹配(自动) | 显式调用(手动) | | 上下文 | 共享主对话 | 独立隔离 | | 适用场景 | 需要自动识别意图 | 需要隔离执行的任务 | | Token 消耗 | 会累积 | 每个任务独立 |
本项目的架构(v0.5.0)
本项目采用 Skills + Subagents 混合架构:
.claude/
├── skills/ # 语义触发(3个)
│ ├── 工作流导演/ # ⭐ 核心调度器(调用所有 Subagent)
│ ├── 公众号文章获取/ # 独立工具(检测到URL自动触发)
│ └── 风格建模/ # 独立工具("学习这个风格"触发)
│
└── agents/ # 显式调用,上下文隔离(12个)
│
├── ── Stage 0: 选题阶段 ──
├── topic-generator.md # 选题生成器
├── topic-research.md # 选题调研
│
├── ── Stage 1-5: 准备阶段 ──
├── writing-clarifier.md # 澄清需求
├── research-expert.md # 调研资料
├── outline-architect.md # 大纲设计
├── empathy-designer.md # 共情点设计
├── concretizer.md # 具象化专家
├── title-designer.md # 标题设计师
│
├── ── Stage 6: 写作阶段 ──
├── writing-executor.md # 写作执行
│
├── ── Stage 7-9: 审稿阶段 ──
├── editor-review.md # 主编审稿
├── pre-publish-review.md # 发布前评审
├── toutiao-reader-test.md # 读者模拟直播
└── humanizer.md # 去AI味专家 ✨ New
工作流程示意
用户请求 → [工作流导演 Skill]
│
├──→ "使用 writing-clarifier 子代理..." → 输出 01_theme.md
│
├──→ "使用 research-expert 子代理..." → 输出 02_cases.md
│
├──→ "使用 outline-architect 子代理..." → 输出 03_outline.md
│
├──→ ... → 最终产出 draft_final.md
│
└──→ "使用 humanizer 子代理..." → 最终注入灵魂 ✨ New
每个 Subagent:
- ✅ 干净的上下文,从 0 开始
- ✅ 必须从文件读取前序信息
- ✅ 只返回摘要给主导演,不传递完整文本
- ✅ 独立隔离,避免 Token 累积
Skills 自动加载机制
重要说明:
-
克隆项目后,Skills 已经在项目目录里了
- 项目文件结构:
writing-agent/.claude/skills/(包含 13 个 Skills) - 这些 Skills 是项目的一部分,随项目一起下载
- 项目文件结构:
-
必须在项目目录中启动 Claude Code
cd writing-agent # 先进入项目目录 claude # 再启动 Claude Code⚠️ 关键:Claude Code 只会加载当前目录下的
.claude/skills/- ✅ 正确:在
writing-agent/目录中启动 → Skills 自动加载 - ❌ 错误:在其他目录启动 → Skills 不会被加载
- ✅ 正确:在
Claude Code 的 Skills 加载规则:
- 全局 Skills 目录:
~/.claude/skills/(所有项目都能用) - 项目 Skills 目录:
项目根目录/.claude/skills/(仅当前项目可用)
本项目采用"项目级 Skills",这意味着:
- ✅ 克隆项目后,Skills 已经在项目目录中(无需手动复制)
- ✅ 在项目目录中启动 Claude Code,Skills 自动可用
- ✅ 不会污染你的全局 Skills 目录
- ✅ 多个项目的 Skills 互不干扰
如果你想让这些 Skills 在所有项目中都能用:
Windows (PowerShell):
xcopy /E /I ".claude\skills" "$env:USERPROFILE\.claude\skills"
Linux/macOS:
cp -r .claude/skills/* ~/.claude/skills/
📦 快速开始
前置要求
方式一:使用 Claude 官方模型
- Claude Code 账号
- 基本的命令行操作能力
方式二:使用国产大模型(推荐,更经济)
本项目支持通过 Anthropic API 兼容接口接入多种国产大模型:
| 模型 | 推荐指数 | 成本 | 获取 API Key | 官方文档 | |------|---------|------|-------------|---------| | DeepSeek-V3 | ⭐⭐⭐⭐⭐ | 极低 | DeepSeek 平台 | 接入文档 | | 智谱 GLM | ⭐⭐⭐⭐ | 中等 | 智谱开放平台 | 接入文档 | | MiniMax | ⭐⭐⭐⭐ | 中等 | MiniMax 平台 | 接入文档 |
本项目所有测试均基于 DeepSeek-V3 模型完成。 一篇 2000 字文章成本约 ¥0.03,性价比极高。
安装步骤(新手友好版)
本指南以 Windows 系统为主,同时提供 Linux/macOS 的对应说明。
步骤 1:安装 Node.js 环境
Claude Code 需要 Node.js 18 或更高版本才能运行。
方法一:官网下载(推荐)
- 打开浏览器访问 https://nodejs.org/
- 点击 "LTS" 版本进行下载(长期支持版本,版本号需 ≥ 18)
- 下载完成后双击
.msi文件 - 按照安装向导完成安装,保持默认设置即可
- 安装完成后,打开 PowerShell(推荐)或 CMD,输入以下命令验证:
如果显示版本号(如node --version npm --versionv20.x.x和10.x.x),说明安装成功!
方法二:使用包管理器
如果你安装了 Chocolatey 或 Scoop,可以使用命令行安装:
# 使用 Chocolatey choco install nodejs # 或使用 Scoop scoop install nodejs
Windows 注意事项:
- ⚠️ 建议使用 PowerShell 而不是 CMD(功能更强大)
- ⚠️ 如果遇到权限问题,尝试以管理员身份运行 PowerShell
- ⚠️ 某些杀毒软件可能会误报,需要添加白名单
Ubuntu/Debian:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs
macOS (使用 Homebrew):
brew install node
验证安装:
node --version npm --version
步骤 2:克隆项目到本地
- 打开 PowerShell
- 进入你想存放项目的目录,例如:
cd D:\Projects - 克隆项目:
git clone https://github.com/dongbeixiaohuo/writing-agent.git cd writing-agent
如果没有安装 Git:
- 下载安装:https://git-scm.com/download/win
- 或者直接从 GitHub 下载 ZIP 文件并解压
cd ~/Projects # 或你想存放的目录 git clone https://github.com/dongbeixiaohuo/writing-agent.git cd writing-agent
步骤 3:安装 Claude Code
-
打开 PowerShell(建议以管理员身份运行)
-
运行以下命令全局安装 Claude Code:
npm install -g @anthropic-ai/claude-code如果下载速度慢,可以使用国内镜像:
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com -
验证安装:
claude --version如果显示版本号,说明安装成功!
更新 Claude Code:
claude update
npm install -g @anthropic-ai/claude-code # 验证安装 claude --version
步骤 4:验证 Skills 是否正确加载
在配置 API 之前,先验证项目的 Skills 是否在正确的位置。
- 打开 PowerShell
- 进入项目目录:
cd D:\Projects\writing-agent # 替换为你的实际路径 - 检查 Skills 目录:
Get-ChildItem -Path ".claude\skills" -Directory - 预期输出:应该看到 13 个 Skills 目录
工作流导演 选题生成器 选题调研 澄清写作需求 风格建模 调研资料 大纲架构师 共情点设计师 具象化专家 标题设计师 写作执行 主编审稿 发布前评审
如果没有看到这些目录:
- 检查是否正确克隆了项目(确认使用了
git clone而不是只下载了部分文件) - 确认
.claude目录没有被意外删除
cd ~/Projects/writing-agent # 替换为你的实际路径 ls -la .claude/skills/
应该看到 13 个 Skills 目录。
✅ 验证通过后,继续下一步配置 API。
步骤 5:配置第三方 API(三种方法任选其一)
本项目支持通过 Anthropic API 兼容接口接入多种第三方模型。以下以通用配置为例。
你需要准备的信息:
API_BASE_URL:第三方 API 的基础地址(如https://api.example.com/v1)API_KEY:你的 API 密钥(从第三方平台获取)
这是最稳定的配置方式,配置一次永久生效。
Windows 操作:
-
打开文件资源管理器,在地址栏输入:
%USERPROFILE%\.claude如果文件夹不存在,手动创建它。
-
在该文件夹下创建文件
settings.json(如果已存在则直接编辑) -
用记事本或 VS Code 打开
settings.json,填入以下内容:{ "env": { "ANTHROPIC_AUTH_TOKEN": "你的API密钥", "ANTHROPIC_BASE_URL": "https://api.example.com/v1", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" } } -
替换示例值:
- 将
"你的API密钥"替换为你从第三方平台获取的实际 API Key - 将
"https://api.example.com/v1"替换为第三方 API 的实际地址
- 将
-
保存文件
Linux/macOS 操作:
# 创建配置目录(如果不存在) mkdir -p ~/.claude # 编辑配置文件 nano ~/.claude/settings.json
填入相同的 JSON 内容,保存后退出(Ctrl+X → Y → Enter)。
配置文件路径说明:
- Windows:
C:\Users\你的用户名\.claude\settings.json - Linux/macOS:
~/.claude/settings.json
这种方法会将配置写入系统环境变量,重启后仍然有效。
在 PowerShell 中运行:
# 设置用户级环境变量(永久生效) [System.Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.example.com/v1", [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN"
Pros
- Supports multiple AI models
- Comprehensive writing workflow
- Cost-effective for article generation
Cons
- Requires setup of external APIs
- May have a learning curve for new users
- Dependent on third-party services
Related Skills
novel-writer-skills
A“This tool is like a writing coach that never sleeps—just don't expect it to write your novel for you!”
screen-creative-skills
A“Powerful, but the setup might scare off the impatient.”
payload
A“Payload's architecture may expose risks such as dependency vulnerabilities and potential CSRF attacks. Regular updates and using secure coding practices can mitigate these risks.”
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author dongbeixiaohuo.
