写匠写匠
返回文档
参考手册

全部命令

命令行 aiwriter 的每一条命令,一句话说清它做什么

命令行 aiwriter 的每一条命令,按 aiwriter --help 的四组排。 怎么装进终端、先学哪几条,见命令行入门

这一页跟着最新版写;你装的版本旧一点的话,以 aiwriter --help 为准。

每条命令都能加 --help 看完整用法,比如 aiwriter find --help(或 aiwriter help find)。

项目 · 新建、打开、多项目、偏好、回收站、协同

命令做什么
aiwriter new新建项目
aiwriter init把一个已有文件夹设为写匠项目
aiwriter open打开既有项目并登记进项目库
aiwriter deinit取消写匠管理(init 的逆操作)
aiwriter retitle项目改名(改 project.yaml 的标题·不改 .aiwriter 目录名;导出成品名随之变)
aiwriter author查看或设定本项目作者
aiwriter default-format查看或设定新建卡片的默认格式
aiwriter projects多项目管理(列表 / 统计 / 从模版新建)
aiwriter templates列出项目模版(新建项目可选骨架)
aiwriter profiles多用户 profile(身份隔离·各自项目集/偏好)
aiwriter pref偏好读写(当前 profile·存 aiwriter.sqlite)
aiwriter prefs你的偏好:样式 / 提示 / 规则 / 参考资料——「这条能力,按我的什么来做」
aiwriter trash回收站:restore 还原得回来,purge / rm 彻底删除不可恢复
aiwriter collab协同(本地优先)

写作 · 卡片、大纲、查找替换、引用、版本

命令做什么
aiwriter add新增卡片
aiwriter ls列出所有卡(按大纲顺序)
aiwriter show看卡正文
aiwriter edit改正文(自动存版本快照)
aiwriter set-body只写正文·不存快照(自动保存·与「存为版本」分离)
aiwriter insert-at在正文的指定位置插入文本(按字节偏移,光标定位用)
aiwriter rename改标题(=改文件/目录名·id 不变)
aiwriter status设状态标记:待写 / 草稿 / 修改中 / 定稿 / 归档
aiwriter tag给卡片贴标签(时间 / 情绪 / 地点 / 人物 / 母题 / 其他)
aiwriter mv跨父移动(--to <父id>;省略=移到根)
aiwriter up同级上移
aiwriter down同级下移
aiwriter move-to拖拽落点:移到某张卡之前或之后
aiwriter sort按名称 / 按修改时间重排某一层(只改顺序·一个文件都不动)
aiwriter rm删除 → .aiwriter/trash/(可恢复)
aiwriter import把外面的文件或文件夹收进这本书
aiwriter split拆分一张卡 → 文件夹 + 子卡(显性·一次性)
aiwriter dup复制一张卡(或一整个文件夹),副本紧跟在原来那一张后面
aiwriter merge组合文件夹的子卡 → 一张卡(拆分的逆操作)
aiwriter find全文检索(这本作品里找;--scope 只找某一篇/某一章)
aiwriter replace查找替换:把找到的字换成另一段字
aiwriter refs这张卡的引用:它引了谁、谁引了它
aiwriter link这张卡的地址(引用它的时候写这个)
aiwriter version这本书的历史:你写过的每一刻,随时回得去

成品 · 拼接、纳入成品、导出、字体

命令做什么
aiwriter compile按大纲顺序把整个项目拼成全文(Markdown)——含排掉的那几节,不是成品
aiwriter stitch把某个节点以下收进成品的内容按大纲顺序拼成一篇 Markdown
aiwriter work设定或查看哪些节点纳入成品
aiwriter pdf导出精美 PDF(Typst 排版,中文)
aiwriter docx导出 Word 文档(.docx)
aiwriter ebook导出电子书(.epub)
aiwriter export-md导出 Markdown
aiwriter summary导出 SUMMARY.md(范围同 work·从大纲生成,给 mdBook 用·--out 落文件)
aiwriter preview-typst把一张 Typst 卡渲染成逐页 PNG
aiwriter preview-book把整部作品渲染成逐页 PNG
aiwriter check-images列出正文里进不了成品的图片(找不到 / 以「/」开头 / 网上的 / 出了项目…)
aiwriter font精美字体:列出与下载

AI 与云 · 问答、检索索引、建议、统计、引擎与模型、登录与云备份

命令做什么
aiwriter ask问一句,把你写过的相关卡片摆出来。
aiwriter answer只要一段回答:命中从标准输入读(AI 对话 · Pro 权益)
aiwriter chat你问过的那些话(列出来 / 看一次 / 删掉 / 开一个新的)
aiwriter index给这本作品整理检索索引(只重建改过的卡·断网可用·不下模型)
aiwriter corpus跨项目语料库(你写过的一切)
aiwriter suggest让 AI 给点修改建议:句子读不读得顺,过渡、评价这类话用得恰不恰当。
aiwriter apply应用一条建议(从标准输入读 JSON;正文若已被改动则拒绝,不会覆盖你后来写的字)
aiwriter analyze写作统计:整体 / 字词 / 句法 / 篇章(确定性·纯本地·不联网、不计费)
aiwriter annotate标出正文里的元话语(词表比对·纯本地·不联网、不计费)
aiwriter record改稿记录:这一趟校对提了什么、你怎么处置的——只采集事实,不判对错
aiwriter engine换用哪个 AI(本机 / 云端),或看看现在用的是哪个
aiwriter model向量模型(AI 检索的底座):看状态 / 下载 / 删除
aiwriter ai云端 AI 能力(Pro 权益·需先 aiwriter auth login
aiwriter auth云端账号(写匠云·api.aiwriter.cn):登录、退出登录、看状态。
aiwriter sync云备份

带子命令的那几条

上面几条后面还要再接一个词,比如 aiwriter collab status

aiwriter collab

协同(本地优先)

命令做什么
aiwriter collab status看一眼协同状态:开没开、有谁参与、本地改动记到什么时候(只读)
aiwriter collab enable开启协同:在包里落下共同起点(分发给合著者之前做)
aiwriter collab sync把本地磁盘现状记进协同状态(在写匠之外改过稿、发包之前跑)
aiwriter collab invite生成一条邀请链接发给合著者(密钥在链接的 # 之后·不进服务器日志)
aiwriter collab link-info看一条邀请链接对不对(只读·不建任何东西·不连网)
aiwriter collab abandon放弃加入:把这个没能加入的空项目收进回收站(--project 指哪个)
aiwriter collab sweep把项目库里所有没落地的入伙空项目一次收进回收站(同 abandon 的判据)
aiwriter collab members看这本书的协同成员与待用邀请(只读)
aiwriter collab revoke撤销一张还没被用掉的邀请
aiwriter collab remove把某位合著者移出这本书(只有书主做得到)
aiwriter collab host让这本书上线,边写边同步(书主跑;Ctrl-C 结束)
aiwriter collab join上线协同(合著者跑)。第一次加入要贴书主发来的链接
aiwriter collab merge把另一份项目包的协同状态合进当前项目(正文合并;结构差异只报告不自动搬动)
aiwriter collab pack把这本书的协同状态封成一封加密 pack 文件(寄给合著者,比发整个包轻)。
aiwriter collab receive收一封合著者寄来的 pack 文件,合进这本书
aiwriter collab post收发一次:先把合著者的新内容收下来合进这本书,再把你这边的新改动寄出去
aiwriter collab mailbox-member印出本机在这本书里的协同身份(编号与两把公钥),给脚本和运维用。

aiwriter version

这本书的历史:你写过的每一刻,随时回得去

命令做什么
aiwriter version status看版本保护是否启用、用的是哪个仓
aiwriter version enable启用版本保护
aiwriter version save存一个里程碑。无改动则不产生空提交;被跳过的文件会逐条列出,绝不静默
aiwriter version log列里程碑(时间倒序·分页)
aiwriter version show打印某个里程碑里某文件当时的正文(只读·不改磁盘)
aiwriter version counts每一条稿子各在多少个时刻里变过
aiwriter version migrate把旧的历史点并进版本历史(一条历史点 = 时间轴上的一刻,时间还是它原来那个时间)
aiwriter version restore把某文件回滚到某个时刻的样子(回滚之前那一版会先留在历史里,可以再回去)

aiwriter chat

你问过的那些话(列出来 / 看一次 / 删掉 / 开一个新的)

命令做什么
aiwriter chat ls列出最近的对话
aiwriter chat show看某一次对话说了什么
aiwriter chat rm删掉某一次对话(连同里面的问答)
aiwriter chat new开一个新对话
aiwriter chat add往某次对话里记一轮问答(问句 + 回话 + 当时摆出来的那批卡片)
aiwriter chat answer把 AI 那段回答补记到已经记下的那一轮上

aiwriter tag

给卡片贴标签(时间 / 情绪 / 地点 / 人物 / 母题 / 其他)

命令做什么
aiwriter tag set设某一维的值(只替换这一维,不动别的维)
aiwriter tag rm删标签:给了 --value 删那一条,不给就删这一维全部
aiwriter tag list看标签:不带参数看全书的维度总览;--card 看某张卡;--dim 看某一维下有哪些卡

aiwriter work

设定或查看哪些节点纳入成品

命令做什么
aiwriter work show看成品现在收了哪些(不给 id 看整体;给了 id 看那一个节点)
aiwriter work in收进成品(不给 id = 项目根)
aiwriter work out排出成品:导出与拼接都不带它(不给 id = 项目根)
aiwriter work follow跟着上一级——清掉这个节点自己的设定,改由它所在的位置决定(不给 id = 项目根)

aiwriter corpus

跨项目语料库(你写过的一切)

命令做什么
aiwriter corpus find跨项目全文检索(你写过的一切)
aiwriter corpus register把当前项目登记进语料库
aiwriter corpus ls列已登记的项目

aiwriter projects

多项目管理(列表 / 统计 / 从模版新建)

命令做什么
aiwriter projects set-title改项目名(--project 指定哪一本·省略=当前)
aiwriter projects ls列已登记项目(含字数/卡数统计)
aiwriter projects stats当前项目统计(--project 指定其他)
aiwriter projects dir查看当前项目根位置(默认 <家目录>/aiwriter·可自定义)
aiwriter projects move-to迁移已登记项目到新目录(拷贝→校验→更新注册表→删旧·收拢散落项目)
aiwriter projects new从模版新建项目 → <dir>/<title>.aiw
aiwriter projects prune清理注册表悬空条目(root 路径已不存在·仅删注册表行·绝不碰磁盘·无法访问的保守跳过)
aiwriter projects trash项目级回收站(projects rm 删进去的整本书):列 / 还原 / 清空 / 彻底删一本
aiwriter projects trash ls列已删项目
aiwriter projects trash restore还原一个已删项目(trash-dir 取自 projects trash ls
aiwriter projects trash purge清空已删项目:彻底删除全部(不可恢复)
aiwriter projects trash rm彻底删除一个已删项目(trash-dir 取自 projects trash ls·不可恢复)
aiwriter projects rm安全删除项目:移入写匠回收站(app 内可还原)+ 注销注册表(任意位置项目均可)

aiwriter profiles

多用户 profile(身份隔离·各自项目集/偏好)

命令做什么
aiwriter profiles ls列 profile(含当前标记)
aiwriter profiles new新建 profile
aiwriter profiles use切换当前 profile
aiwriter profiles current打印当前 profile

aiwriter pref

偏好读写(当前 profile·存 aiwriter.sqlite)

命令做什么
aiwriter pref get读一条偏好
aiwriter pref set写一条偏好

aiwriter trash

回收站:restore 还原得回来,purge / rm 彻底删除不可恢复

命令做什么
aiwriter trash ls列回收站
aiwriter trash restore还原一项(name 取自 trash ls
aiwriter trash purge清空本项目回收站:彻底删除全部已删卡片/文件夹(不可恢复)
aiwriter trash rm彻底删除一项(name 取自 trash ls·不可恢复)

aiwriter engine

换用哪个 AI(本机 / 云端),或看看现在用的是哪个

命令做什么
aiwriter engine use设默认引擎
aiwriter engine status只读状态(零计费·不调 LLM)
aiwriter engine install下载活水模型的安装包(下完就停,不替你装)
aiwriter engine local本地引擎此刻走到哪一步:装没装、跑没跑(纯读盘,一个字节都不发)
aiwriter engine abilities列出本地引擎的四件活儿(向量 / 生成 / 校对 / 排版)各用哪个模型
aiwriter engine probe探一下通不通、往返多少毫秒(零计费·只列模型不推理)

aiwriter model

向量模型(AI 检索的底座):看状态 / 下载 / 删除

命令做什么
aiwriter model status看它在不在、下了多少
aiwriter model download下载(断点续传;已经有了就什么都不做)
aiwriter model remove删掉本机这份权重(半截文件一并删)

aiwriter sync

云备份

命令做什么
aiwriter sync status看一眼:云上有没有你的备份、本机有几本书在同步
aiwriter sync on把这本书备份到云端:一条命令走完 协同起点 → 建房 → 寄正文 → 登记钥匙。
aiwriter sync off停止这本书的云备份:云上撤下、合著者从此收不到新内容;
aiwriter sync enable开启云备份(停用过的账号也用它开回来)
aiwriter sync rebuild云上那份打不开时(旧版本建的,或密钥换过了),作废它并重建一份(本机稿子一个字不动)
aiwriter sync push把本机的书与房间钥匙推上去(云上有变动就先取回来合并再写)
aiwriter sync reconcile把云上的钥匙包与本机核对一遍:哪本书本机开了云上没有、哪本在别处关掉了、
aiwriter sync disable停用(不是销毁):云上那份钥匙包还在,不再自动把新书放上云。要销毁用 destroy
aiwriter sync restore取回整套身份与房间钥匙,不用输任何东西。取回的是钥匙,不是稿子——
aiwriter sync destroy销毁云上那份钥匙包(连停用记录一起)。要单独确认;只是不想再自动放新书用 disable
aiwriter sync pull把云备份里、这台电脑还没有的书取回来(已有的补收新内容)。
aiwriter sync catalog列出本机这一账号的云端目录;--refresh 只更新目录,不下载任何正文。

aiwriter auth

云端账号(写匠云·api.aiwriter.cn):登录、退出登录、看状态。

命令做什么
aiwriter auth login登录:默认走邮箱验证码
aiwriter auth logout退出登录(先吊销云端 api-key 再清本地登录态)
aiwriter auth status登录态查询
aiwriter auth handoff-token铸一次性握手令牌(供桌面/webapp SSO 跳转用·纯 token 打印到 stdout·未登录报错)

aiwriter prefs

你的偏好:样式 / 提示 / 规则 / 参考资料——「这条能力,按我的什么来做」

命令做什么
aiwriter prefs list列出偏好(不给类型就全列)
aiwriter prefs show打印一条偏好的内容(重定向到文件即可导出备份)
aiwriter prefs add加一条:--file <文件> 或把内容经管道喂进标准输入
aiwriter prefs remove删一条
aiwriter prefs never记一条规则:别把「原文」改掉(不给 --becomes 就是「任何改动都别提」)
aiwriter prefs todo有什么要处理一下(没启用的、没搬过来的)
aiwriter prefs aiAI 生成样式(云端 · Pro 权益 · 需先 aiwriter auth login):

aiwriter record

改稿记录:这一趟校对提了什么、你怎么处置的——只采集事实,不判对错

命令做什么
aiwriter record decide收下你对建议的处置(采纳 / 忽略 / 忽略并立下规矩)——一批事件从标准输入进
aiwriter record list看看这本书记下了多少(加 --json 给程序读)
aiwriter record show摊开某一卷看看里面记了什么

aiwriter ai

云端 AI 能力(Pro 权益·需先 aiwriter auth login

命令做什么
aiwriter ai apply-spans从标准输入读 JSON,逐条校验后批量应用建议;只把改好的正文印到标准输出,
aiwriter ai checkAI 校对:自研校对大模型逐句纠错,输出偏移锚定的修改建议(长卡自动分段)
aiwriter ai typesetAI 排版:自研排版大模型把 md/txt 正文排成 Typst 源(本地编译验证·不过编译不输出)
aiwriter ai coach润色:句级改写建议(语感/节奏/意象·附理由与名家例句·长卡自动分段)
aiwriter ai analyze文本分析:给这段文字画个像——节奏统计、意象分类、风格概括(长卡分段抽样)
aiwriter ai segment只出分段执行计划不执行(预估确认用:steps/预计最多消耗字数/计划指纹)
aiwriter ai capabilities印出各项 AI 能力的上限:一次最多送多少字、多少句,长稿怎么分段,

aiwriter font

精美字体:列出与下载

命令做什么
aiwriter font list列出可下载的精美字体(含已安装标记)
aiwriter font download下载字体到 ~/.aiwriter/fonts
aiwriter font installed已安装字体(列 ~/.aiwriter/fonts 下的 otf/ttf/ttc)
aiwriter font dir打印字体目录路径

每条命令都认的选项

选项做什么
--project <PROJECT>项目目录(<名>.aiw;老包的 <名>.aiwriter 照常认);默认自动探测当前目录
--json输出 JSON(桌面与网页版靠它拿结果)