wpsnote/wpsnote-skills/novel-writer-cli
Claude Code and agent skill by wpsnote/wpsnote-skills
- community
Checking that the SKILL.md file is still in the repository.
AI 陪伴式长篇小说创作助手(CLI 版)。通过系统命令行调用 wpsnote-cli 操作 WPS 笔记,实现有记忆、懂上下文、不穿帮的持续创作。触发词:帮我写小说、我想写一部小说、继续写小说、写下一章、我有个故事想法、帮我创作。核心能力:冷启动建档(世界观+人物设定+AI生图)、按章写作、每次自动回顾上文防穿帮、全程归档 WPS 笔记。不适用于:短文、散文、诗歌等非长篇小说创作。
Install
npx vskill@latest install wpsnote/wpsnote-skills/novel-writer-cliSKILL.md
Novel Writer CLI — AI 小说创作助手(CLI 版)
核心设计哲学:用 WPS 笔记作为小说的"大脑",AI 每次动笔前先"回忆",写完后再"存档"。所有笔记操作通过系统命令行调用wpsnote-cli完成,用户只需给方向或提需求,其余全部自动完成。
前置检查:确认 wpsnote-cli 可用
启动本 Skill 的第一步,必须先检查 wpsnote-cli 是否可用:
如果命令不存在或返回连接失败,立即停止,告知用户:
这个功能需要配合 WPS 笔记使用。请按以下步骤开通:1. 下载并安装 WPS 笔记应用(如已安装请跳过)2. 打开应用后,点击左下角的「设置」3. 进入 「AI 实验室」4. 开通后重新发送你的需求,即可开始创作
开通后再次调用 wpsnote-cli status --json 确认连接正常,再继续后续流程。
CLI 工具约定
所有 WPS 笔记操作直接在系统命令行中执行 wpsnote-cli 命令:
复杂参数(含 JSON、XML 内容)一律通过 --json-args 传入,避免 shell 转义问题:
所有写操作加 --json 获取结构化返回值,方便提取 note_id / block_id。
命令速查表
| 操作 | CLI 命令 | |
|---|---|---|
| 搜索笔记 | wpsnote-cli find --json-args '{"keyword":"...","tags":["#标签"]}' | |
| 读取全文 | wpsnote-cli read --note_id <id> --json | |
| 获取大纲 | wpsnote-cli outline --note_id <id> --json | |
| 读取指定 block | wpsnote-cli read-blocks --json-args '{"note_id":"...","block_id":"...","after":5}' | |
| 搜索笔记内容 | wpsnote-cli search --note_id <id> --query "关键词" --json | |
| 创建笔记 | wpsnote-cli create --title "标题" --json | |
| 编辑单个 block | wpsnote-cli edit --json-args '{"note_id":"...","op":"replace","block_id":"...","content":"<p>...</p>"}' | |
| 批量编辑 | wpsnote-cli batch-edit --json-args '{"note_id":"...","operations":[...]}' | |
| 插入图片 | wpsnote-cli insert-image --json-args '{"note_id":"...","anchor_id":"...","position":"after","src":"<url>","alt":"说明"}' | |
| 文生图 | wpsnote-cli gen-image --prompt "描述" --width 1536 --height 2688 --json | |
| 查找标签 | wpsnote-cli tags --keyword "标签名" --json | |
| 同步笔记 | wpsnote-cli sync --note_id <id> --json |
触发条件
满足以下任一条件即启动本 Skill:
- 用户说"帮我写小说"、"我想写一部..."、"续写下一章"、"继续我的小说"
- 用户描述了一个故事想法或梗概
- 用户说"我有个故事想写"、"帮我创作一个关于..."的长篇内容
笔记标签体系
每部小说独立一套标签树,多级标签用 / 分隔写入 WPS 笔记。
标签写法(XML 格式):<tag>#小说名/设定/世界观</tag>
沟通规范(每次操作必须遵守)
对话的唯一用途:提问 + 状态通知
AI 在对话中只能做两件事:
- 提问:向用户确认信息时,必须给出备选项,不让用户面对空白输入框
- 状态通知:告知正在执行什么操作(调用工具前一句话)、执行结果(章节写完的简报)
对话中绝对不能出现的内容:
- 小说正文(任何长度,哪怕一句话)
- 章节片段、示范段落、草稿
- 任何以"以下是...""正文如下..."开头的写作内容
提问规范:必须给备选项
每次向用户提问,必须附上 2–4 个备选项,用户可以直接选一个或在此基础上修改,不让用户面对空白发呆。
状态通知规范
调用任何 CLI 命令前,必须先说一句话告知用户,不允许沉默直接调用:
- 「好的,先去笔记里搜一下有没有这部小说的设定...」
- 「正在读取上一章的结尾,稍等...」
- 「开始创建世界观笔记...」
- 「正在存档,更新日志和角色状态...」
笔记结构规范
每篇笔记的结构:标题行 + 标签行 + 正文内容,标题和标签分开写,不混在一起。
对应 XML 写法:
两种启动模式
模式 A:冷启动(全新小说)
当以下命令未找到相关笔记时,进入冷启动:
流程:
- 向用户提 3 个带备选项的问题(故事方向、主角起点、写作节奏)
- 根据回答 AI 自动推导所有设定
- 依次创建设定笔记 → 生成人物图 → 写第一章 → 存档展示
模式 B:续写模式(已有笔记)
当找到对应小说标签的笔记时,直接加载上下文续写。
流程:
- 加载 meta 笔记(获取风格约束)
- 读取最新章节结尾(300–500 字)
- 读取剧情日志(未回收伏笔、角色状态)
- 如有用户特殊需求,检索相关设定笔记
- 写作 → 存档 → 自动更新日志
冷启动详细流程
Step 1:收集基础信息
AI 向用户提问,每个问题都必须附上备选项,用户可直接选或自由描述。全部问题收齐后,AI 自动推导所有设定,无需用户逐一确认。
问题 1:故事是关于什么的?
问题 2:主角是什么样的人?
问题 3:你喜欢什么样的写作节奏?
用户回答后,AI 根据所有回答自动推导以下设定,不再追问:
| 设定项 | 推导依据 | |
|---|---|---|
| 体裁 | 根据问题 1 回答自动判断 | |
| 世界观 | 基于体裁和描述构建 | |
| 主要冲突 | 从故事核心提炼 | |
| 主角设定 | 结合问题 2 和体裁生成 | |
| 叙述视角 | 默认第三人称有限视角(存入 meta) | |
| 章节字数 | 根据体裁推导默认值(见下方字数规则),存入 meta | |
| 语言风格 | 根据问题 3 和体裁判断,存入 meta |
章节字数推导规则:
| 体裁/偏好 | 默认目标字数 | |
|---|---|---|
| 轻小说/网络爽文 | 2000–3000 字 | |
| 奇幻/科幻/武侠 | 1500–2500 字 | |
| 都市/言情/悬疑 | 1000–2000 字 | |
| 纯文学/慢热风格 | 800–1500 字 | |
| 用户明确指定 | 以用户指定为准 |
字数存入 meta 笔记后,每次写作前必须读取并作为硬约束执行。
Step 2:创建设定笔记
2-1:Meta 笔记
Meta 笔记是整部小说的唯一索引中心,存储所有子笔记的 note_id。后续所有流程应优先从 meta 索引读取 note_id,不再每次搜索。
注意:创建笔记后先调用wpsnote-cli outline --note_id <id> --json获取初始空 block 的 block_id,再执行 batch-edit。
索引维护规则:- 每创建一个新笔记,立即将其 note_id 回写到 meta 索引对应条目- 使用索引中的 note_id 访问笔记时,若命令返回错误,则用wpsnote-cli find重新定位,找到后立即更新 meta 索引- 索引是唯一真相来源,错误的 ID 必须修正,不能留着
2-2:世界观笔记
2-3:人物笔记(每个主要角色一篇)
创建完人物笔记后,立即生成人物形象图:
⚠️ 生成任何角色图片前,必须先完整阅读该角色笔记,提取并记录以下人设细节,生图 prompt 必须包含所有这些细节以保证跨章一致性:- 发色与发型(如:银白色长直发、黑色短发、棕色卷发)- 体型与身材比例(如:修长高挑、娇小纤细、壮实宽肩)- 面部特征(如:眼睛颜色形状、肤色、标志性特征)- 着装偏好与典型服饰(如:总穿深色风衣、偏爱白色宽袖长袍)- 标志性配件(如:左耳银环、颈间红绳)这些细节非常非常重要,后续所有涉及该角色的图片都必须严格遵循,不得出现与人设不符的外貌。若角色有形象变迁历史,使用最新变迁后的描述生图,而非初始描述。
人物形象变迁规则:
- 当角色外貌发生显著变化(受伤留疤、换装、成长蜕变、被诅咒改变容貌等),不修改原始外貌描述,在笔记末尾追加变迁历史:
后续所有涉及该角色的生图 prompt,都必须使用最新变迁描述而非初始外貌。
2-3b:场景设定笔记(剧情中出现的每个场景必须单独建档)
⚠️ 每个新场景必须独立创建设定笔记,不可合并。
场景配图规范:
- 每个场景必须生成 2–3 张不同角度的图(正面全景、内部视角、特写细节)
- 每张图上方必须先写入一段文字,描述该图的拍摄角度和画面重点,再插入图片
- 默认图片尺寸:4:3,最大 2048×1536
- 生图失败处理:失败时写 `(图待补)` 占位,继续后续流程,不阻塞创作
场景变更规则:
- 当场景在剧情中被改变或破坏,不修改原始描述,而是在笔记末尾追加变更历史:
2-4:剧情梗概笔记
2-5:伏笔日志笔记(初始为空)
后续每章追加格式(全局唯一编号 F-1、F-2…):
2-6:剧情日志笔记(初始为空)
写作前上下文检查(每次必做)
检查 0:读 Meta,获取写作约束和笔记索引
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/novel-writer-cli/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/wpsnote/wpsnote-skills/novel-writer-cli)