@ttaqt/novel-workflow-mcp
Version:
MCP server for AI-assisted novel writing workflow with real-time web dashboard
664 lines (476 loc) • 15.7 kB
Markdown
# Novel Workflow MCP
[](https://www.npmjs.com/package/@ttaqt/novel-workflow-mcp)
[](LICENSE)
[](https://github.com/futumaster/novel-workflow-mcp/issues)
一个基于 Model Context Protocol (MCP) 的AI辅助小说创作工作流服务器,配备实时Web仪表板。
> 🎯 将专业小说创作方法论系统化,让AI成为你的创作助手
## ✨ 核心特性
- 📖 **结构化小说创作工作流** - 从概念到成稿的完整流程(故事概念 → 大纲 → 场景 → 正文)
- 🎭 **专业编剧理论** - 三幕式结构、两难抉择、主动/被动场景设计
- 🌐 **实时Web仪表板** - 监控创作进度、审批文档、管理场景状态
- 💼 **VSCode扩展** - 在VSCode侧边栏集成仪表板(计划中)
- ✅ **审批工作流** - 完整的大纲审批流程和修订管理
- 📊 **场景进度跟踪** - 可视化进度条和详细状态
- 🌍 **多语言支持** - 支持11种语言,中文优先
## 🌍 支持的语言
🇨🇳 中文 • 🇺🇸 English • 🇯🇵 日本語 • 🇪🇸 Español • 🇧🇷 Português • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇹 Italiano • 🇰🇷 한국어 • 🇸🇦 العربية
## 🚀 快速开始
### 安装方式
#### 方式1:使用 npx(推荐)
```bash
# 直接使用,无需安装
npx @ttaqt/novel-workflow-mcp@latest /path/to/your/novel --dashboard
```
#### 方式2:配置到 AI 工具
**Cursor IDE**:
```json
{
"mcpServers": {
"novel-workflow": {
"command": "npx",
"args": [
"-y",
"@ttaqt/novel-workflow-mcp@latest",
"/path/to/your/novel-project",
"--AutoStartDashboard"
]
}
}
}
```
**Claude Desktop**:
```json
{
"mcpServers": {
"novel-workflow": {
"command": "npx",
"args": [
"-y",
"@ttaqt/novel-workflow-mcp@latest",
"/path/to/your/novel-project",
"--AutoStartDashboard"
]
}
}
}
```
> ⚠️ **重要**:将 `/path/to/your/novel-project` 替换为你的实际项目路径!
## 📖 使用方法
配置完成后,在 AI 对话中:
### 开始新小说
```
"创建故事概念文档"
"创建 my-fantasy-novel 的简要大纲"
"扩展为详细大纲"
"生成场景清单"
"撰写场景 1.1"
```
### 查看进度
```
"显示我的所有作品"
"查看 my-fantasy-novel 的创作进度"
```
### 继续创作
```
"撰写下一个场景"
"写第3章第2场景"
```
## 🎬 小说创作工作流
### 阶段0:指导文档(推荐)
创建项目基础框架:
#### 故事概念 (`steering/story-concept.md`)
- 一句话故事概括(类型+主角+任务,≤25词)
- 五句话梗概(三幕式结构)
- 两次两难抉择设计
- 道德前提和核心主题
#### 世界观设定 (`steering/world-building.md`)
- 时代背景和历史
- 地理环境和重要地点
- 社会结构和权力体系
- 力量体系(魔法/修真/科技)
- 特殊设定和规则
#### 人物档案 (`steering/character-profiles.md`)
- 主角完整档案和成长弧线
- 重要配角设定
- 对手角色设定
- 人物关系图谱
### 阶段1:简要大纲
创建核心故事框架:
- 一句话概括
- 五句话梗概
- 核心冲突(外部+内部)
- 主要人物简介
- 三幕式结构概要
### 阶段2:详细大纲
扩展为完整的四页大纲:
- 第一幕:开端(约25%)
- 第二幕前半:上升行动(约25%)
- 第二幕后半:危机深化(约25%,含两次两难抉择)
- 第三幕:高潮与结局(约25%)
- 完整人物弧线
- 主题线索贯穿
- 伏笔与呼应
### 阶段3:场景清单
分解为可执行的场景:
- 场景编号(如 1.1, 2.3)
- 场景类型(主动/被动)
- 视点人物
- **主动场景**:目标/冲突/挫折
- **被动场景**:反应/困境/决定
- 关键内容要点
### 阶段4:正文创作
逐场景撰写:
- 按场景清单顺序创作
- 每个场景包含完整的 _Prompt 指导
- 实时跟踪进度
- 标记完成状态
## 🎭 专业创作方法论
本工具基于《AI写小说图文教程》的专业方法论:
### 三幕式结构
- **第一幕**:常态世界 → 触发事件 → 进入冒险
- **第二幕**:上升行动 → 中点转折 → 危机深化 → 黑暗时刻
- **第三幕**:顿悟重生 → 最终对决 → 新的平衡
### 两难抉择设计
- **第一次两难**:约50-60%处,艰难但不致命的选择
- **第二次两难**:约75-85%处,涉及核心价值观的痛苦选择
- 两个选项都有合理性,都需要重大牺牲
### 场景理论
- **主动场景**:Goal(目标)→ Conflict(冲突)→ Disaster(挫折)
- **被动场景**:Reaction(反应)→ Dilemma(困境)→ Decision(决定)
- 主动和被动场景交替,创造节奏
### 人物弧线
- 起点状态 → 触发事件 → 成长过程 → 顿悟时刻 → 最终转变
- 每个重要人物都有完整的成长轨迹
## 📁 项目结构
```
your-novel-project/
.novel-workflow/
steering/ # 指导文档
story-concept.md # 故事概念
world-building.md # 世界观设定
character-profiles.md # 人物档案
stories/ # 你的作品
my-fantasy-novel/
outline-brief.md # 简要大纲
outline-detailed.md # 详细大纲
scenes.md # 场景清单
approvals/ # 审批记录
archive/ # 已完成作品
templates/ # 6个专业模板
user-templates/ # 自定义模板
```
## 🛠️ MCP 客户端配置
<details>
<summary><strong>Cursor IDE</strong></summary>
添加到 Cursor 设置 (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"novel-workflow": {
"command": "npx",
"args": [
"-y",
"@ttaqt/novel-workflow-mcp@latest",
"/path/to/your/novel-project",
"--AutoStartDashboard"
]
}
}
}
```
**本地开发版本**(使用最新修复):
```json
{
"mcpServers": {
"novel-workflow": {
"command": "node",
"args": [
"/Users/wenxinhuang/novel-workflow-mcp/dist/index.js",
"/path/to/your/novel-project",
"--AutoStartDashboard"
]
}
}
}
```
</details>
<details>
<summary><strong>Claude Desktop</strong></summary>
添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"novel-workflow": {
"command": "npx",
"args": [
"-y",
"@ttaqt/novel-workflow-mcp@latest",
"/path/to/your/novel-project",
"--AutoStartDashboard"
]
}
}
}
```
</details>
<details>
<summary><strong>其他 MCP 客户端</strong></summary>
适用于 Cline、Continue、Augment Code 等:
```json
{
"mcpServers": {
"novel-workflow": {
"command": "npx",
"args": [
"-y",
"@ttaqt/novel-workflow-mcp@latest",
"/path/to/your/novel-project"
]
}
}
}
```
</details>
## 📚 文档
- [完整配置指南](COMPLETE-SETUP-GUIDE.md) - 详细配置步骤和 projectPath 说明
- [快速开始](QUICK-START.md) - 从安装到创作的完整流程
- [工作流程](docs/WORKFLOW.md) - 小说创作工作流详解
- [提示词指南](docs/PROMPTING-GUIDE.md) - AI对话示例和技巧
- [故障排查](TROUBLESHOOTING-APPROVALS.md) - 常见问题解决方案
## 🎯 主要功能
### 1. 专业模板系统
6个基于专业方法论的模板:
- **故事概念模板** - 一句话+五句话+两难抉择
- **世界观模板** - 完整的世界设定框架
- **人物档案模板** - 人物弧线和关系网络
- **简要大纲模板** - 核心故事框架
- **详细大纲模板** - 四页详细大纲(约6000字)
- **场景清单模板** - 主动/被动场景分解
### 2. 智能审批系统
- 创建文档后自动请求审批
- Web仪表板中审阅和批注
- 支持批准、拒绝、请求修改
- 版本对比和修订历史
### 3. 实时进度追踪
- 可视化进度条
- 场景完成状态(待写/进行中/已完成)
- 章节组织和统计
- 实时同步更新
### 4. 场景写作指导
- 每个场景包含结构化的 _Prompt 指导
- 明确的成功标准
- 对应大纲的引用
- 角色和设定一致性检查
## 💡 使用示例
### 创建玄幻修真小说
```
"创建故事概念文档:
- 类型:玄幻修真
- 主角:废材少年意外获得上古传承
- 核心冲突:复仇 vs 正义
- 两难抉择:牺牲队友完成复仇,还是放下仇恨拯救苍生"
"创建世界观设定:
- 修真境界:练气、筑基、金丹、元婴、化神
- 势力:正道六派、魔道三宗、散修联盟
- 特殊设定:上古遗迹、灵兽契约"
"创建 immortal-journey 的简要大纲"
"扩展为详细大纲"
"生成场景清单"
"撰写场景 1.1"
```
### 创建都市言情小说
```
"创建故事概念:都市霸总先婚后爱故事"
"创建 urban-romance 的简要大纲:
- 女主是独立设计师
- 男主是冷酷总裁
- 因商业联姻走到一起
- 从互相排斥到真心相爱"
```
## 🏗️ 技术架构
### 技术栈
- **后端**: TypeScript + Fastify + WebSocket
- **前端**: React + Vite + TailwindCSS
- **协议**: Model Context Protocol (MCP)
- **存储**: 文件系统(Markdown + JSON)
### 系统组件
```
┌─────────────┐
│ AI Client │ (Cursor, Claude Desktop)
│ (MCP SDK) │
└──────┬──────┘
│ MCP Protocol
┌──────▼────────────────┐
│ Novel Workflow MCP │
│ - Prompts System │
│ - Tools System │
│ - Approval Manager │
└──────┬────────────────┘
│ WebSocket
┌──────▼──────────┐
│ Dashboard │
│ - Real-time UI │
│ - Diff Viewer │
│ - Annotator │
└─────────────────┘
```
## 📝 创作步骤说明
本工具基于专业小说创作方法论,参考《AI写小说图文教程》:
### 1. 研读对标小说(可选)
提取核心概念和风格特点
### 2. 一句话概括
类型 + 主角 + 任务(≤25词,有画面感)
### 3. 五句话梗概
三幕式结构 + 2次两难抉择 + 道德前提
### 4. 人物介绍
每个角色的完整档案和成长弧线
### 5. 扩展大纲
从一页扩展到四页详细大纲
### 6. 人物深挖
背景故事、原生家庭、性格成因
### 7. 场景生成
主动和被动场景列表
### 8. 场景清单
包含所有必要信息的完整清单
### 9. 正文创作
逐场景/逐章节创作
## 🎯 创作原则
### ⚠️ 重要提醒
- **AI 是辅助工具** - 真实情感体验仍需人类创作
- **结构化创作** - 遵循专业写作步骤
- **迭代完善** - 通过审批流程持续优化
- **进度可视化** - 清晰掌握创作进展
### ✅ 最佳实践
1. **先设定后创作** - 完成指导文档再开始大纲
2. **逐步审批** - 每个阶段都仔细审批
3. **保持一致** - 参考指导文档保持设定一致
4. **定期备份** - 及时提交到 git
5. **使用仪表板** - 可视化跟踪进度
## 🔧 命令行选项
```bash
novel-workflow-mcp [path] [options]
参数:
path 项目路径(默认当前目录)
选项:
--help 显示帮助信息
--dashboard 仅运行仪表板(不启动MCP服务器)
--AutoStartDashboard 自动启动仪表板
--port <number> 指定端口(1024-65535)
--config <path> 使用自定义配置文件
示例:
# 启动MCP服务器和仪表板
npx @ttaqt/novel-workflow-mcp@latest ~/my-novel --AutoStartDashboard
# 仅启动仪表板
npx @ttaqt/novel-workflow-mcp@latest ~/my-novel --dashboard --port 3456
```
## 🛠️ 开发
### 本地开发
```bash
# 克隆仓库
git clone https://github.com/futumaster/novel-workflow-mcp.git
cd novel-workflow-mcp
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 构建项目
npm run build
# 运行仪表板(开发模式)
npm run dev:dashboard
```
### 运行测试
```bash
# 运行测试
npm test
# 监视模式
npm run test:watch
# 测试覆盖率
npm run test:coverage
```
## 🤝 贡献
欢迎贡献!请查看 [贡献指南](CONTRIBUTING.md)(待创建)
### 贡献方式
- 🐛 报告 Bug
- 💡 提出新功能建议
- 📝 改进文档
- 🌍 添加语言翻译
- 🎨 优化UI/UX
- ✨ 提交代码
## 📄 许可证
本项目采用 [GPL-3.0 许可证](LICENSE)
## 🙏 致谢
- 基于 [Spec Workflow MCP](https://github.com/Pimzino/spec-workflow-mcp) 改造
- 创作方法论参考《AI写小说图文教程》
- 使用 [Model Context Protocol](https://modelcontextprotocol.io/)
## 📮 联系方式
- **GitHub**: [futumaster/novel-workflow-mcp](https://github.com/futumaster/novel-workflow-mcp)
- **NPM**: [@ttaqt/novel-workflow-mcp](https://www.npmjs.com/package/@ttaqt/novel-workflow-mcp)
- **Issues**: [提交问题](https://github.com/futumaster/novel-workflow-mcp/issues)
## 🌟 Star History
如果这个项目对你有帮助,请给个 Star ⭐️
[](https://star-history.com/#futumaster/novel-workflow-mcp&Date)
## 📊 版本历史
### v1.0.1 (2025-10-19)
- 🐛 修复 steering 文档名称映射
- 🐛 修复路径兼容性问题
- 📝 添加完整配置指南
### v1.0.0 (2025-10-19)
- 🎉 初始发布
- ✨ 完整的小说创作工作流
- 📖 6个专业模板
- 🌐 实时Web仪表板
- 🇨🇳 完整中文支持
## ❓ FAQ
### Q: 支持哪些小说类型?
A: 支持所有类型的小说创作:玄幻、都市、科幻、悬疑、言情、武侠等。模板通用,可根据类型调整。
### Q: 可以创作多个小说吗?
A: 可以!在一个项目中可以创建多个 story,也可以为不同小说使用不同的项目目录。
### Q: 如何自定义模板?
A: 在项目的 `.novel-workflow/user-templates/` 目录中创建同名模板文件即可覆盖默认模板。
### Q: 审批是必须的吗?
A: 推荐使用审批流程确保大纲质量,但你也可以直接批准跳过审阅。
### Q: 可以导出到 Word 或 PDF 吗?
A: 文档是标准 Markdown 格式,可以使用 Pandoc 等工具转换为任何格式。
### Q: 多人协作支持吗?
A: 当前版本是单用户模式,但由于使用文件存储,可以通过 Git 实现协作。
## 🚨 故障排查
### 仪表板看不到文档?
1. 检查文档是否已创建:`ls ~/.novel-workflow/steering/`
2. 刷新浏览器(Cmd+R)
3. 查看 [故障排查指南](TROUBLESHOOTING-APPROVALS.md)
### 审批不显示?
1. 确保 AI 调用时包含 `projectPath` 参数
2. 检查审批文件:`find ~/.novel-workflow/approvals -name "*.json"`
3. 刷新浏览器
### 更多问题?
查看 [完整配置指南](COMPLETE-SETUP-GUIDE.md) 或 [提交 Issue](https://github.com/futumaster/novel-workflow-mcp/issues)
<div align="center">
**🎊 祝你创作愉快!**
用 AI 辅助创作,释放你的创意!
Made with ❤️ for writers
</div>