siluzan-cso-cli 1.1.24 → 1.1.25-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 +13 -3
- package/dist/index.js +76 -7
- package/dist/skill/SKILL.md +4 -4
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/assets/three-lib-content-workflow.example.md +29 -38
- package/dist/skill/assets//344/272/247/345/223/201/350/265/204/344/272/247/345/272/223.md +227 -274
- package/dist/skill/assets//346/265/201/351/207/217/345/233/240/345/255/220/345/272/223.md +441 -240
- package/dist/skill/assets//347/203/271/350/260/203/346/226/271/346/263/225/345/272/223.md +178 -299
- 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/dist/skill/three-lib-content-workflow/collaboration.md +50 -16
- package/dist/skill/three-lib-content-workflow/content-writer.workflow.md +81 -29
- package/dist/skill/three-lib-content-workflow/packs//345/205/254/344/274/227/345/217/267/347/210/206/346/254/276//344/272/247/345/223/201/350/265/204/344/272/247-extension.md +224 -0
- package/dist/skill/three-lib-content-workflow/packs//345/205/254/344/274/227/345/217/267/347/210/206/346/254/276//346/265/201/351/207/217/345/233/240/345/255/220-extension.md +286 -0
- package/dist/skill/three-lib-content-workflow/packs//345/205/254/344/274/227/345/217/267/347/210/206/346/254/276//347/203/271/350/260/203/346/226/271/346/263/225-extension.md +337 -0
- package/dist/skill/three-lib-content-workflow/persona-onboarding.md +175 -0
- package/dist/skill/three-lib-content-workflow/persona-reverse-sop.md +125 -122
- package/dist/skill/three-lib-content-workflow/persona-schema.md +239 -0
- package/dist/skill/three-lib-content-workflow/sop.md +166 -81
- 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.25-beta.2),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-cso-cli`。
|
|
57
58
|
|
|
58
59
|
| 助手 | 建议 `--ai` |
|
|
59
60
|
| ----------------------- | ------------------------------------ |
|
|
@@ -71,7 +72,16 @@ siluzan-cso init --force # 强制覆盖已存在文件
|
|
|
71
72
|
|
|
72
73
|
**若用户已安装 `siluzan-tso` 并完成登录,无需重复操作,直接跳到第 4 步。**
|
|
73
74
|
|
|
74
|
-
### 方式 A
|
|
75
|
+
### 方式 A:手机号 + 验证码(对话式 AI 推荐)
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
siluzan-cso send-login-code --phone <手机号>
|
|
79
|
+
siluzan-cso login --phone <手机号> --code <6位验证码>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
第 1 步只发送验证码并立即返回;第 2 步用验证码自动创建 API Key 并保存到 `~/.siluzan/config.json`。
|
|
83
|
+
|
|
84
|
+
### 方式 B:交互式登录
|
|
75
85
|
|
|
76
86
|
```bash
|
|
77
87
|
siluzan-cso login
|
|
@@ -83,7 +93,7 @@ siluzan-cso login
|
|
|
83
93
|
siluzan-cso login --api-key <YOUR_API_KEY>
|
|
84
94
|
```
|
|
85
95
|
|
|
86
|
-
### 方式
|
|
96
|
+
### 方式 C:直接设置(适合自动化场景)
|
|
87
97
|
|
|
88
98
|
```bash
|
|
89
99
|
siluzan-cso config set --api-key <你的ApiKey>
|
package/dist/index.js
CHANGED
|
@@ -2708,6 +2708,35 @@ function normalizeChinaPhone(input) {
|
|
|
2708
2708
|
function isValidChinaPhone(input) {
|
|
2709
2709
|
return /^\+861\d{10}$/.test(normalizeChinaPhone(input));
|
|
2710
2710
|
}
|
|
2711
|
+
async function sendPhoneLoginCode(opts) {
|
|
2712
|
+
const phone = normalizeChinaPhone(opts.phone);
|
|
2713
|
+
const url = `${opts.ssoBaseUrl}/Account/SendVaildCode?Phone=${encodeURIComponent(
|
|
2714
|
+
phone
|
|
2715
|
+
)}&RandStr=&Iicket=`;
|
|
2716
|
+
if (opts.verbose) {
|
|
2717
|
+
process.stderr.write(`[phone-login] GET ${url}
|
|
2718
|
+
`);
|
|
2719
|
+
}
|
|
2720
|
+
const res = await rawRequest(url, {
|
|
2721
|
+
method: "GET",
|
|
2722
|
+
headers: {
|
|
2723
|
+
Accept: "application/json",
|
|
2724
|
+
"Accept-Language": "zh-CN"
|
|
2725
|
+
}
|
|
2726
|
+
});
|
|
2727
|
+
if (res.status < 200 || res.status >= 300) {
|
|
2728
|
+
return { ok: false, message: `HTTP ${res.status}` };
|
|
2729
|
+
}
|
|
2730
|
+
let body;
|
|
2731
|
+
try {
|
|
2732
|
+
body = JSON.parse(res.text);
|
|
2733
|
+
} catch {
|
|
2734
|
+
return { ok: false, message: `\u54CD\u5E94\u975E JSON\uFF1A${res.text.slice(0, 120)}` };
|
|
2735
|
+
}
|
|
2736
|
+
const state = (body.State ?? body.state ?? "").toLowerCase();
|
|
2737
|
+
const message = body.Message ?? body.message ?? "";
|
|
2738
|
+
return { ok: state === "ok", message };
|
|
2739
|
+
}
|
|
2711
2740
|
async function loginByPhoneCode(opts) {
|
|
2712
2741
|
const phone = normalizeChinaPhone(opts.phone);
|
|
2713
2742
|
const url = `${opts.ssoBaseUrl}/Account/LoginByMiniCode?phone=${encodeURIComponent(
|
|
@@ -2849,11 +2878,11 @@ import { Command } from "commander";
|
|
|
2849
2878
|
import { Option } from "commander";
|
|
2850
2879
|
|
|
2851
2880
|
// 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";
|
|
2881
|
+
var BUILD_ENV = "test";
|
|
2882
|
+
var DEFAULT_API_BASE = "https://api-ci.siluzan.com";
|
|
2883
|
+
var DEFAULT_CSO_BASE = "https://cso-ci.siluzan.com";
|
|
2884
|
+
var DEFAULT_WEB_BASE = "https://www-ci.siluzan.com";
|
|
2885
|
+
var DEFAULT_AGENT_BASE = "https://agent-ci.mysiluzan.com";
|
|
2857
2886
|
|
|
2858
2887
|
// src/commands/init.ts
|
|
2859
2888
|
import * as fs4 from "fs/promises";
|
|
@@ -3097,6 +3126,31 @@ function resolveSsoCsoBase() {
|
|
|
3097
3126
|
const csoBaseUrl = process.env.SILUZAN_CSO_BASE ?? DEFAULT_CSO_BASE ?? deriveCsoApiBaseUrl(apiBase);
|
|
3098
3127
|
return { ssoBaseUrl, csoBaseUrl };
|
|
3099
3128
|
}
|
|
3129
|
+
async function runSendLoginCode(opts) {
|
|
3130
|
+
const phone = validateAndNormalizePhone(opts.phone);
|
|
3131
|
+
const { ssoBaseUrl } = resolveSsoCsoBase();
|
|
3132
|
+
console.log("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
|
|
3133
|
+
console.log(" Siluzan CSO \u53D1\u9001\u767B\u5F55\u77ED\u4FE1\u9A8C\u8BC1\u7801");
|
|
3134
|
+
console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n");
|
|
3135
|
+
console.log(` \u624B\u673A\u53F7 : ${phone}`);
|
|
3136
|
+
console.log(` SSO : ${ssoBaseUrl}
|
|
3137
|
+
`);
|
|
3138
|
+
console.log("\u2192 \u6B63\u5728\u5411\u624B\u673A\u53D1\u9001\u9A8C\u8BC1\u7801...");
|
|
3139
|
+
const r = await sendPhoneLoginCode({ ssoBaseUrl, phone, verbose: opts.verbose });
|
|
3140
|
+
if (!r.ok) {
|
|
3141
|
+
console.error(`
|
|
3142
|
+
\u274C \u77ED\u4FE1\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25\uFF1A${r.message || "(\u540E\u7AEF\u672A\u8FD4\u56DE\u539F\u56E0)"}
|
|
3143
|
+
`);
|
|
3144
|
+
process.exit(1);
|
|
3145
|
+
}
|
|
3146
|
+
console.log(`\u2713 \u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001\uFF0810 \u5206\u949F\u5185\u6709\u6548\uFF09\u3002
|
|
3147
|
+
`);
|
|
3148
|
+
console.log("\u4E0B\u4E00\u6B65\uFF1A\u62FF\u5230 6 \u4F4D\u9A8C\u8BC1\u7801\u540E\uFF0C\u8FD0\u884C\u4E0B\u9762\u7684\u547D\u4EE4\u5B8C\u6210\u767B\u5F55\uFF1A\n");
|
|
3149
|
+
console.log(` siluzan-cso login --phone ${phone} --code <6\u4F4D\u9A8C\u8BC1\u7801>
|
|
3150
|
+
`);
|
|
3151
|
+
console.log("\u53EF\u9009\u53C2\u6570\uFF1A--name / --valid-days / --expires-at / --services");
|
|
3152
|
+
console.log("\uFF08\u9ED8\u8BA4\u521B\u5EFA 90 \u5929\u6709\u6548\u3001\u52FE\u9009 CSO + CUT \u670D\u52A1\u7684 API Key\uFF09\n");
|
|
3153
|
+
}
|
|
3100
3154
|
async function runPhoneLogin(opts) {
|
|
3101
3155
|
const phone = validateAndNormalizePhone(opts.phone);
|
|
3102
3156
|
const code = opts.code?.trim() ?? "";
|
|
@@ -7562,8 +7616,23 @@ function registerCsoCommands(program2) {
|
|
|
7562
7616
|
cmdConfigSet({ apiKey: opts.apiKey, token: opts.token });
|
|
7563
7617
|
});
|
|
7564
7618
|
configCmd.command("clear").description("\u6E05\u7A7A\u5DF2\u4FDD\u5B58\u7684 Token").action(() => cmdConfigClear());
|
|
7565
|
-
program2.command("login").description("\u5F15\u5BFC\u5B8C\u6210 Siluzan \u8D26\u53F7\u767B\u5F55\uFF0C\u4FDD\u5B58 API Key \u5230\u672C\u5730").option("--api-key <key>", "\u76F4\u63A5\u4FDD\u5B58 API Key\uFF08\u8DF3\u8FC7\u4EA4\u4E92\u5F0F\u6D41\u7A0B\uFF0C\u4E0E siluzan-tso \u5171\u7528\uFF09").addOption(new Option("--token <token>", "\u76F4\u63A5\u4FDD\u5B58 JWT Token").hideHelp()).action(
|
|
7566
|
-
|
|
7619
|
+
program2.command("login").description("\u5F15\u5BFC\u5B8C\u6210 Siluzan \u8D26\u53F7\u767B\u5F55\uFF0C\u4FDD\u5B58 API Key \u5230\u672C\u5730").option("--api-key <key>", "\u76F4\u63A5\u4FDD\u5B58 API Key\uFF08\u8DF3\u8FC7\u4EA4\u4E92\u5F0F\u6D41\u7A0B\uFF0C\u4E0E siluzan-tso \u5171\u7528\uFF09").option("--phone <phone>", "\u624B\u673A\u53F7\u767B\u5F55\uFF1A\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7\uFF0C\u53EF\u5E26\u6216\u4E0D\u5E26 +86\uFF08\u9700\u914D\u5408 --code\uFF09").option("--code <code>", "\u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF08\u5148\u8FD0\u884C send-login-code \u83B7\u53D6\uFF09").option("--name <name>", "\u624B\u673A\u53F7\u767B\u5F55\u65F6\u81EA\u52A8\u521B\u5EFA\u7684 API Key \u540D\u79F0").option("--valid-days <days>", "\u624B\u673A\u53F7\u767B\u5F55\u65F6\u521B\u5EFA API Key \u7684\u6709\u6548\u671F\u5929\u6570", parseInt).option("--expires-at <iso>", "\u624B\u673A\u53F7\u767B\u5F55\u65F6\u521B\u5EFA API Key \u7684\u7EDD\u5BF9\u8FC7\u671F\u65F6\u95F4\uFF08ISO 8601\uFF09").option("--services <services>", "\u624B\u673A\u53F7\u767B\u5F55\u65F6 API Key \u53EF\u8BBF\u95EE\u670D\u52A1\uFF0C\u9017\u53F7\u5206\u9694\uFF1ACSO,TSO,CUT").option("--verbose", "\u8F93\u51FA\u767B\u5F55\u76F8\u5173 HTTP \u8BF7\u6C42 URL\uFF08\u6392\u9519\u7528\uFF09", false).addOption(new Option("--token <token>", "\u76F4\u63A5\u4FDD\u5B58 JWT Token").hideHelp()).action(
|
|
7620
|
+
async (opts) => {
|
|
7621
|
+
await runLogin({
|
|
7622
|
+
apiKey: opts.apiKey,
|
|
7623
|
+
token: opts.token,
|
|
7624
|
+
phone: opts.phone,
|
|
7625
|
+
code: opts.code,
|
|
7626
|
+
name: opts.name,
|
|
7627
|
+
validDays: opts.validDays,
|
|
7628
|
+
expiresAt: opts.expiresAt,
|
|
7629
|
+
services: opts.services,
|
|
7630
|
+
verbose: opts.verbose
|
|
7631
|
+
});
|
|
7632
|
+
}
|
|
7633
|
+
);
|
|
7634
|
+
program2.command("send-login-code").description("\u53D1\u9001\u624B\u673A\u53F7\u767B\u5F55\u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF08\u4E24\u6BB5\u5F0F\u767B\u5F55\u7B2C 1 \u6B65\uFF09").requiredOption("--phone <phone>", "\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7\uFF0C\u53EF\u5E26\u6216\u4E0D\u5E26 +86").option("--verbose", "\u8F93\u51FA\u767B\u5F55\u76F8\u5173 HTTP \u8BF7\u6C42 URL\uFF08\u6392\u9519\u7528\uFF09", false).action(async (opts) => {
|
|
7635
|
+
await runSendLoginCode({ phone: opts.phone, verbose: opts.verbose });
|
|
7567
7636
|
});
|
|
7568
7637
|
program2.command("update").description("\u68C0\u67E5\u5E76\u66F4\u65B0 siluzan-cso-cli \u81F3\u6700\u65B0\u7248\u672C\uFF0C\u540C\u6B65\u5237\u65B0\u6240\u6709\u5DF2\u5B89\u88C5\u7684 skill \u6587\u4EF6").option("--force", "\u8DF3\u8FC7\u7248\u672C\u6BD4\u8F83\uFF0C\u5F3A\u5236\u91CD\u65B0\u5B89\u88C5\u5E76\u5237\u65B0 skill \u6587\u4EF6", false).option("--skip-init", "\u4EC5\u66F4\u65B0 CLI\uFF0C\u4E0D\u91CD\u65B0\u521D\u59CB\u5316 skill \u6587\u4EF6", false).action(async (opts) => {
|
|
7569
7638
|
await runUpdate({ force: opts.force, skipInit: opts.skipInit });
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -48,7 +48,7 @@ Windows 注意:部分 Agent 客户端通过 PowerShell / cmd 代执行命令
|
|
|
48
48
|
| 业务流程 | 手段 | 说明 |
|
|
49
49
|
| ---------------------- | ------------------------------------------------------- | ------------------------------------ |
|
|
50
50
|
| **发布与运营** | 下方 CLI 命令 + `references/*.md` | 上传、发布、任务、报表、账号、规划等 |
|
|
51
|
-
| **文案生产(子流程)** | `three-lib-content-workflow/content-writer.workflow.md` |
|
|
51
|
+
| **文案生产(子流程)** | `three-lib-content-workflow/content-writer.workflow.md` | 选题、三库、口播/公众号/成稿、审稿、改稿 |
|
|
52
52
|
|
|
53
53
|
两类流程同属 CSO 业务。文案生产流程嵌套在本 skill 内,见下文「三库内容工作流」。
|
|
54
54
|
|
|
@@ -56,7 +56,7 @@ Windows 注意:部分 Agent 客户端通过 PowerShell / cmd 代执行命令
|
|
|
56
56
|
|
|
57
57
|
| 命令 | 作用 | 详细文档 |
|
|
58
58
|
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
|
|
59
|
-
| `siluzan-cso login`
|
|
59
|
+
| `siluzan-cso login` / `siluzan-cso send-login-code` | 登录 / 配置凭据;手机号 + 验证码两段式登录 | `references/setup.md` |
|
|
60
60
|
| `siluzan-cso config show/set/clear` | 查看 / 修改 / 清空本地配置 | `references/setup.md` |
|
|
61
61
|
| `siluzan-cso init` | Skill 文件初始化(写入 AI 助手目录) | `references/setup.md` |
|
|
62
62
|
| `siluzan-cso update` | 更新 CLI 版本并刷新 Skill 文件 | `references/setup.md` |
|
|
@@ -93,7 +93,7 @@ Windows 注意:部分 Agent 客户端通过 PowerShell / cmd 代执行命令
|
|
|
93
93
|
| 需要给用户提供后台页面链接 | `references/web-pages.md` |
|
|
94
94
|
| 拉取人设 / styleGuide(写稿前)/ 保存人设 | `references/persona.md` |
|
|
95
95
|
| 写稿时检索素材库 RAG 片段(三库拆素材等) | `references/rag.md` |
|
|
96
|
-
| 选题 / 三库拆解 /
|
|
96
|
+
| 选题 / 三库拆解 / 口播文案/公众号文章/其他文案 / 人设卡 / 代表作品反推人设 / 文章审稿打分 / 精准改稿 | `three-lib-content-workflow/content-writer.workflow.md` |
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
|
@@ -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.25-beta.2",
|
|
4
|
+
"publishedAt": 1780655490422,
|
|
5
5
|
"homepage": "https://www.siluzan.com",
|
|
6
6
|
"source": "https://dev.azure.com/jack4it/Sammamish/_git/siluzan-skill",
|
|
7
7
|
"requiredBinaries": [
|
|
@@ -1,68 +1,59 @@
|
|
|
1
1
|
# three-lib-content-workflow 使用说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
这是一套把"素材/热点 → 人设 → 选题 → 结构 → 文案 → 复盘"串起来的内容生产系统。核心是"**人设是变量、三库是骨架**":
|
|
4
4
|
|
|
5
5
|
- 流量因子库:决定写什么更容易被看见
|
|
6
6
|
- 产品资产库:决定写什么更有长期价值
|
|
7
|
-
-
|
|
7
|
+
- 烹调方法库:决定怎么把内容组织好看
|
|
8
|
+
- 人设卡(走 CSO 平台):决定以谁的口气写、避开什么、用什么尺子检查
|
|
8
9
|
|
|
9
10
|
## 你什么时候该用它
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
- 把一篇文案改成xxx或yyy风格
|
|
12
|
+
- 从热点 / 素材挑选题
|
|
13
|
+
- 写口播 / 公众号 / 博客等成稿
|
|
14
|
+
- 把一篇文案改成某种风格
|
|
15
15
|
- 把代表作品反推成一个人设卡
|
|
16
|
-
-
|
|
16
|
+
- 给已有公众号文章审稿打分 / 精准改稿
|
|
17
17
|
- 输出能重复使用的文案 SOP
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## 三种工作流
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
都整合在一起了。
|
|
21
|
+
| 工作流 | 怎么触发 |
|
|
22
|
+
|---|---|
|
|
23
|
+
| **new** 写新文章 | "帮我写一篇""把这个素材改成文章" |
|
|
24
|
+
| **audit** 审稿打分 | "审一下这篇""给这篇打分"(主要针对公众号) |
|
|
25
|
+
| **revise** 精准改稿 | "改标题""重写开头""换个 CTA" |
|
|
27
26
|
|
|
28
27
|
## 推荐使用方式
|
|
29
28
|
|
|
30
|
-
### 1.
|
|
31
|
-
|
|
32
|
-
先确定是:
|
|
29
|
+
### 1. 先定人设(走 CSO 平台)
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
31
|
+
人设统一存在 CSO 平台:
|
|
32
|
+
- 已有:`siluzan-cso persona list` 选一个
|
|
33
|
+
- 没有:按 `persona-onboarding.md` 三选一建一个(反推作品 / 描述 / 已有卡),落盘走 `siluzan-cso persona create`
|
|
34
|
+
- 临时人设:不想建正式的,可以先用临时人设写一篇,喜欢再保存
|
|
38
35
|
|
|
39
36
|
### 2. 再定输入类型
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- 热点
|
|
44
|
-
- 一篇文案
|
|
45
|
-
- 代表作品
|
|
46
|
-
- 一个选题方向
|
|
38
|
+
你可以给它:热点 / 一篇文案 / 代表作品 / 一个选题方向 / 一段视频脚本。
|
|
47
39
|
|
|
48
40
|
### 3. 让它按流程处理
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
它会按 `sop.md` 的 12 步工作:
|
|
43
|
+
- 加载人设 → 定目标 → 选题 → 拆素材(需要品牌素材时先 RAG)→ 找流量因子 → 配产品资产 → 选烹调方法 → 出提纲 → 写正文(注入人设腔调)→ 质检 → 改写 → 反哺人设卡
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
- 再找产品资产
|
|
54
|
-
- 再选烹调方法
|
|
55
|
-
- 最后输出成稿 / 人设卡 / 选题建议
|
|
45
|
+
如果人设 `platform_focus` 含"公众号",会自动挂载 `packs/公众号爆款/`,按黄金骨架成稿并跑 12 项自检。
|
|
56
46
|
|
|
57
47
|
## 如果你只想快速上手
|
|
58
48
|
|
|
59
|
-
|
|
49
|
+
直接这样说:
|
|
60
50
|
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
51
|
+
- "帮我按三库拆这篇文案"
|
|
52
|
+
- "根据这个热点,用 <人设名> 生成公众号选题"
|
|
53
|
+
- "把这几篇代表作品反推成人设卡"
|
|
54
|
+
- "把这篇改成更强钩子的爆款版"
|
|
55
|
+
- "审一下这篇公众号,给我打分和改进建议"
|
|
65
56
|
|
|
66
57
|
## 一句话总结
|
|
67
58
|
|
|
68
|
-
|
|
59
|
+
这不是单纯的写稿说明,而是一套可重复使用的内容生产系统:**人设是变量,三库是骨架,人设卡注入腔调与边界。**
|