@crabcloud/cli 0.5.0 → 0.5.3
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 +1984 -202
- package/dist/skills/crabcloud/SKILL.md +16 -5
- package/dist/skills/crabcloud-hr/SKILL.md +77 -19
- package/dist/skills/crabcloud-shop/SKILL.md +29 -9
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: crabcloud
|
|
3
|
-
description: Manage the user's Crab Cloud personal cloud account and agent tokens through the `crab` CLI — check identity/subscription/credits, list and revoke authorized agent tokens, and re-authorize with specific scopes or scope groups. Use this skill whenever the user asks about their Crab Cloud account ("我的账号信息", "who am I on crabcloud"), wants to see or clean up authorized agents/tokens ("看看我授权了哪些 agent", "revoke that old token", "撤销那个旧令牌"), manages their contacts ("我的联系人", "把 zhangsan 加到联系人", "我的邀请码"), or asks how to connect their coding agent to Crab Cloud — even if they never say "crab" or "Crab Cloud" explicitly. Contacts are managed with `crab contacts …` in this skill; email lives in the crabcloud-mail skill (crab mail …), the Drive in crabcloud-storage (crab storage …), and collab in crabcloud-collab (crab collab …).
|
|
3
|
+
description: Manage the user's Crab Cloud personal cloud account and agent tokens through the `crab` CLI — check identity/subscription/credits, list and revoke authorized agent tokens, and re-authorize with specific scopes or scope groups. Use this skill whenever the user asks about their Crab Cloud account ("我的账号信息", "who am I on crabcloud"), wants to see or clean up authorized agents/tokens ("看看我授权了哪些 agent", "revoke that old token", "撤销那个旧令牌"), manages their contacts ("我的联系人", "把 zhangsan 加到联系人", "我的邀请码"), their shipping address book ("我的收货地址", "加一个地址", "换个默认地址"), their favorites ("我的收藏", "收藏了这个商品"), or asks how to connect their coding agent to Crab Cloud — even if they never say "crab" or "Crab Cloud" explicitly. Contacts / addresses / favorites are managed with `crab contacts …` / `crab addresses …` / `crab favorites …` in this skill; email lives in the crabcloud-mail skill (crab mail …), the Drive in crabcloud-storage (crab storage …), and collab in crabcloud-collab (crab collab …).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Crab Cloud(平台 / 账号域)
|
|
@@ -8,7 +8,8 @@ description: Manage the user's Crab Cloud personal cloud account and agent token
|
|
|
8
8
|
Crab Cloud 是用户的个人云底座:账号、订阅与积分是平台层,邮箱 / 云盘 / 协作 /
|
|
9
9
|
联系人是独立应用。`crab` CLI 是 Agent 的稳定接口:凭证在用户本机
|
|
10
10
|
(`~/.config/crabcloud/credentials.json`,0600),服务端只存令牌哈希、全程审计。
|
|
11
|
-
本 skill
|
|
11
|
+
本 skill 覆盖**平台、账号域与个人资产**(联系人 `crab contacts …`、收货地址簿
|
|
12
|
+
`crab addresses …`、收藏 `crab favorites …`);邮箱见
|
|
12
13
|
`crabcloud-mail` skill(`crab mail …`),
|
|
13
14
|
云盘见 `crabcloud-storage` skill(`crab storage …`);协作见
|
|
14
15
|
`crabcloud-collab` skill(`crab collab …`)。
|
|
@@ -41,6 +42,11 @@ Crab Cloud 是用户的个人云底座:账号、订阅与积分是平台层,
|
|
|
41
42
|
| 联系人:列出 / 搜索 | `crab contacts list [query]`(`--offset`/`--limit` 分页,输出含「共 N 条」) |
|
|
42
43
|
| 联系人:添加 / 删除 | `crab contacts add <address> [--name 名] [--note 备注]` / `crab contacts rm <id|address>` |
|
|
43
44
|
| 我的邀请码、邀请链接与受邀名单 | `crab contacts invite [--reset]` / `crab contacts invitees` |
|
|
45
|
+
| 收货地址:查看 | `crab addresses list`(默认地址在前;上限 20 条) |
|
|
46
|
+
| 收货地址:新增 / 更新 | `crab addresses add --name 收件人 --phone 电话 --detail 详址 [--region 省/市/区] [--default]` / `crab addresses update <id\|名称> [--name] [--phone] [--region] [--detail] [--default\|--no-default]` |
|
|
47
|
+
| 收货地址:换默认 / 删除 | `crab addresses set-default <id\|名称>` / `crab addresses rm <id\|名称>` |
|
|
48
|
+
| 收藏:查看 / 添加 | `crab favorites list` / `crab favorites add <refId> [--meta productName=名称,storeId=店铺id]`(幂等,v1 仅 shop.product) |
|
|
49
|
+
| 收藏:查单条 / 取消 | `crab favorites check <refId>` / `crab favorites rm <refId>`(取消幂等) |
|
|
44
50
|
| 管理登录设备 / 会话、修改密码 | 网页个人中心(crabcloud.cc/account)——CLI 有意不开放 |
|
|
45
51
|
|
|
46
52
|
积分命令需 `credits.read` scope(`account` 组含它):退出码 4 报缺该 scope 时,
|
|
@@ -75,11 +81,16 @@ Crab Cloud 是用户的个人云底座:账号、订阅与积分是平台层,
|
|
|
75
81
|
- **scope 最小化**:建议按需授权(只读场景 `crab login --scopes account.read`),
|
|
76
82
|
不要怂恿用户一次性给全量 scope。`--scopes` 支持组名(`mail` = 读写搜删四项
|
|
77
83
|
整组)与单个 scope 混用;组目录见 `crab help`,可用组:account / mail /
|
|
78
|
-
storage(云盘,含素材与附件)/ collab / contacts。
|
|
84
|
+
storage(云盘,含素材与附件)/ collab / contacts / addresses / favorites。
|
|
79
85
|
- 如实转述能力边界,不要编造命令或输出:联系人用 `crab contacts`
|
|
80
86
|
(list / add / rm / invite / invitees;scope contacts.read/write,程序消费加
|
|
81
|
-
`--json
|
|
82
|
-
|
|
87
|
+
`--json`)处理;收货地址用 `crab addresses`
|
|
88
|
+
(list / add / update / set-default / rm;scope addresses.read/write)——地址簿
|
|
89
|
+
是通用收货方案,shop 结账用的是下单时的地址快照,改地址簿不影响已下单订单;
|
|
90
|
+
收藏用 `crab favorites`(list / add / check / rm;scope favorites.read/write),
|
|
91
|
+
kind 点分式「模块.资源」、v1 仅 shop.product(refId = 商品 id),删除/失效判定
|
|
92
|
+
由商城侧端点给实时状态,CLI 不猜。邮箱请求转交 `crabcloud-mail` skill,云盘
|
|
93
|
+
请求转交 `crabcloud-storage` skill,协作请求转交 `crabcloud-collab` skill
|
|
83
94
|
(`crab collab …`,已上线)。
|
|
84
95
|
- 账号安全操作(修改密码、登录设备/会话的查看与吊销)**有意不开放给 agent
|
|
85
96
|
通道**:改密对令牌持有者是账号接管面,会话属于"人的浏览器会话"。用户让
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: crabcloud-hr
|
|
3
|
-
description: HR & admin assistant via the `crab hr` CLI —
|
|
3
|
+
description: HR & admin assistant via the `crab hr` CLI — apply to create a company, manage members & permission flags, invite links with default permissions, the roster (people + event timelines + stats), dicts, tasks (with candidate form links), announcements, inbox and the desk digest. Use when the user asks anything about their company on Crab Cloud: 花名册、员工、入职、离职、合同、试用期、考勤、任务流、公告、收件箱、工作台、组织、成员、权限、邀请链接、字典、招聘收集 — even if they never say "crab".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Crab Cloud 人事行政(crab hr)
|
|
7
7
|
|
|
8
|
-
管理公司 /
|
|
8
|
+
管理公司 / 组织:成员与权限、邀请链接、花名册(人员 + 事件时间线 = 记录与证据链)、
|
|
9
|
+
字典、任务流(含候选人填单链接)、公告与收件箱、工作台聚合。独立产品
|
|
10
|
+
「人事行政 · Crab Cloud」,同一套 REST API 服务 Web 与 CLI。
|
|
9
11
|
|
|
10
|
-
跨域时参考:邮件 `crabcloud-mail`、云盘 `crabcloud-storage`、协作
|
|
12
|
+
跨域时参考:邮件 `crabcloud-mail`、云盘 `crabcloud-storage`、协作
|
|
13
|
+
`crabcloud-collab`、店铺 `crabcloud-shop`、平台账号 `crabcloud`。
|
|
11
14
|
|
|
12
15
|
## 第一步:确认可用
|
|
13
16
|
|
|
@@ -21,40 +24,95 @@ hr 命令需要 **hr scope + 组织绑定**的令牌:`crab login --scopes hr -
|
|
|
21
24
|
|
|
22
25
|
退出码:0 成功 · 2 用法错误 · 3 认证失效 · 4 scope/绑定不足 · 5 不存在 · 7 配额。
|
|
23
26
|
|
|
24
|
-
##
|
|
27
|
+
## 组织生命周期(申请-审核制)
|
|
28
|
+
|
|
29
|
+
建公司走**申请-审核**(与开店同款):提交申请 → 平台审核 → 通过时扣
|
|
30
|
+
**1 积分**并自动建司(申请人成 owner)。每账号同时只有一条待审申请。
|
|
25
31
|
|
|
26
32
|
| 意图 | 命令 |
|
|
27
33
|
|---|---|
|
|
28
34
|
| 看我在哪些公司 | `crab hr orgs` |
|
|
29
|
-
|
|
|
35
|
+
| 申请创建公司 | `crab hr org apply <名称> [--note 说明]`(审核通过自动建司,无需轮询操作) |
|
|
36
|
+
| 查申请进度 | `crab hr org application`(pending / approved〔含驳回意见〕/ 从未申请) |
|
|
37
|
+
| 组织改名 | `crab hr org rename <新名称>`(org.manage;改名后 `org:<名称>` 标识随新名) |
|
|
38
|
+
|
|
39
|
+
## 成员、权限与邀请
|
|
40
|
+
|
|
41
|
+
权限模型:角色 owner(恒全权)/ admin / member + 四项权限 flags 逐项覆盖:
|
|
42
|
+
`org.manage`(成员邀请与组织设置)、`people.write`(花名册写)、
|
|
43
|
+
`tasks.write`(任务写)、`sensitive.read`(身份证/薪资可见)。
|
|
44
|
+
|
|
45
|
+
| 意图 | 命令 |
|
|
46
|
+
|---|---|
|
|
30
47
|
| 看成员与权限 | `crab hr members` |
|
|
31
|
-
| 拉人进来 | `crab hr member add <用户名> [--title 头衔]
|
|
32
|
-
| 给人配权限 | `crab hr member set <memberId> --role admin` 或 `--permissions people.write=1,tasks.write=1
|
|
48
|
+
| 拉人进来 | `crab hr member add <用户名> [--title 头衔] [--permissions org.manage=1,...]`(缺省只读) |
|
|
49
|
+
| 给人配权限 | `crab hr member set <memberId> --role admin` 或 `--permissions people.write=1,tasks.write=1` |
|
|
33
50
|
| 移除成员 | `crab hr member rm <memberId>` |
|
|
34
|
-
|
|
|
35
|
-
|
|
|
51
|
+
| 发邀请链接 | `crab hr invite`(站内 `/join/:token` 加入页:未注册者注册即入组,已登录一键接受) |
|
|
52
|
+
| 改加入后默认权限 | `crab hr invite --permissions people.write=1`(只改配置不换链接) |
|
|
53
|
+
| 作废旧链接 | `crab hr invite --reset`(旧链立即失效,权限配置保留) |
|
|
54
|
+
|
|
55
|
+
多组织账号用 `--org org:<名称>`(或组织 id)指定;仅一个组织时自动采用。
|
|
56
|
+
|
|
57
|
+
## 花名册(员工圈,无账号)
|
|
58
|
+
|
|
59
|
+
| 意图 | 命令 |
|
|
60
|
+
|---|---|
|
|
61
|
+
| 看花名册 | `crab hr people [--q 关键字] [--status active\|probation\|resigned] [--dept]` |
|
|
62
|
+
| 统计带 | `crab hr stats`(在职/试用/离职 + 合同 60 天、试用期 30 天风险计数) |
|
|
36
63
|
| 看一个人 | `crab hr person <id>` |
|
|
37
|
-
| 入职建档 | `crab hr person create --name "姓名" --hired-at YYYY-MM-DD [--dept
|
|
64
|
+
| 入职建档 | `crab hr person create --name "姓名" --hired-at YYYY-MM-DD [--dept] [--role] [--probation-end] [--contract-type] [--contract-end]` |
|
|
38
65
|
| 转正 | `crab hr person edit <id> --status active`(自动落痕) |
|
|
39
66
|
| 办离职 | `crab hr person offboard <id> [--date YYYY-MM-DD]`(档案封存不删,记录依法保留) |
|
|
67
|
+
| 删错档案 | `crab hr person rm <id>`(**仅零记录档案可删**;有时间线服务端 409) |
|
|
40
68
|
| 记一件事 | `crab hr event add <personId> --type <onboard\|contract\|change\|attendance\|payroll\|award\|asset\|offboard\|note> --note "..." [--at YYYY-MM-DD]` |
|
|
41
69
|
| 看时间线 | `crab hr events [--person <id>] [--type <类型>]` |
|
|
42
|
-
|
|
|
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 天、过期存量风险)+ 最近动态 |
|
|
70
|
+
| 从表格导入 | `crab hr import <文件.csv|.tsv|.json>`(≤200 行,姓名/入职列必填,表头自动识别) |
|
|
46
71
|
|
|
47
|
-
|
|
72
|
+
## 字典(部门 / 岗位基础维护)
|
|
73
|
+
|
|
74
|
+
| 意图 | 命令 |
|
|
75
|
+
|---|---|
|
|
76
|
+
| 看字典 | `crab hr dicts` |
|
|
77
|
+
| 新增 | `crab hr dict add <dept\|position> <名称>`(同名幂等) |
|
|
78
|
+
| 删除 | `crab hr dict rm <entryId>`(被花名册在用服务端 409 拒删) |
|
|
79
|
+
|
|
80
|
+
## 任务流与申请单链接
|
|
81
|
+
|
|
82
|
+
| 意图 | 命令 |
|
|
83
|
+
|---|---|
|
|
84
|
+
| 看任务 | `crab hr tasks [--status alert\|confirm\|queued\|done] [--kind]` |
|
|
85
|
+
| 建任务 | `crab hr task create --kind attendance --title "9 月考勤月结" [--node] [--detail] [--due YYYY-MM-DD]` |
|
|
86
|
+
| 流转 | `crab hr task update <id> --status done` |
|
|
87
|
+
| 发候选人填单链接 | `crab hr task link <taskId>`(入职/转正/离职申请单专属;`--reset` 作废旧链) |
|
|
88
|
+
| 发入职收集链接 | `crab hr apply-link`(常驻码:候选人提交即自动生成入职申请单;`--reset` 全部作废) |
|
|
89
|
+
|
|
90
|
+
## 公告、收件箱与工作台
|
|
91
|
+
|
|
92
|
+
| 意图 | 命令 |
|
|
93
|
+
|---|---|
|
|
94
|
+
| 发公告 | `crab hr announce post <标题> --body "正文"`(org.manage;对象 = 组织全体成员) |
|
|
95
|
+
| 看公告 | `crab hr announce list [--all]`(默认只看生效;--all 含已撤回) |
|
|
96
|
+
| 撤回公告 | `crab hr announce withdraw <公告id>`(发布者本人或 org.manage;留档不删) |
|
|
97
|
+
| 查收件箱 | `crab hr inbox`(未读公告 + 待拍板任务 + 确定性提醒) |
|
|
98
|
+
| 标已读 | `crab hr inbox --seen` |
|
|
99
|
+
| **总览(推荐首入口)** | `crab hr desk`——花名册统计 + 替你盯着(合同 60 天 / 试用期 30 天 / 入职申请超时)+ 任务三段(等你拍板 / 助理在办 / 近期完成)+ 最近公告 + 最近动态,一次取全 |
|
|
48
100
|
|
|
49
101
|
## 机器可读输出(--json)
|
|
50
102
|
|
|
51
|
-
- `crab hr people --json` → `{ people: [...], total, org
|
|
52
|
-
- `crab hr
|
|
103
|
+
- `crab hr people --json` → `{ people: [...], total, org }`;人员字段 camelCase(`hiredAt`/`contractEnd` 为纪元毫秒;`idNumber`/`salaryCents` 对令牌恒为 `null`——见下方纪律)
|
|
104
|
+
- `crab hr stats --json` → `{ stats: { total, active, probation, resigned, probationDueSoon, probationOverdue, contractDueSoon, contractOverdue } }`
|
|
105
|
+
- `crab hr desk --json` → `{ stats: { total, active, … }, pending, running, done, reminders: [{ kind, text, days }], announcements: [{ title, createdByName, createdAt }], recentEvents }`
|
|
106
|
+
- `crab hr inbox --json` → `{ inbox: { lastSeenAt, announcements, unreadAnnouncementCount, pendingTasks, pendingTaskCount, reminders } }`
|
|
107
|
+
- `crab hr announce list --json` → `{ announcements: [...], total }`(status: active / withdrawn)
|
|
108
|
+
- `crab hr dicts --json` → `{ entries: [{ id, type, name }] }`
|
|
53
109
|
- `crab hr import --json` → `{ created, failed: [{ row, reason }] }`
|
|
110
|
+
- `crab hr invite --json` → `{ token, createdAt, permissions, link }`
|
|
54
111
|
|
|
55
112
|
## 纪律
|
|
56
113
|
|
|
57
114
|
- **敏感信息不主动读、读到不转述**:身份证号与薪资对 CLI/Agent 令牌在服务端就不可见(恒为 null,与「无权限」同形)。用户当面问到某人薪资时,引导其在 Web 端查看,不要猜测。
|
|
58
|
-
- **写操作先复述再执行**:建档 / 离职 / 移除成员 /
|
|
59
|
-
- 事件时间线是**劳动纠纷证据链**:只追加、不改写;`event add` 的 note
|
|
115
|
+
- **写操作先复述再执行**:建档 / 离职 / 删人 / 移除成员 / 重置邀请或收集链接 / 发公告前,先向用户复述将要发生的动作;离职是封存不是删除,但仍是敏感流转。
|
|
116
|
+
- 事件时间线是**劳动纠纷证据链**:只追加、不改写;`event add` 的 note 要写清事实(什么节点做了什么),不要写推测。有时间线的档案不可删(服务端强制)。
|
|
117
|
+
- 撤回的公告与驳回的申请都**留档不删**——不要向用户暗示记录会消失。
|
|
60
118
|
- 多组织账号务必确认 `--org` 后再写,写错组织的数据不属于本组织。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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
|
|
3
|
+
description: Manage the user's Crab Cloud shop stores through the `crab` CLI — store status, opening applications, products, stock and inventory, members and role presets. Use this skill when the user asks about their shops, wants to open or apply for a store, create or update products, adjust stock, check orders or inventory movements, manage store members/roles ("我的店铺", "开店", "上架商品", "改库存", "出入库", "商店订单", "店铺成员", "crab shop"), or asks what their stores look like — even if they never say "crab" or "Crab Cloud" explicitly.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Crab Cloud 商店(crab shop)
|
|
@@ -33,11 +33,32 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
|
|
|
33
33
|
| 看分类(多级树) | `crab shop categories --store <slug>`(缩进树 + 商品数 + id) |
|
|
34
34
|
| 加分类 / 加子分类 | `crab shop category add <名称> [--parent <id或名称>] --store <slug>`(新建落同级末尾) |
|
|
35
35
|
| 分类改名 / 排序 / 删除 | `crab shop category rename <id或名称> <新名称>` · `crab shop category move <id或名称> <up\|down>`(同级换位,边界不动)· `crab shop category delete <id或名称>`(有子级拒绝;叶子删除后商品迁入「未分类」) |
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
36
|
+
| 看商品列表 | `crab shop products [--status draft\|active\|archived] [--category <id或名称>] [--q 文本] [--limit N --offset N]`(多规格行库存 = 变体合计) |
|
|
37
|
+
| 看商品详情 | `crab shop product <id\|SKU码>`(先 id 直查、404 再按店内码反查;含规格组合与两层库存) |
|
|
38
|
+
| 新建商品 | `crab shop product create --kind physical\|digital --name 名称 --variant-mode single\|multi [--spec-axis "颜色=红,蓝"]… --price-cents 1990 [--status draft\|active]`(类型与规格模式创建即锁定;多规格可先只建轴,组合价后续 spec 配置) |
|
|
39
|
+
| 改商品资料 / 上下架 | `crab shop product update <id\|SKU码> [--name … --price-cents N --category <id\|名称\|none> --status active …]`(类型与规格模式不可变;clear 撤销划线价/限购) |
|
|
40
|
+
| 配多规格组合价 / 启停组合 | `crab shop product spec <id> --set "红,M=1990,2500,on" …`(值按轴顺序;未提及组合保持原值;不改库存) |
|
|
41
|
+
| 下架归档商品 | `crab shop product archive <id\|SKU码>`(软删;恢复 = product update --status draft) |
|
|
42
|
+
| 入库 / 出库 / 盘点 | `crab shop stock in\|out\|set <id\|SKU码> --amount N [--variant "红/M"] --note "说明"`(实物动仓库账;数字限量同命令走上架账;set 或未给 --reason 必带 --note) |
|
|
43
|
+
| 设销售库存(上架额度) | `crab shop listed <id\|SKU码> --stock N [--variant …]`(仅实物;0 ≤ N ≤ 实际库存,不够先入库) |
|
|
44
|
+
| 看出入库台账 | `crab shop movements [--product <id\|SKU码>] [--limit N --offset N]`(新→旧;发货/退款自动落账也在内) |
|
|
39
45
|
|
|
40
|
-
|
|
46
|
+
商品引用统一 `<id|SKU码>`:id 优先,SKU 码店内反查(组合码优先于商品级码)。
|
|
47
|
+
|
|
48
|
+
## 商品与库存纪律(服务端 fail-closed,客户端前置校验)
|
|
49
|
+
|
|
50
|
+
- **金额一律整数分**:所有 `--*-cents` 传整数分(1990 = $19.90),禁止元/浮点;
|
|
51
|
+
API 返回 `*_cents`,展示 ÷100 加货币符号。
|
|
52
|
+
- **类型与规格模式创建即锁**:physical/digital 与 single/multi 不可改——库存
|
|
53
|
+
挂账层级不同;单规格商品本身即唯一 SKU,多规格的码在每个组合上。
|
|
54
|
+
- **规格轴数量首次保存即锁**(轴不能增删);规格名与选项值可调,但被出入库
|
|
55
|
+
台账引用的组合删不掉(`--set "…,off"` 关闭在售代替)。
|
|
56
|
+
- **两层库存**(实物):`stock` 动的是仓库账(实际库存);`listed` 设的是
|
|
57
|
+
上架额度(可售),0 ≤ N ≤ 实际库存,不够先 `stock in` 入库再上调。
|
|
58
|
+
- **动账留痕**:`--reason purchase` 仅入库有效;set 盘点或未注明原因(落
|
|
59
|
+
manual)必须带 `--note`;退货入库与发货出库由售后/发货端点自动落账,
|
|
60
|
+
不要手工登记。
|
|
61
|
+
- 多规格商品动账/设额度必须 `--variant`(组合码 / 变体 id / "值1/值2")。
|
|
41
62
|
|
|
42
63
|
## 权限项(member edit --perms 可用值)
|
|
43
64
|
|
|
@@ -45,8 +66,8 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
|
|
|
45
66
|
`customers`(客户与归属)· `marketing`(营销)· `finance`(账单与争议)·
|
|
46
67
|
`team`(团队管理)· `settings`(店铺设置)
|
|
47
68
|
|
|
48
|
-
|
|
49
|
-
|
|
69
|
+
商品/库存命令的写操作(create/update/spec/archive/stock/listed)需要
|
|
70
|
+
`products` 权限;列表、详情与台账只需成员身份。
|
|
50
71
|
|
|
51
72
|
业务身份(--biz):`sales` / `support`,逗号分隔可多选——决定客户归属与业绩
|
|
52
73
|
归因资格,与权限正交。
|
|
@@ -55,5 +76,4 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
|
|
|
55
76
|
|
|
56
77
|
- 店主不可改权限(由店铺归属决定);改成员权限前先 `shop members` 确认目标。
|
|
57
78
|
- `shop invite --reset` 会使旧链接立即作废——先和用户确认再重置。
|
|
58
|
-
-
|
|
59
|
-
- 订单/商品/库存等经营命令按批次扩充;本 skill 随 CLI 更新同步维护。
|
|
79
|
+
- 订单/发货/售后命令按批次扩充;本 skill 随 CLI 更新同步维护。
|
package/package.json
CHANGED