UC

uu201/character-arc

Security testing
483 stars Quality 42 Trend 42

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-26macos-26-intel runner 上构建 Apple Silicon (arm64) 和 Intel (x64) 产物,并上传到 Actions artifacts。macOS runner 版本以 GitHub-hosted runners 当前提供的镜像标签为准;当前配置使用 ad-hoc 签名且未做公证。如需正式发布,需补充 CSC_LINKCSC_KEY_PASSWORDAPPLE_IDAPPLE_APP_SPECIFIC_PASSWORDAPPLE_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-writestory-short-writestory-chapter-exec 核心网文写作工作流,覆盖长篇、短篇、章节执行、拆文、扫榜、封面、去 AI 味、故事蓝图与番茄排版
community-skills 3 humanizer-zhstyle-fingerprintstyle-fusion 通用风格与润色能力,适合中文去 AI 味、风格提取和风格融合
Distilled-Novel-Toolbox 13 novel-pacingnovel-worldbuildingnovel-commercialization 工程化网文知识库,覆盖题材、人设、世界观、节奏、情绪、爽点、润色、平台、合规与反检测

oh-story-claudecode

  • story-long-writestory-long-analyzestory-long-scan
  • story-short-writestory-short-analyzestory-short-scan
  • story-chapter-execstory-chapter-repair
  • story-blueprintstory-coverstory-deslopstory-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/

🔒 所有数据完全本地,不上传任何第三方服务。

🙏 鸣谢

🔗 友情链接

💬 交流群

点击链接加入群聊:https://qm.qq.com/q/lTQfy3AYvY

📄 License

MIT © zhouyeshan

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add uu201/character-arc