siluzan-cso-cli 1.1.23 → 1.1.24-beta.2
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 +2 -1
- package/dist/index.js +56 -11
- package/dist/skill/SKILL.md +1 -1
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/references/planning.md +97 -7
- package/dist/skill/references/publish.md +1 -1
- package/dist/skill/references/rag.md +1 -1
- package/dist/skill/references/setup.md +4 -4
- package/dist/skill/references/web-pages.md +21 -21
- package/dist/skill/scripts/install.ps1 +3 -3
- package/dist/skill/scripts/install.sh +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
在**用户的目标项目根目录**执行(根据用户使用的助手选择 `--ai`):
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
npm install -g siluzan-cso-cli
|
|
49
|
+
npm install -g siluzan-cso-cli@beta
|
|
50
50
|
siluzan-cso init --ai cursor # 写入 Cursor(默认)
|
|
51
51
|
siluzan-cso init --ai cursor,claude # 同时写入多个平台
|
|
52
52
|
siluzan-cso init --ai all # 写入所有支持的平台
|
|
@@ -54,6 +54,7 @@ siluzan-cso init -d /path/to/skills # 写入自定义目录
|
|
|
54
54
|
siluzan-cso init --force # 强制覆盖已存在文件
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
> **注意**:当前为测试版(1.1.24-beta.2),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-cso-cli`。
|
|
57
58
|
|
|
58
59
|
| 助手 | 建议 `--ai` |
|
|
59
60
|
| ----------------------- | ------------------------------------ |
|
package/dist/index.js
CHANGED
|
@@ -2849,11 +2849,11 @@ import { Command } from "commander";
|
|
|
2849
2849
|
import { Option } from "commander";
|
|
2850
2850
|
|
|
2851
2851
|
// src/config/defaults.ts
|
|
2852
|
-
var BUILD_ENV = "
|
|
2853
|
-
var DEFAULT_API_BASE = "https://api.siluzan.com";
|
|
2854
|
-
var DEFAULT_CSO_BASE = "https://cso.siluzan.com";
|
|
2855
|
-
var DEFAULT_WEB_BASE = "https://www.siluzan.com";
|
|
2856
|
-
var DEFAULT_AGENT_BASE = "https://agent.mysiluzan.com";
|
|
2852
|
+
var BUILD_ENV = "test";
|
|
2853
|
+
var DEFAULT_API_BASE = "https://api-ci.siluzan.com";
|
|
2854
|
+
var DEFAULT_CSO_BASE = "https://cso-ci.siluzan.com";
|
|
2855
|
+
var DEFAULT_WEB_BASE = "https://www-ci.siluzan.com";
|
|
2856
|
+
var DEFAULT_AGENT_BASE = "https://agent-ci.mysiluzan.com";
|
|
2857
2857
|
|
|
2858
2858
|
// src/commands/init.ts
|
|
2859
2859
|
import * as fs4 from "fs/promises";
|
|
@@ -5587,6 +5587,15 @@ var DEFAULT_CONTENT_TYPES = [
|
|
|
5587
5587
|
{ id: "video", label: "\u89C6\u9891" }
|
|
5588
5588
|
];
|
|
5589
5589
|
var EXPORT_TABLE_HEADERS = ["\u5468\u6B21", "\u65B9\u5411\u5206\u7C7B", "\u4E3B\u9898", "\u5185\u5BB9\u65B9\u5411", "\u76EE\u6807\u53D7\u4F17"];
|
|
5590
|
+
var PLANNING_TARGET_MARKET_OPTIONS = [
|
|
5591
|
+
"\u5168\u7403",
|
|
5592
|
+
"\u4E2D\u4E9A",
|
|
5593
|
+
"\u975E\u6D32",
|
|
5594
|
+
"\u62C9\u7F8E",
|
|
5595
|
+
"\u4E2D\u4E1C",
|
|
5596
|
+
"\u72EC\u8054\u4F53",
|
|
5597
|
+
"\u4E1C\u5357\u4E9A"
|
|
5598
|
+
];
|
|
5590
5599
|
function exitWithError2(message) {
|
|
5591
5600
|
console.error(`
|
|
5592
5601
|
\u274C ${message}
|
|
@@ -5653,6 +5662,23 @@ function ensureContentTypes(input) {
|
|
|
5653
5662
|
}
|
|
5654
5663
|
return uniq;
|
|
5655
5664
|
}
|
|
5665
|
+
function ensureTargetMarkets(input) {
|
|
5666
|
+
if (!input || input.length === 0) return void 0;
|
|
5667
|
+
const values = input.flatMap((part) => part.split(",")).map((item) => item.trim()).filter(Boolean);
|
|
5668
|
+
const uniq = Array.from(new Set(values));
|
|
5669
|
+
if (uniq.length === 0) return void 0;
|
|
5670
|
+
const allowed = new Set(PLANNING_TARGET_MARKET_OPTIONS);
|
|
5671
|
+
const invalid = uniq.filter((item) => !allowed.has(item));
|
|
5672
|
+
if (invalid.length > 0) {
|
|
5673
|
+
exitWithError2(
|
|
5674
|
+
`--target-markets \u4EC5\u652F\u6301\uFF1A${PLANNING_TARGET_MARKET_OPTIONS.join("\u3001")}\uFF0C\u6536\u5230\uFF1A${invalid.join("\u3001")}`
|
|
5675
|
+
);
|
|
5676
|
+
}
|
|
5677
|
+
if (uniq.includes("\u5168\u7403") && uniq.length > 1) {
|
|
5678
|
+
exitWithError2("--target-markets \u9009\u4E86\u300C\u5168\u7403\u300D\u540E\u4E0D\u80FD\u518D\u9009\u5176\u4ED6\u5E02\u573A");
|
|
5679
|
+
}
|
|
5680
|
+
return uniq;
|
|
5681
|
+
}
|
|
5656
5682
|
function ensurePartnershipTotalMonths(value) {
|
|
5657
5683
|
const num = value ? Number(value) : 12;
|
|
5658
5684
|
if (num !== 6 && num !== 12 && num !== 24) {
|
|
@@ -5829,7 +5855,7 @@ async function runPlanningEnterprises(options) {
|
|
|
5829
5855
|
return;
|
|
5830
5856
|
}
|
|
5831
5857
|
const columns = [
|
|
5832
|
-
{ key: "id", header: "\u4F01\u4E1AID" },
|
|
5858
|
+
{ key: "id", header: "\u77E5\u8BC6\u5E93\u4F01\u4E1AID" },
|
|
5833
5859
|
{ key: "name", header: "\u4F01\u4E1A\u540D\u79F0" }
|
|
5834
5860
|
];
|
|
5835
5861
|
const rows = enterprises.map((item) => ({ id: item.id, name: item.name || "-" }));
|
|
@@ -5871,6 +5897,10 @@ function buildGenerateRequest(options) {
|
|
|
5871
5897
|
if (!enterpriseId) {
|
|
5872
5898
|
exitWithError2("--enterprise-id \u4E0D\u80FD\u4E3A\u7A7A");
|
|
5873
5899
|
}
|
|
5900
|
+
const enterpriseName = String(options.enterpriseName ?? "").trim();
|
|
5901
|
+
if (!enterpriseName) {
|
|
5902
|
+
exitWithError2("--enterprise-name \u4E0D\u80FD\u4E3A\u7A7A");
|
|
5903
|
+
}
|
|
5874
5904
|
const yearMonth = ensureYearMonth(options.yearMonth, "--year-month");
|
|
5875
5905
|
const contentTypes = ensureContentTypes(options.contentTypes);
|
|
5876
5906
|
const partnershipTotalMonths = ensurePartnershipTotalMonths(options.partnershipTotalMonths);
|
|
@@ -5879,7 +5909,7 @@ function buildGenerateRequest(options) {
|
|
|
5879
5909
|
const partnershipStartYearMonth = startYmRaw ? ensureYearMonth(startYmRaw, "--partnership-start-year-month") : void 0;
|
|
5880
5910
|
return {
|
|
5881
5911
|
enterpriseIds: [enterpriseId],
|
|
5882
|
-
enterpriseName
|
|
5912
|
+
enterpriseName,
|
|
5883
5913
|
yearMonth,
|
|
5884
5914
|
contentTypes,
|
|
5885
5915
|
partnershipTotalMonths,
|
|
@@ -5887,7 +5917,7 @@ function buildGenerateRequest(options) {
|
|
|
5887
5917
|
frequency,
|
|
5888
5918
|
marketingGoal: options.marketingGoal?.trim() || void 0,
|
|
5889
5919
|
keyProducts: options.keyProducts?.trim() || void 0,
|
|
5890
|
-
targetMarkets: options.targetMarkets
|
|
5920
|
+
targetMarkets: ensureTargetMarkets(options.targetMarkets),
|
|
5891
5921
|
keyEvents: options.keyEvents?.trim() || void 0,
|
|
5892
5922
|
contentTone: options.contentTone?.trim() || void 0
|
|
5893
5923
|
};
|
|
@@ -7823,7 +7853,10 @@ function registerCsoCommands(program2) {
|
|
|
7823
7853
|
await runReportDownload(opts);
|
|
7824
7854
|
});
|
|
7825
7855
|
const planningCmd = program2.command("planning").description("AI \u5185\u5BB9\u89C4\u5212\uFF08planning\uFF09\uFF1A\u4F01\u4E1A\u5217\u8868\u3001\u5185\u5BB9\u7C7B\u578B\u3001\u751F\u6210\u3001\u4EFB\u52A1\u7BA1\u7406\u3001\u8BE6\u60C5\u4E0E\u5BFC\u51FA");
|
|
7826
|
-
planningCmd.command("enterprises").description("\u67E5\u8BE2\u4F01\u4E1A\u76EE\u5F55\uFF08cutapi querylist\uFF0C\u4F9B\u89C4\u5212\u751F\u6210\u65F6\u9009\u62E9\u4F01\u4E1A\uFF09").option(
|
|
7856
|
+
planningCmd.command("enterprises").description("\u67E5\u8BE2\u4F01\u4E1A\u76EE\u5F55\uFF08cutapi querylist\uFF0C\u4F9B\u89C4\u5212\u751F\u6210\u65F6\u9009\u62E9\u4F01\u4E1A\uFF09").option(
|
|
7857
|
+
"--belong-to-id <id>",
|
|
7858
|
+
"\u7EC4\u7EC7\u5F52\u5C5E ID\uFF08companyId\uFF0C\u4EC5\u7528\u4E8E\u7B5B\u9009\u4F01\u4E1A\u76EE\u5F55\uFF1B\u4E0D\u53EF\u4F5C\u4E3A generate \u7684 --enterprise-id\uFF09"
|
|
7859
|
+
).option("--page-size <number>", "\u76EE\u5F55\u67E5\u8BE2\u6761\u6570\uFF08\u9ED8\u8BA4 100\uFF09").option("-t, --token <token>", "Token\uFF08\u53EF\u9009\uFF1B\u4F18\u5148\u4E8E ~/.siluzan/config.json\uFF09").option("--json", "\u8F93\u51FA JSON", false).option("--unicode", "\u4F7F\u7528 Unicode \u7EBF\u6846\u8868\u683C\uFF08\u9ED8\u8BA4 ASCII\uFF09", false).option("--verbose", "\u663E\u793A\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F", false).action(
|
|
7827
7860
|
async (opts) => {
|
|
7828
7861
|
await runPlanningEnterprises(opts);
|
|
7829
7862
|
}
|
|
@@ -7833,12 +7866,24 @@ function registerCsoCommands(program2) {
|
|
|
7833
7866
|
await runPlanningContentTypes(opts);
|
|
7834
7867
|
}
|
|
7835
7868
|
);
|
|
7836
|
-
planningCmd.command("generate").description("\u521B\u5EFA\u89C4\u5212\u751F\u6210\u4EFB\u52A1\uFF08\u5BF9\u5E94 planning \u751F\u6210\u5F39\u7A97\uFF09").requiredOption(
|
|
7869
|
+
planningCmd.command("generate").description("\u521B\u5EFA\u89C4\u5212\u751F\u6210\u4EFB\u52A1\uFF08\u5BF9\u5E94 planning \u751F\u6210\u5F39\u7A97\uFF09").requiredOption(
|
|
7870
|
+
"--enterprise-id <id>",
|
|
7871
|
+
"\u77E5\u8BC6\u5E93\u4F01\u4E1A ID\uFF08\u987B\u4E3A planning enterprises \u8FD4\u56DE\u7684 id\uFF0C\u4E0D\u662F --belong-to-id\uFF09"
|
|
7872
|
+
).requiredOption(
|
|
7873
|
+
"--enterprise-name <name>",
|
|
7874
|
+
"\u4F01\u4E1A\u540D\u79F0\uFF08\u987B\u4E3A planning enterprises \u8FD4\u56DE\u7684 name\uFF09"
|
|
7875
|
+
).requiredOption("--year-month <YYYY-MM>", "\u89C4\u5212\u6708\u4EFD").requiredOption("--content-types <types...>", "\u5185\u5BB9\u7C7B\u578B\uFF0C\u652F\u6301\u9017\u53F7\u6216\u7A7A\u683C\uFF1Apost,video").option("--partnership-total-months <6|12|24>", "\u5408\u4F5C\u603B\u6708\u6570\uFF08\u9ED8\u8BA4 12\uFF09", "12").option("--partnership-start-year-month <YYYY-MM>", "\u5408\u4F5C\u5F00\u59CB\u6708\u4EFD\uFF08\u4E0E\u89C4\u5212\u6708\u4E0D\u540C\u624D\u4F1A\u4F20\u7ED9\u63A5\u53E3\uFF09").option("--freq-unit <week|month>", "\u9891\u6B21\u5355\u4F4D").option("--freq-count <number>", "\u9891\u6B21\u6570\u91CF\uFF08\u4E0E --freq-unit \u540C\u65F6\u63D0\u4F9B\uFF09").option("--marketing-goal <text>", "\u672C\u6708\u89C4\u5212\u91CD\u70B9\uFF1A\u8425\u9500\u76EE\u6807").option("--key-products <text>", "\u672C\u6708\u89C4\u5212\u91CD\u70B9\uFF1A\u6838\u5FC3\u4EA7\u54C1").option(
|
|
7876
|
+
"--target-markets <markets...>",
|
|
7877
|
+
"\u76EE\u6807\u5E02\u573A\uFF1A\u5168\u7403\uFF08\u5355\u72EC\uFF09\u6216 \u4E2D\u4E9A/\u975E\u6D32/\u62C9\u7F8E/\u4E2D\u4E1C/\u72EC\u8054\u4F53/\u4E1C\u5357\u4E9A\uFF08\u53EF\u591A\u9009\uFF0C\u4E0D\u53EF\u4E0E\u5168\u7403\u540C\u9009\uFF09"
|
|
7878
|
+
).option("--key-events <text>", "\u672C\u6708\u89C4\u5212\u91CD\u70B9\uFF1A\u5173\u952E\u8282\u70B9").option("--content-tone <text>", "\u672C\u6708\u89C4\u5212\u91CD\u70B9\uFF1A\u5185\u5BB9\u8BED\u8C03").option("--watch", "\u63D0\u4EA4\u540E\u76D1\u542C\u4EFB\u52A1\u76F4\u5230\u5B8C\u6210/\u5931\u8D25", false).option("--watch-timeout <seconds>", "\u76D1\u542C\u8D85\u65F6\u79D2\u6570\uFF08\u9ED8\u8BA4 300 \u79D2\uFF09").option("-t, --token <token>", "Token\uFF08\u53EF\u9009\uFF1B\u4F18\u5148\u4E8E ~/.siluzan/config.json\uFF09").option("--json", "\u8F93\u51FA JSON", false).option("--verbose", "\u663E\u793A\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F", false).action(
|
|
7837
7879
|
async (opts) => {
|
|
7838
7880
|
await runPlanningGenerate(opts);
|
|
7839
7881
|
}
|
|
7840
7882
|
);
|
|
7841
|
-
planningCmd.command("list").description("\u67E5\u8BE2\u89C4\u5212\u4EFB\u52A1\u5217\u8868\uFF08\u652F\u6301\u4F01\u4E1A/\u6708\u5EA6\u7B5B\u9009\u4E0E\u5206\u9875\uFF09").option(
|
|
7883
|
+
planningCmd.command("list").description("\u67E5\u8BE2\u89C4\u5212\u4EFB\u52A1\u5217\u8868\uFF08\u652F\u6301\u4F01\u4E1A/\u6708\u5EA6\u7B5B\u9009\u4E0E\u5206\u9875\uFF09").option(
|
|
7884
|
+
"--enterprise-id <id>",
|
|
7885
|
+
"\u77E5\u8BC6\u5E93\u4F01\u4E1A ID\uFF08\u987B\u4E3A planning enterprises \u8FD4\u56DE\u7684 id\uFF0C\u4E0D\u662F --belong-to-id\uFF09"
|
|
7886
|
+
).option("--year-month <YYYY-MM>", "\u89C4\u5212\u6708\u4EFD").option("--page-index <number>", "\u9875\u7801\uFF08\u9ED8\u8BA4 1\uFF09").option("--page-size <number>", "\u6BCF\u9875\u6761\u6570\uFF08\u9ED8\u8BA4 10\uFF09").option("-t, --token <token>", "Token\uFF08\u53EF\u9009\uFF1B\u4F18\u5148\u4E8E ~/.siluzan/config.json\uFF09").option("--json", "\u8F93\u51FA JSON", false).option("--unicode", "\u4F7F\u7528 Unicode \u7EBF\u6846\u8868\u683C\uFF08\u9ED8\u8BA4 ASCII\uFF09", false).option("--verbose", "\u663E\u793A\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F", false).action(
|
|
7842
7887
|
async (opts) => {
|
|
7843
7888
|
await runPlanningList(opts);
|
|
7844
7889
|
}
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -239,6 +239,6 @@ CLI 返回的时间字段(如 `*DateTime` / `*Time` / `createTime` / `publishT
|
|
|
239
239
|
|
|
240
240
|
> 无对应 CLI 命令的模块,或需要引导用户在网页端查看数据时,查阅 `references/web-pages.md` 获取完整页面清单与链接。
|
|
241
241
|
|
|
242
|
-
URL 格式:`https://www.siluzan.com/v3/foreign_trade/cso/{页面}`
|
|
242
|
+
URL 格式:`https://www-ci.siluzan.com/v3/foreign_trade/cso/{页面}`
|
|
243
243
|
|
|
244
244
|
常用页面:`task`(任务管理)· `postVideo`(发布页)· `ManageAccounts`(账号管理)· `planning`(AI 内容规划)· `table`(绩效报表)· `Workdata`(作品数据)
|
package/dist/skill/_meta.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "siluzan-cso",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"publishedAt":
|
|
3
|
+
"version": "1.1.24-beta.2",
|
|
4
|
+
"publishedAt": 1780292582274,
|
|
5
5
|
"homepage": "https://www.siluzan.com",
|
|
6
6
|
"source": "https://dev.azure.com/jack4it/Sammamish/_git/siluzan-skill",
|
|
7
7
|
"requiredBinaries": [
|
|
@@ -12,6 +12,25 @@ enterprises → generate → watch(监控进度)→ get(查看详情)→
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
+
## ⚠️ 两种「企业 ID」勿混用
|
|
16
|
+
|
|
17
|
+
业务上都叫「企业 ID」,CLI 里对应**两个不同字段**,混用会导致查不到企业或生成失败。
|
|
18
|
+
|
|
19
|
+
| 名称 | 出现位置 | 含义 | 用于 |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| **知识库企业 ID** | `planning enterprises` 返回的 `id` / `folders[].id` | 知识库里的企业目录 ID | `planning generate --enterprise-id`、`planning list --enterprise-id` |
|
|
22
|
+
| **组织归属 ID** | `planning enterprises --belong-to-id` | 当前登录账号所属组织(类似 RAG 的 `belongToId` / `companyId`) | **仅**查询企业目录时的筛选参数 |
|
|
23
|
+
|
|
24
|
+
**执行 generate 前必须:**
|
|
25
|
+
|
|
26
|
+
1. 先跑 `planning enterprises`(一般**不要**传 `--belong-to-id`,除非明确要按组织筛选)。
|
|
27
|
+
2. 从输出表格或 `--json` 取 **知识库企业 ID**(`id` / `folders[].id`)与 **企业名称**(`name` / `folders[].name`)。
|
|
28
|
+
3. 将二者分别填入 `planning generate --enterprise-id` 与 `--enterprise-name`。
|
|
29
|
+
|
|
30
|
+
**禁止:** 把 `--belong-to-id`、`account me` 的 `companyId`、或 RAG 用的 `belongToId` 当作 `--enterprise-id`。
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
15
34
|
## 命令速查
|
|
16
35
|
|
|
17
36
|
| 命令 | 说明 |
|
|
@@ -33,16 +52,20 @@ enterprises → generate → watch(监控进度)→ get(查看详情)→
|
|
|
33
52
|
## 示例:生成月度规划
|
|
34
53
|
|
|
35
54
|
```bash
|
|
36
|
-
# Step 1
|
|
55
|
+
# Step 1:查企业列表,从返回的 id 列(或 JSON 的 folders[].id)取知识库企业 ID
|
|
37
56
|
siluzan-cso planning enterprises
|
|
57
|
+
# 可选:按组织筛选目录(勿将此值用于 generate)
|
|
58
|
+
# siluzan-cso planning enterprises --belong-to-id <组织归属ID>
|
|
38
59
|
|
|
39
|
-
# Step 2
|
|
60
|
+
# Step 2:发起生成任务(id/name 均来自 Step 1,不是 belongToId)
|
|
40
61
|
siluzan-cso planning generate \
|
|
41
|
-
--enterprise-id <id> \
|
|
62
|
+
--enterprise-id <folders[].id> \
|
|
63
|
+
--enterprise-name "<folders[].name>" \
|
|
42
64
|
--year-month 2026-05 \
|
|
43
65
|
--content-types post,video \
|
|
44
66
|
--marketing-goal "提升品牌曝光" \
|
|
45
67
|
--key-products "新品 A" \
|
|
68
|
+
--target-markets 中亚,东南亚 \
|
|
46
69
|
--freq-unit week --freq-count 3
|
|
47
70
|
|
|
48
71
|
# Step 3:监控生成进度(taskId 来自 generate 输出)
|
|
@@ -57,16 +80,37 @@ siluzan-cso planning export txt --plan-id <planId> --output plan.md
|
|
|
57
80
|
|
|
58
81
|
---
|
|
59
82
|
|
|
83
|
+
## planning enterprises — 查询企业目录
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 默认:列出可选企业(取输出 id 用于 generate)
|
|
87
|
+
siluzan-cso planning enterprises
|
|
88
|
+
|
|
89
|
+
# JSON 输出(id 在 folders[].id)
|
|
90
|
+
siluzan-cso planning enterprises --json
|
|
91
|
+
|
|
92
|
+
# 按组织归属筛选(高级用法;该 ID 不可用于 generate)
|
|
93
|
+
siluzan-cso planning enterprises --belong-to-id <组织归属ID>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
| 参数 | 说明 |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| `--belong-to-id` | 组织归属 ID(`companyId`),仅传给素材库 querylist 做筛选;**不是** generate 用的企业 ID |
|
|
99
|
+
| `--page-size` | 目录条数上限(默认 100) |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
60
103
|
## generate 主要参数
|
|
61
104
|
|
|
62
105
|
| 参数 | 必填 | 说明 |
|
|
63
106
|
| ------------------ | ---- | --------------------------------------------------- |
|
|
64
|
-
| `--enterprise-id` | ✅ |
|
|
107
|
+
| `--enterprise-id` | ✅ | 知识库企业 ID(`planning enterprises` 返回的 `id`,**不是** `--belong-to-id`) |
|
|
108
|
+
| `--enterprise-name`| ✅ | 企业名称(`planning enterprises` 返回的 `name`,须与 `--enterprise-id` 同行) |
|
|
65
109
|
| `--year-month` | ✅ | 规划月份,格式 `YYYY-MM` |
|
|
66
110
|
| `--content-types` | ✅ | 内容类型,逗号分隔:`post`(图文)/ `video`(视频) |
|
|
67
111
|
| `--marketing-goal` | — | 营销目标(自然语言描述) |
|
|
68
112
|
| `--key-products` | — | 重点产品 |
|
|
69
|
-
| `--target-markets` | — | 目标市场
|
|
113
|
+
| `--target-markets` | — | 目标市场 `string[]`:`全球` **单独选**;或从 `中亚`、`非洲`、`拉美`、`中东`、`独联体`、`东南亚` 多选(**不可与全球同选**) |
|
|
70
114
|
| `--key-events` | — | 重要节点/活动 |
|
|
71
115
|
| `--content-tone` | — | 内容风格(如"专业严肃"/"轻松活泼") |
|
|
72
116
|
| `--freq-unit` | — | 发布频率单位:`week` / `month` |
|
|
@@ -81,9 +125,55 @@ siluzan-cso planning export txt --plan-id <planId> --output plan.md
|
|
|
81
125
|
# 查所有规划任务
|
|
82
126
|
siluzan-cso planning list
|
|
83
127
|
|
|
84
|
-
#
|
|
85
|
-
siluzan-cso planning list --enterprise-id <id>
|
|
128
|
+
# 按企业筛选(同样用 enterprises 返回的 id,不是 belongToId)
|
|
129
|
+
siluzan-cso planning list --enterprise-id <folders[].id>
|
|
86
130
|
|
|
87
131
|
# 按月份筛选
|
|
88
132
|
siluzan-cso planning list --year-month 2026-05
|
|
89
133
|
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## planning get — 规划详情字段
|
|
138
|
+
|
|
139
|
+
`planning get <planId> --json` 返回完整规划对象。以下仅列**写稿、排期、复用规划**时真正需要关注的字段(Cosmos `_rid` / `_etag` / `PartitionKey` 等存储字段可忽略)。
|
|
140
|
+
|
|
141
|
+
### 规划主体
|
|
142
|
+
|
|
143
|
+
| 字段 | 说明 |
|
|
144
|
+
| --- | --- |
|
|
145
|
+
| `id` | 规划 ID,再生成、导出时引用 |
|
|
146
|
+
| `enterpriseIds` | 企业 ID 列表(通常一项) |
|
|
147
|
+
| `enterpriseName` | 企业名称 |
|
|
148
|
+
| `yearMonth` | 规划月份 `YYYY-MM` |
|
|
149
|
+
| `contentTypes` | 已规划体裁:`post`(图文)、`video`(视频) |
|
|
150
|
+
| `frequency` | 发布频次:`perWeek` 或 `perMonth`(与 generate 的 `--freq-unit` / `--freq-count` 对应) |
|
|
151
|
+
| `targetMarkets` | 目标市场 `string[]`;`全球` 与区域项互斥,规则同 `--target-markets` |
|
|
152
|
+
| `strategyBrief` | 用户侧策略简报原文,本月叙事与重点的**总纲** |
|
|
153
|
+
| `contextUsed` | 生成时采用的背景摘要(含知识库/业务语境),写稿前建议先读 |
|
|
154
|
+
| `planRationale` | 本月排期逻辑(周次节奏、阶段目标),export txt 会写入「规划逻辑」 |
|
|
155
|
+
| `postItems` / `videoItems` | 图文 / 视频选题表,见下表 |
|
|
156
|
+
|
|
157
|
+
### 长期合作周期(影响阶段化叙事)
|
|
158
|
+
|
|
159
|
+
生成时需传 `--partnership-total-months`(6/12/24)与可选 `--partnership-start-year-month`;详情里会回显当前处于合作周期的哪一段:
|
|
160
|
+
|
|
161
|
+
| 字段 | 说明 |
|
|
162
|
+
| --- | --- |
|
|
163
|
+
| `partnershipTotalMonths` | 合作总月数(6 / 12 / 24) |
|
|
164
|
+
| `partnershipStartYearMonth` | 合作起始月 `YYYY-MM` |
|
|
165
|
+
| `partnershipMonthIndex` | 当前是合作第几个月(从 1 起) |
|
|
166
|
+
| `partnershipPhaseSlot` | 阶段槽位(长周期内分段策略用,与总月数配合理解本月侧重) |
|
|
167
|
+
|
|
168
|
+
### 选题行(`postItems` / `videoItems` 每项)
|
|
169
|
+
|
|
170
|
+
| 字段 | 说明 |
|
|
171
|
+
| --- | --- |
|
|
172
|
+
| `week` | 排期周次,如 `第一周(4月1日-7日)-1`(同周多条以 `-1`、`-2` 区分) |
|
|
173
|
+
| `contentDirection` | 方向分类(案例、TCO、展会等标签) |
|
|
174
|
+
| `topic` | 选题标题 |
|
|
175
|
+
| `mainDirection` | 本条内容的撰写/拍摄要点与转化导向 |
|
|
176
|
+
| `targetAudience` | 目标受众 |
|
|
177
|
+
| `referenceMaterials` | 建议引用的素材或资料线索;**仅 `--json` 可见**,`export txt` 表格不含此列 |
|
|
178
|
+
|
|
179
|
+
按 `week` 排序即可还原月度节奏;写具体稿件时优先组合 `mainDirection` + `referenceMaterials`,并对照 `planRationale` 与 `strategyBrief` 保持口径一致。
|
|
@@ -236,7 +236,7 @@ siluzan-cso publish -c publish-config.json
|
|
|
236
236
|
|
|
237
237
|
> 查询发布状态、处理失败项 → 参见 `references/task.md`
|
|
238
238
|
|
|
239
|
-
前往 CSO 任务管理页面查看进度:`https://www.siluzan.com/v3/foreign_trade/cso/task`
|
|
239
|
+
前往 CSO 任务管理页面查看进度:`https://www-ci.siluzan.com/v3/foreign_trade/cso/task`
|
|
240
240
|
|
|
241
241
|
---
|
|
242
242
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## 安装 CLI
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install -g siluzan-cso-cli
|
|
6
|
+
npm install -g siluzan-cso-cli@beta
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
环境要求:Node.js 18+
|
|
@@ -46,7 +46,7 @@ siluzan-cso config set --token <Token> # 备用:设置 JWT Token
|
|
|
46
46
|
|
|
47
47
|
> **⚠️ 不要使用 `config set --token <token>` 的方式。** 该方式会将 Token 明文写入 shell history(`~/.bash_history`、`~/.zsh_history`、PowerShell 历史),存在凭证泄露风险。推荐使用 `siluzan-cso login` 交互式输入。
|
|
48
48
|
|
|
49
|
-
API Key 获取入口:`https://www.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
|
|
49
|
+
API Key 获取入口:`https://www-ci.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
|
|
50
50
|
|
|
51
51
|
### 通过手机号 + 验证码登录(对话式 AI 推荐)
|
|
52
52
|
|
|
@@ -123,8 +123,8 @@ siluzan-cso config show
|
|
|
123
123
|
|
|
124
124
|
```
|
|
125
125
|
构建环境 : production
|
|
126
|
-
apiBaseUrl : https://api.siluzan.com
|
|
127
|
-
csoBaseUrl : https://cso.siluzan.com
|
|
126
|
+
apiBaseUrl : https://api-ci.siluzan.com
|
|
127
|
+
csoBaseUrl : https://cso-ci.siluzan.com
|
|
128
128
|
apiKey : abcd****1234
|
|
129
129
|
```
|
|
130
130
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# web-pages — CSO 后台页面速查
|
|
2
2
|
|
|
3
3
|
> 当需要引导用户前往网页端查看数据或执行操作时,使用本文件中的页面链接。
|
|
4
|
-
> URL 格式:`https://www.siluzan.com/v3/foreign_trade/cso/{页面路径}`
|
|
4
|
+
> URL 格式:`https://www-ci.siluzan.com/v3/foreign_trade/cso/{页面路径}`
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
| 页面 | 完整链接 | 功能说明 |
|
|
13
13
|
| -------- | --------------------------------------------------------- | ---------------------------------------------------- |
|
|
14
|
-
| 账号管理 | `https://www.siluzan.com/v3/foreign_trade/cso/ManageAccounts` | 绑定/授权/查看媒体账号列表、账号状态、Token 到期时间 |
|
|
15
|
-
| 账号分组 | `https://www.siluzan.com/v3/foreign_trade/cso/AccountGroup` | 新建分组、管理分组内账号 |
|
|
16
|
-
| 重点账号 | `https://www.siluzan.com/v3/foreign_trade/cso/KeyAccounts` | 配置重点关注账号、数据备份 |
|
|
14
|
+
| 账号管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/ManageAccounts` | 绑定/授权/查看媒体账号列表、账号状态、Token 到期时间 |
|
|
15
|
+
| 账号分组 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/AccountGroup` | 新建分组、管理分组内账号 |
|
|
16
|
+
| 重点账号 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/KeyAccounts` | 配置重点关注账号、数据备份 |
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
|
|
22
22
|
| 页面 | 完整链接 | 功能说明 |
|
|
23
23
|
| -------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
|
24
|
-
| 发布作品 | `https://www.siluzan.com/v3/foreign_trade/cso/postVideo?contentType=1` | 矩阵发布视频、图文、草稿管理、话题组 contentType=1 是视频,contentType=2是图文 |
|
|
24
|
+
| 发布作品 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/postVideo?contentType=1` | 矩阵发布视频、图文、草稿管理、话题组 contentType=1 是视频,contentType=2是图文 |
|
|
25
25
|
|
|
26
|
-
| 发布日历 | `https://www.siluzan.com/v3/foreign_trade/cso/publishCalendar` | 日历视图规划发布任务、创建/编辑发布任务 |
|
|
27
|
-
| 营销日历 | `https://www.siluzan.com/v3/foreign_trade/cso/marketingCalendar` | 营销节点日历、跳转创建发布任务 |
|
|
26
|
+
| 发布日历 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/publishCalendar` | 日历视图规划发布任务、创建/编辑发布任务 |
|
|
27
|
+
| 营销日历 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/marketingCalendar` | 营销节点日历、跳转创建发布任务 |
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
|
|
33
33
|
| 页面 | 完整链接 | 功能说明 |
|
|
34
34
|
| -------- | ------------------------------------------------------- | ----------------------------------------- |
|
|
35
|
-
| 任务列表 | `https://www.siluzan.com/v3/foreign_trade/cso/task` | 发布任务列表、状态筛选、任务详情抽屉 |
|
|
36
|
-
| 视频管理 | `https://www.siluzan.com/v3/foreign_trade/cso/VideoMgr` | 已发布视频/图文列表、删除、重发、评论查看 |
|
|
37
|
-
| 视频搬家 | `https://www.siluzan.com/v3/foreign_trade/cso/relocation` | 将视频搬运到其他平台 |
|
|
38
|
-
| 搬家记录 | `https://www.siluzan.com/v3/foreign_trade/cso/MovingRecord` | 搬家任务列表与执行状态 |
|
|
35
|
+
| 任务列表 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/task` | 发布任务列表、状态筛选、任务详情抽屉 |
|
|
36
|
+
| 视频管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/VideoMgr` | 已发布视频/图文列表、删除、重发、评论查看 |
|
|
37
|
+
| 视频搬家 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/relocation` | 将视频搬运到其他平台 |
|
|
38
|
+
| 搬家记录 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/MovingRecord` | 搬家任务列表与执行状态 |
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
|
|
44
44
|
| 页面 | 完整链接 | 功能说明 |
|
|
45
45
|
| -------- | ------------------------------------------------------ | --------------------------------------- |
|
|
46
|
-
| 私信管理 | `https://www.siluzan.com/v3/foreign_trade/cso/letter` | 按渠道/时间查看与处理私信(多平台 Tab) |
|
|
47
|
-
| 评论管理 | `https://www.siluzan.com/v3/foreign_trade/cso/comment` | 收到的评论列表、回复、账号组筛选 |
|
|
48
|
-
| 智能互动 | `https://www.siluzan.com/v3/foreign_trade/cso/interaction` | 私信欢迎语、自动回复规则配置 |
|
|
46
|
+
| 私信管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/letter` | 按渠道/时间查看与处理私信(多平台 Tab) |
|
|
47
|
+
| 评论管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/comment` | 收到的评论列表、回复、账号组筛选 |
|
|
48
|
+
| 智能互动 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/interaction` | 私信欢迎语、自动回复规则配置 |
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
|
|
54
54
|
| 页面 | 完整链接 | 功能说明 |
|
|
55
55
|
| -------- | ------------------------------------------------------ | -------------------------------------------------------------------- |
|
|
56
|
-
| 作品数据 | `https://www.siluzan.com/v3/foreign_trade/cso/Workdata` | 作品维度统计、图表、明细(对应 CLI `report fetch`) |
|
|
57
|
-
| 账户数据 | `https://www.siluzan.com/v3/foreign_trade/cso/accountdata` | 账户维度汇总数据、趋势图表 |
|
|
58
|
-
| 绩效报表 | `https://www.siluzan.com/v3/foreign_trade/cso/table` | 多维度绩效报表、PDF 导出(对应 CLI `report fetch/records/download`) |
|
|
56
|
+
| 作品数据 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/Workdata` | 作品维度统计、图表、明细(对应 CLI `report fetch`) |
|
|
57
|
+
| 账户数据 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/accountdata` | 账户维度汇总数据、趋势图表 |
|
|
58
|
+
| 绩效报表 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/table` | 多维度绩效报表、PDF 导出(对应 CLI `report fetch/records/download`) |
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -63,11 +63,11 @@
|
|
|
63
63
|
|
|
64
64
|
| 页面 | 完整链接 | 功能说明 |
|
|
65
65
|
| -------- | ------------------------------------------------------ | -------------------------------------------------------------- |
|
|
66
|
-
| 内容规划 | `https://www.siluzan.com/v3/foreign_trade/cso/planning` | AI 内容规划列表、生成规划、企业维度筛选(对应 CLI `planning`) |
|
|
67
|
-
| 营销首页 | `https://www.siluzan.com/v3/foreign_trade/cso/ContentHome` | 工作台总览:账号数、视频数、最新评论与视频 |
|
|
66
|
+
| 内容规划 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/planning` | AI 内容规划列表、生成规划、企业维度筛选(对应 CLI `planning`) |
|
|
67
|
+
| 营销首页 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/ContentHome` | 工作台总览:账号数、视频数、最新评论与视频 |
|
|
68
68
|
|
|
69
|
-
| 话题组 | `https://www.siluzan.com/v3/foreign_trade/cso/TopicGroup` | 话题组维护、话题内容管理 |
|
|
70
|
-
| 知识库 | `https://www.siluzan.com/knowledge-base/` | 知识库管理、编辑及查询 |
|
|
69
|
+
| 话题组 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/TopicGroup` | 话题组维护、话题内容管理 |
|
|
70
|
+
| 知识库 | `https://www-ci.siluzan.com/knowledge-base/` | 知识库管理、编辑及查询 |
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
@@ -9,11 +9,11 @@ $ErrorActionPreference = 'Stop'
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
$PKG_NAME = 'siluzan-cso-cli'
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
$PKG_VERSION = '1.1.
|
|
12
|
+
$PKG_VERSION = '1.1.24-beta.2'
|
|
13
13
|
$CLI_BIN = 'siluzan-cso'
|
|
14
14
|
$SKILL_LABEL = 'Siluzan CSO'
|
|
15
|
-
$INSTALL_CMD = 'npm install -g siluzan-cso-cli'
|
|
16
|
-
$WEB_BASE = 'https://www.siluzan.com'
|
|
15
|
+
$INSTALL_CMD = 'npm install -g siluzan-cso-cli@beta'
|
|
16
|
+
$WEB_BASE = 'https://www-ci.siluzan.com'
|
|
17
17
|
|
|
18
18
|
# -- Constants ----------------------------------------------------------------
|
|
19
19
|
$NODE_MAJOR_MIN = 18
|
|
@@ -9,11 +9,11 @@ set -euo pipefail
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
readonly PKG_NAME="siluzan-cso-cli"
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
readonly PKG_VERSION="1.1.
|
|
12
|
+
readonly PKG_VERSION="1.1.24-beta.2"
|
|
13
13
|
readonly CLI_BIN="siluzan-cso"
|
|
14
14
|
readonly SKILL_LABEL="Siluzan CSO"
|
|
15
|
-
readonly INSTALL_CMD="npm install -g siluzan-cso-cli"
|
|
16
|
-
readonly WEB_BASE="https://www.siluzan.com"
|
|
15
|
+
readonly INSTALL_CMD="npm install -g siluzan-cso-cli@beta"
|
|
16
|
+
readonly WEB_BASE="https://www-ci.siluzan.com"
|
|
17
17
|
|
|
18
18
|
# -- Constants ----------------------------------------------------------------
|
|
19
19
|
readonly NODE_MAJOR_MIN=18
|
package/package.json
CHANGED