@alphalawyer/alpha-classic-cli 0.1.4 → 0.1.5

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.
@@ -0,0 +1,123 @@
1
+ # Task
2
+
3
+ 用户询问任务、日程、待办、安排、我的任务、我的日程、项目任务、项目日程、子任务、任务详情、检查项、负责人、任务评论、任务动态、任务创建或任务完成时使用本规则。
4
+
5
+ 在 Alpha Classic 里,客户口语里的“日程”通常就是任务模块里的任务,不是单独的日历系统。用户说“今天的日程”“本周日程”“我的待办安排”“项目日程”时,优先按任务理解,并使用 `task mine`、`task pending`、`task list` 或 `task detail`。
6
+
7
+ ## 查询项目下任务列表
8
+
9
+ 项目详情页里的「任务」table 对应这个命令:
10
+
11
+ ```bash
12
+ alpha-classic-cli task list --matter-id <项目ID>
13
+ ```
14
+
15
+ 默认查询未完成任务;如需全部任务或已完成任务可显式传状态:
16
+
17
+ ```bash
18
+ alpha-classic-cli task list --matter-id <项目ID> --state all
19
+ alpha-classic-cli task list --matter-id <项目ID> --state 已完成
20
+ alpha-classic-cli task list --matter-id <项目ID> --state 已删除
21
+ ```
22
+
23
+ ## 查询我的任务列表
24
+
25
+ 我的菜单里的「任务」table 对应这个命令:
26
+
27
+ ```bash
28
+ alpha-classic-cli task mine --keyword <关键词> --state 未完成 --limit 20
29
+ alpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20
30
+ alpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50
31
+ ```
32
+
33
+ `task mine` 默认查询当前登录用户的未完成任务,`--keyword` 对应前端 `searchValue`。在 `未完成 + 当前用户 + 第 1 页` 时会同时查询 `favoriteTasks` 和 `newtasks`,输出 `我关注的`、`新任务` 和主体 `任务列表`;传 `--no-include-special-groups` 可跳过这两个额外分组。传 `--user-ids` 且包含多人或非当前用户时,主体列表使用 `responsibleTasks`。传 `--range-from/--range-to` 或 `--start-time/--end-time` 时切换到日历时间范围接口 `calendar/myTasks` 或 `calendar/responsibleTasks`;时间范围视图支持 `all`、`未完成`、`已完成`,不支持 `已删除`。
34
+
35
+ 如果用户问“本周还有哪些任务没完成”“按从近到远列出待办”等需要后端全量排序的问题,优先使用 `task pending`。该命令走 CLI 专用接口 `POST /taskserver/api/v1/cli/tasks/my/pending`,默认查询本周未完成任务,并按到期时间升序排列;可用 `--start-time/--end-time` 自定义时间范围,用 `--time-field dueTime|startTime|endTime` 切换时间筛选字段。
36
+
37
+ ## 查询任务详情和子任务
38
+
39
+ 先通过项目任务列表或我的任务列表拿到 `任务ID`,再查询任务详情:
40
+
41
+ ```bash
42
+ alpha-classic-cli task detail --id <任务ID> --comments 10
43
+ ```
44
+
45
+ 任务详情会读取任务概览、检查项、附件、计时、全部状态的子任务列表和任务动态。附件会根据 `repoId`、`filePath` 联动 `/document-engine/api/v1/dir/list` 获取文件详情,但对外只展示 `文件名` 和 `大小`。`--comments` 默认 10,传 0 可跳过任务动态。
46
+
47
+ 按父任务 ID 查询子任务:
48
+
49
+ ```bash
50
+ alpha-classic-cli task subtasks --id <任务ID> --state all --limit 20
51
+ ```
52
+
53
+ 任务列表、任务详情、子任务和待办任务会输出 `任务链接`,格式对齐前端任务详情右上角“三个点 - 复制任务链接”:`/third/task-share-link/index.html?id={taskId}`。有项目 ID 时还会输出 `项目任务页`,可直接进入该项目的任务 tab。
54
+
55
+ ## 任务写操作和创建辅助查询
56
+
57
+ ```bash
58
+ alpha-classic-cli task worktypes --matter-id <项目ID>
59
+ alpha-classic-cli task assignees --matter-id <项目ID>
60
+ alpha-classic-cli task assignees --matter-id <项目ID> --work-type-id <工作类型ID>
61
+ alpha-classic-cli task create --name <任务名称> --matter-id <项目ID> --due-time 2026-06-30
62
+ alpha-classic-cli task update-detail --id <任务ID> --detail <任务详情>
63
+ alpha-classic-cli task complete --id <任务ID>
64
+ alpha-classic-cli task uncomplete --id <任务ID>
65
+ alpha-classic-cli task assignee set --id <任务ID> --user-ids <用户ID1,用户ID2>
66
+ alpha-classic-cli task attendee set --id <任务ID> --user-ids <用户ID1,用户ID2>
67
+ alpha-classic-cli task comment add --task-id <任务ID> --content <评论内容>
68
+ alpha-classic-cli task comment delete --id <评论ID>
69
+ alpha-classic-cli task checkitem add --task-id <任务ID> --item <检查项内容>
70
+ alpha-classic-cli task checkitem delete --id <检查项ID> --task-id <任务ID>
71
+ alpha-classic-cli task checkitem complete --id <检查项ID> --task-id <任务ID>
72
+ alpha-classic-cli task checkitem uncomplete --id <检查项ID> --task-id <任务ID>
73
+ ```
74
+
75
+ 这些是明确支持的任务写操作和创建辅助查询。`task worktypes` 用于获取创建任务所需的 `--work-type-id`;`task assignees` 用于获取创建任务所需的 `--user-ids`,传 `--matter-id --work-type-id` 可查询工作类型匹配的默认负责人;`task create` 新建任务,`--matter-id` 不传则创建个人任务,`--user-ids` 不传时负责人默认当前登录用户,传入时会覆盖默认负责人,`--parent-id` 用于创建子任务;`task update-detail` 只编辑任务详情;`task complete` 标记任务完成;`task uncomplete` 取消完成并恢复为未完成,`task restart` 是同义别名;`task assignee set` 会替换负责人列表,`task attendee set` 是兼容旧文档的同义命令;`task comment add` 会新增任务评论,评论内容最大 1500 字符;`task comment delete` 只能删除自己的评论;`task checkitem complete/uncomplete` 底层都调用 `PUT /taskserver/api/v1/checkitem/{checkItemId}/state`,完成传 `state=1`,取消完成传 `state=0`,请求体必须包含 `taskId`。
76
+
77
+ ## 参数规则
78
+
79
+ - `task list --matter-id` 必填,通常来自 `matter detail` 或 `matter search` 返回的 `项目ID`。
80
+ - `task list --state` 可选,默认 `未完成`;支持 `all`、`未完成`、`已完成`、`已删除`;其中 `all` 对应后端 `statusType=4`,只包含未完成+已完成,不包含已删除。
81
+ - `task list --limit` 可选,默认 20,最大 50。
82
+ - `task list --type` 可选,默认 `task`;支持 `task`、`group`。
83
+ - `task list --attention` 可选,默认 `all`;支持 `all`、`我关注的`。
84
+ - `task mine --keyword` 可选,对应前端我的任务搜索框。
85
+ - `task mine --state` 可选,默认 `未完成`;支持 `all`、`未完成`、`已完成`、`已删除`。
86
+ - `task mine --matter-ids` 可选,多个项目 ID 用英文逗号分隔;个人任务可使用 `personal_task`。
87
+ - `task mine --user-ids` 可选,默认当前登录用户;多个用户 ID 用英文逗号分隔。
88
+ - `task mine --range-from/--range-to` 可选,格式 `YYYY-MM-DD` 或日期时间;传入后使用时间范围视图。
89
+ - `task mine --start-time/--end-time` 是 `--range-from/--range-to` 的别名。
90
+ - `task pending --range` 支持 `today`、`this-week`、`this-month`;也支持 `--start-time/--end-time` 或 `--range-from/--range-to` 自定义范围。
91
+ - `task pending --time-field/--order-by` 只支持 `dueTime`、`startTime`、`endTime`。
92
+ - `task worktypes --matter-id` 可选;传项目 ID 时返回项目可用工作类型;`--keyword` 可选,按名称过滤。
93
+ - `task assignees --matter-id` 可选;只传项目 ID 时返回项目成员;同时传 `--work-type-id` 时返回该项目该工作类型匹配的默认负责人;不传项目 ID 时查询全所可用人员。
94
+ - `task create --name` 必填,最大 200 字符;`--matter-id` 可选,不传则创建个人任务。
95
+ - `task create --user-ids` 可选,多个负责人用户 ID 用英文逗号分隔;不传时负责人默认当前登录用户。
96
+ - `task create --due-time` 可选,格式 `YYYY-MM-DD` 或日期时间;也可使用成对的 `--start-time/--end-time`。
97
+ - `task create --parent-id` 可选,传父任务 ID 时创建子任务;`--item` 可重复传检查项,`--items` 可传多行检查项。
98
+ - `task detail --id` 必填,通常来自 `task list` 或 `task mine` 返回的 `任务ID`。
99
+ - `task detail --comments` 可选,默认 10,最大 50;传 0 跳过任务动态。
100
+ - `task subtasks --id` 必填,通常来自 `task list` 或 `task detail` 返回的 `任务ID`。
101
+ - `task subtasks --state` 可选,默认 `all`;支持 `all`、`未完成`、`已完成`、`已删除`;其中 `all` 对应后端 `statusType=4`,只包含未完成+已完成,不包含已删除。
102
+ - `task update-detail --id` 必填;`--detail` 必填,最大 3000 字符。
103
+ - `task complete --id` 必填。
104
+ - `task uncomplete --id` 必填;底层使用 `PUT /taskserver/api/v1/tasks/{taskId}/restart?restartParent=true`,把任务恢复为未完成。
105
+ - `task assignee set --id` 必填;`--user-ids` 必填,多个负责人用户 ID 用英文逗号分隔。
106
+ - `task attendee set` 与 `task assignee set` 等价,仅为兼容旧指令保留。
107
+ - `task comment add --task-id` 必填;`--content` 必填,最大 1500 字符;`--at-user-ids` 可选,多个用户 ID 用英文逗号分隔。
108
+ - `task comment delete --id` 必填,来自 `task detail` 返回的任务动态里的 `动态ID` / 评论 ID;只能删除自己的评论。
109
+ - `task checkitem add --task-id` 必填;`--item` 可重复传,`--items` 可传多行文本;单条检查项最大 500 字符。
110
+ - `task checkitem delete --id` 必填,来自 `task detail` 返回的 `检查项ID`;`--task-id` 必填。
111
+ - `task checkitem complete/uncomplete --id` 必填,来自 `task detail` 返回的 `检查项ID`。
112
+ - `task checkitem complete/uncomplete --task-id` 必填,检查项所属 `任务ID`。
113
+
114
+ ## 输出和处理规则
115
+
116
+ - 用户问“项目下任务”“项目日程”“这个项目的任务表”“任务 table”时,使用 `alpha-classic-cli task list --matter-id <项目ID>`。
117
+ - 用户问“我的任务”“我的日程”“今天/本周日程”“我的待办安排”“我的菜单里的任务”“个人任务列表”或要搜索我的任务 table 时,按任务处理;普通搜索用 `alpha-classic-cli task mine --keyword <关键词>`,需要按时间范围和从近到远排序时优先用 `alpha-classic-cli task pending`。
118
+ - 用户没有特别说明状态时,默认看 `未完成` 任务。
119
+ - 回答任务列表时优先摘要 `任务名称`、`任务组`、`状态`、`负责人`、`到期时间`、`检查项`、`评论数`、`附件数`。
120
+ - 用户需要“打开任务”“发我任务链接”“进入项目任务页”时,可以直接使用 CLI 输出的 `任务链接` 或 `项目任务页` 给用户。
121
+ - 给最终用户展示任务时,默认隐藏 `任务ID`、`项目ID`、`工作类型ID`、`评论ID`、`检查项ID`、`动态ID` 等内部 ID;这些字段只留给 agent 后续调用。
122
+ - 如果结果为空,说明没有查到,不要编造任务。
123
+ - 除 `task create`、`task update-detail`、`task complete`、`task uncomplete`、`task restart`、`task assignee set`、`task attendee set`、`task comment add/delete`、`task checkitem add/delete/complete/uncomplete` 外,不要调用任务写操作。
@@ -0,0 +1,62 @@
1
+ # Timing
2
+
3
+ 用户询问我的菜单下计时 table、个人计时、项目计时、工时记录、计时工作类型、计时关联项目、计时关联任务或新增计时时使用本规则。
4
+
5
+ ## 查询计时列表
6
+
7
+ ```bash
8
+ alpha-classic-cli timing list --range this-month --approve-state all --limit 50
9
+ alpha-classic-cli timing list --start-time 2026-06-01 --end-time 2026-06-30 --keyword 合同 --limit 50
10
+ alpha-classic-cli timing list --matter-id <项目ID> --work-type-id <工作类型ID> --approve-state 未审核 --limit 50
11
+ ```
12
+
13
+ `timing list` 对齐前端“我的菜单 - 计时 table”,底层使用 `GET /taskserver/api/v2/timing/timing/search`。默认不显式传 `createUserId`,由后端按当前登录身份和权限返回,本月、所有审核状态;输出包含 `累计计时`、`按日期分组` 和 `计时列表`。
14
+
15
+ ## 新增计时辅助查询
16
+
17
+ 新增计时前,先用下面的命令准备参数:
18
+
19
+ ```bash
20
+ alpha-classic-cli timing matters --keyword 合同 --limit 20
21
+ alpha-classic-cli timing worktypes --matter-id <项目ID> --limit 50
22
+ alpha-classic-cli timing tasks --matter-id <项目ID> --keyword <关键词> --limit 20
23
+ ```
24
+
25
+ - `timing matters` 查询可关联项目,用于选择 `--matter-id`;个人计时可传 `-1`。
26
+ - `timing worktypes` 查询计时工作类型,用于选择 `--work-type-id`;传 `--matter-id` 时返回项目可用工作类型。
27
+ - `timing tasks` 查询可关联任务,用于选择 `--task-id`;不传 `--matter-id` 时查询个人/负责人任务。
28
+
29
+ ## 新增计时
30
+
31
+ ```bash
32
+ alpha-classic-cli timing create --name <工作描述> --work-date 2026-06-12 --start-time 09:00 --end-time 10:30 --matter-id <项目ID> --work-type-id <工作类型ID>
33
+ ```
34
+
35
+ `timing create` 底层使用 `POST /taskserver/api/v2/timing/timing/add`;`--name` 必填,时间可用 `--start-time + --end-time`,也可用 `--duration` 搭配其中一个时间;时长按前端规则向上取整到分钟。
36
+
37
+ ## 参数规则
38
+
39
+ - `timing list --keyword` 可选,对应前端计时 table 搜索框。
40
+ - `timing list --matter-id` 可选,项目 ID;个人计时可传 `-1`。
41
+ - `timing list --work-type-id` 可选,工作类型 ID。
42
+ - `timing list --user-id` 可选,记录人用户 ID;默认不显式传 `createUserId`,由后端按当前登录身份和权限返回。
43
+ - `timing list --approve-state` 可选,默认 `all`;支持 `all`、`已审核`、`未审核`、`1`、`0`。
44
+ - `timing list --range` 可选,默认 `this-month`;支持 `today`、`this-week`、`this-month`。
45
+ - `timing list --start-time/--end-time` 可选,格式 `YYYY-MM-DD`;也可使用 `--range-from/--range-to`。
46
+ - `timing list --limit` 可选,默认 50,最大 100。
47
+ - `timing matters --keyword` 可选,按项目名搜索;`--favorite` 可选,只查我关注的项目;`--status` 默认 `0,2,7`。
48
+ - `timing worktypes --matter-id` 可选,项目 ID;`--state` 默认 `-1`。
49
+ - `timing tasks --matter-id` 可选,项目 ID;不传时查个人/负责人任务;`--state` 支持 `未完成`、`已完成`。
50
+ - `timing create --name` 必填;`--work-date` 默认今天;`--start-time/--end-time` 支持 `HH:mm` 或日期时间;`--duration` 支持分钟、`90m`、`1.5h`、`HH:mm`。
51
+ - `timing create --matter-id` 可选,关联项目 ID;个人计时可传 `-1` 或省略。
52
+ - `timing create --work-type-id` 通常必填,先用 `timing worktypes` 查询。
53
+ - `timing create --task-id` 可选,先用 `timing tasks` 查询。
54
+
55
+ ## 输出和处理规则
56
+
57
+ - 用户问“我的计时”“计时 table”“工时记录”时,优先使用 `timing list`。
58
+ - 用户要新增计时时,先确认或查询项目、工作类型、关联任务等必需参数。
59
+ - 回答计时列表时优先摘要 `日期`、`工作描述`、`项目名称`、`工作类型`、`开始时间`、`结束时间`、`时长`、`审核状态`。
60
+ - 给最终用户展示计时时,默认隐藏 `计时ID`、`项目ID`、`任务ID`、`工作类型ID` 等内部 ID;这些字段只留给 agent 后续调用。
61
+ - 如果结果为空,说明没有查到,不要编造计时。
62
+ - 除 `timing create` 外,不要调用计时写操作。
@@ -0,0 +1,82 @@
1
+ # User / 人力资源
2
+
3
+ 用户询问人力资源成员、律所成员、账号状态、在职/离职成员、账号类型、手机号、用户名等信息时使用本规则。
4
+
5
+ ## 查询人力资源成员列表
6
+
7
+ 默认查询在职成员:
8
+
9
+ ```bash
10
+ alpha-classic-cli user list --limit 20
11
+ ```
12
+
13
+ 按关键词查询成员。关键词对应前端顶部搜索框,后端用 `name` 字段匹配成员姓名、登录用户名等文本:
14
+
15
+ ```bash
16
+ alpha-classic-cli user list --keyword <姓名或用户名> --limit 20
17
+ ```
18
+
19
+ 按手机号查询:
20
+
21
+ ```bash
22
+ alpha-classic-cli user list --phone <手机号> --limit 20
23
+ ```
24
+
25
+ 按账号状态和账号类型查询:
26
+
27
+ ```bash
28
+ alpha-classic-cli user list --status 在职 --account-type A,B --limit 20
29
+ alpha-classic-cli user list --status 离职 --account-type Z --limit 20
30
+ alpha-classic-cli user list --status all --limit 20
31
+ ```
32
+
33
+ 查询筛选选项:
34
+
35
+ ```bash
36
+ alpha-classic-cli user statuses
37
+ alpha-classic-cli user account-types
38
+ alpha-classic-cli user ranks --keyword <职级名> --limit 20
39
+ alpha-classic-cli user managers --keyword <姓名或用户名> --limit 20
40
+ alpha-classic-cli user departments --keyword <部门名> --limit 20
41
+ ```
42
+
43
+ 按职级、职务、入职时间、邮箱、直属上级、所属部门查询:
44
+
45
+ ```bash
46
+ alpha-classic-cli user list --rank-ids <职级ID1,职级ID2> --position <职务> --join-from 2026-01-01 --join-to 2026-12-31 --email <邮箱> --manager-ids <用户ID> --department-ids <部门ID> --limit 20
47
+ ```
48
+
49
+ ## 参数规则
50
+
51
+ - `user list` 底层使用 `POST /user/api/v1/auth/search/lawyer`,对齐前端 `HrMemberService.getHrDatas`。
52
+ - `--status` 可选,默认 `在职`;支持 `在职`、`离职`、`all`、`1`、`0`、`-1`。对应请求体 `status`。
53
+ - `--account-type` 可选;支持 `A`、`B`、`Z`、`A类账号`、`B类账号`、`非Alpha账号`,多个用英文逗号分隔。对应请求体 `userType` 数组。
54
+ - `--user-type` 是 `--account-type` 的别名。
55
+ - `--keyword`、`--name`、`--username` 三者等价,都放入请求体 `name`。
56
+ - `--phone` 可选,对应请求体 `phone`。
57
+ - `--email` 可选,对应请求体 `email`。
58
+ - `--rank-ids` 可选,传 `user ranks` 返回的 `职级ID`,多个用英文逗号分隔;对应请求体 `officeMemberLevelIds`。
59
+ - `--office-member-level-ids` 是 `--rank-ids` 的别名。
60
+ - `--position` 可选,对应请求体 `zhiWu`。
61
+ - `--zhi-wu` 是 `--position` 的别名。
62
+ - `--join-from/--join-to` 可选,格式 `YYYY-MM-DD`;对应请求体 `joinTime.startTime/endTime`。
63
+ - `--manager-ids` 可选,传 `user managers` 返回的 `用户ID`,多个用英文逗号分隔;对应请求体 `manager`。
64
+ - `--department-ids` 可选,传 `user departments` 返回的 `部门ID`,多个用英文逗号分隔;对应请求体 `dptIds`。
65
+ - `--dpt-ids` 是 `--department-ids` 的别名。
66
+ - `--page` 可选,从 1 开始,默认 1。
67
+ - `--limit` 可选,默认 20,最大 100。
68
+ - 请求体固定带 `type=-1`、`itemOrAnd=false`,与前端成员列表默认筛选一致。
69
+
70
+ ## 筛选选项来源
71
+
72
+ - 账号状态:前端写死,`在职=1`、`离职=0`、`全部=-1`;可用 `user statuses` 查看。
73
+ - 账号类型:前端写死 `A/B/Z`;`user account-types` 会额外调用 `/ilaw/api/v1/auth/up/getTypeNumber` 判断 A/B 当前可用数量。
74
+ - 职级:接口返回,`GET /user/api/v1/officeMemberLevels?levelType=3`;用 `user ranks` 获取。
75
+ - 直属上级:接口返回,`GET /ilaw/api/v1/auth/q/allByOfficeId/{officeId}`;用 `user managers` 获取。
76
+ - 所属部门:接口返回,`GET /permission/api/v1/permission/department/allDepartment`;用 `user departments` 获取。
77
+
78
+ ## 展示规则
79
+
80
+ - 给用户展示成员列表时,默认不要展示 `用户ID`,除非后续需要用它定位详情或调用其他 CLI。
81
+ - 推荐展示:`姓名`、`用户名`、`手机号`、`账号状态`、`账号类型`、`职级`、`职务`、`直属上级`、`所属部门`。
82
+ - 如果命令没有结果,就明确说没查到符合条件的成员,不要编造成员信息。
@@ -51,6 +51,21 @@ alpha-classic-cli matter search --keyword <keyword> --limit 10
51
51
 
52
52
  默认项目列表等价于 `--status 进行中+预立项 --scope 所有项目`。项目状态支持 `预立项`、`进行中`、`进行中+预立项`、`已完结`、`已搁置`、`已归档`、`全部`;项目范围支持 `所有项目`、`我关注的`、`已加入的`。`--scope 我关注的` 与前端一致,只传 `isView=true`、`matchedName`、`queryOrderPage`,不传 `matterStatusSet`。
53
53
 
54
+ 项目列表更多筛选里的项目类型来自:
55
+
56
+ ```bash
57
+ alpha-classic-cli matter types --keyword <keyword> --limit 20
58
+ ```
59
+
60
+ 按项目类型、服务开始时间、服务结束时间筛选:
61
+
62
+ ```bash
63
+ alpha-classic-cli matter search --matter-type-ids <项目类型ID1,项目类型ID2> --service-start-from 2026-01-01 --service-start-to 2026-12-31 --service-end-from 2026-01-01 --service-end-to 2026-12-31 --limit 10
64
+ ```
65
+
66
+ `matter types` 底层使用 `GET /matterserver/api/v2/matters/matterType/listTree`,对齐前端 `MatterService.getMatterTypeList({})`。`--matter-type-ids` 对应请求体 `subMatterTypes`,服务开始和服务结束时间分别对应 `serviceStartRangeTime`、`serviceEndRangeTime`。
67
+ 项目类型有大类和子类型层级。用户说项目类型简称时先做口语归一,例如“常法”指“常年顾问”这个项目类型;先用 `alpha-classic-cli matter types --keyword 常年顾问` 查对应 ID,再传给 `matter search --matter-type-ids`。
68
+
54
69
  不带关键词的项目查询:
55
70
 
56
71
  ```bash
@@ -72,10 +87,34 @@ alpha-classic-cli matter detail --id <matterId> --logs 5
72
87
  项目内任务表:
73
88
 
74
89
  ```bash
75
- alpha-classic-cli matter task --id <matterId> --state 未完成 --limit 20
90
+ alpha-classic-cli task list --matter-id <matterId> --state 未完成 --limit 20
76
91
  ```
77
92
 
78
- `matter task` 支持的状态只有 `all`、`未完成`、`已完成`;支持的类型只有 `task`、`group`。默认状态是 `未完成`,默认类型是 `task`,默认 limit 是 20,最大 50。
93
+ 人力资源成员列表:
94
+
95
+ ```bash
96
+ alpha-classic-cli user list --status 在职 --account-type A,B --phone <phone> --keyword <name-or-username> --limit 20
97
+ alpha-classic-cli user ranks --keyword <rank> --limit 20
98
+ alpha-classic-cli user managers --keyword <name-or-username> --limit 20
99
+ alpha-classic-cli user departments --keyword <department> --limit 20
100
+ ```
101
+
102
+ `user list` 底层使用 `POST /user/api/v1/auth/search/lawyer`,对齐前端 `HrMemberService.getHrDatas`。默认 `--status 在职`;账号状态支持 `在职`、`离职`、`all`,账号类型支持 `A`、`B`、`Z`。职级、直属上级、所属部门分别用 `user ranks`、`user managers`、`user departments` 获取可传 ID。
103
+
104
+ `task list` 支持的状态只有 `all`、`未完成`、`已完成`、`已删除`;其中 `all` 对应后端 `statusType=4`,只包含未完成+已完成,不包含已删除。支持的类型只有 `task`、`group`。默认状态是 `未完成`,默认类型是 `task`,默认 limit 是 20,最大 50。按项目ID查询时使用 `--matter-id`。
105
+ 我的任务 table 搜索使用 `alpha-classic-cli task mine --keyword <keyword> --state 未完成 --limit 20`;默认查当前用户,未完成 + 当前用户 + 第 1 页时会同时返回 `我关注的`、`新任务` 和主体任务列表。传 `--user-ids` 查多人或他人时,主体列表使用 `responsibleTasks`。按时间范围查时使用 `alpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20`,会切换到 `calendar/myTasks` 或 `calendar/responsibleTasks`。
106
+ 用户说“日程”“我的日程”“今天/本周日程”“待办安排”时,优先按任务处理;普通列表和搜索用 `task mine`,需要按时间范围和从近到远排序时用 `task pending`。
107
+ 如果要回答“本周还有哪些任务没完成,按从近到远排序”,优先使用 CLI 专用后端排序接口:`alpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50`。
108
+ 任务详情使用 `alpha-classic-cli task detail --id <taskId> --comments 10`,会同时读取全部状态的子任务列表。单独查询子任务使用 `alpha-classic-cli task subtasks --id <taskId> --state all --limit 20`;`task subtasks` 默认状态是 `all`,支持 `all`、`未完成`、`已完成`、`已删除`。
109
+ 创建任务前可用 `alpha-classic-cli task worktypes --matter-id <matterId>` 查询工作类型 ID,用 `alpha-classic-cli task assignees --matter-id <matterId>` 查询项目负责人候选;如果已有工作类型,可用 `alpha-classic-cli task assignees --matter-id <matterId> --work-type-id <workTypeId>` 查询默认负责人。
110
+ 新建任务使用 `alpha-classic-cli task create --name <name> --matter-id <matterId> --due-time 2026-06-30`;不传 `--matter-id` 创建个人任务;不传 `--user-ids` 时负责人默认当前登录用户,传入时会覆盖默认负责人;传 `--parent-id` 创建子任务。
111
+ 编辑任务详情使用 `alpha-classic-cli task update-detail --id <taskId> --detail <detail>`;完成任务使用 `alpha-classic-cli task complete --id <taskId>`;取消完成使用 `alpha-classic-cli task uncomplete --id <taskId>`,`task restart` 是同义别名;修改负责人使用 `alpha-classic-cli task assignee set --id <taskId> --user-ids <userId1,userId2>`,`task attendee set` 是兼容旧文档的同义命令。
112
+ 新增评论使用 `alpha-classic-cli task comment add --task-id <taskId> --content <content>`;删除评论使用 `alpha-classic-cli task comment delete --id <commentId>`,只能删除自己的评论。
113
+ 添加检查项使用 `alpha-classic-cli task checkitem add --task-id <taskId> --item <content>`;删除检查项使用 `alpha-classic-cli task checkitem delete --id <checkItemId> --task-id <taskId>`;完成检查项使用 `alpha-classic-cli task checkitem complete --id <checkItemId> --task-id <taskId>`;取消完成使用 `alpha-classic-cli task checkitem uncomplete --id <checkItemId> --task-id <taskId>`。
114
+ 我的菜单下计时 table 使用 `alpha-classic-cli timing list --range this-month --approve-state all --limit 50`;默认不显式传 `createUserId`,由后端按当前登录身份和权限返回本月计时,对齐 `/taskserver/api/v2/timing/timing/search`,支持 `--keyword`、`--matter-id`、`--work-type-id`、`--user-id`、`--approve-state`、`--start-time/--end-time`。
115
+ 新增计时前可用 `alpha-classic-cli timing matters --keyword <keyword>` 查询关联项目,用 `alpha-classic-cli timing worktypes --matter-id <matterId>` 查询工作类型,用 `alpha-classic-cli timing tasks --matter-id <matterId> --keyword <keyword>` 查询关联任务。新增计时使用 `alpha-classic-cli timing create --name <description> --work-date 2026-06-12 --start-time 09:00 --end-time 10:30 --matter-id <matterId> --work-type-id <workTypeId>`。
116
+
117
+ 财务查询使用顶级 `finance` 模块。律所财务总览用 `alpha-classic-cli finance overview`,对齐顶级财务模块“总览”页;先用 `alpha-classic-cli finance departments --keyword <departmentName>` 获取所属团队 ID,再传 `--department-id <departmentId>` 筛选;`--date 2026-06` 控制收入走势图月份。总览输出金额指标、关键节点、收入走势图、提醒信息、财务模块链接和指标说明。项目财务汇总用 `alpha-classic-cli finance summary --matter-id <matterId>`,输出合同总额、发票总额、收款总额、标的总额、账单总额、费用总额、应收总额和应收总额计算方式;应收总额口径由项目财务设置决定,前端支持“已开票金额 - 已收金额”“合同金额 - 已收金额”“账单总和 - 已收金额”。财务口语映射:用户说“营收/收入/已收款/已收款金额”时按收款总额理解;用户说“应收款/应收金额/合同金额”时按合同总额理解,summary 里的“应收总额”是系统字段,不等同于口语应收款。项目-财务页列表传 `--matter-id`:`finance contract|invoice|income|expense|bill|reimburse list --matter-id <matterId>`;顶级财务模块列表不传 `--matter-id`,可用 `--keyword`、`--status`、`--page`、`--limit`,并会输出总览/合同/发票/收款/账单/费用/报销浏览器路由。发票 `--type` 支持 `my/open/manage`,默认 `my`;报销 `--type` 支持 `all/myReimburse/settlement`,`all` 等价于 `myReimburse`。详情用 `finance <模块> detail --id <id>`。财务模块当前只读,不做新增、编辑、删除、结算等写操作。
79
118
 
80
119
  审批列表:
81
120
 
@@ -105,11 +144,11 @@ alpha-classic-cli appro detail --id <approId> --comments 10
105
144
 
106
145
  ## 规则
107
146
 
108
- - 除非用户明确要求做 CLI 开发工作,否则只使用查询 / 读取命令。
147
+ - 除非用户明确要求做 CLI 开发工作,否则只使用查询 / 读取命令;新建任务、任务详情、任务完成/取消完成、负责人、评论、检查项写操作只能使用明确的 `task create`、`task update-detail`、`task complete`、`task uncomplete`/`task restart`、`task assignee set`/`task attendee set`、`task comment ...`、`task checkitem ...` 命令。
109
148
  - 不要输出 token 或 refreshToken。
110
149
  - 默认环境是 `prod`;需要切换时使用 `alpha-classic-cli env use <local|dev|test|prod>`,切换后重新登录。
111
150
  - 优先使用 `matter`,`project` 只是别名。
112
- - 在项目详情页里,任务表用 `matter task`。
151
+ - 在项目详情页里,任务表用 `task list --matter-id <项目ID>`。
113
152
  - 最终回答默认隐藏内部 ID,包括 `项目ID`、`审批ID`、`任务ID`、`流程任务ID`、`节点ID`、`字段ID`、`文件ID`、`评论ID`、`动态ID`;这些只留给后续 CLI 调用。`项目编号`、`审批编号` 这类业务编号可以展示。
114
153
  - 不要猜原始后端接口。只有用户明确要求调试 API 时,才使用原始 `api` 命令。
115
154
  - 回答业务问题时,优先概括清洗后的 CLI 输出,不要直接把完整原始 JSON 全贴出来,除非用户明确要看原始 JSON。