shawnxixi-cli 0.3.0 → 1.1.0
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/.env.example +8 -2
- package/.github/workflows/ci.yml +9 -22
- package/.github/workflows/release.yml +30 -0
- package/CLAUDE.md +167 -63
- package/README.md +345 -65
- package/commitlint.config.js +10 -0
- package/dist/commands/biz/calendar.d.ts +17 -2
- package/dist/commands/biz/calendar.d.ts.map +1 -1
- package/dist/commands/biz/calendar.js +47 -9
- package/dist/commands/biz/calendar.js.map +1 -1
- package/dist/commands/biz/finance.d.ts +32 -1
- package/dist/commands/biz/finance.d.ts.map +1 -1
- package/dist/commands/biz/finance.js +99 -12
- package/dist/commands/biz/finance.js.map +1 -1
- package/dist/commands/biz/health.d.ts +32 -0
- package/dist/commands/biz/health.d.ts.map +1 -0
- package/dist/commands/biz/health.js +92 -0
- package/dist/commands/biz/health.js.map +1 -0
- package/dist/commands/biz/item.d.ts +41 -0
- package/dist/commands/biz/item.d.ts.map +1 -1
- package/dist/commands/biz/item.js +89 -5
- package/dist/commands/biz/item.js.map +1 -1
- package/dist/commands/biz/record.d.ts +0 -8
- package/dist/commands/biz/record.d.ts.map +1 -1
- package/dist/commands/biz/record.js +29 -8
- package/dist/commands/biz/record.js.map +1 -1
- package/dist/commands/biz/task.d.ts +38 -0
- package/dist/commands/biz/task.d.ts.map +1 -0
- package/dist/commands/biz/task.js +110 -0
- package/dist/commands/biz/task.js.map +1 -0
- package/dist/commands/biz/todo.d.ts +52 -8
- package/dist/commands/biz/todo.d.ts.map +1 -1
- package/dist/commands/biz/todo.js +167 -17
- package/dist/commands/biz/todo.js.map +1 -1
- package/dist/commands/sys/health.d.ts.map +1 -1
- package/dist/commands/sys/health.js +20 -3
- package/dist/commands/sys/health.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +281 -42
- package/dist/index.js.map +1 -1
- package/dist/services/api.d.ts +22 -8
- package/dist/services/api.d.ts.map +1 -1
- package/dist/services/api.js +108 -28
- package/dist/services/api.js.map +1 -1
- package/dist/utils/env.d.ts +16 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +78 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/finance.model.d.ts +80 -0
- package/dist/utils/finance.model.d.ts.map +1 -0
- package/dist/utils/finance.model.js +150 -0
- package/dist/utils/finance.model.js.map +1 -0
- package/dist/utils/output.d.ts +42 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +124 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/todo.model.d.ts +55 -0
- package/dist/utils/todo.model.d.ts.map +1 -0
- package/dist/utils/todo.model.js +135 -0
- package/dist/utils/todo.model.js.map +1 -0
- package/package.json +18 -2
- package/src/commands/biz/calendar.ts +61 -10
- package/src/commands/biz/finance.ts +112 -13
- package/src/commands/biz/health.ts +96 -0
- package/src/commands/biz/item.ts +113 -6
- package/src/commands/biz/record.ts +32 -8
- package/src/commands/biz/task.ts +115 -0
- package/src/commands/biz/todo.ts +193 -21
- package/src/commands/sys/health.ts +23 -3
- package/src/index.ts +311 -54
- package/src/services/api.ts +111 -30
- package/src/utils/env.ts +85 -0
- package/src/utils/finance.model.ts +182 -0
- package/src/utils/output.ts +126 -0
- package/src/utils/todo.model.ts +167 -0
- package/tests/commands/finance.test.ts +281 -0
- package/tests/commands/item.test.ts +215 -0
- package/tests/commands/todo.test.ts +292 -9
- package/tests/services/api.test.ts +292 -20
- package/tests/utils/finance.model.test.ts +319 -0
- package/tests/utils/todo.model.test.ts +315 -0
package/README.md
CHANGED
|
@@ -1,136 +1,416 @@
|
|
|
1
1
|
# shawnxixi-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
肖嘻 CLI 工具 - 日常业务与系统管理的命令行接口。
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
#
|
|
8
|
+
# 从源码安装
|
|
9
9
|
git clone https://github.com/LyuShawn/shawnxixi-cli.git
|
|
10
10
|
cd shawnxixi-cli
|
|
11
11
|
npm install
|
|
12
12
|
npm run build
|
|
13
|
-
|
|
14
|
-
# 链接到全局
|
|
15
13
|
npm link
|
|
14
|
+
|
|
15
|
+
# 或全局安装
|
|
16
|
+
npm install -g shawnxixi-cli
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
##
|
|
19
|
+
## 初始化配置
|
|
19
20
|
|
|
20
21
|
```bash
|
|
21
|
-
#
|
|
22
|
-
|
|
22
|
+
# 复制配置文件
|
|
23
|
+
cp .env.example .env
|
|
23
24
|
|
|
24
|
-
#
|
|
25
|
-
|
|
25
|
+
# 编辑配置(可选)
|
|
26
|
+
vim .env
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
### 环境变量
|
|
30
|
+
|
|
31
|
+
| 变量 | 默认值 | 说明 |
|
|
32
|
+
|-----|-------|------|
|
|
33
|
+
| `SHAWNXIXI_API_URL` | `http://localhost:8080/api/v1` | API 服务器地址 |
|
|
34
|
+
| `SHAWNXIXI_API_TOKEN` | - | API 认证 Token(可选) |
|
|
35
|
+
|
|
36
|
+
## 全局参数
|
|
37
|
+
|
|
38
|
+
| 参数 | 说明 |
|
|
39
|
+
|-----|------|
|
|
40
|
+
| `--json` | 输出 JSON 格式 |
|
|
41
|
+
| `--quiet` | 静默模式(只输出关键信息) |
|
|
42
|
+
| `--dry-run` | 预览模式(不实际调用 API) |
|
|
43
|
+
|
|
44
|
+
## 命令总览
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
shawnxixi <command>
|
|
48
|
+
|
|
49
|
+
日常业务命令:
|
|
50
|
+
biz todo 待办管理(对标滴答清单)
|
|
51
|
+
biz task 任务管理(对标系统任务)
|
|
52
|
+
biz record 记录管理
|
|
53
|
+
biz finance 财务管理(对标记账类 App)
|
|
54
|
+
biz item 物品管理
|
|
55
|
+
biz calendar 日程管理(对标日历 App)
|
|
56
|
+
biz health 健康数据管理(对标 Apple Health)
|
|
57
|
+
|
|
58
|
+
系统命令:
|
|
59
|
+
sys health 健康检查
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## biz todo(待办管理)
|
|
65
|
+
|
|
66
|
+
对标滴答清单的待办管理功能。
|
|
67
|
+
|
|
68
|
+
### 子命令
|
|
69
|
+
|
|
70
|
+
| 命令 | 说明 |
|
|
71
|
+
|-----|------|
|
|
72
|
+
| `add <title>` | 创建待办 |
|
|
73
|
+
| `list` | 列出待办 |
|
|
74
|
+
| `edit <id>` | 编辑待办 |
|
|
75
|
+
| `done <id>` | 标记待办完成 |
|
|
76
|
+
| `delete <id>` | 删除待办 |
|
|
29
77
|
|
|
30
|
-
###
|
|
78
|
+
### 选项
|
|
79
|
+
|
|
80
|
+
| 选项 | 说明 |
|
|
81
|
+
|-----|------|
|
|
82
|
+
| `--due <date>` | 截止日期(YYYY-MM-DD) |
|
|
83
|
+
| `--priority <level>` | 优先级(low/medium/high) |
|
|
84
|
+
| `--status <status>` | 状态过滤(pending/done) |
|
|
85
|
+
| `--tags <tags>` | 标签(逗号分隔) |
|
|
86
|
+
|
|
87
|
+
### 示例
|
|
31
88
|
|
|
32
89
|
```bash
|
|
33
90
|
# 创建待办
|
|
34
|
-
shawnxixi biz todo
|
|
91
|
+
shawnxixi biz todo add "完成项目报告" --due 2026-04-15 --priority high --tags work,important
|
|
35
92
|
|
|
36
93
|
# 列出所有待办
|
|
37
94
|
shawnxixi biz todo list
|
|
38
95
|
|
|
96
|
+
# 按状态筛选
|
|
97
|
+
shawnxixi biz todo list --status pending --priority high
|
|
98
|
+
|
|
99
|
+
# 编辑待办
|
|
100
|
+
shawnxixi biz todo edit 123 --title "新标题" --priority low
|
|
101
|
+
|
|
39
102
|
# 标记完成
|
|
40
|
-
shawnxixi biz todo done
|
|
103
|
+
shawnxixi biz todo done 123
|
|
41
104
|
|
|
42
105
|
# 删除待办
|
|
43
|
-
shawnxixi biz todo delete
|
|
106
|
+
shawnxixi biz todo delete 123
|
|
44
107
|
```
|
|
45
108
|
|
|
46
|
-
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## biz task(任务管理)
|
|
112
|
+
|
|
113
|
+
对标系统任务的功能,支持 OpenClaw 等来源。
|
|
114
|
+
|
|
115
|
+
### 子命令
|
|
116
|
+
|
|
117
|
+
| 命令 | 说明 |
|
|
118
|
+
|-----|------|
|
|
119
|
+
| `list` | 列出任务 |
|
|
120
|
+
| `create <title>` | 创建任务 |
|
|
121
|
+
| `update <id>` | 更新任务 |
|
|
122
|
+
| `delete <id>` | 删除任务 |
|
|
123
|
+
|
|
124
|
+
### 选项
|
|
125
|
+
|
|
126
|
+
| 选项 | 说明 |
|
|
127
|
+
|-----|------|
|
|
128
|
+
| `--status <status>` | 状态过滤(pending/running/done) |
|
|
129
|
+
| `--source <source>` | 来源过滤(openclaw/cli) |
|
|
130
|
+
| `--openclaw-id <id>` | OpenClaw ID |
|
|
131
|
+
| `--priority <level>` | 优先级(low/medium/high) |
|
|
132
|
+
|
|
133
|
+
### 示例
|
|
47
134
|
|
|
48
135
|
```bash
|
|
49
|
-
#
|
|
50
|
-
shawnxixi biz
|
|
136
|
+
# 列出运行中的任务
|
|
137
|
+
shawnxixi biz task list --status running --source openclaw
|
|
51
138
|
|
|
52
|
-
#
|
|
53
|
-
shawnxixi biz
|
|
139
|
+
# 创建任务
|
|
140
|
+
shawnxixi biz task create "修复登录 bug" --source openclaw --openclaw-id 456
|
|
54
141
|
|
|
55
|
-
#
|
|
56
|
-
shawnxixi biz
|
|
142
|
+
# 更新任务状态
|
|
143
|
+
shawnxixi biz task update 123 --status done
|
|
144
|
+
|
|
145
|
+
# 删除任务
|
|
146
|
+
shawnxixi biz task delete 123
|
|
57
147
|
```
|
|
58
148
|
|
|
59
|
-
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## biz finance(财务管理)
|
|
152
|
+
|
|
153
|
+
对标记账类 App 的财务管理功能。
|
|
154
|
+
|
|
155
|
+
### 子命令
|
|
156
|
+
|
|
157
|
+
| 命令 | 说明 |
|
|
158
|
+
|-----|------|
|
|
159
|
+
| `add <amount>` | 新增账单 |
|
|
160
|
+
| `list` | 列出账单 |
|
|
161
|
+
| `stats` | 账单统计 |
|
|
162
|
+
|
|
163
|
+
### 选项
|
|
164
|
+
|
|
165
|
+
| 选项 | 说明 |
|
|
166
|
+
|-----|------|
|
|
167
|
+
| `--type <type>` | 类型(income/expense) |
|
|
168
|
+
| `--category <cat>` | 分类 |
|
|
169
|
+
| `--note <text>` | 备注 |
|
|
170
|
+
| `--month <month>` | 月份过滤(YYYY-MM) |
|
|
171
|
+
|
|
172
|
+
### 示例
|
|
60
173
|
|
|
61
174
|
```bash
|
|
62
|
-
#
|
|
63
|
-
shawnxixi biz finance
|
|
175
|
+
# 记一笔支出
|
|
176
|
+
shawnxixi biz finance add 100 --type expense --category 餐饮 --note 午饭
|
|
64
177
|
|
|
65
|
-
#
|
|
66
|
-
shawnxixi biz finance
|
|
178
|
+
# 记一笔收入
|
|
179
|
+
shawnxixi biz finance add 5000 --type income --category 工资 --note 月薪
|
|
67
180
|
|
|
68
|
-
#
|
|
69
|
-
shawnxixi biz finance list
|
|
181
|
+
# 按月份查看支出
|
|
182
|
+
shawnxixi biz finance list --type expense --month 2026-04
|
|
70
183
|
|
|
71
|
-
#
|
|
72
|
-
shawnxixi biz finance
|
|
184
|
+
# 查看月度统计
|
|
185
|
+
shawnxixi biz finance stats --month 2026-04
|
|
73
186
|
```
|
|
74
187
|
|
|
75
|
-
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## biz health(健康数据)
|
|
191
|
+
|
|
192
|
+
对标 Apple Health 的健康数据管理。
|
|
193
|
+
|
|
194
|
+
### 子命令
|
|
195
|
+
|
|
196
|
+
| 命令 | 说明 |
|
|
197
|
+
|-----|------|
|
|
198
|
+
| `log` | 记录健康数据 |
|
|
199
|
+
| `list` | 查询健康数据 |
|
|
200
|
+
| `sync` | 同步健康数据 |
|
|
201
|
+
|
|
202
|
+
### 选项
|
|
203
|
+
|
|
204
|
+
| 选项 | 说明 |
|
|
205
|
+
|-----|------|
|
|
206
|
+
| `--type <type>` | 数据类型(heart_rate/steps/weight/...) |
|
|
207
|
+
| `--value <value>` | 数值 |
|
|
208
|
+
| `--unit <unit>` | 单位(bpm/kg/steps/...) |
|
|
209
|
+
| `--date <date>` | 日期(YYYY-MM-DD) |
|
|
210
|
+
| `--from <date>` | 开始日期 |
|
|
211
|
+
| `--to <date>` | 结束日期 |
|
|
212
|
+
|
|
213
|
+
### 示例
|
|
76
214
|
|
|
77
215
|
```bash
|
|
78
|
-
#
|
|
79
|
-
shawnxixi biz
|
|
216
|
+
# 记录心率
|
|
217
|
+
shawnxixi biz health log --type heart_rate --value 72 --unit bpm --date 2026-04-12
|
|
80
218
|
|
|
81
|
-
#
|
|
82
|
-
shawnxixi biz
|
|
219
|
+
# 记录步数
|
|
220
|
+
shawnxixi biz health log --type steps --value 8000 --unit steps --date 2026-04-12
|
|
221
|
+
|
|
222
|
+
# 查询心率历史
|
|
223
|
+
shawnxixi biz health list --type heart_rate --from 2026-04-01 --to 2026-04-12
|
|
224
|
+
|
|
225
|
+
# 查询体重
|
|
226
|
+
shawnxixi biz health list --type weight --from 2026-04-01 --to 2026-04-12
|
|
83
227
|
```
|
|
84
228
|
|
|
85
|
-
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## biz calendar(日程管理)
|
|
232
|
+
|
|
233
|
+
对标日历 App 的日程管理功能。
|
|
234
|
+
|
|
235
|
+
### 子命令
|
|
236
|
+
|
|
237
|
+
| 命令 | 说明 |
|
|
238
|
+
|-----|------|
|
|
239
|
+
| `add <title>` | 创建日程 |
|
|
240
|
+
| `list` | 列出日程 |
|
|
241
|
+
|
|
242
|
+
### 选项
|
|
243
|
+
|
|
244
|
+
| 选项 | 说明 |
|
|
245
|
+
|-----|------|
|
|
246
|
+
| `--from <datetime>` | 开始时间(必需) |
|
|
247
|
+
| `--to <datetime>` | 结束时间(必需) |
|
|
248
|
+
| `--location <loc>` | 地点 |
|
|
249
|
+
| `--color <color>` | 颜色(HEX 如 #ff0000) |
|
|
250
|
+
| `--desc <text>` | 描述 |
|
|
251
|
+
|
|
252
|
+
### 示例
|
|
86
253
|
|
|
87
254
|
```bash
|
|
88
255
|
# 创建日程
|
|
89
|
-
shawnxixi biz calendar
|
|
256
|
+
shawnxixi biz calendar add "团队周会" --from "2026-04-15 10:00" --to "2026-04-15 11:00" --location 会议室A --color #4285f4
|
|
257
|
+
|
|
258
|
+
# 查看本月日程
|
|
259
|
+
shawnxixi biz calendar list --from 2026-04-01 --to 2026-04-30
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## biz record(记录管理)
|
|
265
|
+
|
|
266
|
+
通用记录管理(日记/宠物/笔记/灵感)。
|
|
90
267
|
|
|
91
|
-
|
|
92
|
-
|
|
268
|
+
### 子命令
|
|
269
|
+
|
|
270
|
+
| 命令 | 说明 |
|
|
271
|
+
|-----|------|
|
|
272
|
+
| `create <title>` | 创建记录 |
|
|
273
|
+
| `list` | 列出记录 |
|
|
274
|
+
|
|
275
|
+
### 选项
|
|
276
|
+
|
|
277
|
+
| 选项 | 说明 |
|
|
278
|
+
|-----|------|
|
|
279
|
+
| `--content <text>` | 内容 |
|
|
280
|
+
| `--type <type>` | 类型(diary/pet/note/idea) |
|
|
281
|
+
| `--tags <tags>` | 标签(逗号分隔) |
|
|
282
|
+
|
|
283
|
+
### 示例
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# 写日记
|
|
287
|
+
shawnxixi biz record create "今日感想" --content "完成了一个重要功能" --type diary --tags work,daily
|
|
288
|
+
|
|
289
|
+
# 创建灵感
|
|
290
|
+
shawnxixi biz record create "新功能创意" --content "做一个 AI 助手" --type idea --tags ai,innovation
|
|
291
|
+
|
|
292
|
+
# 列出所有笔记
|
|
293
|
+
shawnxixi biz record list --type note
|
|
93
294
|
```
|
|
94
295
|
|
|
95
|
-
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## biz item(物品管理)
|
|
299
|
+
|
|
300
|
+
物品收纳管理功能。
|
|
301
|
+
|
|
302
|
+
### 子命令
|
|
303
|
+
|
|
304
|
+
| 命令 | 说明 |
|
|
305
|
+
|-----|------|
|
|
306
|
+
| `create <name>` | 添加物品 |
|
|
307
|
+
| `list` | 列出物品 |
|
|
308
|
+
|
|
309
|
+
### 选项
|
|
310
|
+
|
|
311
|
+
| 选项 | 说明 |
|
|
312
|
+
|-----|------|
|
|
313
|
+
| `--location <loc>` | 存放位置 |
|
|
314
|
+
| `--expire <date>` | 过期日期(YYYY-MM-DD) |
|
|
315
|
+
| `--category <cat>` | 分类 |
|
|
316
|
+
|
|
317
|
+
### 示例
|
|
96
318
|
|
|
97
319
|
```bash
|
|
98
|
-
#
|
|
99
|
-
shawnxixi
|
|
320
|
+
# 添加物品
|
|
321
|
+
shawnxixi biz item create "牛奶" --location 冰箱 --expire 2026-04-20 --category 食品
|
|
100
322
|
|
|
101
|
-
#
|
|
102
|
-
shawnxixi
|
|
103
|
-
shawnxixi sys health query heartRate
|
|
323
|
+
# 列出物品
|
|
324
|
+
shawnxixi biz item list --category 食品
|
|
104
325
|
```
|
|
105
326
|
|
|
106
|
-
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## sys(系统命令)
|
|
330
|
+
|
|
331
|
+
### sys health
|
|
332
|
+
|
|
333
|
+
健康检查。
|
|
107
334
|
|
|
108
335
|
```bash
|
|
109
|
-
|
|
110
|
-
|
|
336
|
+
shawnxixi sys health
|
|
337
|
+
# 输出: { status: 'ok', timestamp: '2026-04-12T00:00:00.000Z' }
|
|
338
|
+
```
|
|
111
339
|
|
|
112
|
-
|
|
113
|
-
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 使用示例
|
|
343
|
+
|
|
344
|
+
### 完整工作流
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
# 1. 创建待办
|
|
348
|
+
shawnxixi biz todo add "准备周五会议" --due 2026-04-18 --priority high --tags work
|
|
349
|
+
|
|
350
|
+
# 2. 记录一笔支出
|
|
351
|
+
shawnxixi biz finance add 50 --type expense --category 交通 --note打车费
|
|
114
352
|
|
|
115
|
-
#
|
|
116
|
-
|
|
353
|
+
# 3. 记录今日心率
|
|
354
|
+
shawnxixi biz health log --type heart_rate --value 75 --unit bpm
|
|
355
|
+
|
|
356
|
+
# 4. 创建会议日程
|
|
357
|
+
shawnxixi biz calendar add "产品评审会" --from "2026-04-15 14:00" --to "2026-04-15 16:00" --location 线上
|
|
358
|
+
|
|
359
|
+
# 5. 查看所有待办
|
|
360
|
+
shawnxixi biz todo list --status pending
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### 全局参数使用
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
# JSON 输出
|
|
367
|
+
shawnxixi biz todo list --json
|
|
368
|
+
|
|
369
|
+
# 静默模式
|
|
370
|
+
shawnxixi biz todo add "测试" --quiet
|
|
371
|
+
|
|
372
|
+
# 预览模式(不实际调用 API)
|
|
373
|
+
shawnxixi biz todo add "测试待办" --due 2026-04-20 --dry-run
|
|
117
374
|
```
|
|
118
375
|
|
|
119
|
-
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## 故障排查
|
|
379
|
+
|
|
380
|
+
### API 连接失败
|
|
381
|
+
|
|
382
|
+
1. 检查 `.env` 中的 `SHAWNXIXI_API_URL` 是否正确
|
|
383
|
+
2. 确认服务器已启动
|
|
384
|
+
3. 检查网络连接
|
|
385
|
+
|
|
386
|
+
### 命令不存在
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
# 重新链接
|
|
390
|
+
npm link
|
|
120
391
|
|
|
392
|
+
# 或使用 npx
|
|
393
|
+
npx shawnxixi biz todo list
|
|
121
394
|
```
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 开发
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
# 安装依赖
|
|
402
|
+
npm install
|
|
403
|
+
|
|
404
|
+
# 开发模式(监听文件变化)
|
|
405
|
+
npm run build
|
|
406
|
+
|
|
407
|
+
# 运行测试
|
|
408
|
+
npm test
|
|
409
|
+
|
|
410
|
+
# 链接到全局
|
|
411
|
+
npm link
|
|
129
412
|
```
|
|
130
413
|
|
|
131
|
-
##
|
|
414
|
+
## License
|
|
132
415
|
|
|
133
|
-
|
|
134
|
-
- [shawnxixi-server](https://github.com/LyuShawn/shawnxixi-server) - 后端服务
|
|
135
|
-
- [shawnxixi-skills](https://github.com/LyuShawn/shawnxixi-skills) - Skill 知识库
|
|
136
|
-
- [shawnxixi-app](https://github.com/LyuShawn/shawnxixi-app) - iOS 应用
|
|
416
|
+
ISC
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* biz calendar 命令
|
|
3
|
+
* 日程管理(对标日历 App)
|
|
4
|
+
* 子命令:add / list
|
|
5
|
+
*/
|
|
1
6
|
export declare const calendarCommands: {
|
|
7
|
+
/**
|
|
8
|
+
* 创建日程
|
|
9
|
+
* biz calendar add <title> --from <datetime> --to <datetime> --location <loc> --color #ff0000
|
|
10
|
+
*/
|
|
2
11
|
create: (title: string, options?: {
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
from?: string;
|
|
13
|
+
to?: string;
|
|
14
|
+
location?: string;
|
|
15
|
+
color?: string;
|
|
5
16
|
desc?: string;
|
|
6
17
|
}) => Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* 列出日程
|
|
20
|
+
* biz calendar list --from 2026-04-01 --to 2026-04-30
|
|
21
|
+
*/
|
|
7
22
|
list: (options?: {
|
|
8
23
|
from?: string;
|
|
9
24
|
to?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/commands/biz/calendar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/commands/biz/calendar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,gBAAgB;IAC3B;;;OAGG;oBACmB,MAAM,YAAW;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAkCvH;;;OAGG;qBACmB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;CAyBrD,CAAC"}
|
|
@@ -1,29 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* biz calendar 命令
|
|
4
|
+
* 日程管理(对标日历 App)
|
|
5
|
+
* 子命令:add / list
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.calendarCommands = void 0;
|
|
4
9
|
const api_1 = require("../../services/api");
|
|
10
|
+
const output_1 = require("../../utils/output");
|
|
5
11
|
exports.calendarCommands = {
|
|
12
|
+
/**
|
|
13
|
+
* 创建日程
|
|
14
|
+
* biz calendar add <title> --from <datetime> --to <datetime> --location <loc> --color #ff0000
|
|
15
|
+
*/
|
|
6
16
|
create: async (title, options = {}) => {
|
|
7
|
-
|
|
8
|
-
console.error('必须指定 --start 和 --end 时间');
|
|
9
|
-
process.exit(1);
|
|
10
|
-
}
|
|
17
|
+
const loading = (0, output_1.createLoading)('创建日程...');
|
|
11
18
|
try {
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
if (!options.from || !options.to) {
|
|
20
|
+
loading.fail('缺少必需参数 --from 和 --to');
|
|
21
|
+
(0, output_1.outputError)('Usage: biz calendar add <title> --from <datetime> --to <datetime> [--location <loc>] [--color <color>] [--desc <desc>]');
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
if ((0, output_1.isDryRun)()) {
|
|
25
|
+
loading.stop();
|
|
26
|
+
(0, output_1.dryRunLog)('创建日程', { title, ...options });
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
loading.start();
|
|
30
|
+
const result = await api_1.apiService.createCalendarEvent(title, options.from, options.to, options.desc, options.location, options.color);
|
|
31
|
+
loading.succeed('日程创建成功');
|
|
32
|
+
(0, output_1.output)(result);
|
|
14
33
|
}
|
|
15
34
|
catch (error) {
|
|
16
|
-
|
|
35
|
+
loading.fail('创建日程失败');
|
|
36
|
+
(0, output_1.outputError)(error.message);
|
|
17
37
|
process.exit(1);
|
|
18
38
|
}
|
|
19
39
|
},
|
|
40
|
+
/**
|
|
41
|
+
* 列出日程
|
|
42
|
+
* biz calendar list --from 2026-04-01 --to 2026-04-30
|
|
43
|
+
*/
|
|
20
44
|
list: async (options = {}) => {
|
|
45
|
+
const loading = (0, output_1.createLoading)('加载日程列表...');
|
|
21
46
|
try {
|
|
47
|
+
if ((0, output_1.isDryRun)()) {
|
|
48
|
+
loading.stop();
|
|
49
|
+
(0, output_1.dryRunLog)('列出日程', options);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
loading.start();
|
|
22
53
|
const result = await api_1.apiService.listCalendarEvents(options.from, options.to);
|
|
23
|
-
|
|
54
|
+
loading.succeed('日程列表加载成功');
|
|
55
|
+
if (result.data && result.data.length > 0) {
|
|
56
|
+
(0, output_1.output)(result.data);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
(0, output_1.output)({ message: '暂无日程' });
|
|
60
|
+
}
|
|
24
61
|
}
|
|
25
62
|
catch (error) {
|
|
26
|
-
|
|
63
|
+
loading.fail('加载日程列表失败');
|
|
64
|
+
(0, output_1.outputError)(error.message);
|
|
27
65
|
process.exit(1);
|
|
28
66
|
}
|
|
29
67
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/commands/biz/calendar.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/commands/biz/calendar.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,4CAAgD;AAChD,+CAA6F;AAEhF,QAAA,gBAAgB,GAAG;IAC9B;;;OAGG;IACH,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,UAA4F,EAAE,EAAE,EAAE;QAC9H,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACrC,IAAA,oBAAW,EAAC,wHAAwH,CAAC,CAAC;gBACtI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,IAAA,iBAAQ,GAAE,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,kBAAS,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,gBAAU,CAAC,mBAAmB,CACjD,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,CACd,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,EAAE,KAAK,EAAE,UAA0C,EAAE,EAAE,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,WAAW,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,IAAA,iBAAQ,GAAE,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,kBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,gBAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE5B,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,12 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* biz finance 命令
|
|
3
|
+
* 财务管理(对标记账类 App)
|
|
4
|
+
* 子命令:add / list / stats / report
|
|
5
|
+
*/
|
|
1
6
|
export declare const financeCommands: {
|
|
7
|
+
/**
|
|
8
|
+
* 新增账单
|
|
9
|
+
* biz finance add --type expense --amount 100 --category 餐饮 --note 午饭 --account cash --date 2026-04-12 --tags food,lunch
|
|
10
|
+
*/
|
|
2
11
|
create: (amount: string, options?: {
|
|
3
12
|
type?: string;
|
|
4
13
|
category?: string;
|
|
5
|
-
|
|
14
|
+
note?: string;
|
|
15
|
+
account?: string;
|
|
16
|
+
date?: string;
|
|
17
|
+
tags?: string;
|
|
6
18
|
}) => Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* 列出账单
|
|
21
|
+
* biz finance list --type expense --month 2026-04
|
|
22
|
+
*/
|
|
7
23
|
list: (options?: {
|
|
8
24
|
type?: string;
|
|
9
25
|
category?: string;
|
|
26
|
+
month?: string;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* 统计账单
|
|
30
|
+
* biz finance stats --month 2026-04
|
|
31
|
+
*/
|
|
32
|
+
stats: (options?: {
|
|
33
|
+
month?: string;
|
|
34
|
+
}) => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* 月度报表
|
|
37
|
+
* biz finance report --month 2026-04
|
|
38
|
+
*/
|
|
39
|
+
report: (options?: {
|
|
40
|
+
month?: string;
|
|
10
41
|
}) => Promise<void>;
|
|
11
42
|
};
|
|
12
43
|
//# sourceMappingURL=finance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../../src/commands/biz/finance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../../src/commands/biz/finance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;qBACoB,MAAM,YAAW;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IA+B3I;;;OAGG;qBACmB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IA0B1E;;;OAGG;sBACoB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAuBzC;;;OAGG;uBACqB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAsB3C,CAAC"}
|