@dinoxx/dinox-cli 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +807 -418
- package/dist/auth/userInfo.d.ts +2 -0
- package/dist/auth/userInfo.js +28 -11
- package/dist/cli.js +15 -1
- package/dist/commands/auth/index.d.ts +2 -0
- package/dist/commands/auth/index.js +217 -163
- package/dist/commands/boxes/index.d.ts +2 -0
- package/dist/commands/boxes/index.js +119 -75
- package/dist/commands/boxes/repo.d.ts +8 -0
- package/dist/commands/boxes/repo.js +41 -0
- package/dist/commands/config/index.d.ts +2 -0
- package/dist/commands/config/index.js +85 -36
- package/dist/commands/descriptor/register.d.ts +8 -0
- package/dist/commands/descriptor/register.js +113 -0
- package/dist/commands/descriptor/types.d.ts +37 -0
- package/dist/commands/descriptor/types.js +17 -0
- package/dist/commands/graph/index.d.ts +2 -0
- package/dist/commands/graph/index.js +143 -73
- package/dist/commands/info/index.d.ts +2 -0
- package/dist/commands/info/index.js +41 -14
- package/dist/commands/mcp/index.js +11 -10
- package/dist/commands/mcp/server.js +8 -4
- package/dist/commands/mcp/tools.js +30 -104
- package/dist/commands/mcp/types.d.ts +8 -1
- package/dist/commands/meta/index.d.ts +2 -0
- package/dist/commands/meta/index.js +64 -33
- package/dist/commands/meta/repo.d.ts +6 -0
- package/dist/commands/meta/repo.js +6 -0
- package/dist/commands/notes/actions.d.ts +10 -0
- package/dist/commands/notes/actions.js +403 -0
- package/dist/commands/notes/descriptors.d.ts +4 -0
- package/dist/commands/notes/descriptors.js +250 -0
- package/dist/commands/notes/dryRun.d.ts +31 -0
- package/dist/commands/notes/dryRun.js +130 -0
- package/dist/commands/notes/index.d.ts +2 -51
- package/dist/commands/notes/index.js +2 -581
- package/dist/commands/notes/repo.d.ts +9 -0
- package/dist/commands/notes/repo.js +56 -10
- package/dist/commands/notes/runtime.d.ts +28 -0
- package/dist/commands/notes/runtime.js +185 -0
- package/dist/commands/notes/searchOutput.d.ts +10 -2
- package/dist/commands/notes/searchOutput.js +14 -2
- package/dist/commands/notes/searchResponse.d.ts +51 -0
- package/dist/commands/notes/searchResponse.js +56 -0
- package/dist/commands/notes/searchSql.js +2 -0
- package/dist/commands/prompt/index.d.ts +2 -0
- package/dist/commands/prompt/index.js +122 -72
- package/dist/commands/prompt/repo.d.ts +7 -0
- package/dist/commands/prompt/repo.js +46 -0
- package/dist/commands/schema/commandMetadata.d.ts +2 -0
- package/dist/commands/schema/commandMetadata.js +18 -0
- package/dist/commands/schema/globalOptions.d.ts +3 -0
- package/dist/commands/schema/globalOptions.js +3 -0
- package/dist/commands/schema/index.d.ts +4 -0
- package/dist/commands/schema/index.js +109 -0
- package/dist/commands/schema/renderSkills.d.ts +6 -0
- package/dist/commands/schema/renderSkills.js +216 -0
- package/dist/commands/schema/spec.d.ts +6 -0
- package/dist/commands/schema/spec.js +40 -0
- package/dist/commands/schema/types.d.ts +47 -0
- package/dist/commands/schema/types.js +1 -0
- package/dist/commands/storage/index.d.ts +4 -0
- package/dist/commands/storage/index.js +292 -0
- package/dist/commands/storage/repo.d.ts +162 -0
- package/dist/commands/storage/repo.js +770 -0
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.js +41 -27
- package/dist/commands/tags/index.d.ts +2 -0
- package/dist/commands/tags/index.js +121 -79
- package/dist/commands/tags/repo.d.ts +7 -0
- package/dist/commands/tags/repo.js +52 -0
- package/dist/commands/todo/dryRun.d.ts +23 -0
- package/dist/commands/todo/dryRun.js +133 -0
- package/dist/commands/todo/index.d.ts +2 -0
- package/dist/commands/todo/index.js +285 -135
- package/dist/commands/todo/repo.d.ts +11 -0
- package/dist/commands/todo/repo.js +37 -9
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.js +35 -13
- package/dist/commands/writeDryRun.d.ts +62 -0
- package/dist/commands/writeDryRun.js +131 -0
- package/dist/config/paths.d.ts +2 -1
- package/dist/config/paths.js +11 -1
- package/dist/config/resolve.js +7 -5
- package/dist/constants/links.d.ts +1 -1
- package/dist/constants/links.js +1 -1
- package/dist/daemon/ensure.js +3 -2
- package/dist/daemon/index.js +17 -15
- package/dist/dinox.js +9 -13
- package/dist/powersync/runtime.d.ts +1 -1
- package/dist/powersync/runtime.js +5 -3
- package/dist/powersync/schema/index.d.ts +27 -0
- package/dist/powersync/schema/index.js +2 -0
- package/dist/powersync/schema/note.d.ts +1 -0
- package/dist/powersync/schema/note.js +1 -0
- package/dist/powersync/schema/projects.d.ts +3 -0
- package/dist/powersync/schema/projects.js +3 -0
- package/dist/powersync/schema/storage.d.ts +24 -0
- package/dist/powersync/schema/storage.js +24 -0
- package/dist/skills/check.d.ts +6 -0
- package/dist/skills/check.js +254 -0
- package/dist/utils/bidlinkCanonicalization.d.ts +2 -0
- package/dist/utils/bidlinkCanonicalization.js +161 -0
- package/dist/utils/dryRun.d.ts +13 -0
- package/dist/utils/dryRun.js +69 -0
- package/dist/utils/output.d.ts +19 -0
- package/dist/utils/output.js +155 -1
- package/dist/utils/terminalSanitization.d.ts +2 -0
- package/dist/utils/terminalSanitization.js +33 -0
- package/dist/utils/tiptapMarkdown.d.ts +4 -1
- package/dist/utils/tiptapMarkdown.js +285 -113
- package/dist/utils/tiptapMarkdownSchema.d.ts +37 -0
- package/dist/utils/tiptapMarkdownSchema.js +577 -0
- package/dist/utils/tiptapMarkdownSchemaUtils.d.ts +74 -0
- package/dist/utils/tiptapMarkdownSchemaUtils.js +394 -0
- package/dist/utils/updateNotice.d.ts +7 -0
- package/dist/utils/updateNotice.js +64 -0
- package/package.json +25 -3
package/README.md
CHANGED
|
@@ -1,702 +1,951 @@
|
|
|
1
|
-
# Dinox CLI
|
|
1
|
+
# Dinox CLI 用户手册
|
|
2
2
|
|
|
3
|
-
`dino`
|
|
3
|
+
`dino` 是 Dinox 的命令行工具,用来在本地管理和同步你的 Dinox 数据,包括:笔记、待办、标签、卡片盒、Prompt、知识图谱,以及给 AI 客户端使用的 MCP 服务。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
这份 README 按“先上手、再进阶、最后查表”的顺序重写,尽量做到:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- 先让你快速跑通第一次使用
|
|
8
|
+
- 再教你完成最常见的日常操作
|
|
9
|
+
- 最后给出完整命令速查,方便回头查阅
|
|
10
|
+
|
|
11
|
+
如果你只想尽快开始,先看“5 分钟快速上手”。
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
---
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
## 目录
|
|
12
16
|
|
|
13
|
-
1.
|
|
14
|
-
2.
|
|
15
|
-
3.
|
|
16
|
-
4.
|
|
17
|
-
5.
|
|
18
|
-
6.
|
|
19
|
-
7.
|
|
20
|
-
8.
|
|
17
|
+
- [1. 你可以用 Dinox CLI 做什么](#1-你可以用-dinox-cli-做什么)
|
|
18
|
+
- [2. 安装要求与安装方法](#2-安装要求与安装方法)
|
|
19
|
+
- [3. 5 分钟快速上手](#3-5-分钟快速上手)
|
|
20
|
+
- [4. 使用前必须知道的 6 个规则](#4-使用前必须知道的-6-个规则)
|
|
21
|
+
- [5. 日常操作教程](#5-日常操作教程)
|
|
22
|
+
- [6. 完整命令速查](#6-完整命令速查)
|
|
23
|
+
- [7. AI / Cursor / MCP 集成](#7-ai--cursor--mcp-集成)
|
|
24
|
+
- [8. 常见问题](#8-常见问题)
|
|
25
|
+
- [9. 配置文件、数据库与环境变量](#9-配置文件数据库与环境变量)
|
|
26
|
+
- [10. 如何查看帮助](#10-如何查看帮助)
|
|
21
27
|
|
|
22
28
|
---
|
|
23
29
|
|
|
24
|
-
##
|
|
30
|
+
## 1. 你可以用 Dinox CLI 做什么
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
Dinox CLI 适合这几类场景:
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
1. 在终端里登录 Dinox 账号,并把云端数据同步到本地
|
|
35
|
+
2. 快速搜索、查看、创建、更新、删除笔记
|
|
36
|
+
3. 从笔记里的任务列表中搜索待办,或追加/创建待办
|
|
37
|
+
4. 维护标签、卡片盒、Prompt 等结构化信息
|
|
38
|
+
5. 查询笔记之间的链接关系和知识图谱
|
|
39
|
+
6. 给 Cursor / AI Agent 暴露 MCP 工具接口
|
|
40
|
+
7. 用 `--format json` 输出结构化结果,方便脚本和 AI 调用
|
|
29
41
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
你可以把它理解为:
|
|
43
|
+
|
|
44
|
+
- 普通用户:一个更高效的 Dinox 数据管理工具
|
|
45
|
+
- 进阶用户:一个可脚本化的本地知识库命令行入口
|
|
46
|
+
- AI 用户:一个可被 MCP / 自动化工具调用的本地数据服务入口
|
|
34
47
|
|
|
35
48
|
---
|
|
36
49
|
|
|
37
|
-
##
|
|
50
|
+
## 2. 安装要求与安装方法
|
|
51
|
+
|
|
52
|
+
### 2.1 系统要求
|
|
38
53
|
|
|
39
|
-
|
|
54
|
+
安装前请先确认:
|
|
40
55
|
|
|
41
|
-
|
|
56
|
+
- 已安装 Node.js 20 或更高版本
|
|
57
|
+
- 已安装 npm
|
|
58
|
+
- 你的系统可以正常执行全局 npm 命令
|
|
42
59
|
|
|
43
|
-
|
|
60
|
+
检查方法:
|
|
44
61
|
|
|
45
62
|
```bash
|
|
46
|
-
|
|
63
|
+
node -v
|
|
64
|
+
npm -v
|
|
47
65
|
```
|
|
48
66
|
|
|
49
|
-
2. 安装 CLI
|
|
67
|
+
### 2.2 安装 Dinox CLI
|
|
68
|
+
|
|
69
|
+
推荐直接全局安装:
|
|
50
70
|
|
|
51
71
|
```bash
|
|
52
72
|
npm install -g @dinoxx/dinox-cli
|
|
53
73
|
```
|
|
54
74
|
|
|
55
|
-
|
|
75
|
+
安装完成后,验证是否成功:
|
|
56
76
|
|
|
57
77
|
```bash
|
|
58
78
|
dino info
|
|
59
79
|
```
|
|
60
80
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
## 3.2 Windows
|
|
81
|
+
看到版本号就表示安装成功。
|
|
64
82
|
|
|
65
|
-
|
|
83
|
+
> 说明:安装后通常可以使用 `dino` 或 `dinox` 两个命令名,本文统一使用 `dino`。
|
|
66
84
|
|
|
67
|
-
|
|
85
|
+
### 2.3 macOS 安装 Node.js(如果你还没装)
|
|
68
86
|
|
|
69
|
-
```
|
|
70
|
-
|
|
87
|
+
```bash
|
|
88
|
+
brew install node
|
|
71
89
|
```
|
|
72
90
|
|
|
73
|
-
2. 安装
|
|
91
|
+
### 2.4 Windows 安装 Node.js(如果你还没装)
|
|
92
|
+
|
|
93
|
+
PowerShell 中可使用:
|
|
74
94
|
|
|
75
95
|
```powershell
|
|
76
|
-
|
|
96
|
+
winget install OpenJS.NodeJS.LTS
|
|
77
97
|
```
|
|
78
98
|
|
|
79
|
-
|
|
99
|
+
### 2.5 更新 CLI
|
|
80
100
|
|
|
81
|
-
|
|
82
|
-
|
|
101
|
+
后续如果要更新到最新版本,直接执行:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
dino update
|
|
83
105
|
```
|
|
84
106
|
|
|
107
|
+
它会自动根据你当前的安装方式选择合适的包管理器执行更新。
|
|
108
|
+
|
|
85
109
|
---
|
|
86
110
|
|
|
87
|
-
##
|
|
111
|
+
## 3. 5 分钟快速上手
|
|
112
|
+
|
|
113
|
+
下面是第一次使用最推荐的顺序。你可以直接照着执行。
|
|
88
114
|
|
|
89
|
-
|
|
115
|
+
### 第 1 步:登录
|
|
90
116
|
|
|
91
117
|
```bash
|
|
92
|
-
dino auth login "<你的token>"
|
|
118
|
+
dino auth login "<你的 token>"
|
|
93
119
|
```
|
|
94
120
|
|
|
95
|
-
|
|
121
|
+
说明:
|
|
122
|
+
|
|
123
|
+
- 这里填的是登录 token 本体
|
|
124
|
+
- 不要加 `Bearer ` 前缀
|
|
125
|
+
- 登录时 CLI 会顺便验证连接是否可用
|
|
126
|
+
|
|
127
|
+
### 第 2 步:同步数据到本地
|
|
96
128
|
|
|
97
129
|
```bash
|
|
98
130
|
dino sync
|
|
99
131
|
```
|
|
100
132
|
|
|
101
|
-
|
|
133
|
+
这一步会把 Dinox 数据同步到本地 SQLite 数据库,后续很多查询都会直接使用本地缓存。
|
|
134
|
+
|
|
135
|
+
### 第 3 步:确认当前状态
|
|
102
136
|
|
|
103
137
|
```bash
|
|
104
138
|
dino auth status
|
|
105
139
|
```
|
|
106
140
|
|
|
141
|
+
你会看到当前是否已登录、本地数据库位置、最近同步状态等信息。
|
|
142
|
+
|
|
143
|
+
### 第 4 步:搜索一条笔记试试
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
dino note search "AI"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 第 5 步:新建一条笔记试试
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
dino note create \
|
|
153
|
+
--title "今天的记录" \
|
|
154
|
+
--content "# 标题\n\n这里是正文" \
|
|
155
|
+
--type note
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
如果你能顺利完成上面 5 步,说明 CLI 已经可以正常使用。
|
|
159
|
+
|
|
107
160
|
---
|
|
108
161
|
|
|
109
|
-
##
|
|
162
|
+
## 4. 使用前必须知道的 6 个规则
|
|
163
|
+
|
|
164
|
+
很多问题都来自对 CLI 约定不熟。先掌握下面 6 条,会少踩很多坑。
|
|
110
165
|
|
|
111
|
-
|
|
166
|
+
### 规则 1:很多命令默认会优先使用本地数据库
|
|
112
167
|
|
|
113
|
-
|
|
168
|
+
`dino sync` 会把云端数据同步到本地。后续大多数查询命令会基于本地缓存工作。
|
|
169
|
+
|
|
170
|
+
如果你希望明确只使用本地缓存、不触发联网/同步,可以加:
|
|
114
171
|
|
|
115
172
|
```bash
|
|
116
|
-
|
|
117
|
-
dino note search "AI" --days 7
|
|
118
|
-
dino note search "AI" --from 2026-02-01 --to 2026-02-28
|
|
119
|
-
dino note search "AI" --box "Inbox"
|
|
120
|
-
dino note search --sql 'type = "crawl" AND zettel_boxes IN ("Inbox","Project")'
|
|
173
|
+
--offline
|
|
121
174
|
```
|
|
122
175
|
|
|
123
|
-
|
|
176
|
+
例如:
|
|
124
177
|
|
|
125
178
|
```bash
|
|
126
|
-
dino
|
|
127
|
-
dino todo search "付款"
|
|
128
|
-
dino todo search "付款" --status uncompleted --tags "工作,财务"
|
|
129
|
-
dino todo search --from 2026-03-01 --to 2026-03-07 --limit 100
|
|
179
|
+
dino note search "项目复盘" --offline
|
|
130
180
|
```
|
|
131
181
|
|
|
132
|
-
|
|
182
|
+
适用场景:
|
|
183
|
+
|
|
184
|
+
- 网络不稳定
|
|
185
|
+
- 只想查本地缓存
|
|
186
|
+
- 你已经先手动执行过 `dino sync`
|
|
187
|
+
|
|
188
|
+
### 规则 2:给脚本或 AI 用时,推荐统一加 `--format json`
|
|
189
|
+
|
|
190
|
+
例如:
|
|
133
191
|
|
|
134
192
|
```bash
|
|
135
|
-
dino
|
|
136
|
-
dino todo append --note-id <note-id> --task "补交报销单" --task "整理发票"
|
|
137
|
-
dino todo append --tasks '["补交报销单","整理发票"]'
|
|
193
|
+
dino note search "AI" --format json
|
|
138
194
|
```
|
|
139
195
|
|
|
140
|
-
|
|
196
|
+
说明:
|
|
197
|
+
|
|
198
|
+
- `--format json`:推荐的结构化输出
|
|
199
|
+
- `--format yaml`:也支持
|
|
200
|
+
- `--json`:历史兼容参数,等价于 `--format yaml`
|
|
201
|
+
|
|
202
|
+
### 规则 3:很多写操作都支持 `--dry-run`
|
|
203
|
+
|
|
204
|
+
如果你想先看“将会发生什么”,但暂时不真正写入数据,可以用:
|
|
141
205
|
|
|
142
206
|
```bash
|
|
143
|
-
|
|
144
|
-
dino todo create --task "补交报销单" --task "整理发票" --title "本周财务待办"
|
|
145
|
-
dino todo create --tasks @./todo.txt
|
|
207
|
+
--dry-run
|
|
146
208
|
```
|
|
147
209
|
|
|
148
|
-
|
|
210
|
+
例如:
|
|
149
211
|
|
|
150
212
|
```bash
|
|
151
|
-
dino
|
|
152
|
-
dino todo update <task-id> --status uncompleted
|
|
213
|
+
dino note delete <note-id> --dry-run
|
|
153
214
|
```
|
|
154
215
|
|
|
155
|
-
|
|
216
|
+
这对删除、更新、批量修改尤其有用。
|
|
217
|
+
|
|
218
|
+
### 规则 4:很多参数支持直接从文件读取
|
|
219
|
+
|
|
220
|
+
凡是写成 `<string|@file>` 或 `<string|@file>` 的参数,通常都支持 `@文件路径` 的写法。
|
|
221
|
+
|
|
222
|
+
例如从文件读取笔记正文:
|
|
156
223
|
|
|
157
224
|
```bash
|
|
158
|
-
dino note create
|
|
159
|
-
--title "今天的记录" \
|
|
160
|
-
--content "# 标题\n\n正文内容"
|
|
225
|
+
dino note create --title "读书笔记" --content @./note.md --type note
|
|
161
226
|
```
|
|
162
227
|
|
|
163
|
-
|
|
228
|
+
例如从文件读取待办列表:
|
|
164
229
|
|
|
165
230
|
```bash
|
|
166
|
-
dino
|
|
167
|
-
dino note detail <note-id>
|
|
231
|
+
dino todo create --tasks @./todo.txt
|
|
168
232
|
```
|
|
169
233
|
|
|
170
|
-
|
|
234
|
+
### 规则 5:列表参数通常有 3 种写法
|
|
235
|
+
|
|
236
|
+
像 `--tags`、`--boxes`、`--tasks`、`--ids` 这类列表参数,通常支持:
|
|
237
|
+
|
|
238
|
+
1. JSON 数组
|
|
239
|
+
2. 逗号分隔
|
|
240
|
+
3. 换行分隔
|
|
241
|
+
|
|
242
|
+
例如这三种都可以:
|
|
171
243
|
|
|
172
244
|
```bash
|
|
173
|
-
|
|
245
|
+
--tags '["工作","项目A"]'
|
|
246
|
+
--tags "工作,项目A"
|
|
247
|
+
--tags @./tags.txt
|
|
174
248
|
```
|
|
175
249
|
|
|
176
|
-
|
|
250
|
+
### 规则 6:标签和卡片盒必须先存在,笔记才能引用它们
|
|
177
251
|
|
|
178
|
-
|
|
252
|
+
例如你先创建笔记时用了一个不存在的标签:
|
|
179
253
|
|
|
180
254
|
```bash
|
|
181
|
-
dino
|
|
255
|
+
dino note create --title "测试" --content "正文" --tags "工作/项目A"
|
|
182
256
|
```
|
|
183
257
|
|
|
184
|
-
|
|
258
|
+
如果这个标签还不存在,就会报错。正确顺序通常是:
|
|
185
259
|
|
|
186
260
|
```bash
|
|
187
261
|
dino tag add "工作/项目A"
|
|
188
|
-
dino
|
|
262
|
+
dino box add "Inbox"
|
|
263
|
+
dino note create --title "测试" --content "正文" --tags "工作/项目A" --boxes "Inbox" --type note
|
|
189
264
|
```
|
|
190
265
|
|
|
191
|
-
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 5. 日常操作教程
|
|
192
269
|
|
|
193
|
-
|
|
270
|
+
这一部分按真实使用场景来写。你不需要一开始记住所有命令,先会做日常任务就够了。
|
|
271
|
+
|
|
272
|
+
### 5.1 搜索笔记
|
|
273
|
+
|
|
274
|
+
#### 按关键词搜索
|
|
194
275
|
|
|
195
276
|
```bash
|
|
196
|
-
dino
|
|
277
|
+
dino note search "AI"
|
|
197
278
|
```
|
|
198
279
|
|
|
199
|
-
|
|
280
|
+
#### 搜索最近 7 天的笔记
|
|
200
281
|
|
|
201
282
|
```bash
|
|
202
|
-
dino
|
|
203
|
-
dino box add --name "Inbox" --description "用于存放待整理的想法和资料"
|
|
283
|
+
dino note search "AI" --days 7
|
|
204
284
|
```
|
|
205
285
|
|
|
206
|
-
|
|
286
|
+
#### 按时间范围搜索
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
dino note search "AI" --from 2026-03-01 --to 2026-03-31
|
|
290
|
+
```
|
|
207
291
|
|
|
208
|
-
|
|
292
|
+
#### 按标签表达式搜索
|
|
209
293
|
|
|
210
294
|
```bash
|
|
211
|
-
dino
|
|
212
|
-
dino prompt add --name "周报助手" --cmd "请基于本周笔记输出一份简洁周报"
|
|
295
|
+
dino note search --tags "(work OR life) AND NOT archived"
|
|
213
296
|
```
|
|
214
297
|
|
|
215
|
-
|
|
298
|
+
#### 按卡片盒搜索
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
dino note search --boxes "Inbox,Project"
|
|
302
|
+
```
|
|
216
303
|
|
|
217
|
-
|
|
304
|
+
#### 只看已收藏或未收藏笔记
|
|
218
305
|
|
|
219
306
|
```bash
|
|
220
|
-
dino
|
|
307
|
+
dino note search --starred true
|
|
308
|
+
dino note search --starred false
|
|
221
309
|
```
|
|
222
310
|
|
|
223
|
-
|
|
311
|
+
#### 分页与字段裁剪
|
|
224
312
|
|
|
225
313
|
```bash
|
|
226
|
-
dino
|
|
314
|
+
dino note search "AI" --limit 20 --offset 0
|
|
315
|
+
dino note search "AI" --fields id,title,summary,created_at
|
|
227
316
|
```
|
|
228
317
|
|
|
229
|
-
|
|
318
|
+
#### 高级 SQL 风格筛选
|
|
230
319
|
|
|
231
320
|
```bash
|
|
232
|
-
dino
|
|
321
|
+
dino note search --sql 'type = "crawl" AND zettel_boxes IN ("Inbox","Project")'
|
|
233
322
|
```
|
|
234
323
|
|
|
235
|
-
|
|
324
|
+
适合场景:
|
|
236
325
|
|
|
237
|
-
|
|
326
|
+
- 你已经很清楚要筛什么字段
|
|
327
|
+
- 希望做更复杂的组合条件查询
|
|
238
328
|
|
|
239
|
-
|
|
329
|
+
> 提醒:`--sql` 只支持只读查询条件,不是让你执行任意 SQL。
|
|
240
330
|
|
|
241
|
-
|
|
331
|
+
### 5.2 查看笔记内容
|
|
242
332
|
|
|
243
|
-
|
|
244
|
-
2. Windows: `%APPDATA%\dinox\config.json`
|
|
333
|
+
#### 只看笔记基础信息
|
|
245
334
|
|
|
246
|
-
|
|
335
|
+
```bash
|
|
336
|
+
dino note get <note-id>
|
|
337
|
+
```
|
|
247
338
|
|
|
248
|
-
|
|
339
|
+
#### 只拿轻量上下文(适合 AI / 脚本)
|
|
249
340
|
|
|
250
341
|
```bash
|
|
251
|
-
dino note
|
|
252
|
-
--title "标题" \
|
|
253
|
-
--content "正文"
|
|
342
|
+
dino note get <note-id> --context-only --format json
|
|
254
343
|
```
|
|
255
344
|
|
|
256
|
-
|
|
345
|
+
#### 预览正文前几行
|
|
257
346
|
|
|
258
|
-
```
|
|
259
|
-
dino note
|
|
260
|
-
|
|
261
|
-
--content "正文"
|
|
347
|
+
```bash
|
|
348
|
+
dino note preview <note-id>
|
|
349
|
+
dino note preview <note-id> --lines 30
|
|
262
350
|
```
|
|
263
351
|
|
|
264
|
-
|
|
352
|
+
#### 查看完整详情
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
dino note detail <note-id>
|
|
356
|
+
```
|
|
265
357
|
|
|
266
|
-
|
|
358
|
+
#### 批量查看多条笔记详情
|
|
267
359
|
|
|
268
360
|
```bash
|
|
269
|
-
dino note
|
|
361
|
+
dino note detail --ids @./note-ids.txt
|
|
270
362
|
```
|
|
271
363
|
|
|
272
|
-
|
|
364
|
+
### 5.3 创建笔记
|
|
273
365
|
|
|
274
|
-
|
|
275
|
-
|
|
366
|
+
#### 创建最简单的一条笔记
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
dino note create \
|
|
370
|
+
--title "会议记录" \
|
|
371
|
+
--content "今天讨论了发布计划" \
|
|
372
|
+
--type note
|
|
276
373
|
```
|
|
277
374
|
|
|
278
|
-
|
|
375
|
+
#### 从 Markdown 文件创建
|
|
279
376
|
|
|
280
|
-
|
|
377
|
+
```bash
|
|
378
|
+
dino note create \
|
|
379
|
+
--title "周报" \
|
|
380
|
+
--content @./weekly.md \
|
|
381
|
+
--type note
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
#### 同时设置标签和卡片盒
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
dino note create \
|
|
388
|
+
--title "项目复盘" \
|
|
389
|
+
--content @./review.md \
|
|
390
|
+
--type note \
|
|
391
|
+
--tags "工作/项目A,复盘" \
|
|
392
|
+
--boxes "Project"
|
|
393
|
+
```
|
|
281
394
|
|
|
282
|
-
|
|
395
|
+
注意:
|
|
283
396
|
|
|
284
|
-
|
|
397
|
+
- `--title` 和 `--content` 是必填项
|
|
398
|
+
- `--type` 可选值只有 `note` 和 `crawl`
|
|
399
|
+
- 如果你不写 `--type`,默认是 `crawl`
|
|
400
|
+
- 如果你想写普通笔记,建议明确加 `--type note`
|
|
285
401
|
|
|
286
|
-
|
|
402
|
+
#### 创建前先预演
|
|
287
403
|
|
|
288
404
|
```bash
|
|
289
|
-
dino
|
|
405
|
+
dino note create \
|
|
406
|
+
--title "测试笔记" \
|
|
407
|
+
--content "正文" \
|
|
408
|
+
--type note \
|
|
409
|
+
--dry-run
|
|
290
410
|
```
|
|
291
411
|
|
|
292
|
-
|
|
412
|
+
### 5.4 更新笔记标签、卡片盒、收藏状态
|
|
293
413
|
|
|
294
|
-
|
|
414
|
+
#### 更新单条笔记的标签
|
|
295
415
|
|
|
296
416
|
```bash
|
|
297
|
-
dino
|
|
298
|
-
dino box add "你的卡片盒"
|
|
417
|
+
dino note update <note-id> --tags "工作,AI"
|
|
299
418
|
```
|
|
300
419
|
|
|
301
|
-
|
|
420
|
+
#### 更新单条笔记的卡片盒
|
|
302
421
|
|
|
303
|
-
|
|
422
|
+
```bash
|
|
423
|
+
dino note update <note-id> --boxes "Inbox"
|
|
424
|
+
```
|
|
304
425
|
|
|
305
|
-
|
|
426
|
+
#### 设置收藏状态
|
|
306
427
|
|
|
307
|
-
|
|
428
|
+
```bash
|
|
429
|
+
dino note update <note-id> --starred true
|
|
430
|
+
dino note update <note-id> --starred false
|
|
431
|
+
```
|
|
308
432
|
|
|
309
|
-
|
|
310
|
-
| --- | --- | --- |
|
|
311
|
-
| `--json` | flag | 输出 machine-readable YAML(仅被支持该参数的命令读取)。 |
|
|
312
|
-
| `--offline` | flag | 跳过 connect/sync,仅用本地缓存(仅被支持该参数的命令读取)。 |
|
|
313
|
-
| `--sync-timeout <ms>` | integer | 覆盖连接/同步超时毫秒,必须是正整数。 |
|
|
314
|
-
| `--verbose` | flag | 预留 verbose 开关。 |
|
|
433
|
+
#### 使用专门的收藏命令
|
|
315
434
|
|
|
316
|
-
|
|
435
|
+
```bash
|
|
436
|
+
dino note star <note-id>
|
|
437
|
+
dino note unstar <note-id>
|
|
438
|
+
```
|
|
317
439
|
|
|
318
|
-
|
|
440
|
+
#### 批量更新多条笔记
|
|
319
441
|
|
|
320
|
-
|
|
442
|
+
```bash
|
|
443
|
+
dino note update --ids @./note-ids.txt --boxes "Project"
|
|
444
|
+
dino note star --ids @./note-ids.txt
|
|
445
|
+
```
|
|
321
446
|
|
|
322
|
-
|
|
323
|
-
| --- | --- | --- |
|
|
324
|
-
| `<token>` | 是 | 登录 token,直接传 token 字符串(不需要 `Bearer` 前缀)。 |
|
|
447
|
+
重要说明:
|
|
325
448
|
|
|
326
|
-
|
|
449
|
+
- `note update` 是“全量替换”标签/卡片盒,不是追加
|
|
450
|
+
- 如果你传 `--tags "工作,AI"`,最终标签就会变成这两个
|
|
451
|
+
- 如果你想清空标签或卡片盒,可以传 `[]`
|
|
327
452
|
|
|
328
|
-
|
|
453
|
+
例如:
|
|
329
454
|
|
|
330
|
-
|
|
455
|
+
```bash
|
|
456
|
+
dino note update <note-id> --tags '[]'
|
|
457
|
+
dino note update <note-id> --boxes '[]'
|
|
458
|
+
```
|
|
331
459
|
|
|
332
|
-
|
|
333
|
-
| --- | --- | --- |
|
|
334
|
-
| `--clear-local-db` | 否 | 同时删除本地 SQLite 数据库。 |
|
|
460
|
+
### 5.5 删除笔记
|
|
335
461
|
|
|
336
|
-
|
|
462
|
+
```bash
|
|
463
|
+
dino note delete <note-id>
|
|
464
|
+
```
|
|
337
465
|
|
|
338
|
-
|
|
466
|
+
说明:
|
|
339
467
|
|
|
340
|
-
|
|
468
|
+
- 这是软删除,不是物理彻底抹除
|
|
469
|
+
- 建议先加 `--dry-run` 再执行正式删除
|
|
341
470
|
|
|
342
|
-
|
|
471
|
+
```bash
|
|
472
|
+
dino note delete <note-id> --dry-run
|
|
473
|
+
```
|
|
343
474
|
|
|
344
|
-
###
|
|
475
|
+
### 5.6 管理待办任务
|
|
345
476
|
|
|
346
|
-
|
|
477
|
+
Dinox 的待办来自笔记内容中的任务列表。CLI 提供了 4 个最常用动作:搜索、追加、创建、更新状态。
|
|
347
478
|
|
|
348
|
-
|
|
479
|
+
#### 搜索待办
|
|
349
480
|
|
|
350
|
-
|
|
481
|
+
```bash
|
|
482
|
+
dino todo search
|
|
483
|
+
dino todo search "付款"
|
|
484
|
+
dino todo search "付款" --status uncompleted
|
|
485
|
+
dino todo search --from 2026-03-01 --to 2026-03-07 --limit 100
|
|
486
|
+
```
|
|
351
487
|
|
|
352
|
-
|
|
488
|
+
#### 按标签筛选待办
|
|
353
489
|
|
|
354
|
-
|
|
490
|
+
```bash
|
|
491
|
+
dino todo search --tags "工作,财务"
|
|
492
|
+
```
|
|
355
493
|
|
|
356
|
-
|
|
357
|
-
| --- | --- | --- |
|
|
358
|
-
| `[query]` | 否 | 搜索关键词。可为空。 |
|
|
494
|
+
#### 创建一条新的待办笔记
|
|
359
495
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
| `--from <date>` | 否 | 创建时间起点,支持 `YYYY-MM-DD` 或 ISO datetime。 |
|
|
364
|
-
| `--to <date>` | 否 | 创建时间终点,支持 `YYYY-MM-DD` 或 ISO datetime。 |
|
|
365
|
-
| `--days <n>` | 否 | 最近 N 天(按 `created_at`),不能与 `--from/--to` 同时使用。 |
|
|
366
|
-
| `--box <string\|@file>` | 否 | 按卡片盒名称筛选(支持 JSON 数组或逗号/换行分隔);会自动解析为 box id 查询。 |
|
|
367
|
-
| `--sql <expr>` | 否 | SQL 风格条件表达式;仅支持字段 `id/content_md/summary/tags/zettel_boxes/created_at/type`,其中 `zettel_boxes` 按名称自动转 id。只支持只读 WHERE 条件(禁止 `INSERT/UPDATE/DELETE`、注释和多语句)。 |
|
|
368
|
-
| `--include-deleted` | 否 | 包含软删除笔记。 |
|
|
496
|
+
```bash
|
|
497
|
+
dino todo create "补交报销单"
|
|
498
|
+
```
|
|
369
499
|
|
|
370
|
-
|
|
500
|
+
#### 一次创建多条待办
|
|
371
501
|
|
|
372
|
-
|
|
502
|
+
```bash
|
|
503
|
+
dino todo create --task "补交报销单" --task "整理发票"
|
|
504
|
+
dino todo create --tasks '["补交报销单","整理发票"]'
|
|
505
|
+
dino todo create --tasks @./todo.txt --title "本周财务待办"
|
|
506
|
+
```
|
|
373
507
|
|
|
374
|
-
|
|
508
|
+
#### 追加待办到现有笔记
|
|
375
509
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
510
|
+
```bash
|
|
511
|
+
dino todo append "补交报销单"
|
|
512
|
+
dino todo append --note-id <note-id> --task "补交报销单" --task "整理发票"
|
|
513
|
+
dino todo append --note-id <note-id> --tasks @./todo.txt
|
|
514
|
+
```
|
|
379
515
|
|
|
380
|
-
|
|
516
|
+
说明:
|
|
381
517
|
|
|
382
|
-
|
|
518
|
+
- 如果不传 `--note-id`,CLI 会自动选一条“适合追加任务”的最近笔记
|
|
519
|
+
- 如果该笔记末尾已有任务列表,会直接并入;没有则会新建任务列表
|
|
383
520
|
|
|
384
|
-
|
|
521
|
+
#### 更新待办状态
|
|
385
522
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
523
|
+
```bash
|
|
524
|
+
dino todo update <task-id> --status completed
|
|
525
|
+
dino todo update <task-id> --status uncompleted
|
|
526
|
+
```
|
|
389
527
|
|
|
390
|
-
|
|
391
|
-
| --- | --- | --- |
|
|
392
|
-
| `--ids <string\|@file>` | 否 | 笔记 ID 列表(JSON 数组或逗号/换行分隔)。 |
|
|
528
|
+
兼容写法也支持:
|
|
393
529
|
|
|
394
|
-
|
|
530
|
+
```bash
|
|
531
|
+
dino todo update <task-id> --status done
|
|
532
|
+
dino todo update <task-id> --status false
|
|
533
|
+
```
|
|
395
534
|
|
|
396
|
-
|
|
535
|
+
但为了可读性,推荐始终使用:
|
|
397
536
|
|
|
398
|
-
|
|
537
|
+
- `completed`
|
|
538
|
+
- `uncompleted`
|
|
399
539
|
|
|
400
|
-
|
|
540
|
+
### 5.7 管理标签
|
|
401
541
|
|
|
402
|
-
|
|
403
|
-
| --- | --- | --- |
|
|
404
|
-
| `--title <string>` | 是 | 笔记标题。 |
|
|
405
|
-
| `--content <string|@file>` | 是 | Markdown 内容,可传 `@文件路径`。 |
|
|
406
|
-
| `--type <note\|crawl>` | 否 | 笔记类型,默认 `crawl`。 |
|
|
407
|
-
| `--tags <string\|@file>` | 否 | 标签列表(JSON 数组或逗号/换行分隔)。 |
|
|
408
|
-
| `--zettel_boxes <string\|@file>` | 否 | 卡片盒名称列表(JSON 数组或逗号/换行分隔)。 |
|
|
542
|
+
#### 查看全部标签
|
|
409
543
|
|
|
410
|
-
|
|
544
|
+
```bash
|
|
545
|
+
dino tag list
|
|
546
|
+
```
|
|
411
547
|
|
|
412
|
-
|
|
548
|
+
#### 创建标签
|
|
413
549
|
|
|
414
|
-
|
|
550
|
+
```bash
|
|
551
|
+
dino tag add "工作/项目A"
|
|
552
|
+
dino tag add --name "工作/项目A" --emoji "🧠"
|
|
553
|
+
```
|
|
415
554
|
|
|
416
|
-
|
|
417
|
-
| --- | --- | --- |
|
|
418
|
-
| `<id>` | 是 | 笔记 ID。 |
|
|
555
|
+
说明:
|
|
419
556
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
| `--ids <string\|@file>` | 否 | 批量更新的笔记 ID 列表(JSON 数组或逗号/换行分隔)。 |
|
|
423
|
-
| `--tags <string\|@file>` | 否 | 标签列表(JSON 数组或逗号/换行分隔)。传 `[]` 可清空标签。 |
|
|
424
|
-
| `--boxes <string\|@file>` | 否 | 卡片盒名称列表(JSON 数组或逗号/换行分隔)。传 `[]` 可清空卡片盒。 |
|
|
557
|
+
- 支持层级标签,如 `工作/项目A`
|
|
558
|
+
- 已删除但同名的标签,CLI 会尽量做恢复而不是重复新建
|
|
425
559
|
|
|
426
|
-
|
|
560
|
+
### 5.8 管理卡片盒
|
|
427
561
|
|
|
428
|
-
|
|
562
|
+
#### 查看全部卡片盒
|
|
429
563
|
|
|
430
|
-
|
|
564
|
+
```bash
|
|
565
|
+
dino box list
|
|
566
|
+
```
|
|
431
567
|
|
|
432
|
-
|
|
568
|
+
#### 创建卡片盒
|
|
433
569
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
570
|
+
```bash
|
|
571
|
+
dino box add "Inbox"
|
|
572
|
+
dino box add --name "Inbox" --description "用于存放待整理的想法和资料"
|
|
573
|
+
```
|
|
437
574
|
|
|
438
|
-
|
|
575
|
+
说明:
|
|
439
576
|
|
|
440
|
-
|
|
577
|
+
- `--description` 很值得写
|
|
578
|
+
- 这段说明会帮助 AI 和你自己更准确地理解这个卡片盒的用途
|
|
441
579
|
|
|
442
|
-
###
|
|
580
|
+
### 5.9 管理 Prompt
|
|
443
581
|
|
|
444
|
-
|
|
582
|
+
#### 查看全部 Prompt
|
|
445
583
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
| `--offline` | 否 | 跳过 connect/sync,仅用本地缓存。 |
|
|
450
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
584
|
+
```bash
|
|
585
|
+
dino prompt list
|
|
586
|
+
```
|
|
451
587
|
|
|
452
|
-
|
|
588
|
+
#### 新建 Prompt
|
|
453
589
|
|
|
454
|
-
|
|
590
|
+
```bash
|
|
591
|
+
dino prompt add --name "周报助手" --prompt "请基于本周笔记输出一份简洁周报"
|
|
592
|
+
```
|
|
455
593
|
|
|
456
|
-
|
|
457
|
-
| --- | --- | --- |
|
|
458
|
-
| `[name]` | 否 | 标签名/路径(支持斜杠层级)。 |
|
|
594
|
+
### 5.10 查看版本与配置
|
|
459
595
|
|
|
460
|
-
|
|
461
|
-
| --- | --- | --- |
|
|
462
|
-
| `--name <string>` | 否 | 标签名/路径,可替代位置参数 `[name]`。 |
|
|
463
|
-
| `--emoji <string>` | 否 | 标签 emoji。 |
|
|
464
|
-
| `--json` | 否 | 输出 machine-readable YAML。 |
|
|
465
|
-
| `--offline` | 否 | 跳过 connect/sync,仅用本地缓存。 |
|
|
466
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
596
|
+
#### 查看版本信息
|
|
467
597
|
|
|
468
|
-
|
|
598
|
+
```bash
|
|
599
|
+
dino info
|
|
600
|
+
```
|
|
469
601
|
|
|
470
|
-
|
|
602
|
+
#### 查看全部可读配置
|
|
471
603
|
|
|
472
|
-
|
|
604
|
+
```bash
|
|
605
|
+
dino config get
|
|
606
|
+
```
|
|
473
607
|
|
|
474
|
-
|
|
608
|
+
#### 查看单个配置项
|
|
475
609
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
610
|
+
```bash
|
|
611
|
+
dino config get sync.timeoutMs
|
|
612
|
+
```
|
|
480
613
|
|
|
481
|
-
|
|
614
|
+
#### 设置同步超时
|
|
482
615
|
|
|
483
|
-
|
|
616
|
+
```bash
|
|
617
|
+
dino config set sync.timeoutMs 20000
|
|
618
|
+
```
|
|
484
619
|
|
|
485
|
-
|
|
486
|
-
| --- | --- | --- |
|
|
487
|
-
| `[name]` | 否 | 卡片盒名称。 |
|
|
620
|
+
目前最常用、也是正式开放可写的配置项就是:
|
|
488
621
|
|
|
489
|
-
|
|
490
|
-
| --- | --- | --- |
|
|
491
|
-
| `--name <string>` | 否 | 卡片盒名称,可替代位置参数 `[name]`。 |
|
|
492
|
-
| `--description <string>` | 否 | 用途说明(可帮助 AI 路由笔记)。 |
|
|
493
|
-
| `--color <string>` | 否 | 卡片盒颜色。 |
|
|
494
|
-
| `--json` | 否 | 输出 machine-readable YAML。 |
|
|
495
|
-
| `--offline` | 否 | 跳过 connect/sync,仅用本地缓存。 |
|
|
496
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
622
|
+
- `sync.timeoutMs`
|
|
497
623
|
|
|
498
|
-
|
|
624
|
+
---
|
|
499
625
|
|
|
500
|
-
##
|
|
626
|
+
## 6. 完整命令速查
|
|
501
627
|
|
|
502
|
-
|
|
628
|
+
这一节适合“我已经知道要做什么,只想确认命令怎么写”。
|
|
503
629
|
|
|
504
|
-
|
|
630
|
+
### 6.1 全局参数
|
|
505
631
|
|
|
506
|
-
|
|
507
|
-
| --- | --- | --- |
|
|
508
|
-
| `--offline` | 否 | 跳过 connect/sync,仅用本地缓存。 |
|
|
509
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
632
|
+
这些参数可以放在很多命令前后使用:
|
|
510
633
|
|
|
511
|
-
|
|
634
|
+
| 参数 | 说明 |
|
|
635
|
+
| --- | --- |
|
|
636
|
+
| `--format json` | 推荐的结构化输出格式,适合脚本和 AI |
|
|
637
|
+
| `--format yaml` | YAML 结构化输出 |
|
|
638
|
+
| `--json` | 历史兼容写法,等价于 `--format yaml` |
|
|
639
|
+
| `--offline` | 跳过联网/同步,只使用本地缓存 |
|
|
640
|
+
| `--sync-timeout <ms>` | 覆盖同步超时时间,单位毫秒 |
|
|
641
|
+
| `--verbose` | 预留的详细日志开关 |
|
|
512
642
|
|
|
513
|
-
|
|
643
|
+
示例:
|
|
514
644
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
| `--json` | 否 | 输出 machine-readable YAML。 |
|
|
520
|
-
| `--offline` | 否 | 跳过 connect/sync,仅用本地缓存。 |
|
|
521
|
-
| `--sync-timeout <ms>` | 否 | 覆盖连接/同步超时毫秒。 |
|
|
645
|
+
```bash
|
|
646
|
+
dino --format json note search "AI"
|
|
647
|
+
dino note search "AI" --offline --format json
|
|
648
|
+
```
|
|
522
649
|
|
|
523
|
-
|
|
650
|
+
### 6.2 `auth`:登录与状态
|
|
524
651
|
|
|
525
|
-
|
|
652
|
+
```bash
|
|
653
|
+
dino auth login "<token>"
|
|
654
|
+
dino auth status
|
|
655
|
+
dino auth logout
|
|
656
|
+
dino auth logout --clear-local-db
|
|
657
|
+
```
|
|
526
658
|
|
|
527
|
-
|
|
659
|
+
用途说明:
|
|
528
660
|
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
661
|
+
- `login`:保存 token 并验证连接
|
|
662
|
+
- `status`:查看登录状态、本地库位置、同步状态
|
|
663
|
+
- `logout`:退出登录
|
|
664
|
+
- `logout --clear-local-db`:退出并删除本地 SQLite 缓存
|
|
532
665
|
|
|
533
|
-
|
|
666
|
+
### 6.3 `sync`:手动同步
|
|
534
667
|
|
|
535
|
-
```
|
|
536
|
-
sync
|
|
668
|
+
```bash
|
|
669
|
+
dino sync
|
|
670
|
+
dino sync --sync-timeout 600000
|
|
537
671
|
```
|
|
538
672
|
|
|
539
|
-
|
|
673
|
+
用途说明:
|
|
540
674
|
|
|
541
|
-
|
|
675
|
+
- 主动执行一次连接与同步
|
|
676
|
+
- 首次使用、网络恢复后、或想刷新本地缓存时最常用
|
|
542
677
|
|
|
543
|
-
|
|
544
|
-
| --- | --- | --- |
|
|
545
|
-
| `<key>` | 是 | 配置键(点路径)。 |
|
|
546
|
-
| `<value>` | 是 | 配置值。 |
|
|
678
|
+
### 6.4 `note`:笔记管理
|
|
547
679
|
|
|
548
|
-
|
|
680
|
+
#### 搜索与查看
|
|
549
681
|
|
|
550
|
-
```
|
|
551
|
-
|
|
682
|
+
```bash
|
|
683
|
+
dino note search [query]
|
|
684
|
+
dino note get <id>
|
|
685
|
+
dino note get <id> --context-only
|
|
686
|
+
dino note preview <id> --lines 30
|
|
687
|
+
dino note detail <id>
|
|
688
|
+
dino note detail --ids @./ids.txt
|
|
552
689
|
```
|
|
553
690
|
|
|
554
|
-
|
|
691
|
+
#### 创建与修改
|
|
555
692
|
|
|
556
|
-
|
|
693
|
+
```bash
|
|
694
|
+
dino note create --title "标题" --content @./note.md --type note
|
|
695
|
+
dino note update <id> --tags "工作,AI"
|
|
696
|
+
dino note update <id> --boxes "Inbox"
|
|
697
|
+
dino note update <id> --starred true
|
|
698
|
+
dino note star <id>
|
|
699
|
+
dino note unstar <id>
|
|
700
|
+
dino note delete <id>
|
|
701
|
+
```
|
|
557
702
|
|
|
558
|
-
|
|
703
|
+
重点参数:
|
|
704
|
+
|
|
705
|
+
- `note search`
|
|
706
|
+
- `--tags <expr>`:标签表达式
|
|
707
|
+
- `--from <date>` / `--to <date>` / `--days <n>`:时间过滤
|
|
708
|
+
- `--starred <true|false>`:按收藏状态过滤
|
|
709
|
+
- `--boxes <list>`:按卡片盒过滤
|
|
710
|
+
- `--sql <expr>`:高级筛选
|
|
711
|
+
- `--limit <n>` / `--offset <n>`:分页
|
|
712
|
+
- `--fields <list>`:裁剪输出字段
|
|
713
|
+
- `--include-deleted`:包含软删除笔记
|
|
714
|
+
- `note create`
|
|
715
|
+
- `--title`:必填
|
|
716
|
+
- `--content`:必填,可用 `@文件`
|
|
717
|
+
- `--type <note|crawl>`:默认 `crawl`
|
|
718
|
+
- `--tags` / `--boxes`
|
|
719
|
+
- `--dry-run`
|
|
720
|
+
- `note update`
|
|
721
|
+
- `[id]` 或 `--ids`
|
|
722
|
+
- `--tags` / `--boxes` / `--starred`
|
|
723
|
+
- `--dry-run`
|
|
724
|
+
|
|
725
|
+
### 6.5 `todo`:待办管理
|
|
559
726
|
|
|
560
|
-
|
|
727
|
+
```bash
|
|
728
|
+
dino todo search [query]
|
|
729
|
+
dino todo append [task]
|
|
730
|
+
dino todo create [task]
|
|
731
|
+
dino todo update <task-id> --status completed
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
重点参数:
|
|
735
|
+
|
|
736
|
+
- `todo search`
|
|
737
|
+
- `--status <all|completed|uncompleted>`
|
|
738
|
+
- `--tags <list>`
|
|
739
|
+
- `--from <date>` / `--to <date>` / `--days <n>`
|
|
740
|
+
- `--limit <n>`
|
|
741
|
+
- `--scan-limit <n>`
|
|
742
|
+
- `--include-deleted`
|
|
743
|
+
- `todo append`
|
|
744
|
+
- `[task]` / `--task` / `--tasks`
|
|
745
|
+
- `--note-id <id>`
|
|
746
|
+
- `--dry-run`
|
|
747
|
+
- `todo create`
|
|
748
|
+
- `[task]` / `--task` / `--tasks`
|
|
749
|
+
- `--title <string>`
|
|
750
|
+
- `--dry-run`
|
|
751
|
+
- `todo update`
|
|
752
|
+
- `--status <status>` 必填
|
|
753
|
+
- `--dry-run`
|
|
754
|
+
|
|
755
|
+
### 6.6 `tag`:标签管理
|
|
756
|
+
|
|
757
|
+
```bash
|
|
758
|
+
dino tag list
|
|
759
|
+
dino tag add "工作/项目A"
|
|
760
|
+
dino tag add --name "工作/项目A" --emoji "🧠"
|
|
761
|
+
```
|
|
561
762
|
|
|
562
|
-
|
|
763
|
+
### 6.7 `box`:卡片盒管理
|
|
563
764
|
|
|
564
|
-
|
|
765
|
+
```bash
|
|
766
|
+
dino box list
|
|
767
|
+
dino box add "Inbox"
|
|
768
|
+
dino box add --name "Inbox" --description "用于存放待整理资料"
|
|
769
|
+
```
|
|
565
770
|
|
|
566
|
-
|
|
771
|
+
重点参数:
|
|
567
772
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
773
|
+
- `--description <string>`:用途说明
|
|
774
|
+
- `--color <string>`:颜色
|
|
775
|
+
- `--dry-run`
|
|
571
776
|
|
|
572
|
-
|
|
573
|
-
| --- | --- | --- |
|
|
574
|
-
| `--status <status>` | 否 | 任务状态:`all` / `completed` / `uncompleted`(默认 `all`)。 |
|
|
575
|
-
| `--tags <string\|@file>` | 否 | 任务标签筛选(JSON 数组或逗号/换行分隔),任务需包含全部标签。 |
|
|
576
|
-
| `--from <date>` | 否 | 任务时间范围起点(`YYYY-MM-DD` 或 ISO datetime)。 |
|
|
577
|
-
| `--to <date>` | 否 | 任务时间范围终点(`YYYY-MM-DD` 或 ISO datetime)。 |
|
|
578
|
-
| `--days <n>` | 否 | 最近 N 天(不能与 `--from/--to` 同时使用)。 |
|
|
579
|
-
| `--limit <n>` | 否 | 返回任务数上限(默认 `50`,最大 `500`)。 |
|
|
580
|
-
| `--scan-limit <n>` | 否 | 扫描 `c_note` 行数上限(默认 `200`,最大 `5000`)。 |
|
|
581
|
-
| `--include-deleted` | 否 | 包含软删除笔记中的任务。 |
|
|
777
|
+
### 6.8 `prompt`:Prompt 管理
|
|
582
778
|
|
|
583
|
-
|
|
779
|
+
```bash
|
|
780
|
+
dino prompt list
|
|
781
|
+
dino prompt add --name "周报助手" --prompt "请基于本周笔记输出简洁周报"
|
|
782
|
+
```
|
|
584
783
|
|
|
585
|
-
|
|
586
|
-
- 每条任务包含 `task_key`、`note_id`、`note_title`、`status`、层级关系与时间字段。
|
|
784
|
+
### 6.9 `config`:CLI 配置
|
|
587
785
|
|
|
588
|
-
|
|
786
|
+
```bash
|
|
787
|
+
dino config get
|
|
788
|
+
dino config get sync.timeoutMs
|
|
789
|
+
dino config set sync.timeoutMs 20000
|
|
790
|
+
```
|
|
589
791
|
|
|
590
|
-
###
|
|
792
|
+
### 6.10 `graph`:知识图谱查询
|
|
591
793
|
|
|
592
|
-
|
|
794
|
+
```bash
|
|
795
|
+
dino graph backlinks <note-id>
|
|
796
|
+
dino graph outlinks <note-id>
|
|
797
|
+
dino graph related <note-id> --depth 2
|
|
798
|
+
dino graph stats
|
|
799
|
+
```
|
|
593
800
|
|
|
594
801
|
说明:
|
|
595
802
|
|
|
596
|
-
-
|
|
597
|
-
-
|
|
598
|
-
-
|
|
803
|
+
- 这些命令用于查看笔记之间的链接关系
|
|
804
|
+
- 在线模式下,CLI 会自动确保 daemon 可用
|
|
805
|
+
- 如果你只想用本地缓存而不启动 daemon,可加 `--offline`
|
|
599
806
|
|
|
600
|
-
|
|
601
|
-
| --- | --- | --- |
|
|
602
|
-
| `[task]` | 否 | 单个任务文本。 |
|
|
807
|
+
例如:
|
|
603
808
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
| `--tasks <string\|@file>` | 否 | 任务列表(JSON 数组或逗号/换行分隔)。 |
|
|
608
|
-
| `--note-id <id>` | 否 | 指定目标笔记 ID。 |
|
|
809
|
+
```bash
|
|
810
|
+
dino graph related <note-id> --depth 2 --offline --format json
|
|
811
|
+
```
|
|
609
812
|
|
|
610
|
-
|
|
813
|
+
### 6.11 `meta`:查看元数据
|
|
611
814
|
|
|
612
|
-
|
|
815
|
+
```bash
|
|
816
|
+
dino meta stats
|
|
817
|
+
dino meta schema
|
|
818
|
+
```
|
|
613
819
|
|
|
614
|
-
|
|
820
|
+
用途说明:
|
|
615
821
|
|
|
616
|
-
|
|
822
|
+
- `meta stats`:看 notes / tags / boxes 等统计信息
|
|
823
|
+
- `meta schema`:看 Dinox 结构化数据 schema,适合 AI / 自动化接入
|
|
617
824
|
|
|
618
|
-
|
|
825
|
+
### 6.12 `storage`:自定义存储配置与上传
|
|
619
826
|
|
|
620
|
-
|
|
621
|
-
|
|
827
|
+
```bash
|
|
828
|
+
dino storage list
|
|
829
|
+
dino storage test
|
|
830
|
+
dino storage test --storage-id <id>
|
|
831
|
+
dino storage upload ./report.pdf
|
|
832
|
+
dino storage upload ./photo.jpg --category images
|
|
833
|
+
dino storage stats
|
|
834
|
+
```
|
|
622
835
|
|
|
623
|
-
|
|
624
|
-
| --- | --- | --- |
|
|
625
|
-
| `[task]` | 否 | 单个任务文本。 |
|
|
836
|
+
重点说明:
|
|
626
837
|
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
838
|
+
- 这是给 Dinox 的自定义存储配置用的,不是一个“任意云盘命令”
|
|
839
|
+
- `storage list` 会列出当前可用的自定义存储,并标出活动配置
|
|
840
|
+
- `storage test` 会测试目标存储是否可写
|
|
841
|
+
- `storage upload` 会上传本地文件,并写入资源记录
|
|
842
|
+
- 如果不是上传到当前活动存储,可用 `--storage-id <id>` 指定目标
|
|
843
|
+
- `--category` 支持:`images`、`audios`、`files`、`videos`
|
|
844
|
+
- 如果你想自己指定对象 key,可用 `--key <string>`
|
|
845
|
+
- `--dry-run` 非常适合在正式上传前确认目标位置
|
|
632
846
|
|
|
633
|
-
|
|
847
|
+
### 6.13 `schema`:查看命令 schema
|
|
634
848
|
|
|
635
|
-
|
|
849
|
+
```bash
|
|
850
|
+
dino schema
|
|
851
|
+
dino schema note.search
|
|
852
|
+
dino schema todo.update --format json
|
|
853
|
+
```
|
|
636
854
|
|
|
637
|
-
|
|
855
|
+
适合场景:
|
|
638
856
|
|
|
639
|
-
|
|
857
|
+
- 你不确定某个命令的参数怎么写
|
|
858
|
+
- 你要让 AI / 脚本可靠调用 CLI
|
|
859
|
+
- 你想快速查看命令风险级别、输出结构、示例
|
|
640
860
|
|
|
641
|
-
|
|
861
|
+
### 6.14 `mcp`:启动 MCP 服务
|
|
642
862
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
863
|
+
```bash
|
|
864
|
+
dino mcp serve
|
|
865
|
+
dino mcp serve --host 127.0.0.1 --port 45137
|
|
866
|
+
```
|
|
646
867
|
|
|
647
|
-
|
|
648
|
-
| --- | --- | --- |
|
|
649
|
-
| `<taskId>` | 是 | 任务 ID。 |
|
|
868
|
+
如果绑定到非本机地址(例如 `0.0.0.0`),必须提供 token:
|
|
650
869
|
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
870
|
+
```bash
|
|
871
|
+
dino mcp serve --host 0.0.0.0 --port 45137 --token "<your-token>"
|
|
872
|
+
```
|
|
654
873
|
|
|
655
|
-
|
|
874
|
+
或使用环境变量:
|
|
656
875
|
|
|
657
|
-
|
|
876
|
+
```bash
|
|
877
|
+
export DINOX_MCP_TOKEN="<your-token>"
|
|
878
|
+
dino mcp serve --host 0.0.0.0 --port 45137
|
|
879
|
+
```
|
|
658
880
|
|
|
659
|
-
|
|
881
|
+
### 6.15 `daemon`:管理后台进程
|
|
660
882
|
|
|
661
|
-
|
|
883
|
+
```bash
|
|
884
|
+
dino daemon start
|
|
885
|
+
dino daemon status
|
|
886
|
+
dino daemon restart
|
|
887
|
+
dino daemon stop
|
|
888
|
+
```
|
|
662
889
|
|
|
663
|
-
|
|
890
|
+
调试时可以前台运行:
|
|
664
891
|
|
|
665
|
-
|
|
892
|
+
```bash
|
|
893
|
+
dino daemon start --no-detach
|
|
894
|
+
```
|
|
895
|
+
|
|
896
|
+
### 6.16 `info`:查看版本与技能仓库地址
|
|
666
897
|
|
|
667
898
|
```bash
|
|
668
|
-
dino
|
|
899
|
+
dino info
|
|
669
900
|
```
|
|
670
901
|
|
|
671
|
-
|
|
902
|
+
### 6.17 `update`:升级 CLI
|
|
672
903
|
|
|
673
904
|
```bash
|
|
674
|
-
dino
|
|
905
|
+
dino update
|
|
675
906
|
```
|
|
676
907
|
|
|
677
|
-
|
|
908
|
+
---
|
|
909
|
+
|
|
910
|
+
## 7. AI / Cursor / MCP 集成
|
|
911
|
+
|
|
912
|
+
如果你希望让 Cursor、MCP Client 或其他 AI 工具直接调用 Dinox 数据,这一节最重要。
|
|
678
913
|
|
|
679
|
-
|
|
914
|
+
### 7.1 启动 MCP 服务
|
|
915
|
+
|
|
916
|
+
默认只监听本机回环地址:
|
|
680
917
|
|
|
681
918
|
```bash
|
|
682
|
-
dino mcp serve
|
|
919
|
+
dino mcp serve
|
|
683
920
|
```
|
|
684
921
|
|
|
685
|
-
|
|
922
|
+
默认地址通常是:
|
|
923
|
+
|
|
924
|
+
- Host:`127.0.0.1`
|
|
925
|
+
- Port:`45137`
|
|
926
|
+
|
|
927
|
+
手动指定地址和端口:
|
|
686
928
|
|
|
687
929
|
```bash
|
|
688
|
-
|
|
689
|
-
|
|
930
|
+
dino mcp serve --host 127.0.0.1 --port 45137
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
### 7.2 非本机访问时必须加 token
|
|
934
|
+
|
|
935
|
+
如果你不是监听 `127.0.0.1` / `localhost`,而是希望局域网其他机器访问,那么必须加 token。
|
|
936
|
+
|
|
937
|
+
```bash
|
|
938
|
+
dino mcp serve --host 0.0.0.0 --port 45137 --token "<your-token>"
|
|
690
939
|
```
|
|
691
940
|
|
|
692
|
-
|
|
941
|
+
服务端支持以下鉴权头:
|
|
693
942
|
|
|
694
943
|
1. `Authorization: Bearer <token>`
|
|
695
944
|
2. `x-dinox-token: <token>`
|
|
696
945
|
|
|
697
|
-
###
|
|
946
|
+
### 7.3 用 curl 快速测试连通性
|
|
698
947
|
|
|
699
|
-
|
|
948
|
+
#### 初始化握手
|
|
700
949
|
|
|
701
950
|
```bash
|
|
702
951
|
curl -X POST http://127.0.0.1:45137 \
|
|
@@ -704,7 +953,7 @@ curl -X POST http://127.0.0.1:45137 \
|
|
|
704
953
|
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
|
|
705
954
|
```
|
|
706
955
|
|
|
707
|
-
|
|
956
|
+
#### 列出工具
|
|
708
957
|
|
|
709
958
|
```bash
|
|
710
959
|
curl -X POST http://127.0.0.1:45137 \
|
|
@@ -712,7 +961,7 @@ curl -X POST http://127.0.0.1:45137 \
|
|
|
712
961
|
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
|
|
713
962
|
```
|
|
714
963
|
|
|
715
|
-
|
|
964
|
+
#### 调用一个工具(示例:搜索笔记)
|
|
716
965
|
|
|
717
966
|
```bash
|
|
718
967
|
curl -X POST http://127.0.0.1:45137 \
|
|
@@ -720,14 +969,14 @@ curl -X POST http://127.0.0.1:45137 \
|
|
|
720
969
|
--data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"dinox_search_notes","arguments":{"query":"dinox","limit":5}}}'
|
|
721
970
|
```
|
|
722
971
|
|
|
723
|
-
###
|
|
972
|
+
### 7.4 Cursor 配置示例
|
|
724
973
|
|
|
725
|
-
|
|
974
|
+
你可以在以下任一位置创建 MCP 配置文件:
|
|
726
975
|
|
|
727
976
|
1. 项目级:`.cursor/mcp.json`
|
|
728
977
|
2. 全局:`~/.cursor/mcp.json`
|
|
729
978
|
|
|
730
|
-
|
|
979
|
+
示例配置:
|
|
731
980
|
|
|
732
981
|
```json
|
|
733
982
|
{
|
|
@@ -742,61 +991,201 @@ curl -X POST http://127.0.0.1:45137 \
|
|
|
742
991
|
}
|
|
743
992
|
```
|
|
744
993
|
|
|
745
|
-
|
|
994
|
+
如果你只在本机回环地址使用,而且服务端没有启用 token,那么可以不写 `headers`。
|
|
746
995
|
|
|
747
|
-
|
|
996
|
+
---
|
|
748
997
|
|
|
749
|
-
|
|
750
|
-
- 返回 `401 Unauthorized`:检查请求头 token 是否与启动服务时一致。
|
|
751
|
-
- 端口冲突:改用 `--port` 指定其他高位端口。
|
|
998
|
+
## 8. 常见问题
|
|
752
999
|
|
|
753
|
-
|
|
1000
|
+
### Q1:报错 `Missing persisted userId. Run dino auth login first.`
|
|
754
1001
|
|
|
755
|
-
|
|
1002
|
+
原因:你还没有完成登录,或登录信息没有成功保存。
|
|
756
1003
|
|
|
757
|
-
|
|
1004
|
+
解决:
|
|
758
1005
|
|
|
759
1006
|
```bash
|
|
760
|
-
dino
|
|
761
|
-
dino
|
|
762
|
-
|
|
1007
|
+
dino auth login "<token>"
|
|
1008
|
+
dino sync
|
|
1009
|
+
```
|
|
1010
|
+
|
|
1011
|
+
### Q2:创建笔记时报 `Unknown tags` 或 `Unknown zettel box names`
|
|
1012
|
+
|
|
1013
|
+
原因:你引用了不存在的标签或卡片盒。
|
|
1014
|
+
|
|
1015
|
+
解决:先创建,再重试。
|
|
1016
|
+
|
|
1017
|
+
```bash
|
|
1018
|
+
dino tag add "你的标签"
|
|
1019
|
+
dino box add "你的卡片盒"
|
|
1020
|
+
```
|
|
1021
|
+
|
|
1022
|
+
### Q3:我已经同步过了,能不能完全离线查询?
|
|
1023
|
+
|
|
1024
|
+
可以。很多读命令都支持:
|
|
1025
|
+
|
|
1026
|
+
```bash
|
|
1027
|
+
--offline
|
|
763
1028
|
```
|
|
764
1029
|
|
|
765
1030
|
例如:
|
|
766
1031
|
|
|
767
1032
|
```bash
|
|
768
|
-
dino note --
|
|
769
|
-
dino
|
|
1033
|
+
dino note search "日报" --offline
|
|
1034
|
+
dino graph stats --offline --format json
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
前提是:你之前至少成功同步过一次,本地缓存里已经有数据。
|
|
1038
|
+
|
|
1039
|
+
### Q4:`note update` 为什么不是“追加标签”?
|
|
1040
|
+
|
|
1041
|
+
因为它的设计就是“全量替换”。
|
|
1042
|
+
|
|
1043
|
+
例如:
|
|
1044
|
+
|
|
1045
|
+
```bash
|
|
1046
|
+
dino note update <note-id> --tags "工作,AI"
|
|
1047
|
+
```
|
|
1048
|
+
|
|
1049
|
+
执行后,目标笔记的标签会被替换成这两个,而不是在原来基础上追加。
|
|
1050
|
+
|
|
1051
|
+
### Q5:`todo append` 不传 `--note-id` 时会发生什么?
|
|
1052
|
+
|
|
1053
|
+
CLI 会自动选一条最近的、适合追加任务的笔记作为目标。
|
|
1054
|
+
|
|
1055
|
+
如果你不希望它自动选,最稳妥的做法是显式传:
|
|
1056
|
+
|
|
1057
|
+
```bash
|
|
1058
|
+
dino todo append --note-id <note-id> --task "补交报销单"
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
### Q6:Windows 下 `@file` 参数解析不稳定怎么办?
|
|
1062
|
+
|
|
1063
|
+
在 PowerShell 中,建议把 `@文件路径` 放进引号里。
|
|
1064
|
+
|
|
1065
|
+
例如:
|
|
1066
|
+
|
|
1067
|
+
```powershell
|
|
1068
|
+
dino note create --title "测试" --content "@.\note.md" --type note
|
|
1069
|
+
```
|
|
1070
|
+
|
|
1071
|
+
### Q7:`mcp serve` 绑定 `0.0.0.0` 时为什么报 token 错误?
|
|
1072
|
+
|
|
1073
|
+
因为只要不是本机回环地址,就必须提供鉴权 token。
|
|
1074
|
+
|
|
1075
|
+
例如:
|
|
1076
|
+
|
|
1077
|
+
```bash
|
|
1078
|
+
dino mcp serve --host 0.0.0.0 --port 45137 --token "<your-token>"
|
|
1079
|
+
```
|
|
1080
|
+
|
|
1081
|
+
### Q8:怎么知道某个命令到底支持哪些参数?
|
|
1082
|
+
|
|
1083
|
+
最直接的方法:
|
|
1084
|
+
|
|
1085
|
+
```bash
|
|
1086
|
+
dino <命令> --help
|
|
1087
|
+
```
|
|
1088
|
+
|
|
1089
|
+
如果你想看更结构化的 schema:
|
|
1090
|
+
|
|
1091
|
+
```bash
|
|
1092
|
+
dino schema
|
|
1093
|
+
dino schema note.search
|
|
1094
|
+
dino schema todo.update --format json
|
|
1095
|
+
```
|
|
1096
|
+
|
|
1097
|
+
---
|
|
1098
|
+
|
|
1099
|
+
## 9. 配置文件、数据库与环境变量
|
|
1100
|
+
|
|
1101
|
+
### 9.1 默认文件位置
|
|
1102
|
+
|
|
1103
|
+
#### macOS
|
|
1104
|
+
|
|
1105
|
+
- 配置文件:`~/Library/Application Support/dinox/config.json`
|
|
1106
|
+
- 本地数据库:`~/Library/Application Support/dinox/dinox-cli.sqlite`
|
|
1107
|
+
|
|
1108
|
+
#### Windows
|
|
1109
|
+
|
|
1110
|
+
- 配置文件:`%APPDATA%\dinox\config.json`
|
|
1111
|
+
- 本地数据库:`%LOCALAPPDATA%\dinox\dinox-cli.sqlite`
|
|
1112
|
+
|
|
1113
|
+
#### Linux
|
|
1114
|
+
|
|
1115
|
+
- 配置文件:`~/.config/dinox/config.json`
|
|
1116
|
+
- 本地数据库:`~/.local/share/dinox/dinox-cli.sqlite`
|
|
1117
|
+
|
|
1118
|
+
### 9.2 常用环境变量
|
|
1119
|
+
|
|
1120
|
+
| 环境变量 | 用途 |
|
|
1121
|
+
| --- | --- |
|
|
1122
|
+
| `DINOX_CONFIG_DIR` | 覆盖配置目录 |
|
|
1123
|
+
| `DINOX_DATA_DIR` | 覆盖本地数据目录 |
|
|
1124
|
+
| `DINOX_AUTHORIZATION` | 用环境变量注入登录 token |
|
|
1125
|
+
| `DINOX_SYNC_TIMEOUT_MS` | 覆盖同步超时 |
|
|
1126
|
+
| `DINOX_MCP_TOKEN` | 给 `dino mcp serve` 提供默认 token |
|
|
1127
|
+
|
|
1128
|
+
### 9.3 macOS / Linux 与 Windows 的多行命令差异
|
|
1129
|
+
|
|
1130
|
+
#### macOS / Linux(bash / zsh)
|
|
1131
|
+
|
|
1132
|
+
用反斜杠 `\` 续行:
|
|
1133
|
+
|
|
1134
|
+
```bash
|
|
1135
|
+
dino note create \
|
|
1136
|
+
--title "标题" \
|
|
1137
|
+
--content "正文" \
|
|
1138
|
+
--type note
|
|
1139
|
+
```
|
|
1140
|
+
|
|
1141
|
+
#### Windows PowerShell
|
|
1142
|
+
|
|
1143
|
+
用反引号 `` ` `` 续行:
|
|
1144
|
+
|
|
1145
|
+
```powershell
|
|
1146
|
+
dino note create `
|
|
1147
|
+
--title "标题" `
|
|
1148
|
+
--content "正文" `
|
|
1149
|
+
--type note
|
|
770
1150
|
```
|
|
771
1151
|
|
|
772
1152
|
---
|
|
773
1153
|
|
|
774
|
-
##
|
|
1154
|
+
## 10. 如何查看帮助
|
|
775
1155
|
|
|
776
|
-
|
|
1156
|
+
任何时候都可以直接看 CLI 帮助:
|
|
777
1157
|
|
|
778
|
-
|
|
1158
|
+
```bash
|
|
1159
|
+
dino --help
|
|
1160
|
+
dino help note
|
|
1161
|
+
```
|
|
779
1162
|
|
|
780
|
-
|
|
1163
|
+
更常见的写法是:
|
|
781
1164
|
|
|
782
|
-
|
|
1165
|
+
```bash
|
|
1166
|
+
dino note --help
|
|
1167
|
+
dino note create --help
|
|
1168
|
+
dino todo --help
|
|
1169
|
+
dino storage upload --help
|
|
1170
|
+
```
|
|
783
1171
|
|
|
784
|
-
|
|
1172
|
+
如果你是脚本作者或 AI Agent 开发者,强烈建议搭配这两个命令一起使用:
|
|
785
1173
|
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
- `run_tests`:`true` 时会先执行测试
|
|
1174
|
+
```bash
|
|
1175
|
+
dino schema
|
|
1176
|
+
dino schema <path> --format json
|
|
1177
|
+
```
|
|
791
1178
|
|
|
792
|
-
|
|
1179
|
+
---
|
|
793
1180
|
|
|
794
|
-
|
|
795
|
-
- 为兼容分支命名迁移,workflow 也监听 `master`,但发布阶段会只允许默认分支执行
|
|
796
|
-
- 为防止递归触发,workflow 会跳过 `github-actions[bot]` 自己提交的版本 bump commit
|
|
1181
|
+
如果你是第一次用,建议按下面顺序熟悉:
|
|
797
1182
|
|
|
798
|
-
|
|
1183
|
+
1. `dino auth login`
|
|
1184
|
+
2. `dino sync`
|
|
1185
|
+
3. `dino note search`
|
|
1186
|
+
4. `dino note create`
|
|
1187
|
+
5. `dino todo search`
|
|
1188
|
+
6. `dino tag add` / `dino box add`
|
|
1189
|
+
7. `dino mcp serve`
|
|
799
1190
|
|
|
800
|
-
|
|
801
|
-
- 调用仓库脚本 `publish-npm.sh` 自动递增 patch 版本并发布
|
|
802
|
-
- 发布成功后自动提交 `package.json` 版本变更、打 `vX.Y.Z` tag 并 push 回仓库
|
|
1191
|
+
这样会最快建立完整使用感。
|