开源 AI 小说创作桌面应用 CharacterArc:基于 Electron、Vue 3 和 Agent 的写作工作台

前言

写长篇小说时,真正麻烦的往往不是生成一段文字,而是如何长期维护人物设定、世界观、组织关系、分卷大纲、伏笔和章节正文。

普通 AI 对话工具可以帮助发散灵感,但项目变长之后,很容易出现上下文丢失、人物关系混乱、大纲与正文脱节等问题。传统写作软件虽然编辑功能完善,却通常缺少能够主动读取项目资料、调用工具并参与修改的 AI Agent。

基于这些需求,我开发了 CharacterArc(弧光),一个本地优先、面向小说项目的开源 AI 创作桌面应用。

它不是“一键生成整本小说”的工具,而是希望把项目管理、资料维护、章节写作和 AI 协作整合到同一个工作台中。

界面截图

项目中心
项目中心作品概览
在这里插入图片描述
Skill 管理在这里插入图片描述
章节创作在这里插入图片描述
封面工作台在这里插入图片描述

项目信息

  • 项目名称:CharacterArc
  • 中文名称:弧光
  • 支持平台:Windows、macOS、Linux
  • 技术栈:Electron + Vue 3 + TypeScript + SQLite

GitHub:

https://github.com/uu201/character-arc

安装包下载:

https://github.com/uu201/character-arc/releases/latest

软件本身免费开源,不需要注册账号,也没有会员或订阅服务。

CharacterArc 不内置收费模型。用户需要配置自己的 OpenAI 兼容接口或 Anthropic 接口,调用模型产生的费用由对应 API 提供商收取。

CharacterArc 能做什么

1. 管理完整的小说项目

每部作品都拥有独立的项目空间,可以集中维护:

  • 世界观设定
  • 角色档案
  • 组织与势力
  • 人物关系
  • 分卷和剧情大纲
  • 剧情线与伏笔
  • 章节正文
  • 创作记忆
  • 项目知识库
  • 参考作品
  • AI 会话和任务记录

不同作品的数据相互隔离,适合长期维护多个写作项目。

配图建议:项目中心、作品概览。

2. 大纲与章节关联

剧情大纲采用按分卷组织的时间线结构,支持拖拽排序、跨卷移动、批量处理以及 AI 扩写。

创建章节时,可以直接选择对应的大纲节点,并自动带入:

  • 章节标题
  • 章节摘要
  • 目标字数
  • 所属分卷
  • 大纲绑定关系

这样可以减少“大纲写在一个地方,正文又在另一个地方”的割裂感。

大纲还支持 Excel 导入和导出,方便批量整理章节规划。

配图建议:剧情大纲页面。

3. 面向小说写作的章节工作台

章节编辑界面采用三栏结构:

章节目录树 | 正文编辑器 | AI 助手

正文编辑器基于 TipTap,支持:

  • 自动保存
  • 搜索与替换
  • 富文本编辑
  • 字数目标
  • 阅读模式
  • 专注模式
  • 手动快照
  • 历史版本回滚
  • TXT 和 DOCX 导出

章节写作、资料查询和 AI 对话可以在同一个页面完成。

配图建议:章节创作页面。

Agent 不只是聊天

CharacterArc 中的 AI 助手不是一个简单的聊天窗口。

Agent 可以根据当前任务,调用工具读取项目中的角色、世界观、大纲、章节、剧情线、创作记忆和知识文档,也可以加载对应的写作 Skill。

一个典型的处理过程可能是:

理解用户需求
    ↓
检索相关项目资料
    ↓
读取目标章节和大纲
    ↓
加载匹配的写作 Skill
    ↓
生成修改方案
    ↓
进入暂存区等待用户审阅
    ↓
用户确认后写回项目

为了降低 AI 误改正文的风险,涉及章节和项目资料的修改不会直接落盘。

Agent 会先生成暂存变更或 Diff 对比,用户确认后才会正式写回。这样既能保留 Agent 的操作能力,又不会把最终决定权交给模型。

内置写作 Skill 系统

CharacterArc 当前内置了 3 组、共 28 个 Skill,覆盖多个小说创作场景。

主要包括:

  • 长篇小说写作
  • 短篇小说写作
  • 章节生成与修复
  • 人物设计
  • 世界观构建
  • 节奏与高潮设计
  • 情绪曲线
  • 爽点设计
  • 题材分析
  • 平台商业化
  • 风格指纹提取
  • 多种文风融合
  • 中文文本润色
  • 去除机械化表达
  • 封面提示词生成
  • 平台内容合规

AI 助手可以根据当前对话、作品题材和创作阶段自动匹配 Skill。

除了内置 Skill,用户也可以给单独的项目导入自己的 Skill 包。项目级 Skill 相互隔离,适合为不同题材配置不同的创作流程。

配图建议:Skill 管理页面。

拆书与知识库

CharacterArc 支持导入参考作品,并将分析结果沉淀到拆书知识库中。

参考作品可以用于:

  • 分析叙事结构
  • 提取语言风格
  • 拆解人物关系
  • 研究章节节奏
  • 生成风格指纹
  • 为后续写作提供检索资料

在生成章节时,用户可以手动选择需要参考的作品。系统按需检索相关内容,避免把整部作品全部塞入模型上下文。

配图建议:拆书与知识库页面。

多模型与中转接口支持

文本模型支持两类协议:

  • OpenAI 兼容协议
  • Anthropic 协议

可以接入:

  • OpenAI
  • Anthropic Claude
  • DeepSeek
  • 通义千问
  • 智谱 GLM
  • Kimi
  • SiliconFlow
  • Ollama
  • New API
  • One API
  • 其他兼容 OpenAI API 的服务

应用支持保存多套接口配置,并在标题栏快速切换当前模型。

对于 DeepSeek、MiniMax、通义、Kimi、GLM 等推理模型,CharacterArc 会尝试隔离模型的思考内容,避免 <think>reasoning_content 等内容被写入章节正文。

本地数据与项目备份

CharacterArc 使用 SQLite 保存项目数据,数据库位于 Electron 的用户数据目录中:

<userData>/data/workspace.db

应用没有自己的云端账号系统,项目资料默认保存在本机。

需要注意的是,调用 AI 时,相关提示词和上下文仍然会发送到用户配置的模型接口。因此,数据隐私还取决于所选择的 API 服务商。

项目可以导出为 .carc 归档,其中包含:

  • 项目信息
  • 世界观与角色
  • 关系与组织
  • 大纲和章节
  • 章节历史版本
  • 知识文档
  • 参考作品
  • AI 运行记录
  • 助手会话
  • 项目级 Skill

归档文件可以用于完整备份、迁移或在不同设备之间恢复项目。

封面工作台

CharacterArc 还提供了独立的封面工作台,可以针对不同小说平台生成封面提示词。

目前包含番茄、起点、晋江、知乎盐言、七猫、刺猬猫等平台方向。

配置图像模型后,可以直接生成封面预览,并对比不同历史版本。

配图建议:封面工作台。

技术架构

CharacterArc 是一个 Electron 桌面应用,主要技术栈如下:

模块 技术
桌面框架 Electron 37
前端框架 Vue 3
开发语言 TypeScript
状态管理 Pinia
UI 组件 Naive UI
构建工具 electron-vite、Vite 7
富文本编辑 TipTap
本地数据库 SQLite
关系图谱 Cytoscape
AI 接入 Vercel AI SDK
DOCX 解析 mammoth
文档导出 docx
表格处理 xlsx

整体数据流如下:

Vue 渲染进程
    ↓ IPC
Electron 主进程
    ├── SQLite 数据持久化
    ├── AI 任务调度
    ├── Agent Loop
    ├── Skill 加载与匹配
    ├── 项目知识检索
    └── OpenAI / Anthropic 模型传输层

SQLite 和 AI 调用统一放在 Electron 主进程中处理,渲染层主要负责界面、状态管理和用户交互。

本地运行

开发环境需要:

  • Node.js 18+
  • pnpm 10+

克隆项目:

git clone https://github.com/uu201/character-arc.git
cd character-arc

安装依赖:

pnpm install

启动开发环境:

pnpm run dev

执行测试:

pnpm test

类型检查和构建:

pnpm run build

构建 Windows 安装包:

pnpm run dist:win

构建 macOS 安装包:

pnpm run dist:mac

普通用户不需要自行编译,可以直接在 Releases 页面下载安装包。

写在最后

CharacterArc 的目标不是用 AI 取代作者,也不是追求“一键生成百万字”。

我更希望它解决的是长篇创作中的工程问题:资料分散、设定遗忘、上下文失控、大纲和正文脱节,以及大量重复整理工作。

AI 可以检索资料、分析问题、调用 Skill 和提出修改方案,但作品最终写成什么样,仍然取决于作者的判断和选择。

项目目前还在持续开发。如果你在使用中遇到问题,或者对编辑器、Agent、Skill 和写作流程有建议,欢迎在 GitHub 提交 Issue。

项目地址:

https://github.com/uu201/character-arc

下载地址:

https://github.com/uu201/character-arc/releases/latest

如果项目对你有帮助,欢迎点一个 Star。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐