siluzan-website-cli 1.0.1-beta.4 → 1.0.1-beta.6
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 +21 -3
- package/dist/index.js +901 -15
- package/dist/skill/SKILL.md +29 -18
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/references/plugins.md +3 -0
- package/dist/skill/references/provision.md +50 -0
- package/dist/skill/references/sites.md +8 -3
- package/dist/skill/references/zasp-recommender.md +256 -0
- package/dist/skill/scripts/install.ps1 +1 -1
- package/dist/skill/scripts/install.sh +1 -1
- package/package.json +1 -1
package/dist/skill/SKILL.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: siluzan-website
|
|
3
3
|
description: >-
|
|
4
|
-
管理丝路赞 WordPress 站点(wp-k8s
|
|
5
|
-
当用户提到 WordPress
|
|
6
|
-
|
|
4
|
+
管理丝路赞 WordPress 站点(wp-k8s 托管):选套餐/模板开通新站、列出站点、页面/文章/产品、媒体、分类、插件。
|
|
5
|
+
当用户提到 WordPress、建站、选套餐、选模板、试用站、创建网站、建站后台、新增页面、发文章、上传图片、改官网、装插件、
|
|
6
|
+
AI 推荐、相关推荐、zasp、zasp-smart-recommender、B2B Site AI、
|
|
7
|
+
站点 guid、siluzan-website、zionbuilder、visual-edit、website-provision 时使用。不是 LPS / AI Sites,也不是 SEO JSON 生成。
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# siluzan-website
|
|
10
11
|
|
|
11
|
-
管理用户账号下的 **WordPress 站点**(TSO 建站 / wp-k8s)。通过 CLI
|
|
12
|
+
管理用户账号下的 **WordPress 站点**(TSO 建站 / wp-k8s)。通过 CLI 调主站 `website-provision` / `all-sites` 与站点 WP REST,不要手写 curl,不要猜 guid / 页面 ID,**不要直连 SiteMan**。
|
|
12
13
|
|
|
13
|
-
**不是** `landing-page-system` 的 LPS Agent,也不是 `siluzan-seo` 的 schema
|
|
14
|
+
**不是** `landing-page-system` 的 LPS Agent,也不是 `siluzan-seo` 的 schema 生成。用户要「开通新站 / 我的官网加一页 / 发资讯 / 装插件」才用本 Skill。
|
|
14
15
|
|
|
15
16
|
## 一键安装
|
|
16
17
|
|
|
@@ -38,7 +39,12 @@ Windows 注意:部分 Agent 通过 PowerShell / cmd 代执行时可能失败
|
|
|
38
39
|
| `siluzan-website login` / `send-login-code` | 登录并保存 API Key | [references/setup.md](references/setup.md) |
|
|
39
40
|
| `siluzan-website config show/set/clear` | 查看 / 写入凭据 | [references/setup.md](references/setup.md) |
|
|
40
41
|
| `siluzan-website init` / `update` | 写入 / 刷新 Skill 文件 | [references/setup.md](references/setup.md) |
|
|
42
|
+
| `siluzan-website packages list` | 可售套餐 | [references/provision.md](references/provision.md) |
|
|
43
|
+
| `siluzan-website templates list/get` | 建站模板 | [references/provision.md](references/provision.md) |
|
|
44
|
+
| `siluzan-website trial status` | 试用额度 | [references/provision.md](references/provision.md) |
|
|
45
|
+
| `siluzan-website bills create/get` | 套餐账单与支付状态 | [references/provision.md](references/provision.md) |
|
|
41
46
|
| `siluzan-website sites list` | 列出我的 WordPress 站点 | [references/sites.md](references/sites.md) |
|
|
47
|
+
| `siluzan-website sites create/status/bind` | 开通 / 状态 / 挂接补偿 | [references/provision.md](references/provision.md) |
|
|
42
48
|
| `siluzan-website pages list/get/add/update/meta/trash` | Zion 页面 + 元数据 / 回收站 | [references/pages.md](references/pages.md) |
|
|
43
49
|
| `siluzan-website content types/list/get/add/update/trash` | 文章/产品等 REST 类型 | [references/content.md](references/content.md) |
|
|
44
50
|
| `siluzan-website media list/get/upload` | 媒体库 | [references/media.md](references/media.md) |
|
|
@@ -46,6 +52,7 @@ Windows 注意:部分 Agent 通过 PowerShell / cmd 代执行时可能失败
|
|
|
46
52
|
| `siluzan-website search` | 全站搜索 | [references/search.md](references/search.md) |
|
|
47
53
|
| `siluzan-website plugins list/catalog/install/update/uninstall` | 已装列表 / 目录 / 安装 / 升级 / 卸载 | [references/plugins.md](references/plugins.md) |
|
|
48
54
|
| `siluzan-website plugins helper-status/update-helper` | 查看 / 用镜像 zip 升级 helper | [references/plugins.md](references/plugins.md) |
|
|
55
|
+
| `siluzan-website zasp settings/set/sync/status/recommend` | AI 推荐插件配置与验收 | [references/zasp-recommender.md](references/zasp-recommender.md) |
|
|
49
56
|
|
|
50
57
|
---
|
|
51
58
|
|
|
@@ -54,6 +61,7 @@ Windows 注意:部分 Agent 通过 PowerShell / cmd 代执行时可能失败
|
|
|
54
61
|
| 用户在做什么 | 先读 | 再执行 |
|
|
55
62
|
|--------------|------|--------|
|
|
56
63
|
| 首次安装 / 登录 | `references/setup.md` | `login` 或复用已有 CSO/TSO 凭据 |
|
|
64
|
+
| **选套餐 / 选模板 / 试用或付费开站** | `references/provision.md` | packages → templates → trial/bills → 确认 → sites create |
|
|
57
65
|
| 我有哪些网站 | `references/sites.md` | `sites list`,不要猜 guid |
|
|
58
66
|
| 加一页 / 改一页正文 | `references/pages.md` | 先 `sites list` 再 `pages add/update` |
|
|
59
67
|
| 改页面 slug / 状态 / 回收站 | `references/pages.md` | `pages meta` / `pages trash` |
|
|
@@ -62,29 +70,32 @@ Windows 注意:部分 Agent 通过 PowerShell / cmd 代执行时可能失败
|
|
|
62
70
|
| 分类标签 | `references/terms.md` | `terms list` 再 add/update |
|
|
63
71
|
| 按关键词找内容 | `references/search.md` | `search --q` |
|
|
64
72
|
| 这个站装了哪些插件 | `references/plugins.md` | `plugins list`(全部已装,不只是目录) |
|
|
65
|
-
| 安装 / 启用目录插件 | `references/plugins.md` | `plugins catalog
|
|
73
|
+
| 安装 / 启用目录插件 | `references/plugins.md` | `plugins catalog` → 确认 → `install --slug` |
|
|
66
74
|
| 安装外部插件 | `references/plugins.md` | 确认 → `install --zip` |
|
|
67
|
-
| 升级已装插件 | `references/plugins.md` | `list`
|
|
68
|
-
| 卸载插件 | `references/plugins.md` | `list`
|
|
75
|
+
| 升级已装插件 | `references/plugins.md` | `list` → 确认 → `update --plugin` |
|
|
76
|
+
| 卸载插件 | `references/plugins.md` | `list` → 确认 → `uninstall --plugin` |
|
|
77
|
+
| 配置 / 验收 AI 推荐(zasp) | `references/zasp-recommender.md` | 确认已装 → `zasp settings` → `set` / `sync` |
|
|
69
78
|
|
|
70
79
|
---
|
|
71
80
|
|
|
72
81
|
## AI 行为规范
|
|
73
82
|
|
|
74
83
|
1. **计划 → 确认 → 执行 → 验证**
|
|
75
|
-
- 写操作(`pages add/update/meta/trash`、`content add/update/trash`、`media upload`、`terms add/update/delete`、`plugins install/update/uninstall/update-helper
|
|
76
|
-
- 只读(`sites list`、`pages list/get`、`content types/list/get`、`media list/get`、`terms taxonomies/list`、`search`、`plugins list/catalog/helper-status`、`config show`)可直接跑。
|
|
77
|
-
2. **不猜 ID**:站点用 `sites list` 的 `guid`;页面用 `pages list` 的 `id
|
|
78
|
-
3. **先查再写**:改页面前先 `pages list`
|
|
79
|
-
4. **只认 API Key**:所有命令走 `x-api-key
|
|
80
|
-
5.
|
|
81
|
-
6. **失败先自救**:401 →
|
|
82
|
-
7. **不传任意下载 URL**:外部插件只接受本地 `--zip`。
|
|
84
|
+
- 写操作(`bills create`、`sites create/bind`、`pages add/update/meta/trash`、`content add/update/trash`、`media upload`、`terms add/update/delete`、`plugins install/update/uninstall/update-helper`、`zasp set/sync`)会立刻生效,执行前必须复述目标与内容,获得用户确认。
|
|
85
|
+
- 只读(`packages/templates/trial`、`bills get`、`sites list/status`、`pages list/get`、`content types/list/get`、`media list/get`、`terms taxonomies/list`、`search`、`plugins list/catalog/helper-status`、`zasp settings/schema/status/diagnostics`、`config show`)可直接跑。
|
|
86
|
+
2. **不猜 ID**:站点用 `sites list` 的 `guid`;页面用 `pages list` 的 `id`;套餐/模板用 list 返回的 id。
|
|
87
|
+
3. **先查再写**:改页面前先 `pages list`;开站前先 `trial status` 或 `bills get`。
|
|
88
|
+
4. **只认 API Key**:所有命令走 `x-api-key`。Agent 沙箱只注入 Key,不要向用户要 JWT,也不要设 `SILUZAN_AUTH_TOKEN`,不要直连 ussiteman。
|
|
89
|
+
5. **命令透明**:用一句话说明意图;用户要细节时再给完整命令。
|
|
90
|
+
6. **失败先自救**:401 → 重新 `login`;开站失败勿盲目重试 POST;`site_created_unbound` → `sites bind`;helper 404 → 自动升 helper。不要编造成功。
|
|
91
|
+
7. **不传任意下载 URL**:外部插件只接受本地 `--zip`。
|
|
83
92
|
|
|
84
93
|
### 本版明确不做
|
|
85
94
|
|
|
86
|
-
-
|
|
95
|
+
- CLI / Agent 直连 SiteMan(ussiteman)
|
|
96
|
+
- 删除 / 重启站点
|
|
87
97
|
- 绑定域名 / CDN / SSL
|
|
88
98
|
- 单独停用插件但留在磁盘(停用只作为卸载的一步)
|
|
89
|
-
-
|
|
99
|
+
- 用 API 写入 `ZASP_PROXY_KEY`(K8s 环境变量)
|
|
90
100
|
- LPS / AI Sites / SEO JSON 灌入
|
|
101
|
+
- Agent 静默代扣 / 伪造已支付账单
|
package/dist/skill/_meta.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "siluzan-website",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
4
|
-
"publishedAt":
|
|
3
|
+
"version": "1.0.1-beta.6",
|
|
4
|
+
"publishedAt": 1790567480723,
|
|
5
5
|
"homepage": "https://www.siluzan.com",
|
|
6
6
|
"source": "https://dev.azure.com/jack4it/Sammamish/_git/siluzan-skill",
|
|
7
7
|
"requiredBinaries": [
|
|
@@ -66,6 +66,8 @@ siluzan-website plugins uninstall --site <guid> --plugin dummy-plugin/dummy-plug
|
|
|
66
66
|
|
|
67
67
|
`--plugin` 与 `plugins list` 的 plugin 列一致;只写目录名且能唯一对上也可以。
|
|
68
68
|
|
|
69
|
+
装完或升完 `zasp-smart-recommender` 之后,用 [zasp-recommender.md](zasp-recommender.md) 配相关推荐、内置/自定义 AI、向量库和同步。不要手写 curl,不要向用户要 Application Password。
|
|
70
|
+
|
|
69
71
|
## helper
|
|
70
72
|
|
|
71
73
|
```bash
|
|
@@ -84,6 +86,7 @@ siluzan-website plugins update-helper --site <guid>
|
|
|
84
86
|
5. 用户要卸载 → `list` 拿到 `plugin` → 确认不是 helper / oauth2 → `uninstall --plugin`
|
|
85
87
|
6. catalog / install / update 报路由 404 → 命令会自动 `update-helper` 再重试;oauth2 本身 404 / 401 → 告诉用户要先 SiteMan 镜像升级
|
|
86
88
|
7. 装完看复核列表是否 `active`;卸完确认列表里已经没有该项
|
|
89
|
+
8. 装的是 `zasp-smart-recommender` → 转 [zasp-recommender.md](zasp-recommender.md) 用 `zasp settings / set / sync` 配业务,不要停在「已安装」
|
|
87
90
|
|
|
88
91
|
匹配到多个目录项时让用户选,不要猜。
|
|
89
92
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 对话开通站点(provision)
|
|
2
|
+
|
|
3
|
+
通过主站 `website-provision` API 完成选套餐 → 支付/试用 → 选模板 → 创建站。
|
|
4
|
+
**禁止**直连 ussiteman,**禁止**向用户要 JWT。只使用 API Key + 本 Skill CLI。
|
|
5
|
+
|
|
6
|
+
## 对话 SOP
|
|
7
|
+
|
|
8
|
+
1. `packages list` — 列套餐并与用户选定(或确认走试用)
|
|
9
|
+
2. 付费:`bills create --package <id>` → 把 `checkoutUrl` 给用户 → 用户付完后 `bills get --id <billId>` 确认 Paid
|
|
10
|
+
3. `templates list --package <id>` — 选定模板;需要时 `templates get --id`
|
|
11
|
+
4. `trial status` — 试用路径先看剩余次数(上限 3)
|
|
12
|
+
5. **复述计划并获用户确认**(站名、区域 US/CN、语种、套餐、模板、试用或账单号)
|
|
13
|
+
6. `sites create --name … --region … --package … --template … --site-lang … --admin-lang … [--bill …] [--wait]`
|
|
14
|
+
7. 若返回 `site_created_unbound`:`sites bind --site <guid> --name <同名> --region …`
|
|
15
|
+
8. `sites status` / `sites list` 核对 Online 后,再交给 pages / plugins 等运维命令
|
|
16
|
+
|
|
17
|
+
## 写操作确认
|
|
18
|
+
|
|
19
|
+
`bills create`、`sites create`、`sites bind` 执行前必须复述参数并获得用户明确同意。
|
|
20
|
+
创建站**不可盲目重试**;失败后先 `sites list` / `trial status` / `bills get` 排查。
|
|
21
|
+
|
|
22
|
+
## 命令速查
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
siluzan-website packages list
|
|
26
|
+
siluzan-website templates list --package <packageId>
|
|
27
|
+
siluzan-website templates get --id <siteTemplateId>
|
|
28
|
+
siluzan-website trial status
|
|
29
|
+
siluzan-website bills create --package <packageId> --channel Monthly
|
|
30
|
+
siluzan-website bills get --id <billId>
|
|
31
|
+
siluzan-website sites create --name "Acme" --region US --package <id> --template <id> --site-lang en_US --admin-lang en_US
|
|
32
|
+
siluzan-website sites create ... --bill <billId> --wait
|
|
33
|
+
siluzan-website sites status --site <guid> --region US
|
|
34
|
+
siluzan-website sites bind --site <guid> --region US --name "Acme"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 常见错误
|
|
38
|
+
|
|
39
|
+
| 现象 | 处理 |
|
|
40
|
+
|------|------|
|
|
41
|
+
| trial_exhausted / trials | 试用已满 3 次,引导付费账单路径 |
|
|
42
|
+
| bill_unpaid / bill_owner_mismatch | 查 `bills get`;勿用他人账单号 |
|
|
43
|
+
| site_created_unbound | 跑 `sites bind`,再 `sites list` |
|
|
44
|
+
| 503 disabled | 主站 WebsiteProvision 功能开关关闭 |
|
|
45
|
+
|
|
46
|
+
## 明确不做
|
|
47
|
+
|
|
48
|
+
- CLI 直连 SiteMan / 注入 `SILUZAN_AUTH_TOKEN` 开通
|
|
49
|
+
- 删除站、重启、绑域名、CDN、SSL
|
|
50
|
+
- AI Sites / LPS 静态建站
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 站点列表与开通
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 列表
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
siluzan-website sites list
|
|
@@ -10,7 +10,11 @@ siluzan-website sites list --json
|
|
|
10
10
|
|
|
11
11
|
走主站 `GET /query/profile/steward-individual/all-sites`(与 TSO 建站后台同一接口)。
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## 开通 / 状态 / 挂接
|
|
14
|
+
|
|
15
|
+
见 [provision.md](provision.md)。创建走 `POST /website-provision/sites`,**不**直连 SiteMan。
|
|
16
|
+
|
|
17
|
+
## 返回字段(list)
|
|
14
18
|
|
|
15
19
|
| 字段 | 含义 |
|
|
16
20
|
|------|------|
|
|
@@ -33,3 +37,4 @@ siluzan-website sites list --json
|
|
|
33
37
|
2. 多个站点时让用户选,不要猜。
|
|
34
38
|
3. 后续页面 / 插件命令传 `--site <guid>`。名称唯一时 `--site 名称` 也可以。
|
|
35
39
|
4. 需要对返回结果做筛选时加 `--json`,再在本地处理;不要编造 guid。
|
|
40
|
+
5. 用户要「新建站」时走 [provision.md](provision.md),不要只用 list。
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# zasp-smart-recommender(AI 推荐)
|
|
2
|
+
|
|
3
|
+
装完官方目录里的 `zasp-smart-recommender` 之后,用本组命令改插件设置。不要打开后台表单,不要改 `options.php`,不要手写 curl。
|
|
4
|
+
|
|
5
|
+
鉴权与其它 website 命令一样:**API Key(x-api-key)**。不要向用户要 WordPress Application Password。
|
|
6
|
+
|
|
7
|
+
底层是站点 `GET/PATCH /wp-json/zasp-b2b/v2/settings`、`POST /sync`、`GET /status`。`ZASP_PROXY_KEY` 是 K8s 环境变量,**本命令写不了**(仅 `ai_provider` / `vector_provider` 为 builtin 时需要)。
|
|
8
|
+
|
|
9
|
+
**两个开关互相独立**:
|
|
10
|
+
|
|
11
|
+
| 开关 | 取值 | 含义 |
|
|
12
|
+
|------|------|------|
|
|
13
|
+
| `ai_provider` | `builtin` | 对话走丝路赞平台代理 |
|
|
14
|
+
| | `custom` | 对话走自己的 OpenAI 兼容接口(场景 3) |
|
|
15
|
+
| `vector_provider` | `builtin` | 向量走平台代理 |
|
|
16
|
+
| | `dashvector` | 自建阿里云 DashVector(场景 4) |
|
|
17
|
+
| | `generic` | 自建 HTTP 向量网关(场景 5) |
|
|
18
|
+
| | `none` | 不用向量库 |
|
|
19
|
+
|
|
20
|
+
改设置只传要改的字段,其它保持原值。密钥字段 `ai_api_key` / `vector_api_key` / `vector_embed_api_key`:GET 只回 `has_*` 布尔;`--set` 传新字符串=覆盖;不传=保留;`--clear-*-key`=清空。不要把密钥打印进聊天记录。
|
|
21
|
+
|
|
22
|
+
路由 404:插件没装或版本太旧。先 `plugins list`,再 `plugins catalog` / `install --slug zasp-smart-recommender` 或 `update --plugin zasp-smart-recommender/zasp-smart-recommender`。
|
|
23
|
+
|
|
24
|
+
关系审核 `POST /relations/{id}/review` 目前可能不可用,用户未明确要求时跳过。不要编造不存在的字段。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 命令
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
siluzan-website zasp settings --site <guid>
|
|
32
|
+
siluzan-website zasp settings --site <guid> --json
|
|
33
|
+
siluzan-website zasp schema --site <guid>
|
|
34
|
+
siluzan-website zasp set --site <guid> --set related_enabled=1 --set related_limit=6
|
|
35
|
+
siluzan-website zasp set --site <guid> --body "{\"ai_provider\":\"builtin\",\"vector_provider\":\"builtin\"}"
|
|
36
|
+
siluzan-website zasp set --site <guid> --body-file ./patch.json
|
|
37
|
+
siluzan-website zasp set --site <guid> --clear-ai-key
|
|
38
|
+
siluzan-website zasp sync --site <guid>
|
|
39
|
+
siluzan-website zasp status --site <guid>
|
|
40
|
+
siluzan-website zasp diagnostics --site <guid>
|
|
41
|
+
siluzan-website zasp recommend --site <guid> --query "stainless steel valve"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`set` 是写操作,执行前必须复述站点与将要改的字段,获得用户确认。`settings` / `schema` / `status` 只读,可直接跑。
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 场景 0:先看当前配置(每次改之前建议先做)
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
siluzan-website zasp settings --site <guid> --json
|
|
52
|
+
siluzan-website zasp schema --site <guid>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
看 `settings.*`(已保存)和 `runtime.*`(是否真能连上、上次同步)。`runtime.sync_state.error` 非空 = 上次同步失败,先修配置再 sync。
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 场景 1:打开页面「相关推荐」,显示 6 条
|
|
60
|
+
|
|
61
|
+
商品详情页 Smart Related Products,最多 6 个(上限 10)。对话框推荐上限仍是 50,不受 `related_limit` 影响。
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
siluzan-website zasp set --site <guid> --set related_enabled=1 --set related_limit=6 --set related_selector=section.related.products
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
| 字段 | 含义 |
|
|
68
|
+
|------|------|
|
|
69
|
+
| `related_enabled` | `1` 开 / `0` 关 |
|
|
70
|
+
| `related_limit` | 页面条数,1–10 |
|
|
71
|
+
| `related_selector` | 前端注入节点;Woo 默认 `section.related.products` |
|
|
72
|
+
|
|
73
|
+
关掉:`--set related_enabled=0`。只改相关推荐一般**不用** sync。
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 场景 2:用丝路赞内置代理(最常见上线配置)
|
|
78
|
+
|
|
79
|
+
AI + 向量都走平台代理,站点侧不存 DashVector/百炼密钥。前提:站点环境已注入 `ZASP_PROXY_KEY`。
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
siluzan-website zasp set --site <guid> --body "{\"ai_provider\":\"builtin\",\"vector_provider\":\"builtin\",\"platform_proxy_base\":\"\",\"auto_sync\":1}"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
| 字段 | 含义 |
|
|
86
|
+
|------|------|
|
|
87
|
+
| `ai_provider: builtin` | 对话走平台代理 |
|
|
88
|
+
| `vector_provider: builtin` | 向量 upsert/search 走平台代理 |
|
|
89
|
+
| `platform_proxy_base: ""` | 空=按站点域名自动选 CI/Prod 代理;只有要强制指定时才填 URL |
|
|
90
|
+
| `auto_sync: 1` | 商品发布/更新/下架时自动推向量 |
|
|
91
|
+
|
|
92
|
+
强制 CI 代理:`--set platform_proxy_base=https://chatgpt-ci.mysiluzan.com`。然后全量同步(场景 8)。
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 场景 3:自定义 AI(用自己的大模型,不走平台代理)
|
|
97
|
+
|
|
98
|
+
对应后台「AI → 自定义」。`ai_provider` 必须 `"custom"`,否则填了 endpoint 也不会走。接口需兼容 `POST …/v1/chat/completions`。只影响对话 / 查询规划 / AI 抽取;向量仍由 `vector_provider` 单独决定。
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
siluzan-website zasp set --site <guid> --body "{\"ai_provider\":\"custom\",\"ai_endpoint\":\"https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions\",\"ai_model\":\"qwen-plus\",\"ai_api_key\":\"sk-你的模型Key\",\"ai_timeout\":30}"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
| 字段 | 必填 | 含义 |
|
|
105
|
+
|------|------|------|
|
|
106
|
+
| `ai_provider` | 是 | 固定 `custom` |
|
|
107
|
+
| `ai_endpoint` | 是 | 完整 Chat Completions URL |
|
|
108
|
+
| `ai_model` | 是 | 如 `qwen-plus`、`deepseek-chat` |
|
|
109
|
+
| `ai_api_key` | 视网关 | Bearer;不传则保留旧值 |
|
|
110
|
+
| `ai_timeout` | 否 | 10–90 秒,默认 30 |
|
|
111
|
+
|
|
112
|
+
DeepSeek:`ai_endpoint=https://api.deepseek.com/chat/completions`,`ai_model=deepseek-chat`。切回内置:`--set ai_provider=builtin`。只改 AI **不必** sync。验收:`settings --json` 里 `runtime.ai_configured` 为 true。
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 场景 4:自定义向量库 — DashVector(阿里云)
|
|
117
|
+
|
|
118
|
+
`vector_provider` 必须 `dashvector`。Collection 维度必须 = `vector_embed_dimension`(常用 1024)。可与 AI 的 builtin/custom 任意组合。
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
siluzan-website zasp set --site <guid> --body-file dashvector.json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
`dashvector.json` 示例:
|
|
125
|
+
|
|
126
|
+
```json
|
|
127
|
+
{
|
|
128
|
+
"vector_provider": "dashvector",
|
|
129
|
+
"vector_endpoint": "vrs-cn-xxx.dashvector.cn-hangzhou.aliyuncs.com",
|
|
130
|
+
"vector_collection": "zasp_wp_products",
|
|
131
|
+
"vector_api_key": "你的DashVector-API-KEY",
|
|
132
|
+
"vector_site_id": "",
|
|
133
|
+
"vector_embed_endpoint": "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings",
|
|
134
|
+
"vector_embed_model": "text-embedding-v4",
|
|
135
|
+
"vector_embed_dimension": 1024,
|
|
136
|
+
"vector_embed_api_key": "sk-你的百炼EmbeddingKey",
|
|
137
|
+
"auto_sync": 1
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
| 字段 | 必填 | 含义 |
|
|
142
|
+
|------|------|------|
|
|
143
|
+
| `vector_endpoint` | 是 | Cluster,可只填主机名 |
|
|
144
|
+
| `vector_collection` | 是 | 不存在时可按维度自动创建 |
|
|
145
|
+
| `vector_api_key` | 是 | DashVector 控制台 API-KEY |
|
|
146
|
+
| `vector_site_id` | 否 | 空=自动探测;改了必须重新全量 sync |
|
|
147
|
+
| `vector_embed_*` | 是 | 商品文本 → 向量;新加坡用 `dashscope-intl.aliyuncs.com` |
|
|
148
|
+
|
|
149
|
+
改完必须 `zasp sync`。验收:`runtime.vector_configured === true` 且 sync `ok: true`。
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 场景 5:自定义向量库 — Generic HTTP 网关
|
|
154
|
+
|
|
155
|
+
`vector_provider` 必须 `generic`。Search / Upsert / Delete 都 POST JSON,带 `action`、`collection`、`site_id`;Search 响应需含 `post_ids`。Embedding 仍由插件侧 `vector_embed_*` 完成。
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"vector_provider": "generic",
|
|
160
|
+
"vector_endpoint": "https://vector-gateway.example.com/v1/search",
|
|
161
|
+
"vector_upsert_endpoint": "https://vector-gateway.example.com/v1/write",
|
|
162
|
+
"vector_collection": "zasp_wp_products",
|
|
163
|
+
"vector_api_key": "你的网关Token",
|
|
164
|
+
"vector_site_id": "",
|
|
165
|
+
"vector_embed_endpoint": "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings",
|
|
166
|
+
"vector_embed_model": "text-embedding-v4",
|
|
167
|
+
"vector_embed_dimension": 1024,
|
|
168
|
+
"vector_embed_api_key": "sk-你的EmbeddingKey",
|
|
169
|
+
"auto_sync": 1
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
网关协议:Search body `{"action":"search","collection":"...","site_id":"...","query":"...","top_k":50,"filter_post_ids":[1]}`;响应 `{"post_ids":[1,2,3]}`。改完必须 `zasp sync`。
|
|
174
|
+
|
|
175
|
+
关闭向量库:`--set vector_provider=none`。
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 场景 6:只改咨询链接 / 筛选项 / 索引范围
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
siluzan-website zasp set --site <guid> --set contact_url=mailto:sales@example.com?subject=Product%20consultation
|
|
183
|
+
siluzan-website zasp set --site <guid> --set max_facets=8
|
|
184
|
+
siluzan-website zasp set --site <guid> --set product_post_types=product --set content_post_types=post,product
|
|
185
|
+
siluzan-website zasp set --site <guid> --set meta_exclude=password,passwd,secret,token,api_key,session,cookie,nonce,private_key,internal_cost
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
`product_post_types` / `content_post_types`:`auto` = 自动发现;逗号分隔 = 固定类型名。
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 场景 7:清空 / 轮换密钥
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
siluzan-website zasp set --site <guid> --clear-vector-key
|
|
196
|
+
siluzan-website zasp set --site <guid> --set vector_api_key=新的DashVector-API-KEY
|
|
197
|
+
siluzan-website zasp set --site <guid> --clear-ai-key
|
|
198
|
+
siluzan-website zasp set --site <guid> --clear-vector-embed-key
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
换成新 key 直接传新值即可,不必先 clear。
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 场景 8:全量同步商品到向量库
|
|
206
|
+
|
|
207
|
+
改了 `vector_*` / `product_post_types` 之后,或怀疑向量库缺货。只改 custom AI 一般不必 sync。
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
siluzan-website zasp sync --site <guid>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
成功看写入条数。失败(常见 502 / `Collection Not Exist`):先修 Collection / key / 维度,再 `set`,再 `sync`。
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 场景 9:验收是否可用
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
siluzan-website zasp status --site <guid>
|
|
221
|
+
siluzan-website zasp diagnostics --site <guid>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
`status` 关注:`ready`、`ai_configured`、`vector_configured`、`vector_site_id`、`source_counts`。`diagnostics` 含 profile、关系统计,需管理员权限。
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 场景 10:前台试推一条(可选验收)
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
siluzan-website zasp recommend --site <guid> --query "stainless steel valve" --placement assistant --limit 5
|
|
232
|
+
siluzan-website zasp recommend --site <guid> --placement related_products --limit 4 --page-id 31
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
`related_products` 必须带有效商品 `page-id`,同分类优先;`assistant` 走对话检索。
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Agent 标准流程
|
|
240
|
+
|
|
241
|
+
1. `plugins list` 确认已装并启用 `zasp-smart-recommender`
|
|
242
|
+
2. `zasp settings --json` 看现状
|
|
243
|
+
3. 按用户意图选上面某一场景 → `zasp set`(只带必要字段,先确认)
|
|
244
|
+
4. 若动过向量后端 → `zasp sync`
|
|
245
|
+
5. `zasp status` 确认
|
|
246
|
+
6. 用中文简短回复:改了什么、同步条数、失败原因(如有)。密钥只用 `has_*` 描述
|
|
247
|
+
|
|
248
|
+
## 组合速查
|
|
249
|
+
|
|
250
|
+
| 需求 | AI | 向量 |
|
|
251
|
+
|------|----|------|
|
|
252
|
+
| 全托管(最常见) | `builtin` | `builtin` |
|
|
253
|
+
| 自有大模型 + 平台向量 | `custom` + endpoint/model/key | `builtin` |
|
|
254
|
+
| 平台对话 + 自建 DashVector | `builtin` | `dashvector` + endpoint/collection/keys + embed |
|
|
255
|
+
| 全自建 | `custom` | `dashvector` 或 `generic` |
|
|
256
|
+
| 不用向量 | 任意 | `none` |
|
|
@@ -9,7 +9,7 @@ $ErrorActionPreference = 'Stop'
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
$PKG_NAME = 'siluzan-website-cli'
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
$PKG_VERSION = '1.0.1-beta.
|
|
12
|
+
$PKG_VERSION = '1.0.1-beta.6'
|
|
13
13
|
$CLI_BIN = 'siluzan-website'
|
|
14
14
|
$SKILL_LABEL = 'Siluzan Website'
|
|
15
15
|
$INSTALL_CMD = 'npm install -g siluzan-website-cli@beta'
|
|
@@ -9,7 +9,7 @@ set -euo pipefail
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
readonly PKG_NAME="siluzan-website-cli"
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
readonly PKG_VERSION="1.0.1-beta.
|
|
12
|
+
readonly PKG_VERSION="1.0.1-beta.6"
|
|
13
13
|
readonly CLI_BIN="siluzan-website"
|
|
14
14
|
readonly SKILL_LABEL="Siluzan Website"
|
|
15
15
|
readonly INSTALL_CMD="npm install -g siluzan-website-cli@beta"
|