One-flower

agent
Security Audit
Fail
Health Warn
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Fail
  • exec() — Shell command execution in src/components/ai/ContextPanel.tsx
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

One-Flower,一花一世界,AI小说创作工具。One-Flower,An AI novel creation tool.

README.md

OneFlower · 一花一世界

AI 辅助的小说创作工作台

一花一世界,AI 助力你的灵感,快速创造属于你的世界。

License: Apache 2.0
Tauri
React
TypeScript
PRs Welcome

功能特性 · 界面预览 · 快速开始 · 首次配置 · 项目结构 · 路线图


写在最前

你才是故事的创作者,而不是 AI。

当前 AI 写小说还有很多缺点,比如文风固定、记不住事、看不懂伏笔、剧情容易跑偏...

但优点同样出众,产出迅速,思维发散。

也许是时候仔细想一想,这些缺点未来是否能够解决,当前 AI 提供的灵感和想象力落地的能力是否需要。

未来如果不可挡,何不现在就加入。

QQ 交流群:1078337392

为什么是 OneFlower

  • 功能齐全:从正文创作、设定管理、世界地图,到图片资产与剧本分镜,覆盖"小说 → 视觉衍生"全链路
  • 本地优先:SQLite + 文件系统存储,不依赖任何云端服务,断网也能写作(配合 Ollama 本地模型可完全离线)
  • 密钥安全:API Key 存于操作系统钥匙串,不落明文磁盘
  • 模型自由:云端(DeepSeek / 智谱 / Kimi / 通义 / OpenAI / Claude / Gemini / 硅基流动…)与本地(Ollama / LM Studio / ComfyUI)即配即用,按功能分工路由
  • 指令可控:agents.md 全局总纲 / 全局提示词 / Skill 文风包三层指令体系 + hook.md 输出校验,精细把控每一次生成
  • 上下文透明:每次 AI 调用注入了什么(摘要链 / 世界书 / 角色卡 / 文风),ContextPanel 一目了然

✨ 功能特性

✍️ 创作与编辑

  • 富文本编辑器(TipTap):标题 / 引用 / 对白块、字体字号行距设置、全文查找替换、粘贴自动清洗
  • 章节树:多卷多章树形管理、拖拽排序、摘要状态与伏笔标记(绿点埋设 / 蓝点回收)
  • @角色 / [[世界书]] / ##章节 节点:正文中直接引用设定,随提示词自动注入
  • 版本历史:章节级快照与差异对比,随时回滚
  • 长文模式:节拍规划 → 逐拍生成 → 接缝自检四步向导,任务中心托管、可暂停恢复(恢复粒度 = 拍)
  • 导入导出:导入 TXT / Markdown;导出 TXT / Markdown / EPUB / DOCX(含封面、目录、插图、页眉页脚)

🤖 AI 辅助(四模式)

模式 说明
续写 前情摘要链 + 近章原文 + 三路 RAG + 角色卡自动组装上下文;续写要求定向引导、节拍定向、字数与温度可调
改写 选中文本 + 改写要求流式替换;支持多视角重写(本书任一角色 / 上帝 / 旁观者 / 未来回望视角)
对白 场景描述 + 参与角色,生成符合人物性格的对白
检查 一致性审查(角色卡 / 世界书 / 时代感基线比对,含越级技术检测)+ 错字检查(定位与一键修正)
  • 流式输出:实时渲染到编辑器临时节点,可随时中断;中断后三选项(保留 / 丢弃 / 继续补完)
  • 上下文可见:ContextPanel 展示每次调用注入的完整上下文清单与 token 占用

🧭 三层指令体系 + 输出校验

精细把控 AI 行为的完整机制(优先级从高到低):

作用域 适用
agents.md 本书创作总纲 每本书独立,随书备份 世界观铁律、称谓规范、写作禁令——注入所有 AI 生成(含剧本对白)的最高优先级
全局提示词 应用级跨书 个人写作习惯(如"避免使用仿佛")
Skill 文风包 书级启停、全局共享 成体系文风(武侠古典 / 本格推理 / 硬科幻…可导入导出分享)
hook.md 输出规则 每本书独立 生成完成后自动执行:replace 正则替换(如敏感词)/ warn 提醒 / block 违规自动重试

指令编辑器内置 markdown 实时预览(编辑 / 分屏 / 预览三视图)、规则可视化编辑与测试沙盒。

📇 设定管理

  • 角色卡:模板可视化构建器(拖拽字段 / 实时预览 / JSON 导入导出),结构化角色数据
  • 角色关系图(React Flow):圆形布局、拖拽节点、连线建关系、点击跳转角色卡
  • 世界书 RAG:条目自动向量化(embedding),续写时余弦检索注入;章节片段全量 RAG 三路召回
  • 伏笔追踪:埋设 / 回收 / 弃用管理,时间线可视化,未回收过滤
  • 设定反推:从章节与世界书抽取事实、推导技术/社会前提,检测"无光学工艺却出现望远镜"式越级矛盾

🗺️ 世界地图

世界构建画布(Konva 渲染):

  • 多层瓦片地形:22 种内置地形瓦片 + 自定义纹理上传,多层覆盖(陆地层 / 植被层…),笔刷(B)/ 橡皮(E)/ 油漆桶 / 吸管作用于指定图层;「仅覆盖已有地形」在陆地上刷覆盖纹理
  • 全局素材库:上传 PNG / JPG / SVG 贴图(跨书共享),26+ 内置简约矢量素材,HSV 调色(色相 / 饱和 / 明度)、缩放旋转、连续放置;删除带跨书引用检查
  • 预设地形生成:环岛 / 群岛 / 大块陆地 / 大岛屿 / 小岛屿 / 泛大陆 / 半岛七种预设,陆地占比、海岸粗糙度、岛屿数量、对称、气候色系可调;seed 锁定可精确复现;一键聚居点撒点(沿海自动港口渔村)
  • AI 能力:一句话生成地点布局与道路(AI 生成地图);AI 生成风格化底图(走图片生成路由)
  • 编辑增强:地点节点自动布局(力导向)、连线折线拐点(Shift 追加点 / 手柄拖动)、标注文字样式(描边 / 竖排)、节点 Ctrl+C/V
  • 产出联动:导出 PNG(1x/2x/3x、透明背景)或一键插入正文作为插图

🖼️ 图片能力

  • 两段式生图:中文场景描述 → 对话模型转写专业英文 prompt → 生图(高级模式可手写覆盖)
  • 多候选挑选:1-4 张候选,勾选的才入库;封面 / 角色定妆照 / 正文插图全场景
  • 图库管理:本地上传(含粘贴 / 拖入正文自动入库)、用途筛选、引用检查删除、复用插入
  • ComfyUI 支持:本地 ComfyUI 工作流生图(内置默认 txt2img + 自定义工作流 JSON 导入,按节点类型注入参数,兼容用户工作流)

🎬 剧本工作台

小说 → 剧本 → 分镜的转化链路,为短剧 / 漫画等衍生形态铺路:

  • 转化向导:选章节范围 + 集数 → AI 生成大纲(集 / 场结构)→ 大纲可编辑(增删场、改概要)→ 成本预估 → 逐场生成
  • 逐场生成:每场产出完整镜头列表(景别 / 运镜 / 画面描述 / 时长)与对白(角色 / 语气 / 台词);任务中心托管、进度"第 N 集 · 第 M 场"、暂停恢复不重做已完成场;agents.md 的称谓与禁令对剧本对白同样生效
  • 剧本编辑器:场次树 + 结构化表单(场景头 INT/EXT、镜头、对白行)三栏编辑,改动即时保存,场景溯源一键跳回来源章节
  • 分镜画板:镜头卡片网格,分镜图三种来源(AI 生成 2 候选挑选 / 本地上传 / 图库选择)+ 清除;生成时自动注入对白出场角色的外貌设定(角色卡一致性);批量补图逐镜执行可取消
  • 导出:Fountain 专业剧本格式(Slugline / Fade In 等工具可识别)+ Markdown 分镜表(含 storyboard/ 图片目录)

🛡️ 数据安全与书架

本地优先应用的"防误删 + 防丢失"双保险:

  • 回收站:删除书籍改为软删除(移入回收站),正文 / 设定 / 图片原地保留,随时恢复零损耗;回收站支持单本彻底删除、一键清空、保留期(7 / 30 / 90 天 / 永久)与启动自动清理;彻底删除时可勾选联动清理该书的自动备份文件;已删书籍无法打开编辑器(守卫拦截)
  • 自动定期备份:可配置间隔(6 小时~7 天)与备份目录,后台逐书备份为与手动备份完全一致的 zip(书架「导入备份」可直接恢复);每书轮换保留最近 N 份;任务中心展示进度、可取消;已删除书籍不参与备份
  • 书架管理:搜索(书名 / 类型 / 作者)+ 类型筛选 + 四种排序(最近更新 / 创建时间 / 书名 / 手动拖拽);置顶恒排最前;书卡显示章节数与总字数;⋮ 菜单快捷编辑信息 / 置顶 / 导出备份 / 删除

💡 灵感激发包

让"AI 辅助"从"帮你写"扩展到"帮你想"——卡文、构思、深化阶段的思考工具:

  • 故事种子生成器:题材 + 元素组合生成故事钩子(标题 / logline / 扩展 / 冲突 / 结局方向);骰子随机灵感;可收藏、一键建书(种子自动写入新书世界书)
  • 每日灵感卡片:今日一张,全部 AI 生成(写作技法 / 场景范例 / 人物刻画 / 叙事手法 / 经典开头 / 格言),可收藏 / 换一张 / 屏蔽类型
  • 角色采访:AI 扮演角色回答提问(注入角色卡保持一致性),六种采访角度切换;摘要预览后确认才写入角色卡
  • "如果…会怎样"推演器:剧情假设 + 锚点章节 + 推演范围 → 影响范围 / 角色弧光对比 / 分支点 / 风险 / AI 建议
  • 灵感库:跨书共享仓库,类型筛选 + 收藏 + 搜索

🔌 模型接入

  • 云端预设:DeepSeek / 智谱 / 火山方舟 / Kimi / 通义 / OpenAI / Anthropic / Google / 硅基流动,粘贴 Key 即用;支持从端点拉取模型列表
  • 本地模型:Ollama / LM Studio 预设卡免 Key 接入,断网续写、离线 RAG(本地 embedding)
  • 模型分工:按功能域(写作生成 / 规划校验 / 灵感素材 / 视觉生成 / 向量后台)为每类任务绑定不同配置,强度建议徽章(强 / 中 / 省)+ 后台任务标记,成本质量两手抓

📊 写作统计

今日字数 · 目标进度 · 近 30 天趋势图 · 连续写作天数(streak)

📸 界面预览

写作与 AI

书架首页 写作编辑器 + AI 面板
书架首页 写作编辑器
AI 上下文透明化 本书指令(agents.md / hook.md)
AI 上下文面板 指令编辑器

设定与世界

角色关系图 世界书 RAG 与伏笔追踪
角色关系图 世界书与伏笔
世界地图 · 预设地形生成(群岛) 世界地图 · 素材库与多层地形
地图预设生成 地图素材库
世界地图 · 手绘与标注 写作统计
地图手绘标注 写作统计

图片与剧本

图片生成(两段式 · 多候选) 图库面板
图片生成 图库
剧本工作台 · 剧本编辑 剧本工作台 · 分镜画板
剧本编辑 分镜画板
剧本转化向导(大纲编辑) 模型分工(功能域 + 强度徽章)
转化向导 模型分工

灵感激发

每日灵感卡片 故事种子生成器
今日灵感卡片 故事种子生成器
角色采访 "如果…会怎样"推演器
角色采访 推演器

🛠️ 技术栈

技术
桌面壳 Tauri 2(Rust)
前端 React 18 + TypeScript(严格模式)+ Vite 5
状态管理 Zustand
编辑器 TipTap / ProseMirror
关系图 @xyflow/react
地图画布 Konva / react-konva(多层瓦片离屏 canvas 渲染、贴图 imageCache + HSV 滤镜)
文档导出 docx、fflate(EPUB 打包 / 备份 zip)
样式 Tailwind CSS
存储 SQLite(WAL + 单写队列 + 版本化迁移)、系统钥匙串

🚀 快速开始

Releases 中有打包好的版本,可以直接下载使用。

环境要求

  • Node.js >= 18
  • Rust(stable 工具链)与 Tauri 2 系统依赖(见 官方文档
    • Windows:WebView2(Win10/11 自带)、MSVC Build Tools

命令

# 如果您想自己修改代码后编译,可以按以下执行。
# 安装依赖
npm install

# 开发模式(自动拉起 Tauri 窗口与热更新)
npm run tauri dev

# 打包生产版本(产物在 src-tauri/target/release/bundle/)
npm run tauri build

# 仅做前端类型检查 / 构建
npm run typecheck
npm run build

# 测试用命令-单元测试+端到端测试
npm run tauri test:unit
npm run tauri test:e2e

⚙️ 首次配置

  1. 添加模型:设置 → 模型接入,从快捷卡片选择供应商(云端粘 Key 即用;本地选 Ollama / LM Studio 卡片后点「拉取模型列表」;
  2. 模型分工:设置 → 模型分工,按功能域(写作生成 / 规划与校验 / 灵感与素材 / 视觉生成 / 向量与后台)绑定不同配置;未绑定的功能默认使用第一组配置。徽章提示强度建议:写作生成建议强模型,章节摘要等后台任务用便宜模型
  3. 向量嵌入(可选):为「向量嵌入」绑定支持 embeddings 的配置并填嵌入模型(如 text-embedding-3-small,或 Ollama 本地嵌入模型实现离线 RAG);更换嵌入模型后需在世界书面板重新批量向量化
  4. 本书指令(可选):编辑器 AI 面板顶部「本书指令」编写 agents.md(世界观铁律 / 称谓 / 禁令)与 hook.md(输出替换 / 提醒 / 阻断规则),设置页「指令说明」有完整优先级说明
  5. 文风 Skill(可选):将 Skill 文件放入 ~/.novelagent/skills/,在编辑器「AI」分组的 Skill 面板启用

🔒 数据存储

所有数据保存在本机,不经过任何云端:

数据 位置
应用数据(数据库、书籍、版本快照、图片资产、地图) 系统应用数据目录(Windows:%APPDATA%\com.oneflower.novelagent
全局地图素材库 应用数据目录 map-assets/(跨书共享)
文风 Skill ~/.novelagent/skills/
API Key 操作系统钥匙串

📁 项目结构

src/
  components/    # UI 组件(编辑器、章节树、AI 面板、角色/世界书/伏笔/统计、
                 #   地图 map/、图片 image/、剧本 screenplay/、灵感 inspiration/ 等)
  context/       # 应用上下文(服务装配)
  db/            # SQLite 初始化、版本化迁移(migrations/)、单写队列
  native/        # Tauri 桥(storage/fs/db/keyStore)、对话框封装
  routes/        # 页面(首页书架 / 编辑器 / 灵感库 / 设置)
  services/      # 业务服务(AI 编排与提示词组装、Provider 工厂、摘要链、RAG、
                 #   地图(含素材库/地形预设/迁移)、图片资产、剧本(CRUD/转化编排/
                 #   分镜)、灵感包、导入导出、统计、Skill 等)
  store/         # Zustand 状态(book/editor/ai/settings/task)
  types/         # 共享类型定义
src-tauri/       # Rust 侧:命令、存储桥、窗口配置
docs/screenshots/# 界面截图(README 展示用)

🗺️ 路线图

  • P0 - 核心:编辑器、章节管理、AI 四模式、角色卡、世界书、版本历史、导入导出、文风 Skill
  • P1 - 增强:章节摘要链、世界书 RAG、角色关系图、上下文透明化、DOCX 导出、写作统计、伏笔时间线、流式继续补完
  • P2 / P2.1 - 世界地图与灵感包:瓦片地形、随机生成、AI 生成地图、元件库;故事种子、每日卡片、角色采访、假设推演、多视角重写
  • PR - 信息架构重组:模型分工按功能域属性化分类(domain 分组 + 强度徽章)、设置页与编辑器面板重组
  • P3 - 图片能力:封面 / 角色定妆照 / 正文插图、两段式生图、多候选、图库、导出联动
  • P3.1 - 指令系统:agents.md / hook.md 项目级指令(注入最高优先级 + 生成后校验重试)
  • P4 - 深化优化:Ollama / LM Studio 本地模型、模型列表拉取、ComfyUI 生图 Provider、地图数据层预留
  • P4.1 - 地图重设计:全局素材库(上传 / 内置 SVG / HSV 调色)、多层瓦片地形、七种预设地形生成(seeded 复现)、折线拐点、自动布局、AI 底图、插入正文
  • P5 - 剧本工作台:小说→剧本转化(大纲可编辑 + 逐场生成)、剧本编辑器、分镜画板(AI / 上传 / 图库三来源 + 角色一致性注入)、Fountain 与分镜表导出
  • Pn - 建设中

🤝 参与贡献

欢迎 Issue 与 PR:https://github.com/sleepykino/OneFlower

📄 许可

本项目基于 Apache License 2.0 开源。

Copyright 2026 sleepykino

Reviews (0)

No results found