CharacterArc(弧光)不是"只会对话的 AI 壳子",而是一套围绕小说项目组织、章节写作与 AI 协作搭起来的桌面工作台。
Overview
CharacterArc(弧光)不是"只会对话的 AI 壳子",而是一套围绕小说项目组织、章节写作与 AI 协作搭起来的桌面工作台。
README
✨ 项目简介
CharacterArc(弧光)不是"只会对话的 AI 壳子",而是一套围绕小说项目组织、章节写作与 AI 协作搭起来的桌面工作台。
🚀 功能概览
📸 截图
下面这组截图按实际创作流程排列,基本覆盖了弧光从项目管理、拆书沉淀、Skill 配置到章节写作和封面生成的主要体验。
🧱 技术栈
| 层 | 技术 |
|---|---|
| 框架 | Electron + Vue 3 + TypeScript |
| 状态管理 | Pinia |
| UI 组件库 | Naive UI |
| 构建工具 | electron-vite (Vite 7) |
| 富文本编辑 | TipTap |
| 持久化 | SQLite(主进程) |
| 关系图谱 | Cytoscape |
| AI SDK | Vercel AI SDK (@ai-sdk/openai, @ai-sdk/anthropic) |
| 文档解析 | mammoth (.docx)、marked (Markdown) |
📋 环境要求
- Node.js 18+
- pnpm 10+
- Windows / macOS(打包需使用目标平台运行:Windows 打 NSIS,macOS 打 DMG/ZIP)
⚡ 快速开始
# 安装依赖
pnpm install
# 启动开发环境(同时启动 Electron 主进程 + Vite 渲染进程)
pnpm run dev
# 类型检查 + 构建
pnpm run build
# 打包 Windows 安装程序
pnpm run dist:win
# 打包 macOS 安装包(在 macOS 上运行)
pnpm run dist:mac
macOS 产物为 ad-hoc 签名、未公证的 .dmg / .zip,适合内部安装测试;正式分发给普通用户需要配置 Apple Developer 证书与 notarization。
🍎 macOS 自动打包
仓库内置 GitHub Actions 工作流 .github/workflows/release.yml:
workflow_dispatch:手动触发构建v*tag push:版本标签触发构建- 相关打包配置变更的 PR:验证 macOS 打包
工作流分别在 macos-26 与 macos-26-intel runner 上构建 Apple Silicon (arm64) 和 Intel (x64) 产物,并上传到 Actions artifacts。macOS runner 版本以 GitHub-hosted runners 当前提供的镜像标签为准;当前配置使用 ad-hoc 签名且未做公证。如需正式发布,需补充 CSC_LINK、CSC_KEY_PASSWORD、APPLE_ID、APPLE_APP_SPECIFIC_PASSWORD、APPLE_TEAM_ID 等 secrets 并启用 Developer ID 签名/公证流程。
🔑 配置 AI
首次进入应用后,在「设置」面板中填写:
📁 项目结构
🏛️ 架构概览
┌─────────────────────────────────────────────────────────┐
│ Electron 主进程 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ 窗口管理 │ │ SQLite │ │ AI 管线 │ │
│ │ │ │ 读写/迁移 │ │ 调度 → Skill → 模型 │ │
│ └──────────┘ └──────────┘ └──────────────────────┘ │
├─────────────────── IPC 桥接 ────────────────────────────┤
│ Vue 渲染层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ Pinia │ │ TipTap │ │ Naive UI 组件 │ │
│ │ Store │ │ 编辑器 │ │ │ │
│ └──────────┘ └──────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────┘
数据流:启动 → 主进程建窗 → 渲染层初始化 Store → 从 SQLite 加载工作区 → 用户编辑 → Pinia 更新 → 防抖写回 SQLite → AI 请求统一由主进程调用
🧰 内置 Skill 包
应用当前在 resources/skills/ 下内置 3 组、共 28 个 Skill。技能面板会按来源分组展示,开发版与打包版使用同一套目录结构。
| 来源 | 数量 | 代表 Skill | 说明 |
|---|---|---|---|
oh-story-claudecode |
12 | story-long-write、story-short-write、story-chapter-exec |
核心网文写作工作流,覆盖长篇、短篇、章节执行、拆文、扫榜、封面、去 AI 味、故事蓝图与番茄排版 |
community-skills |
3 | humanizer-zh、style-fingerprint、style-fusion |
通用风格与润色能力,适合中文去 AI 味、风格提取和风格融合 |
Distilled-Novel-Toolbox |
13 | novel-pacing、novel-worldbuilding、novel-commercialization |
工程化网文知识库,覆盖题材、人设、世界观、节奏、情绪、爽点、润色、平台、合规与反检测 |
oh-story-claudecode
story-long-write、story-long-analyze、story-long-scanstory-short-write、story-short-analyze、story-short-scanstory-chapter-exec、story-chapter-repairstory-blueprint、story-cover、story-deslop、story-format-tomato
community-skills
humanizer-zh:中文小说去 AI 味润色style-fingerprint:提取参考文本的风格指纹style-fusion:组合多个来源的风格特征
Distilled-Novel-Toolbox
novel-anti-detection:反 AI 检测与混合创作风控novel-character-design:主角、配角、反派与人物弧光设计novel-commercialization:平台选择、签约与商业化方向novel-compliance:平台规则、敏感词与内容合规novel-emotion:情绪曲线、共情点与沉浸感设计novel-genres:题材选择、子类融合与赛道判断novel-innovation:反套路、微创新与趋势参考novel-language-style:文风、视角、修辞与画面感novel-pacing:开篇、断章、高潮与整体节奏novel-pleasure-points:爽点设计与疲劳管理novel-polishing:润色、去 AI 味与风格增强novel-tools:提示词、写作工作流与发布分析novel-worldbuilding:世界观、势力、规则与设定一致性
resources/skills///SKILL.md会被自动扫描为内置 Skill;同级的scripts/等辅助目录不会被当成 Skill。还可以导入独立的 Skill 包,作用范围仅限该项目。
💾 数据存储
应用数据保存在 Electron 用户目录下:
- 📊 数据库:
/data/workspace.db(SQLite) - 📦 项目 Skill:
/project-skills/
🔒 所有数据完全本地,不上传任何第三方服务。
🙏 鸣谢
- oh-story-claudecode — 提供了核心写作 Skills 的方法论与 prompt 工程基础
- dama-cyber/Distilled-Novel-Toolbox — 提供了小说工作流与创作辅助方向的参考
🔗 友情链接
- LINUX DO — 新的理想型社区
💬 交流群
点击链接加入群聊:https://qm.qq.com/q/lTQfy3AYvY
📄 License
MIT © zhouyeshan
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add uu201/character-arc