库 · 最外面那一层
下面 01–07 是进到一本书里之后的事
库
哪本书在等我?
一本书一行,一个状态,一个动作。不显示成本、不显示引擎。
书
这本书我现在该干什么?
写还是读,二选一。写这一侧再分要素和章节。
章
这一章的字。
正文。要么读,要么改。
这一层只回答一个问题:哪本书在等我 。所以书按「在等你 / 在写 / 完成了」分组,而不是按时间或字母排——
时间排序要求人自己扫一遍才知道该点哪本,而分组把这件事替他做了。
库
书架
按「在等你」分组 · 每本一个动作 · 九种状态各有一句话
我的小说
6 本
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
写一本新的
在等你
2 本
在写
不用等,写好了自己会挪上去
写完了
注
每本书的动作按钮只有一个 ,而且是这本书此刻唯一能做的那件事——写、去看、再来一次、读。同一行里绝不并排两个按钮,否则这一层就退回成了让人比较选项的地方。「在写」那一组明确写着不用等,因为轮询是十秒一次,用户盯着它没有任何好处。红只落在书上,不落在功能上:两本正在写的书各有一个方块和一段进度。一本书正在写的时候不会同时给「写」 ——引擎每本书同时只跑一章,所以那一行的动作是「去看」,不是再签一次;把签字按钮留在那里等于摆一个服务端会拒的动作。「写一本新的」是次要的——这一层的问题是「哪本在等我」,不是「再来一本」,所以它不该跟书抢那一点红。已关掉的书收进一行文字,不占分组——它们不会再有动作。
库
写一本新的 · 上限是这里唯一不可撤销的东西
一句话开头 + 一个上限 · 别的都能以后再说
← 我的小说
写一本新的
这本书讲什么
两家人四代驮盐走同一个山口,今年这条路要铺柏油了
一句话就够。助手会从这句话里生出前提、大纲和人物,你再改。这一步收一次规划的钱——一切都按 token 计费,新账号有赠送额度。
最多写多少章
定了就改不了
上限也就是这本书的花费上限
8 章,按这类书的均值大概 ~980 分 ——是均值,不是报价,同一本书里单章差过 5.7 倍。
以后不能往上加 。想写更长的,是开一本新的书,不是把这本改大。往少写随时可以,写到哪算哪。
建起来,先看看要素
建书收一次规划的钱 · 第一章也要你签了才写
注
只问两件事,因为只有两件事必须现在定:写什么 和最多写多长 。书名不问——助手会起,而且用户此刻还不知道这本书叫什么合适。上限用一个 2px 方框单独框起来并写明「定了就改不了」,因为它是这一层唯一不可撤销的决定;四个预设值让大多数人不用思考,自己填的框留给知道自己要什么的人。均值旁边那句「不是报价」必须在点下去之前 出现,不能等扣了费再解释。
01
故事要素 · 开写之前
四行,一次开一行 · 「开始写」在四样都确认后才亮
盐路
还没有章节 · 上限 8 章
余额 4,812
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
每一章都从这四样生成。先看一遍,确认完就能开始写——之后还能改,只是已经写出来的章节会留在它当时的版本上。
前提
两家人四代驮盐走同一个山口,今年这条路要铺柏油了。
已确认
大纲
8 章,和你的上限一致
正在看
1
米拉独自把这一季最后一趟盐驮过山口。
2
她发现旧道上被打进了测量桩。
3
工程师回到村里,被人认了出来。
4
米拉的姑姑拒绝在通行权上签字。
还有 4 章 · 点开可以逐行改
确认大纲
直接在行里改,或者用下面那条指令栏
人物
米拉、奥雷尔、赶骡人、姑姑
待看
世界规则
还空着——空着也能写,这是一个合法的答案
可选
开始写
还有 2 样没看过
改大纲
让助手改
注
顶栏没有「指令记录」按钮了——记录在点进输入框的那一刻 自己升起来(下一屏)。一份只在写指令时才有用的东西,不该在不写指令时占一个常驻按钮。
注
指令栏的标签跟着当前打开的那一行走——现在是「改大纲」。它作用于什么,由屏幕上开着的东西决定,不需要用户再选一次。空着的世界规则不画空文本框,画一句「空着也能写」:一个可选项如果长得像未完成项,人就会去填它。
02
章节 · 已排到上限,引擎在写第 4 章
一章一行 · 正在写的那一行自己在动,没有全屏等待
盐路
3 / 8 章
余额 4,812
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
1
米拉独自把这一季最后一趟盐驮过山口。
2,348 字
已读
2
她发现旧道上被打进了测量桩。
2,971 字
未读
3
工程师回到村里,被人认了出来。
3,104 字
未读
4
正在写 · 已有 1,840 字
引擎自述:draft_scene · 第 3 个场景 · 已进行 1 分 12 秒
可以关掉页面,写好了在这里
5
米拉在水库路上跟着车辙走下去。
排队中
6
奥雷尔把测量记录交了上去,少了一页。
排队中
还有第 7、8 章在队里
已花 368 分 · 这本书平均每章 ~123 分(是均值,不是报价)· 没写出来的不收费
影响后面的章节
排给下一章
注
「排到上限」把八次签字变成一次,八次入库变成零次——这是这一版减掉的绝大部分心智负担。内容里只有一处红:正在写的那一行的方块——唯一一件正在发生的事。另一处红是分段控件的选中态,那是设计系统自己的样式,属于外壳而不是内容,所以不算在这条约束里。引擎的自述用等宽字并标明是它的原话,因为百分比不存在,编出一个进度条就是撒谎。
03
正文 · 就是一个可以打字的文本面
点哪里光标就到哪里 · 选中、删除、换行都和文档一样 · 停下就存
← 章节
第 3 章
3,104 字 · 从大纲 v1 写出(现在是 v2)
编辑中
字号
A−
17px
A+
正文
直接输入 · 3,104 字
撤销
重做
凯斯勒隘口的木屋
标题也能改
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去,听着炉子响一声、冷一分,算出自己晚到了不足一天。
登记簿 在它一向在的那格架子上。春天那几页没了,这是常事,每年都烧,可撕的手法是新的 ,也是糙的,像有人赶时间。
外面的光一下子从雪面上撤走了,云是从山脊那边翻过来的。她明白今晚得睡在一个她答应过自己再也不睡的地方。
已存 · 14:31 · 每次停下自动存
不扣费 · 不经引擎 · 不动大纲和人物
让助手重写这一章
要开接口
两条都要新开路由。 轻的那条是改字(一个接受正文的 PUT,幂等、不跑模型、不扣费),重的那条是重写单章(要使章节重新跑一遗,收费)。先做改字 :这是用户真正天天要的,也是两条里简单的那一条。 冲突的处理我提一个方案:手改过的章被重写时,不拦、不丢,把手改版留成一份旧版 ——弹窗说「你在这一章改过 3 处,重写后这些会回到引擎的写法;旧版留在历史里」。拦住会把人卡在一个他不知道怎么退出的状态,直接丢则是全套里唯一一处不可恢复的丢失。
04
点进指令栏 · 说过的话自己升起来
整行可点,点一条就填回栏里改 · 不是聊天窗,也不占顶栏
盐路
3 / 8 章
余额 4,812
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
前提
两家人四代驮盐走同一个山口,今年这条路要铺柏油了。
已确认
大纲
8 章,和你的上限一致
正在看
人物
米拉、奥雷尔、赶骡人、姑姑
待看
世界规则
还空着——空着也能写,这是一个合法的答案
可选
你说过的话
点一条填回下面,改两个字再发。留着是为了让你看出哪种说法管用。
14:22 · 大纲
把铺路推迟到第 5 章,让路来得晚一点
改了第 3–8 章的梗概
撤销
14:09 · 人物
让工程师年轻十岁,给他一个留下来的理由
改了 1 个人物 · 奥雷尔
撤销
13:51 · 大纲
再紧凑一点
没改动——助手说这句太笼统,不知道该动哪里
13:40 · 第 4 章
把感情线提前到第 4 章
已交给引擎 · 它自己决定怎么用——说了不等于它照做
已用掉
还有 2 条更早的
改大纲
把铺路推迟到第 5 章,让路来得晚一点
让助手改
注
记录从指令栏往上长,不是从顶栏往下拉——它出现的位置就是它要去的位置,点一条,字进栏里,光标在末尾。整行是点击目标 ,所以「再用一次」按钮全部删掉了;只有真的改了东西的行才留一个「撤销」。第三条是故意留的:一句没起作用 的指令也要记下来并写明原因,否则这份记录只会教人重复成功的句式,学不到边界在哪。第四条「排给章节」的指令和改要素的指令混在同一份里,因为在用户眼里它们是同一件事:我跟它说过什么。
读 · 另一个界面
写和读是两种心态,混在一起两边都不舒服。这一侧一个生成控件都没有 :没有指令栏、没有「写下一章」、没有余额、没有引擎自述。
只有目录、正文和检索。唯一的通道是右上角那个「写作台」,它长得像个出口,不像一个功能。
05
读 · 一本书
先给「接着读」,再给目录 · 未读用方块标
← 书架
盐路
3 章可读 · 1 章读完
检索
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
写作台 ↗
接着读
第 2 章 · 测量桩
读到 62% · 上次是昨天晚上
继续
目录
2 章没读完
1
最后一趟盐
2,348 字
2
测量桩
读到 62%
3
凯斯勒隘口的木屋
3,104 字
第 4 章正在写 · 第 5–8 章在队里
注
「接着读」占一个 2px 方框,因为回来的人十次有九次就是要它——目录是给另外那一次的。这一侧的分母永远是已经存在的章数 ,不是上限——顶栏写「3 章可读」而不是「8 章」,翻章写「共 3 章可读」而不是「3 / 8」。把上限当分母会让读者以为有 8 章能读,然后在第 3 章末尾撞墙。上限是写作那一侧的事。正在写和排队中的章收成一行灰字,不放进度条。
06
读 · 正文
36em 行宽 · 字号存下来跨书生效 · 上下章在底部,不在顶部
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去,听着炉子响一声、冷一分,算出自己晚到了不足一天。
登记簿在它一向在的那格架子上。春天那几页没了——这是常事,每年都烧——可撕的手法是新的,也是糙的,像有人赶时间,且不在意事后看着如何。
外面的光一下子从雪面上撤走了,云是从山脊那边翻过来的、不是从谷口上来的。她明白今晚得睡在一个她答应过自己再也不睡的地方。
← 第 2 章
第 3 章 · 共 3 章可读
第 4 章正在写
注
顶栏的线从 2px 降到 1px,是全套里唯一一处——正文该是屏幕上最重的东西,围着它的框不该跟它抢。翻章放底部:读完才需要它,放顶上等于在人还在读的时候提醒他可以走了。整屏一处红都没有:这一侧不发生任何事,也没有主要动作,所以没有东西值得用红标。
07
读 · 检索
只搜已入库的章 · 命中处高亮,点进去落到那一段
← 盐路
登记簿
中文 English 日本語
日 夜 纸 靛 暮 苔 跨
3 处命中
只在已入库的 3 章里找——正在写和排队中的章不在其中
第 1 章
…出关的时候要在登记簿 上写下驮了多少斤,她照旧少写了一成…
第 2 章
…测量队的人问她要登记簿 ,她说那东西不在她手上,也不该在他手上…
第 3 章
…登记簿 在它一向在的那格架子上。春天那几页没了,可撕的手法是新的…
主题
七套配色 · 换的只有底色、墨色和那一个强调色
0 圆角、2px 主线、Archivo、左对齐都不变——主题是配色,不是改版
日
白天 · 默认
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
夜
暗光 · 强调色提亮
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
纸
久读 · 暖底
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
靛
冷底 · 换了色相
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
暮
柔和 · 暖玫瑰
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
苔
静 · 绿墨
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
跨
取自跨性别旗
第三章
凯斯勒隘口的木屋
门是从里面顶开的,说明有人想让天气进来。米拉在门口站了一会儿才进去。
旗子的三色
给开发
不给任何一套配色贴性别标签。「这套给女生」是设计错误,不是贴心——它替人做了一个不该由界面做的判断,而且真想要柔和配色的人里,各种人都有。有用的做法是把轴拉宽 :原来四套全是冷、中性或红热,缺柔和的一档,所以加了暮 (暖玫瑰、低刺激)和苔 (绿墨、安静)。跨 取自跨性别旗,当成一套认真的可用配色做,不是彩蛋:旗子的浅粉 #F5A9B8 做不了强调色(当填充配底色文字是 1.75:1,远过不了 4.5:1),所以强调色保留色相、压到能用的深度,卡片上把旗子三色单独列出来说明来处——而不是假装浅粉能用。除日以外的六套强调色当填充全部过 4.5:1 (4.83–5.85)。日 是例外,而且是继承来的:设计系统自己的 #ec3013 在 #f3f2f2 上是 3.76:1,系统文档写明它「够图标、大字和界面外壳用,不够正文」。所以在日这一套里,强调色只用于填充、标记和大号标签,不用于段落文字——这一条要写进实现里,不能靠自觉。对比度比配色本身重要:一套好看但正文读不清的主题,等于没做。 每套主题只声明四个值:--color-bg、--color-surface、--color-text、--color-accent。中性灰阶和强调色梯度全部由这四个 算出来 ,不逐套重写——否则暗色主题会继承为亮底调过的灰,第一版就是这么坏的。主题存在账号上,不是浏览器里:换设备还是那一套。
多语言
界面语言和小说语言是两件事
The Salt Road
8 chapters · 3 read
Search
English
给开发
下拉换的是界面语言 ,不是小说的语言——正文永远按写它时的语言显示,切到 English 不会把中文小说翻译掉。这一点要在下拉里写清楚,否则第一次点的人会以为自己的书要被翻译。书名跟着走是因为它是内容的一部分:翻译层只覆盖界面文案,内容原样 。三种语言的行高不同(日文假名比汉字矮、拉丁字母有升降部),所以顶栏用 flex 居中而不是写死行高。
要你定的
改字的路由,优先度
改错别字是天天要的,重写单章是偶尔要的,而前者简单得多(一个 PUT,不跑模型)。建议先上这一条,重写放下一轮。
排队中途失败
许可仍然签着(这是它能续上那一章而不是跳过的原因)。队列停下等你,还是自己重试?重试不收费,所以自动重试合理——但连续失败要有上限。
读到哪里,存在哪
「接着读 · 62%」和未读方块现在都没有服务端字段,只能存浏览器。换设备就没了。主题和语言也一样——这三样都该上账号,是同一个字段的活儿。