写心应用图标

写心 · HeartWrite

本地小说写作工作台

一个用 Rust + Tauri 2 写成的原生 Windows 桌面应用,专门用来写长篇小说。 完全离线运行,所有稿件都存在本机——自带版本历史、卡片灵感墙、一键排版与电子书导出。

v0.1.0 Windows 10 / 11 ≈ 4 MB 单文件 Rust + Tauri 2 100% 本地 GPL-3.0
写心主界面:左侧为卷章目录树,中间为正文编辑区,顶栏显示章节状态。

为什么自己写一个

写长篇的人,值得一个懂长篇的工具

市面上的写作软件要么把稿子放在别人的服务器上,要么按月收费, 要么根本不懂「卷 → 章 → 状态」这种中文长篇的基本结构。于是我照着 Scrivener 的状态标记模型和自己写网文的流程,做了一个只服务这件事的工具。

稿件不出本机

没有账号、没有同步、没有遥测。断网之后功能一个不少,稿子只存在于你的硬盘上。

原生,不是套壳网页

Rust 后端 + 系统 WebView2 渲染,一个 4 MB 的可执行文件,冷启动不到一秒。

为长篇而生

卷章树、章节状态色点、大纲视图、卡片墙、逐行版本差异——都在服务「几十万字」这件事。

功能

从灵感卡片到 EPUB,一条链走完

卷 / 章目录树

卷可折叠,章节显示状态色点、字数与版本数。支持拖拽跨卷移动、即时搜索过滤,双击重命名。

卡片灵感墙

人物 / 剧情 / 灵光 / 设定四类卡片,可筛选、搜索、置顶、加标签与自定义字段,一键把卡片插进正文或汇总成提纲。

历史版本

累计改动超阈值或距上次快照超过 3 分钟就自动存档,配双栏逐行差异对比(+ / -),可回滚、可复制。

一键排版

清理行尾空格、合并多余空行、统一段首缩进、自动补章节标题,点一下直接生效,Ctrl+Z 可撤销。

五种导出

EPUB(带目录与元数据)、TXT(带 BOM,记事本不乱码)、Markdown、HTML、JSON 完整备份。可导出全书 / 指定卷 / 当前章。

七套主题与自由字体

浅色 / 羊皮纸 / 暗色 / Material 3 亮暗 / 极简黑白 / 青绿护眼,正文字体从系统字体里搜索挑选。

所见即所得的预览

「预览效果」会用当前尚未保存的主题、字体、字号、行距渲染一整屏,还能现场轮换主题对比,关掉即恢复。

番茄钟与字数统计

完整的专注计时器(专注 / 短休 / 长休、自动接续、后台走时),配全书、本章、今日字数与每日目标进度。

搜索与替换

全文搜索覆盖正文与卡片;查找替换支持批量操作,改完还能靠版本历史回退。

界面

安静、克制,把注意力留给正文

点击任意截图可放大查看。

写心的「预览效果」面板,用未保存的主题与字体渲染整屏,并排对比三种字号。
「预览效果」:用尚未保存的主题与字体渲染整屏,并排对比不同字体
写心正文区细节:顶栏的面包屑与章节状态下拉,以及自动延续段首缩进的正文。
顶栏的面包屑与章节状态,正文自动延续段首缩进

界面动效

动效是信息,不是装饰

整套界面共用一套动效令牌——时长 110 / 190 / 280 / 420 ms,曲线 cubic-bezier(0.16, 1, 0.3, 1),也就是 Windows 11 / Fluent 那种「起步快、收尾慢」的观感。 该有过渡的地方一个也不少,但都短到你不会等它。

  • 左右栏收起展开时列宽平滑过渡,不是瞬间消失
  • 弹层入场轻微缩放淡入,关闭时先播放收拢动画再消失;点遮罩也能关
  • 目录树、右侧卡片、弹层表单错峰淡入(每项延迟 20~35 ms),有层次但不晃眼
  • 切换章节用 View Transitions 做整屏交叉淡入,正文纸张另有一层轻微上浮
  • 字数统计是数字滚动变化,而不是生硬替换
  • 按钮、卡片、列表项都有按下缩放与悬停过渡,提示条滑入滑出
  • 首次渲染带一层动画守卫,避免开屏瞬间抖动
  • 完整尊重系统的「减少动态效果」设置(prefers-reduced-motion

快捷键

手不离键盘

快捷键 功能
Ctrl+S 保存当前章节
Ctrl+Shift+S 保存并创建历史快照
Ctrl+Shift+F 一键排版(直接生效,可撤销)
Ctrl+Z 撤销一次一键排版
Ctrl+Y 历史版本对比
Ctrl+E 导出
Ctrl+F / Ctrl+H 全文搜索 / 查找替换
Ctrl+N / Ctrl+Alt+N 新建书籍 / 新建章节
Ctrl+P / Ctrl+K 番茄钟 / 把选中卡片插入正文
F9 / F10 / F11 左栏 / 右栏 / 专注模式
Esc 关闭弹层、退出专注模式

写作时 Tab 插入全角缩进,引号自动成对,回车自动延续段首缩进。

数据与隐私

拷走一个文件夹,就是完整备份

默认数据目录是 %APPDATA%\com.heartwrite.novelmanager

settings.json                          全局设置
books.json                             书架索引
books/<bookId>/book.json               卷章目录树
books/<bookId>/cards.json              人物 / 剧情 / 灵光 / 设定卡片
content/<bookId>/<chapterId>.json      章节正文 + 历史版本
exports/                               默认导出目录
trash/                                 删除内容(可在回收站清空)
recent-exports.json                    最近导出记录

克隆整个目录即可迁移到另一台机器。也可以用环境变量 NOVEL_MANAGER_DATA_DIR 或命令行 --data-dir <路径> 把数据放到任意位置, 比如丢进你的同步盘。

下载与安装

绿色版,解压即用

  1. 下载可执行文件

    从 GitHub Releases 下载最新的 Windows 版本(约 4 MB)。

  2. 直接双击运行

    无需安装、不写注册表。想卸载的话,删掉程序和数据目录就干净了。

  3. 系统要求

    Windows 10 / 11(需要系统自带的 WebView2 运行时,Win10 1803 以后基本都是预装的)。

从源码构建

需要 Rust 工具链、Node 与 Tauri 的构建依赖。

git clone https://github.com/SelandiaNyx/XieXin.git
cd XieXin

pwsh -File dev.ps1 check      # 类型检查
pwsh -File dev.ps1 run        # 启动应用
pwsh -File dev.ps1 test       # 纯函数自检
pwsh -File dev.ps1 smoke      # 无头端到端自检
pwsh -File dev.ps1 release    # 发布构建

仓库里还带着一套无头自检:建书 → 写作 → 存版本 → 排版 → 导出 → 导入 → 回收站 → 重载,一条命令跑完整条链路。

许可证

自由使用,但改了要还回来

写心采用 GNU General Public License v3.0(GPL-3.0)。 这是一种 copyleft 协议:你拿走的自由,也要原样传下去。 完整条款见仓库里的 LICENSE

你可以

  • 随意使用,包括在公司里、商用项目里用
  • 随便改,改成什么样都行
  • 再发布给别人,也可以收费
  • 把源码拿去学习、抄进自己的 GPL 项目

但如果你分发修改版

  • 必须把完整对应源码同样按 GPL-3.0 公开
  • 不能改成闭源软件再发布
  • 不能只发二进制、把源码藏起来
  • 本软件不提供任何担保

只在自己电脑上用,或者自己改着玩,不需要公开任何东西。 GPL 约束的是「分发」这个动作,不是「使用」。

另外,用写心写出来的小说,版权 100% 属于你自己。 GPL 管的是软件源码,不会传染到你的作品上——这个担心是多余的。

试试看,然后告诉我哪里不好用

写心还是 0.1.0,功能在长,坑也在。遇到问题或者有想加的东西,直接开 Issue。