@crabcloud/cli 0.3.1 → 0.5.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/dist/crab.js +2351 -188
- package/dist/skills/crabcloud-hr/SKILL.md +60 -0
- package/dist/skills/crabcloud-shop/SKILL.md +59 -0
- package/package.json +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: crabcloud-hr
|
|
3
|
+
description: HR & admin assistant via the `crab hr` CLI — manage companies/orgs, members & permission flags, the roster (people + event timelines), records/audit trail, tasks and the desk digest. Use when the user asks anything about their company on Crab Cloud: 花名册、员工、入职、离职、合同、试用期、考勤登记、任务流、工作台、组织、成员、权限、邀请链接 — even if they never say "crab".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Crab Cloud 人事行政(crab hr)
|
|
7
|
+
|
|
8
|
+
管理公司 / 组织:成员与权限、花名册(人员 + 事件时间线 = 记录与证据链)、任务流与工作台聚合。独立产品「人事行政 · Crab Cloud」,同一套 REST API 服务 Web 与 CLI。
|
|
9
|
+
|
|
10
|
+
跨域时参考:邮件 `crabcloud-mail`、云盘 `crabcloud-storage`、协作 `crabcloud-collab`、平台账号 `crabcloud`。
|
|
11
|
+
|
|
12
|
+
## 第一步:确认可用
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
crab --version
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`crab` 命令缺失 → `crab init` 只登录 + 装 skill、不含命令本体,需先 `npm i -g @crabcloud/cli@latest`。下文所有 `crab <命令>` 都可以用 `npx @crabcloud/cli <命令>` 等价执行。
|
|
19
|
+
|
|
20
|
+
hr 命令需要 **hr scope + 组织绑定**的令牌:`crab login --scopes hr --org org:<公司名>`。未绑组织或绑错组织会得到 `hr_org_not_bound` / `hr_org_mismatch`(退出码 4),按提示重新授权即可。
|
|
21
|
+
|
|
22
|
+
退出码:0 成功 · 2 用法错误 · 3 认证失效 · 4 scope/绑定不足 · 5 不存在 · 7 配额。
|
|
23
|
+
|
|
24
|
+
## 意图 → 命令映射
|
|
25
|
+
|
|
26
|
+
| 意图 | 命令 |
|
|
27
|
+
|---|---|
|
|
28
|
+
| 看我在哪些公司 | `crab hr orgs` |
|
|
29
|
+
| 新建公司 | `crab hr org create <名称>`(创建者是 owner;新令牌要重新 `crab login --scopes hr --org org:<新名>` 绑定) |
|
|
30
|
+
| 看成员与权限 | `crab hr members` |
|
|
31
|
+
| 拉人进来 | `crab hr member add <用户名> [--title 头衔]`(进来是 member 只读) |
|
|
32
|
+
| 给人配权限 | `crab hr member set <memberId> --role admin` 或 `--permissions people.write=1,tasks.write=1`(flags:org.manage / people.write / tasks.write / sensitive.read;owner 恒全权) |
|
|
33
|
+
| 移除成员 | `crab hr member rm <memberId>` |
|
|
34
|
+
| 未注册的老板要进来 | `crab hr invite`(常驻链接,注册即入组织;`--reset` 作废旧链) |
|
|
35
|
+
| 看花名册 | `crab hr people [--q 关键字] [--status active\|probation\|resigned]` |
|
|
36
|
+
| 看一个人 | `crab hr person <id>` |
|
|
37
|
+
| 入职建档 | `crab hr person create --name "姓名" --hired-at YYYY-MM-DD [--dept 部门] [--role 岗位] [--probation-end YYYY-MM-DD] [--contract-end YYYY-MM-DD]` |
|
|
38
|
+
| 转正 | `crab hr person edit <id> --status active`(自动落痕) |
|
|
39
|
+
| 办离职 | `crab hr person offboard <id> [--date YYYY-MM-DD]`(档案封存不删,记录依法保留) |
|
|
40
|
+
| 记一件事 | `crab hr event add <personId> --type <onboard\|contract\|change\|attendance\|payroll\|award\|asset\|offboard\|note> --note "..." [--at YYYY-MM-DD]` |
|
|
41
|
+
| 看时间线 | `crab hr events [--person <id>] [--type <类型>]` |
|
|
42
|
+
| 从表格导入花名册 | `crab hr import <文件.csv|.tsv|.json>`(≤200 行,姓名/入职列必填,表头自动识别) |
|
|
43
|
+
| 看任务 | `crab hr tasks [--status alert\|confirm\|queued\|done]` |
|
|
44
|
+
| 建任务 / 流转 | `crab hr task create --kind attendance --title "9 月考勤月结"`;`crab hr task update <id> --status done` |
|
|
45
|
+
| **总览(推荐首入口)** | `crab hr desk`——等你拍板 / 助理在办 / 近期完成 + 大事提醒(合同到期 60 天、试用期届满 30 天、过期存量风险)+ 最近动态 |
|
|
46
|
+
|
|
47
|
+
所有命令支持 `--json` 输出机器可读结构;多组织时用 `--org org:<名称>`(或组织 id)指定,仅一个组织时自动采用。
|
|
48
|
+
|
|
49
|
+
## 机器可读输出(--json)
|
|
50
|
+
|
|
51
|
+
- `crab hr people --json` → `{ people: [...], total, org: {...} }`;人员字段 camelCase(`hiredAt`/`contractEnd` 为纪元毫秒;`idNumber`/`salaryCents` 对令牌恒为 `null`——见下方纪律)
|
|
52
|
+
- `crab hr desk --json` → `{ pending: [...], running: [...], done: [...], reminders: [{ text, days }], recentEvents: [...] }`
|
|
53
|
+
- `crab hr import --json` → `{ created, failed: [{ row, reason }] }`
|
|
54
|
+
|
|
55
|
+
## 纪律
|
|
56
|
+
|
|
57
|
+
- **敏感信息不主动读、读到不转述**:身份证号与薪资对 CLI/Agent 令牌在服务端就不可见(恒为 null,与「无权限」同形)。用户当面问到某人薪资时,引导其在 Web 端查看,不要猜测。
|
|
58
|
+
- **写操作先复述再执行**:建档 / 离职 / 移除成员 / 重置邀请链接前,先向用户复述将要发生的动作;离职是封存不是删除,但仍是敏感流转。
|
|
59
|
+
- 事件时间线是**劳动纠纷证据链**:只追加、不改写;`event add` 的 note 要写清事实(什么节点做了什么),不要写推测。
|
|
60
|
+
- 多组织账号务必确认 `--org` 后再写,写错组织的数据不属于本组织。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: crabcloud-shop
|
|
3
|
+
description: Manage the user's Crab Cloud shop stores through the `crab` CLI — store status, opening applications, products, members and role presets. Use this skill when the user asks about their shops, wants to open or apply for a store, check orders or products, manage store members/roles ("我的店铺", "开店", "商店订单", "店铺成员", "crab shop"), or asks what their stores look like — even if they never say "crab" or "Crab Cloud" explicitly.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Crab Cloud 商店(crab shop)
|
|
7
|
+
|
|
8
|
+
用户的 Crab Cloud 账号可以开店卖数字/实物商品(无账号买家直购、平台代收款)。
|
|
9
|
+
本 skill 覆盖商店域的 agent 通道;账号/令牌管理见 `crabcloud` skill。
|
|
10
|
+
|
|
11
|
+
## 第一步:确认可用
|
|
12
|
+
|
|
13
|
+
- 运行 `crab --version` 确认已安装。本机没有 `crab` 命令时引导
|
|
14
|
+
`npm i -g @crabcloud/cli@latest` 安装;不想装全局则下文所有 `crab <命令>`
|
|
15
|
+
直接 `npx @crabcloud/cli <命令>` 等价执行。
|
|
16
|
+
- 未登录(退出码 3)引导用户 `crab login`(商店命令跟随登录身份的店铺成员
|
|
17
|
+
关系鉴权;成员权限不足会返回 `missing permission: <项>`,如实转述缺哪项)。
|
|
18
|
+
- **多店账号**:先 `crab shop use <slug>` 设置当前店(持久保存,店级命令
|
|
19
|
+
缺省作用于它);单条命令也可 `--store <slug>` 临时覆盖。只有一家店时全部
|
|
20
|
+
自动选中。
|
|
21
|
+
|
|
22
|
+
## 意图 → 命令映射
|
|
23
|
+
|
|
24
|
+
| 用户意图 | 命令 |
|
|
25
|
+
|---|---|
|
|
26
|
+
| 我有哪些店 / 开店申请进度 | `crab shop status [--json]` |
|
|
27
|
+
| 切换当前管理的店(多店账号) | `crab shop use <slug>`(持久;status 里 ★ = 当前店) |
|
|
28
|
+
| 开店 / 再开一家 | `crab shop apply <店铺名> [--tagline 一句话介绍]` |
|
|
29
|
+
| 店铺角色预设(权限模板) | `crab shop roles --store <slug>` |
|
|
30
|
+
| 店铺成员(权限组合/业务身份) | `crab shop members --store <slug>` |
|
|
31
|
+
| 改成员权限 / 业务身份 | `crab shop member edit <用户名> --perms products,orders --biz sales --store <slug>` |
|
|
32
|
+
| 查看 / 重置常驻邀请链接 | `crab shop invite [--reset --perms orders,customers --biz sales] --store <slug>` |
|
|
33
|
+
| 看分类(多级树) | `crab shop categories --store <slug>`(缩进树 + 商品数 + id) |
|
|
34
|
+
| 加分类 / 加子分类 | `crab shop category add <名称> [--parent <id或名称>] --store <slug>`(新建落同级末尾) |
|
|
35
|
+
| 分类改名 / 排序 / 删除 | `crab shop category rename <id或名称> <新名称>` · `crab shop category move <id或名称> <up\|down>`(同级换位,边界不动)· `crab shop category delete <id或名称>`(有子级拒绝;叶子删除后商品迁入「未分类」) |
|
|
36
|
+
| 看规格库模板 | `crab shop specs --store <slug>`(名称/选项值/引用商品数) |
|
|
37
|
+
| 建 / 改规格模板 | `crab shop spec add <名称> --values <值1,值2,…>` · `crab shop spec update <id或名称> [--name <新名>] [--values <a,b,c>]` |
|
|
38
|
+
| 删规格模板 | `crab shop spec delete <id或名称>`(引用 = 快照拷贝:已建商品不受影响) |
|
|
39
|
+
|
|
40
|
+
分类/模板的 `<id或名称>` 参数:id 优先,名称须唯一(重名会提示改用 id)。
|
|
41
|
+
|
|
42
|
+
## 权限项(member edit --perms 可用值)
|
|
43
|
+
|
|
44
|
+
`products`(商品与库存)· `orders`(订单与发货)· `aftercare`(售后与退款)·
|
|
45
|
+
`customers`(客户与归属)· `marketing`(营销)· `finance`(账单与争议)·
|
|
46
|
+
`team`(团队管理)· `settings`(店铺设置)
|
|
47
|
+
|
|
48
|
+
分类与规格库的写操作(add/rename/move/delete)需要 `products` 权限;列表
|
|
49
|
+
只需成员身份。
|
|
50
|
+
|
|
51
|
+
业务身份(--biz):`sales` / `support`,逗号分隔可多选——决定客户归属与业绩
|
|
52
|
+
归因资格,与权限正交。
|
|
53
|
+
|
|
54
|
+
## 纪律
|
|
55
|
+
|
|
56
|
+
- 店主不可改权限(由店铺归属决定);改成员权限前先 `shop members` 确认目标。
|
|
57
|
+
- `shop invite --reset` 会使旧链接立即作废——先和用户确认再重置。
|
|
58
|
+
- 金额一律整数分(API 返回 `*_cents`,展示 ÷100 加货币符号)。
|
|
59
|
+
- 订单/商品/库存等经营命令按批次扩充;本 skill 随 CLI 更新同步维护。
|
package/package.json
CHANGED