@bty/customer-service-cli 0.1.26 → 0.2.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/README.md +92 -5
- package/dist/bin.js +1831 -1135
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -72,11 +72,12 @@ cs-cli agent list
|
|
|
72
72
|
|
|
73
73
|
### 工作空间优先级
|
|
74
74
|
|
|
75
|
-
| 优先级 | 来源 | 说明
|
|
76
|
-
| --- | ----------------------- |
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
75
|
+
| 优先级 | 来源 | 说明 |
|
|
76
|
+
| --- | ----------------------- | ---------------------------- |
|
|
77
|
+
| 0 | `CS_WORKSPACE_ID` 环境变量 | env lock,最高优先级,override 硬失败(见下方"环境变量锁定") |
|
|
78
|
+
| 1 | `--workspace <id>` 参数 | 命令行临时覆盖 |
|
|
79
|
+
| 2 | `.cs-cli.json` (本地配置) | 当前目录或祖先目录 |
|
|
80
|
+
| 3 | `~/.cs-cli/config.json` | 全局默认配置 |
|
|
80
81
|
|
|
81
82
|
### 使用方式
|
|
82
83
|
|
|
@@ -110,6 +111,35 @@ CLI 从当前目录向上查找 `.cs-cli.json`,找到第一个即使用其中
|
|
|
110
111
|
|
|
111
112
|
每次写入后会提示写入的目标路径。
|
|
112
113
|
|
|
114
|
+
## 环境变量锁定(sandbox / CI)
|
|
115
|
+
|
|
116
|
+
当 sandbox、CI 等非交互环境预先注入以下环境变量时,cs-cli 会透明地把 env 作为凭据与上下文来源,并拒绝任何运行时 override(`--workspace` / `--agent` / `auth login` 等),避免下游脚本在上下文被静默切换时产生未定义行为。
|
|
117
|
+
|
|
118
|
+
| 环境变量 | 作用 |
|
|
119
|
+
| ----------------- | ------------------------- |
|
|
120
|
+
| `CS_AUTH` | 登录凭据(等同 access token)。存在即视为"已锁定" |
|
|
121
|
+
| `CS_WORKSPACE_ID` | 锁定工作空间 ID |
|
|
122
|
+
| `CS_AGENT_ID` | 锁定默认 agent ID |
|
|
123
|
+
|
|
124
|
+
处理逻辑:
|
|
125
|
+
|
|
126
|
+
1. **env 优先**:只要环境变量有值,cs-cli 就从 env 读取,忽略本地 `credentials.json` / `.cs-cli.json` / 全局配置。
|
|
127
|
+
2. **override 硬失败**:锁定后如果再通过 `--workspace` / `--agent` / `auth login` / `auth logout` / `config set-workspace` 传入不一致的值,cs-cli 立刻报错退出,不会静默覆盖。
|
|
128
|
+
3. **幂等传值**:override 与 env 值完全一致时允许通过(便于脚本显式断言)。
|
|
129
|
+
|
|
130
|
+
使用示例:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
export CS_AUTH="<your-access-token>"
|
|
134
|
+
export CS_WORKSPACE_ID="ws-abc123"
|
|
135
|
+
export CS_AGENT_ID="agent-xyz"
|
|
136
|
+
|
|
137
|
+
cs-cli agent list # 直接运行,无需 auth login
|
|
138
|
+
cs-cli --workspace ws-other agent list # ❌ 报错:CS_WORKSPACE_ID 已被锁定
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
要解除锁定,清空对应环境变量即可(`unset CS_AUTH CS_WORKSPACE_ID CS_AGENT_ID`)。
|
|
142
|
+
|
|
113
143
|
## 命令速查表
|
|
114
144
|
|
|
115
145
|
### 认证 (`auth`)
|
|
@@ -170,9 +200,12 @@ CLI 从当前目录向上查找 `.cs-cli.json`,找到第一个即使用其中
|
|
|
170
200
|
| `product get --agent <id> --product-id <商品ID>` | 获取商品详情(自动获取 db_id) |
|
|
171
201
|
| `product update --agent <id> --product-id <商品ID> --update <json\|@file>` | 更新商品信息 |
|
|
172
202
|
| `product update-sku --agent <id> --sku <SKU名称> --update <json\|@file>` | 更新 SKU 信息 |
|
|
203
|
+
| `product learn --agent <id> --url <URL...> [--source <type>] [--no-identify]` | 通过商品 URL 异步学习(manual / identify 默认开启) |
|
|
173
204
|
|
|
174
205
|
`product update` 支持更新的字段包括:`卖点`、`补充知识`、`tag`、`参数`、`轮播图识别结果`、`商品详情页识别结果` 等。`--update` 接受 JSON 字符串或 `@文件路径`。
|
|
175
206
|
|
|
207
|
+
`product learn` 提交商品详情页 URL 进入异步学习队列(`/v1/knowledge/products/upload`),返回 `flow_id` 和 `knowledge_ids`。`--url` 可多值,用空格分隔;`--source` 默认 `manual`;传 `--no-identify` 可关闭自动识别。
|
|
208
|
+
|
|
176
209
|
```bash
|
|
177
210
|
# 更新卖点
|
|
178
211
|
cs-cli product update --agent <id> --product-id <商品ID> --update '{"卖点":"新卖点内容"}'
|
|
@@ -218,6 +251,24 @@ cs-cli product update-sku --agent <id> --sku "颜色分类:粉红" --update '{"
|
|
|
218
251
|
| ---------------------------------------------------------------------------- | --------- |
|
|
219
252
|
| `faq list --agent <id>` | 列出 FAQ 文件 |
|
|
220
253
|
| `faq add --agent <id> --file <文件名> --questions <问题1,问题2> --answers <答案=xxx>` | 添加 FAQ 内容 |
|
|
254
|
+
| `faq update --agent <id> --file <文件名> --group-id <id> [--questions <...>] [--answers <...>] [--delete-chunks <id1,id2>]` | 更新已有 FAQ 答案组(`--questions` / `--answers` / `--delete-chunks` 至少一个) |
|
|
255
|
+
| `faq delete --agent <id> --file <文件名> --group-id <id>` | 删除 FAQ 答案组 |
|
|
256
|
+
|
|
257
|
+
`faq update` 按 `answer_group_id` 定位目标组,POST 同一个 `faq_contents/save` 接口完成字段替换、问题替换与 chunk 级删除。`faq delete` 走 `DELETE /faq_contents/{group_id}` 整组删除。
|
|
258
|
+
|
|
259
|
+
### 扩展知识库 (`knowledge`)
|
|
260
|
+
|
|
261
|
+
Agent 关联的通用规则知识库(`suffix_type=_common`),与 FAQ / 商品知识并列的第三类知识源,支持段落(chunk)级 CRUD,统一走 `/mebsuta/api/v1/dataset/{id}/contents/perform-operations`。
|
|
262
|
+
|
|
263
|
+
| 命令 | 说明 |
|
|
264
|
+
| --- | --- |
|
|
265
|
+
| `knowledge list --agent <id> [--page N] [--page-size N]` | 列出 Agent 关联的扩展知识库文件 |
|
|
266
|
+
| `knowledge content list --knowledge-id <id> [--page-size N] [--direction up\|down]` | 列出段落(chunk) |
|
|
267
|
+
| `knowledge content add --knowledge-id <id> --content <text\|@file> [--keyword <k...>] [--after <chunk_id>]` | 新增段落 |
|
|
268
|
+
| `knowledge content update --knowledge-id <id> --chunk-id <id> [--content <text\|@file>] [--keyword <k...>] [--enable \| --disable]` | 更新段落(四个变更字段至少一个;未指定 `--enable` / `--disable` 时自动保留当前启停状态,避免后端 enable 必填校验失败) |
|
|
269
|
+
| `knowledge content delete --knowledge-id <id> --chunk-id <id>` | 删除段落 |
|
|
270
|
+
|
|
271
|
+
`knowledge content add` / `update` 的 `--content` 支持 `@路径` 前缀从文件读取**纯文本**(不是 JSON)。`--keyword` 为 variadic 选项,空格分隔多个关键词。
|
|
221
272
|
|
|
222
273
|
|
|
223
274
|
### 会话管理 (`conversation`)
|
|
@@ -430,6 +481,42 @@ cs-cli product update-sku --agent <id> --sku "颜色分类:粉红" --update '{"
|
|
|
430
481
|
# 添加 FAQ
|
|
431
482
|
cs-cli faq add --agent <id> --file "常见问题" --questions "怎么退款,如何退款" --answers "答案=请联系客服处理退款"
|
|
432
483
|
|
|
484
|
+
# 更新已有 FAQ 组答案
|
|
485
|
+
cs-cli faq update --agent <id> --file "常见问题" --group-id 2 --answers "答案=请通过订单页面申请退款"
|
|
486
|
+
|
|
487
|
+
# 更新 FAQ 组问题 + 删除旧 chunk
|
|
488
|
+
cs-cli faq update --agent <id> --file "常见问题" --group-id 2 --questions "如何退款,怎么申请退款" --delete-chunks 3,5
|
|
489
|
+
|
|
490
|
+
# 删除整个 FAQ 答案组
|
|
491
|
+
cs-cli faq delete --agent <id> --file "常见问题" --group-id 2
|
|
492
|
+
|
|
493
|
+
# 列出 Agent 的扩展知识库
|
|
494
|
+
cs-cli knowledge list --agent <id>
|
|
495
|
+
|
|
496
|
+
# 列出某扩展知识库的段落
|
|
497
|
+
cs-cli knowledge content list --knowledge-id 622474
|
|
498
|
+
|
|
499
|
+
# 新增段落(插入到末尾)
|
|
500
|
+
cs-cli knowledge content add --knowledge-id 622474 --content "退换货需保留商品吊牌" --keyword 退换货 吊牌
|
|
501
|
+
|
|
502
|
+
# 用文件内容作为段落
|
|
503
|
+
cs-cli knowledge content add --knowledge-id 622474 --content @./rules.txt
|
|
504
|
+
|
|
505
|
+
# 修改段落内容并重设关键词
|
|
506
|
+
cs-cli knowledge content update --knowledge-id 622474 --chunk-id 2 --content "新的规则说明" --keyword 规则 说明
|
|
507
|
+
|
|
508
|
+
# 停用某段落
|
|
509
|
+
cs-cli knowledge content update --knowledge-id 622474 --chunk-id 2 --disable
|
|
510
|
+
|
|
511
|
+
# 删除段落
|
|
512
|
+
cs-cli knowledge content delete --knowledge-id 622474 --chunk-id 2
|
|
513
|
+
|
|
514
|
+
# 商品 URL 异步学习
|
|
515
|
+
cs-cli product learn --agent <id> --url https://detail.tmall.com/item.htm?id=997678657962
|
|
516
|
+
|
|
517
|
+
# 多个 URL 一次提交,且跳过自动识别
|
|
518
|
+
cs-cli product learn --agent <id> --url https://a.example/1 https://a.example/2 --no-identify
|
|
519
|
+
|
|
433
520
|
# 通过上下文内容模糊搜索对话记录(自动使用当前工作空间,查询窗口最多 3 天)
|
|
434
521
|
cs-cli conversation context-search --query "退款问题" --start 2026-03-22T00:00:00 --end 2026-03-22T23:59:59
|
|
435
522
|
|