@zhizai/cli 0.0.2 → 0.0.4
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 +60 -173
- package/package.json +1 -1
- package/scripts/postinstall.js +10 -2
- package/skills/zhizai-auth/SKILL.md +4 -2
package/README.md
CHANGED
|
@@ -4,94 +4,62 @@
|
|
|
4
4
|
|
|
5
5
|
查笔记、写总结、管知识库——一条命令搞定,支持脚本和 AI Agent 调用。
|
|
6
6
|
|
|
7
|
-
> **当前版本:v0.0.
|
|
8
|
-
>
|
|
9
|
-
> 其余业务命令(`note create` / `ask` / `team`
|
|
7
|
+
> **当前版本:v0.0.4**
|
|
8
|
+
> 已可用:`auth` / `doctor` / `capabilities` / `version` / `notes` / `note get` / `setup`。
|
|
9
|
+
> 其余业务命令(`note create` / `ask` / `team` 等)子命令已挂载,能力逐步完善中。
|
|
10
|
+
|
|
11
|
+
参与开发、构建与发包请见 [docs/development.md](./docs/development.md)。
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
## 安装
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
需要 Go 1.21+:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
git clone https://github.com/BoteAI/zhizai-cli.git
|
|
21
|
-
cd zhizai-cli
|
|
22
|
-
make build
|
|
23
|
-
make install
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
构建产物:
|
|
27
|
-
|
|
28
|
-
| 文件 | 说明 |
|
|
29
|
-
|------|------|
|
|
30
|
-
| `zhizai-cli` | `make build` 直接产物 |
|
|
31
|
-
| `bin/zhizai` | `make dev-link` 复制到 npm 启动器目录 |
|
|
32
|
-
|
|
33
|
-
安装后可用命令:`zhizai` 与短别名 `zz`(`make install` 会安装符号链接;npm 全局安装同样注册两个入口)。
|
|
34
|
-
|
|
35
|
-
### npm 全局安装(Release 后可用)
|
|
17
|
+
推荐使用 npm 全局安装(会自动下载对应平台二进制):
|
|
36
18
|
|
|
37
19
|
```bash
|
|
38
20
|
npm install -g @zhizai/cli@latest
|
|
39
|
-
zhizai auth login --api-key <your-api-key>
|
|
40
|
-
zhizai doctor -o json
|
|
41
21
|
```
|
|
42
22
|
|
|
43
|
-
|
|
23
|
+
安装后可用命令:
|
|
44
24
|
|
|
45
|
-
|
|
25
|
+
- `zhizai` — 主命令
|
|
26
|
+
- `zz` — 短别名
|
|
46
27
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
前置:GitHub Actions Secret 配置 `NPM_TOKEN`;本地 `.npmrc` 仅用于本机 npm,**不要提交**(见 `.npmrc.example`)。
|
|
28
|
+
验证:
|
|
50
29
|
|
|
51
30
|
```bash
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
# 或
|
|
55
|
-
npm run release
|
|
56
|
-
|
|
57
|
-
# 升版本后再发(注意用 V=,不要用 VERSION=)
|
|
58
|
-
make release V=patch
|
|
59
|
-
make release V=0.0.2
|
|
31
|
+
zhizai version
|
|
32
|
+
zz version
|
|
60
33
|
```
|
|
61
34
|
|
|
35
|
+
也可从 [GitHub Releases](https://github.com/BoteAI/zhizai-cli/releases) 下载对应平台压缩包,解压后将 `zhizai` / `zhizai.exe` 放到 `PATH` 中。
|
|
36
|
+
|
|
62
37
|
---
|
|
63
38
|
|
|
64
39
|
## 使用要求
|
|
65
40
|
|
|
66
|
-
-
|
|
67
|
-
- 获取入口:[智在记录开发者](https://www.zzjilu.com/pc/developer)
|
|
68
|
-
- OpenAPI 基址:`https://openapi.zzjilu.com/api/v1`
|
|
69
|
-
- 请求头:`Authorization: <api-key>`(**不要**加 `Bearer`)
|
|
41
|
+
- 通过 `zhizai auth login` 完成**网页授权登录**
|
|
70
42
|
- 限流:最高约 **2 次/秒**
|
|
71
43
|
|
|
72
44
|
---
|
|
73
45
|
|
|
74
46
|
## 开始使用
|
|
75
47
|
|
|
76
|
-
### 登录
|
|
48
|
+
### 1. 登录
|
|
77
49
|
|
|
78
50
|
```bash
|
|
79
|
-
# 直接传入 API Key(推荐脚本/CI)
|
|
80
|
-
zhizai auth login --api-key <your-api-key>
|
|
81
|
-
|
|
82
|
-
# 或交互粘贴
|
|
83
51
|
zhizai auth login
|
|
84
52
|
```
|
|
85
53
|
|
|
86
|
-
|
|
54
|
+
按提示在浏览器确认授权即可。登录成功后写入 `~/.zhizai/config.json`。
|
|
87
55
|
|
|
88
|
-
|
|
56
|
+
刷新 OAuth access_token(业务请求也会在过期时自动刷新):
|
|
89
57
|
|
|
90
58
|
```bash
|
|
91
|
-
|
|
59
|
+
zhizai auth refresh
|
|
92
60
|
```
|
|
93
61
|
|
|
94
|
-
### 检查状态
|
|
62
|
+
### 2. 检查状态
|
|
95
63
|
|
|
96
64
|
```bash
|
|
97
65
|
zhizai auth status
|
|
@@ -102,7 +70,7 @@ zhizai capabilities -o json
|
|
|
102
70
|
|
|
103
71
|
`doctor` 返回 `ready=true,status=ready` 表示可正常调用业务接口。
|
|
104
72
|
|
|
105
|
-
### 查看笔记
|
|
73
|
+
### 3. 查看笔记
|
|
106
74
|
|
|
107
75
|
```bash
|
|
108
76
|
zhizai notes
|
|
@@ -112,48 +80,49 @@ zhizai note get <id>
|
|
|
112
80
|
zhizai note get <id> --field summary
|
|
113
81
|
```
|
|
114
82
|
|
|
115
|
-
### 接入本机 AI
|
|
83
|
+
### 4. 接入本机 AI
|
|
116
84
|
|
|
117
85
|
```bash
|
|
118
86
|
# 预览将执行的操作
|
|
119
87
|
zhizai setup --dry-run -o json
|
|
120
88
|
|
|
121
|
-
#
|
|
122
|
-
zhizai setup
|
|
89
|
+
# 正式安装 Skill
|
|
90
|
+
zhizai setup
|
|
123
91
|
```
|
|
124
92
|
|
|
93
|
+
`setup` 会把原子 Skill 安装到 Cursor、Claude Code、Codex 等本机 AI 环境,并引导完成授权。
|
|
94
|
+
|
|
125
95
|
---
|
|
126
96
|
|
|
127
|
-
##
|
|
97
|
+
## 功能一览
|
|
128
98
|
|
|
129
99
|
### 已可用
|
|
130
100
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
zhizai auth
|
|
134
|
-
zhizai auth
|
|
135
|
-
zhizai
|
|
136
|
-
zhizai
|
|
137
|
-
zhizai
|
|
138
|
-
zhizai
|
|
139
|
-
zhizai
|
|
140
|
-
zhizai
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
zhizai
|
|
149
|
-
zhizai
|
|
150
|
-
zhizai
|
|
151
|
-
zhizai
|
|
152
|
-
zhizai
|
|
153
|
-
zhizai
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
字段与接口细节以 `skills/zhiji-open-platform/references/` 为准。
|
|
101
|
+
| 命令 | 说明 |
|
|
102
|
+
|------|------|
|
|
103
|
+
| `zhizai auth login` | 网页设备授权登录 |
|
|
104
|
+
| `zhizai auth refresh` | 刷新 OAuth access_token |
|
|
105
|
+
| `zhizai auth status` | 查看认证状态(凭证掩码) |
|
|
106
|
+
| `zhizai auth logout` | 清除本机凭证 |
|
|
107
|
+
| `zhizai doctor` | 检查安装、登录与 API 连通性 |
|
|
108
|
+
| `zhizai capabilities` | 查看当前版本的稳定能力契约 |
|
|
109
|
+
| `zhizai version` | 显示版本 |
|
|
110
|
+
| `zhizai notes [--limit\|--page\|--all]` | 笔记列表 |
|
|
111
|
+
| `zhizai note get <id> [--field ...]` | 笔记详情 |
|
|
112
|
+
| `zhizai setup [--dry-run]` | 为本机 AI 安装原子 Skill 并引导授权 |
|
|
113
|
+
|
|
114
|
+
### 规划中
|
|
115
|
+
|
|
116
|
+
| 命令 | 说明 |
|
|
117
|
+
|------|------|
|
|
118
|
+
| `zhizai note create\|update\|delete\|status` | 笔记写入与状态 |
|
|
119
|
+
| `zhizai file upload` | 文件上传 |
|
|
120
|
+
| `zhizai ask "<问题>"` | 基于笔记的动态模版问答 / 总结 |
|
|
121
|
+
| `zhizai scene` | 场景与知识卡 |
|
|
122
|
+
| `zhizai knowledge` | 笔记集 |
|
|
123
|
+
| `zhizai team` | 团队与成员 |
|
|
124
|
+
| `zhizai msg` | 消息与录音卡 |
|
|
125
|
+
| `zhizai update` | 升级 CLI 并同步 Skill |
|
|
157
126
|
|
|
158
127
|
---
|
|
159
128
|
|
|
@@ -161,7 +130,6 @@ zhizai update 升级 CLI 并同步 Skill
|
|
|
161
130
|
|
|
162
131
|
| 参数 | 说明 |
|
|
163
132
|
|------|------|
|
|
164
|
-
| `--api-key <key>` | 临时覆盖 API Key |
|
|
165
133
|
| `-o, --output table\|json` | 输出格式(默认 `table`) |
|
|
166
134
|
|
|
167
135
|
机器 / AI Agent 调用时请加 `-o json`,统一读取:
|
|
@@ -180,45 +148,21 @@ zhizai update 升级 CLI 并同步 Skill
|
|
|
180
148
|
|
|
181
149
|
## 配置
|
|
182
150
|
|
|
183
|
-
凭证保存在 `~/.zhizai/config.json
|
|
151
|
+
凭证保存在 `~/.zhizai/config.json`(含 OAuth `access_token` / `refresh_token` 等字段)。
|
|
184
152
|
|
|
185
|
-
|
|
186
|
-
{
|
|
187
|
-
"api_key": "xxxx",
|
|
188
|
-
"expires_at": "2027-12-31 23:59:59",
|
|
189
|
-
"team_id": ""
|
|
190
|
-
}
|
|
191
|
-
```
|
|
153
|
+
### 鉴权说明
|
|
192
154
|
|
|
193
|
-
|
|
155
|
+
默认使用 **OAuth 设备授权**:`zhizai auth login` → 浏览器确认 → 业务请求头 `X-OAuth2-Access-Token: Bearer …`。
|
|
194
156
|
|
|
195
|
-
|
|
196
|
-
--api-key > 环境变量 ZHIZAI_REC_API_KEY > ~/.zhizai/config.json
|
|
197
|
-
```
|
|
157
|
+
OAuth 过期时 CLI 会自动用 `refresh_token` 刷新;也可手动 `zhizai auth refresh`。
|
|
198
158
|
|
|
199
|
-
|
|
200
|
-
|----------|------|
|
|
201
|
-
| `ZHIZAI_REC_API_KEY` | API Key |
|
|
202
|
-
| `ZHIZAI_API_URL` | 覆盖 API 基址(默认 `https://openapi.zzjilu.com/api/v1`) |
|
|
203
|
-
| `GOPROXY` | 构建时 Go 模块代理,国内可用 `https://goproxy.cn,direct` |
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## 鉴权说明
|
|
208
|
-
|
|
209
|
-
v0.1 仅支持 **API Key**:
|
|
210
|
-
|
|
211
|
-
1. 在开发者页获取 Key,或由管理员下发后自行配置
|
|
212
|
-
2. `zhizai auth login --api-key ...` 保存并探活
|
|
213
|
-
3. 后续请求自动带 `Authorization: <api-key>`
|
|
214
|
-
|
|
215
|
-
OAuth 浏览器授权计划在后续版本补齐,不影响当前 API Key 流程。
|
|
159
|
+
仅当网页授权失败时,CLI 会提示可改用 API Key 备用登录。
|
|
216
160
|
|
|
217
161
|
---
|
|
218
162
|
|
|
219
163
|
## AI Agent 使用
|
|
220
164
|
|
|
221
|
-
所有命令支持 `-o json`。内置原子 Skill
|
|
165
|
+
所有命令支持 `-o json`。内置原子 Skill:
|
|
222
166
|
|
|
223
167
|
| Skill | 职责 |
|
|
224
168
|
|-------|------|
|
|
@@ -229,74 +173,17 @@ OAuth 浏览器授权计划在后续版本补齐,不影响当前 API Key 流
|
|
|
229
173
|
| `zhizai-team` | 团队与成员 |
|
|
230
174
|
| `zhizai-msg` | 消息与录音卡 |
|
|
231
175
|
|
|
232
|
-
另保留聚合 Skill `zhiji-open-platform`(含完整 OpenAPI 参考文档)。
|
|
233
|
-
`zhizai setup` 就绪后,会把原子 Skill 安装到 Cursor、Claude Code、Codex 等本机 AI。
|
|
176
|
+
另保留聚合 Skill `zhiji-open-platform`(含完整 OpenAPI 参考文档)。
|
|
234
177
|
|
|
235
178
|
原则:**Skill 只做意图路由,真实请求一律走 `zhizai` CLI**,不自行拼 OpenAPI。
|
|
236
179
|
|
|
237
180
|
---
|
|
238
181
|
|
|
239
|
-
## 从源码开发
|
|
240
|
-
|
|
241
|
-
```bash
|
|
242
|
-
# 依赖
|
|
243
|
-
go version # >= 1.21
|
|
244
|
-
|
|
245
|
-
# 构建
|
|
246
|
-
make build
|
|
247
|
-
|
|
248
|
-
# 本地链接到 bin/zhizai(配合 npm 启动器调试)
|
|
249
|
-
make dev-link
|
|
250
|
-
|
|
251
|
-
# 安装到 PATH
|
|
252
|
-
make install
|
|
253
|
-
|
|
254
|
-
# 测试 / 静态检查
|
|
255
|
-
make test
|
|
256
|
-
make lint
|
|
257
|
-
|
|
258
|
-
# 多平台交叉编译
|
|
259
|
-
make build-all
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
目录结构:
|
|
263
|
-
|
|
264
|
-
```text
|
|
265
|
-
zhizai-cli/
|
|
266
|
-
├── main.go
|
|
267
|
-
├── cmd/ # Cobra 子命令
|
|
268
|
-
├── internal/
|
|
269
|
-
│ ├── client/ # OpenAPI HTTP 客户端(限流、resultCode 适配)
|
|
270
|
-
│ ├── config/ # ~/.zhizai/config.json
|
|
271
|
-
│ ├── output/ # 统一 JSON 输出
|
|
272
|
-
│ ├── platform/ # 本机 AI 平台探测
|
|
273
|
-
│ ├── ui/
|
|
274
|
-
│ └── version/
|
|
275
|
-
├── skills/ # 原子 Skill + 开放平台参考
|
|
276
|
-
├── bin/zhizai.js # npm 启动器
|
|
277
|
-
├── scripts/postinstall.js
|
|
278
|
-
└── .github/workflows/release.yml
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
---
|
|
282
|
-
|
|
283
|
-
## 路线图
|
|
284
|
-
|
|
285
|
-
| 版本 | 内容 |
|
|
286
|
-
|------|------|
|
|
287
|
-
| **v0.1** | 脚手架、auth、doctor、capabilities(当前) |
|
|
288
|
-
| **v0.2** | notes / note 详情与 CRUD、file upload |
|
|
289
|
-
| **v0.3** | setup 安装 Skill、capabilities 完善 |
|
|
290
|
-
| **v0.4** | scene / knowledge / team / msg |
|
|
291
|
-
| **v0.5** | ask 动态模版总结管线 |
|
|
292
|
-
| **v1.0** | update、Release CI、npm 发布 |
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
182
|
## 相关链接
|
|
297
183
|
|
|
298
184
|
- [智在记录官网](https://www.zzjilu.com)
|
|
299
185
|
- [开发者中心](https://www.zzjilu.com/pc/developer)
|
|
186
|
+
- [开发与发包说明](./docs/development.md)
|
|
300
187
|
- [问题反馈](https://github.com/BoteAI/zhizai-cli/issues)
|
|
301
188
|
|
|
302
189
|
## License
|
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -57,7 +57,13 @@ async function installArchive({ platform, binDir, binaryName, binaryPath, url, t
|
|
|
57
57
|
run('tar', ['-xzf', tmpFile, '-C', binDir, binaryName]);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
fs.
|
|
60
|
+
if (!fs.existsSync(binaryPath)) {
|
|
61
|
+
throw new Error(`Binary missing after extract: ${binaryPath}`);
|
|
62
|
+
}
|
|
63
|
+
// chmod is meaningful on Unix; Windows may not need it.
|
|
64
|
+
if (platform.platform !== 'windows') {
|
|
65
|
+
fs.chmodSync(binaryPath, 0o755);
|
|
66
|
+
}
|
|
61
67
|
console.log(`zhizai installed at ${binaryPath}`);
|
|
62
68
|
} finally {
|
|
63
69
|
try { fs.unlinkSync(tmpFile); } catch (_) {}
|
|
@@ -70,7 +76,9 @@ async function main() {
|
|
|
70
76
|
const binaryName = getBinaryName(platform);
|
|
71
77
|
const binaryPath = path.join(binDir, binaryName);
|
|
72
78
|
const url = getDownloadURL(platform);
|
|
73
|
-
|
|
79
|
+
// Expand-Archive on Windows requires a .zip extension; tar.gz similarly.
|
|
80
|
+
const archiveExt = platform.platform === 'windows' ? '.zip' : '.tar.gz';
|
|
81
|
+
const tmpFile = path.join(os.tmpdir(), `zhizai-download-${Date.now()}${archiveExt}`);
|
|
74
82
|
|
|
75
83
|
if (fs.existsSync(binaryPath)) {
|
|
76
84
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: zhizai-auth
|
|
3
|
-
description:
|
|
3
|
+
description: 安装和连接智在记录,完成网页授权登录、环境诊断与 CLI 升级。用户说安装、连接、登录、检查为什么不能用时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 智在记录连接与诊断
|
|
@@ -11,9 +11,11 @@ description: 安装和连接智在记录,完成 API Key 配置、环境诊断
|
|
|
11
11
|
|
|
12
12
|
| 意图 | 命令 |
|
|
13
13
|
|---|---|
|
|
14
|
-
| 登录 | `zhizai auth login
|
|
14
|
+
| 登录 | `zhizai auth login` |
|
|
15
15
|
| 查看状态 | `zhizai auth status` |
|
|
16
16
|
| 退出 | `zhizai auth logout` |
|
|
17
17
|
| 诊断 | `zhizai doctor -o json` |
|
|
18
18
|
| 能力契约 | `zhizai capabilities -o json` |
|
|
19
19
|
| 安装 Skill | `zhizai setup` |
|
|
20
|
+
|
|
21
|
+
默认使用网页设备授权。仅当网页授权失败时,再提示用户使用 `zhizai auth login --api-key <key>`。
|