@freelog-cli/cli2 0.5.6 → 0.5.7

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.
@@ -82,6 +82,6 @@ freelog-cli create-version --yes --artifact video.mp4 --env dev
82
82
 
83
83
  - 要增加属性、可选配置或依赖:看 [版本工作稿](./04-版本工作稿.md)。
84
84
  - 要发布后续版本:看 [日常操作](./02-日常路径.md#发布新版本)。
85
- - 要给资源配置策略并上架:看 [资源管理](./05-资源管理.md)。
85
+ - 要选择模板、填写参数并添加策略:看[单资源授权策略](./11-单资源授权策略.md);之后按[资源管理](./05-资源管理.md)上架。
86
86
  - 要发行主题或插件:不要照本页的 `init`,改看 [主题与插件](./03-主题与插件.md)。
87
87
  - 要查任一命令的全部前置条件和影响:看 [完整命令参考](./10-命令参考.md)。
@@ -1,6 +1,6 @@
1
1
  # 资源管理
2
2
 
3
- 本页管理已绑定资源的线上事实:展示信息、标题同步、授权策略和可用状态。它们不替代版本发行,也不会修改未提交版本工作稿。发版看[资源生命周期](./02-日常路径.md),工作稿看[版本工作稿](./04-版本工作稿.md),所有命令的精确契约看[完整命令参考](./10-命令参考.md)。
3
+ 本页管理已绑定资源的线上事实:展示信息、标题同步、授权策略和可用状态。它们不替代版本发行,也不会修改未提交版本工作稿。发版看[资源生命周期](./02-日常路径.md),工作稿看[版本工作稿](./04-版本工作稿.md),策略添加的完整操作见[单资源授权策略](./11-单资源授权策略.md),所有命令的精确契约看[完整命令参考](./10-命令参考.md)。
4
4
 
5
5
  多资源工程中,本页除不带选择器即批量的 `resource sync` 外,每条命令都加 `--resource <selector>`。优先用 `id:`、`name:` 或 `artifact:<当前文件>`;`file:N.json` 保留给 AI、脚本和恢复。
6
6
 
@@ -59,20 +59,16 @@ freelog-cli resource recover --apply --yes --env dev
59
59
 
60
60
  对“尚未发送”状态,这会原子删除未决记录、保留工作稿;对“已确认”状态,才会原子删除工作稿和未决记录。不会重发版本。若版本不存在、SHA 不同、环境不对或本地身份不一致,CLI 会保留两份文件并停止。未决记录存在时,除登录、退出、只读查看和 `resource recover` 外,新的业务写入都会被拦住。
61
61
 
62
- ## 管理授权策略
63
-
64
- ```powershell
65
- freelog-cli policy list --env dev
66
- freelog-cli policy template list --env dev
67
- freelog-cli policy template apply <templateId> --yes --env dev
68
- freelog-cli policy apply --from-file .\free-policy.json --yes --env dev
69
- freelog-cli policy set --id <policyId> --on --env dev
70
- freelog-cli policy set --id <policyId> --off --env dev
71
- ```
72
-
73
- `policy list` 只看当前资源已经添加的策略:一次输出全部策略,页头显示完整资源类型链,不分页。当前后端按资源类型筛选模板存在故障,`policy template list` 暂时列出平台返回的**全部**模板(固定每页 20 条;TTY 可上一页/下一页,非 TTY 输出首页和继续提示),包含带交易事件的模板,不在 CLI 按免费/付费、事件或类型猜测过滤;后端修复后再恢复按类型请求。交互执行 `policy template apply` 时可在每页选择、翻页或取消;脚本执行必须提供 `<templateId> --yes`。应用模板会先由平台重新编译,最终能否写入由平台判定;目前带事件或需要填写时间、金额等参数的模板可能受后端编译契约阻塞,CLI 不猜测转换。应用模板或 `policy apply` 都会新增一条**启用**的授权策略,但不会触发支付,也不会自动上架。
74
-
75
- `policy apply --from-file` 接受策略文本文件,或包含 `policyName` 与 `policyText` 的 JSON 文件;若文本文件或 JSON 未提供名称,非交互模式还必须传 `--name <策略名>`。策略语义最终由平台校验。
62
+ ## 管理授权策略
63
+
64
+ ```powershell
65
+ freelog-cli policy template list --resource id:<资源ID> --env dev
66
+ freelog-cli policy list --resource id:<资源ID> --env dev
67
+ freelog-cli policy set --id <策略ID> --off --resource id:<资源ID> --env dev
68
+ freelog-cli policy set --id <策略ID> --on --resource id:<资源ID> --env dev
69
+ ```
70
+
71
+ `policy template list` 在交互终端可以翻页、选择模板、修改参数、预览译文并确认添加;添加后策略默认启用。`policy list` 查看当前资源已添加的全部策略,不分页。非交互脚本不能只给模板 ID 和 `--yes`:还须提供当前模板指纹、策略名和每个参数编号的值。模板详情、`--json` 机器输出、脚本示例及失败恢复见[单资源授权策略](./11-单资源授权策略.md)。当前命令树没有旧版 `policy apply --from-file` 入口。
76
72
 
77
73
  ## 上架与下架
78
74
 
@@ -124,7 +124,7 @@ freelog-cli update-version --bump patch --yes --env dev
124
124
 
125
125
  首版先 `create-version --prepare`,更新版先 `version draft pull`,之后再用 `version attr`、`version dep` 和 `version draft description` 编辑;仅当当前类型支持时才用 `version option`。依赖签约时从对方显示的**全部启用策略**中选择;签约成功后才写入工作稿。文件分析变化出现待复核附加属性时,先 `version attr review`,逐项决定保留等待恢复或 `review discard <key>`。详情见 [版本工作稿](./04-版本工作稿.md)。
126
126
 
127
- 展示信息、策略、上架和下架不属于版本工作稿;按 [资源管理](./05-资源管理.md) 单独操作。合集有独立的[使用教程](./合集/README.md),不与单资源工作稿混用;批量资源、前端库/package 模板和支付不在本期单资源 CLI 范围内。
127
+ 展示信息、策略、上架和下架不属于版本工作稿;按[资源管理](./05-资源管理.md)单独操作,其中选择模板、填写参数并添加策略见[单资源授权策略](./11-单资源授权策略.md)。合集有独立的[使用教程](./合集/README.md)和[合集授权策略](./合集/03-合集授权策略.md),不与单资源工作稿混用;批量资源、前端库/package 模板和支付不在本期单资源 CLI 范围内。
128
128
 
129
129
  ## 场景九:只修改一个已发布版本的说明
130
130
 
@@ -95,10 +95,10 @@ freelog-cli --cli-version
95
95
  |---|---|---|
96
96
  | `update [--title] [--intro] [--cover] [--tags] --yes [--resource <selector>]` | 只修改资源展示信息。 | 更新线上 listing;不发版、不改标识、不上下架。未传字段不改;`--intro ""`、`--tags ""` 清空对应字段;`--cover` 只能给工程内 JPG/PNG/静态 GIF(≤5MB),CLI 上传后写 URL,暂不支持清空封面。 |
97
97
  | `policy list [--resource <selector>]` | 查看当前资源的全部授权策略;页头显示根到叶的资源类型链。 | 只读,不分页。 |
98
- | `policy template list [--resource <selector>]` | 查看当前取得的全部策略模板。固定每页 20 条,TTY 可上一页/下一页;非 TTY 输出首页和继续提示。当前临时请求全量模板,待后端修复按类型筛选契约后再恢复类型参数。 | 只读。 |
99
- | `policy template apply [templateId] [--name] [--resource <selector>]` | 套用一条平台模板并启用。交互可选择;脚本必须给 `<templateId> --yes`。 | 新增并启用一条策略;不付款、不上架。 |
100
- | `policy apply --from-file <路径> [--name] --yes [--resource <selector>]` | 从策略文本或 JSON 文件新增策略。 | 新增并启用一条策略;策略语义由平台校验。 |
101
- | `policy set --id <策略ID> --on|--off [--resource <selector>]` | 启用或停用某条策略。 | 更新线上策略状态;已上架资源不能停用到零条启用策略。 |
98
+ | `policy template list [--json] [--resource <selector>]` | TTY 每页 20 条,可翻页并直接选择模板、编辑参数、预览和创建;非 TTY 默认只打印首页;`--json` 一次输出全部 `normal` 模板及参数、指纹。当前请求服务端全量快照,再按编译主体筛选。 | 只读直到用户在 TTY 预览并确认创建;`--json` 始终只读。 |
99
+ | `policy template info <templateId> [--json] [--resource <selector>]` | 查看模板全文、参数编号、默认值、选项和非交互命令骨架;`--json` 只输出这一条的机器描述。 | 只读。 |
100
+ | `policy template apply <templateId> [--resource <selector>]` | TTY 逐项编辑、预览译文后创建;非交互或显式传参数时须同时给 `--template-fingerprint <值> --name <策略名> --param "编号=值"`(每个槽位各一项)和 `--yes`。详见[单资源授权策略](./11-单资源授权策略.md)。 | 平台编译并翻译后新增、启用一条策略;不付款、不上架。 |
101
+ | `policy set --id <策略ID> --on` 或 `--off` | 二选一启用或停用当前资源的一条策略,可加 `--resource <selector>`。 | 更新线上策略状态;已上架资源不能停用到零条启用策略。 |
102
102
  | `validate --for online [--resource <selector>]` | 上架前预检版本和策略条件。 | 只读。 |
103
103
  | `online [--resource <selector>]` | 资源有已发版本和至少一条启用策略后上架。 | 更新线上可用状态。 |
104
104
  | `offline [--resource <selector>]` | 暂停线上可用状态。 | 只下架,不删除版本、策略、资源或本地文件。 |
@@ -0,0 +1,72 @@
1
+ # 单资源:添加和管理授权策略
2
+
3
+ 本页只操作**单资源自身的授权策略**。主题、插件、图片等单资源使用同一流程;合集自身策略请看[合集授权策略](./合集/03-合集授权策略.md)。添加策略不创建版本、不会上架资源,也不会替任何人付款或签约。
4
+
5
+ 以下命令以 dev 为例。先在工程中登录,并为目标资源创建线上资源壳或绑定已有资源;只运行 `init`、还没有线上资源 ID 时不能添加策略。工程有多份单资源身份时,每条命令都传 `--resource id:<资源ID>`;只有一份时可以省略。若工程不在当前目录,另加 `--cwd <工程目录>`。
6
+
7
+ ## 最短人工路径:列表中选模板并完成添加
8
+
9
+ ```powershell
10
+ freelog-cli policy template list --resource id:<资源ID> --env dev
11
+ ```
12
+
13
+ 在交互式终端中,列表每页显示 20 个单资源模板及各自参数数量,可选择“下一页”“上一页”或“退出”。**选中模板后不会立即提交**:CLI 展示完整策略说明,并在可修改的位置标出 `[1]`、`[2]` 等参数编号;可以修改策略名称、逐项修改或恢复默认值,然后选择“预览并创建”。预览阶段先重新读取模板、校验参数,调用平台编译与翻译,展示最终策略译文和参数值;确认后才新增策略并启用。选择“取消”或预览校验失败不会写入策略。
14
+
15
+ 参数类型由当前模板决定:
16
+
17
+ | 类型 | 如何输入 |
18
+ |---|---|
19
+ | 数字 `number` | 输入有限数字;下限和小数位以 `template info` 或 `--json` 显示的规则为准。 |
20
+ | 选项 `select` | 人工操作从模板提供的选项中选择。 |
21
+ | 时间 `datetime` | 使用 `YYYY-MM-DD HH:mm` 格式,例如 `2026-10-01 09:00`。 |
22
+
23
+ 模板可能没有可用默认值,此时必须填写相应参数;即使有默认值,也建议逐项核对最终译文。策略名称必须为 2–20 个字符,且不能与该资源现有策略重名。
24
+
25
+ ## 已知道模板 ID:先看完整说明,再进入编辑
26
+
27
+ ```powershell
28
+ freelog-cli policy template info <模板ID> --resource id:<资源ID> --env dev
29
+ freelog-cli policy template apply <模板ID> --resource id:<资源ID> --env dev
30
+ ```
31
+
32
+ `info` 只读,展示模板全文、参数编号、默认值、选项及一条非交互命令骨架;骨架不会自动带上当前工程的 `--resource`、`--cwd` 和 `--env`,复制后请补齐。`apply <模板ID>` 在交互终端进入与列表选择相同的编辑、预览和确认流程。若只想从模板列表开始,不必先执行 `info`。
33
+
34
+ ## AI 或脚本:取得完整模板快照后精确提交
35
+
36
+ ```powershell
37
+ freelog-cli policy template list --json --resource id:<资源ID> --env dev
38
+ freelog-cli policy template info <模板ID> --json --resource id:<资源ID> --env dev
39
+ ```
40
+
41
+ `list --json` 一次输出当前单资源可见的**全部**模板,不按 TTY 的 20 条分页;`info --json` 只输出指定模板。机器输出含模板 ID、整体说明、`fingerprint` 和每个参数的编号 `slot`、类型、默认值或必填标记、数字规则及选项 `value`。同一说明里重复出现的参数仍使用同一个编号。`fingerprint` 用于确认提交时的模板描述与查看时一致,**参数编号只对该模板的当前指纹有效**。
42
+
43
+ 从上述输出选定一个模板后,给它的**每一个参数编号**显式提供一个 `--param "编号=值"`,包括已有默认值的参数;零参数模板不需要 `--param`。例如,假设当前模板有两个参数:
44
+
45
+ ```powershell
46
+ freelog-cli policy template apply <模板ID> `
47
+ --template-fingerprint <从当前JSON读取的fingerprint> `
48
+ --name "我的授权策略" `
49
+ --param "1=<第一个参数值>" `
50
+ --param "2=<第二个参数值>" `
51
+ --resource id:<资源ID> --env dev --yes
52
+ ```
53
+
54
+ 这只是命令形状,**不能照抄两个 `--param` 的数量或值**;以该模板的实际参数清单为准。选项参数传 `value`,不是显示用 `label`;时间使用上述格式。缺编号、重复编号、值不合规则或模板指纹已变化会停止,先重新运行 `list --json` / `info` 再提交。非交互运行或显式传入指纹、参数时,`--template-fingerprint`、`--name`、全部 `--param` 和 `--yes` 是必需的;**单独加 `--yes` 不足以让脚本自动补参数**。
55
+
56
+ ## 确认结果与启停
57
+
58
+ ```powershell
59
+ freelog-cli policy list --resource id:<资源ID> --env dev
60
+ freelog-cli policy set --id <策略ID> --off --resource id:<资源ID> --env dev
61
+ freelog-cli policy set --id <策略ID> --on --resource id:<资源ID> --env dev
62
+ ```
63
+
64
+ `policy list` 一次列出这个资源的全部已添加策略和启用状态,不分页;页头还会显示资源类型从根到叶的完整路径。添加成功后策略默认**启用**,CLI 会读回确认。启停只修改策略状态,不删除策略、不创建版本、不会触发付款;已上架资源不能停用最后一条启用策略。`set` 必须且只能给 `--on` 或 `--off`;交互终端会确认,脚本可加 `--yes`。
65
+
66
+ 资源上架仍是独立步骤:先确保已有已发版本和至少一条启用策略,再运行 `freelog-cli validate --for online ...`、`freelog-cli online ...`。策略模板与依赖签约是两件事:此处添加的是**自己资源对外提供的策略**;版本依赖要到[版本工作稿](./04-版本工作稿.md)维护。
67
+
68
+ ## 当前模板范围与失败处理
69
+
70
+ 当前模板接口请求完整列表;CLI 仅保留编译目标为 `normal` 的模板供单资源使用,**不按免费/付费或交易事件标签筛选**,也暂不按资源叶子类型请求缩小范围。列表中出现不适用的模板,并不保证它一定能为当前资源编译成功或被平台接受;最终以预览时的平台编译、翻译以及创建校验为准。平台若拒绝编译,CLI 不猜测修改事件、金额或日期语义。
71
+
72
+ 若提示“模板已变化”,重新查询并按新编号填写;若提示重名或正文重复,先用 `policy list` 核对现有策略。新增与启停均会读回线上状态;出现“创建结果未知”时 CLI 会退出当前编辑流程,先查列表,**不要盲目重复创建**。没有适用模板时列表正常显示为空;响应损坏才报错。CLI 不处理结算账户或支付,平台若拒绝编译或提交,则如实显示错误。目前命令树没有 `policy apply --from-file` 入口;本页的添加路径是策略模板,不要按旧文档中的手写文件示例执行。
@@ -43,7 +43,8 @@ freelog-cli --help
43
43
  | 创建、发新版本、接入已有资源 | [资源生命周期](./02-日常路径.md) |
44
44
  | 创建主题或插件并发布构建产物 | [主题与插件](./03-主题与插件.md) |
45
45
  | 继续、覆盖或丢弃未提交的版本内容 | [版本工作稿](./04-版本工作稿.md) |
46
- | 修改展示信息、策略和上下架 | [资源管理](./05-资源管理.md) |
46
+ | 修改展示信息、策略和上下架 | [资源管理](./05-资源管理.md) |
47
+ | 为单资源选择、填写并添加授权策略 | [单资源授权策略](./11-单资源授权策略.md) |
47
48
  | 命令失败后的处理方式 | [故障恢复](./06-常见情况与报错.md) |
48
49
  | 环境、登录和本地文件 | [环境、登录与凭据](./07-环境与凭据.md) · [本地状态文件](./08-本地文件参考.md) |
49
50
  | 已知命令、参数或脚本需求,想查准确前置条件和影响 | [完整命令参考](./10-命令参考.md) |
@@ -69,7 +70,7 @@ freelog-cli --help
69
70
  | `--resource <selector>` | 为常规单资源命令选择某一份本地身份:`id:<资源ID>`、完整 `name:<username/name>`、`artifact:<相对文件或构建目录>` 或 `file:N.json`。单份可省略;多份交互选择,非交互必须明确指定。标题只展示,不能选择身份。`create` / `bind` 的新增或接续规则见下文。 |
70
71
  | `--artifact <path>` | 当前选中资源的产物路径:`create` / `bind` 可记录默认路径;发版时表示本次上传路径;`version set` 只更新默认路径,绝不选择身份。 |
71
72
  | `--yes` | 跳过交互确认;不会放宽校验。仅当命令明确支持时(如覆盖工作稿)才允许覆盖相应状态,绝不覆盖工程目录。 |
72
- | `--json` | 将 CLI 错误输出为 `{ "code", "message" }`。 |
73
+ | `--json` | 将 CLI 错误输出为 `{ "code", "message" }`;策略 `template list/info` 还会输出可供脚本读取的完整模板描述。 |
73
74
 
74
75
  新脚本只使用 `--type`,不要使用 `--resource-type`;后者仅为迁移期兼容别名,CLI 会给出弃用警告。`--scaffold`、`artifactMode`、`publish` 和 `release` 不存在于当前命令面。
75
76
 
@@ -186,11 +186,20 @@ freelog-cli collection publish resume `
186
186
  2. 至少一条**合集自身**策略已启用;
187
187
  3. 合集未冻结,且不是 RSS 合集。
188
188
 
189
- 当前 CLI 尚未提供 `collection policy` 管理命令。策略服务契约稳定前,需要在 Console 为该合集配置并启用策略,然后执行:
189
+ 现在可以在 CLI 中直接选择合集自身的策略模板。交互终端运行下面的列表,翻页选中模板,修改名称及参数,预览最终译文后确认创建;成功后策略默认启用:
190
+
191
+ ```powershell
192
+ freelog-cli collection policy template list `
193
+ --resource id:<合集ID> --cwd . --env dev
194
+ freelog-cli collection policy list `
195
+ --resource id:<合集ID> --cwd . --env dev
196
+ ```
197
+
198
+ 脚本/AI 需先获取模板参数和指纹,并显式提供每个参数及 `--yes`,不能只给模板 ID。完整操作见[合集授权策略](./03-合集授权策略.md)。确认至少一条合集自身策略启用后,再单独上架:
190
199
 
191
200
  ```powershell
192
201
  freelog-cli collection online `
193
202
  --resource id:<合集ID> --cwd . --env dev --yes
194
203
  ```
195
204
 
196
- 成功后 CLI 会重读 `status:1`。如果没有启用策略,它会明确拒绝;不会替你创建策略、发布目录或绕过支付。下架使用 `collection offline`,不删除目录、表单、依赖、合同或本地身份。
205
+ 成功后 CLI 会重读 `status:1`。如果没有启用策略,它会明确拒绝;`online` 本身不会替你创建策略、发布目录或绕过支付。下架使用 `collection offline`,不删除目录、表单、依赖、合同或本地身份。
@@ -131,7 +131,7 @@ freelog-cli collection offline --resource id:<合集ID> --cwd . --env dev --yes
131
131
  freelog-cli collection online --resource id:<合集ID> --cwd . --env dev --yes
132
132
  ```
133
133
 
134
- 当前策略管理命令尚未可用;没有启用合集自身策略时,CLI 的上架拒绝是预期行为。单品自身的策略、合集直接依赖的签约、以及合集自身策略不能相互替代。
134
+ 没有启用合集自身策略时,上架拒绝是预期行为。可通过 `collection policy template list` 交互选择模板、填写参数并创建,再用 `collection policy list` 确认启用状态;已有策略的开关使用 `collection policy set --id <策略ID> --on|--off`。详细操作及非交互参数见[合集授权策略](./03-合集授权策略.md)。单品自身策略、合集直接依赖的签约、合集自身策略不能相互替代。
135
135
 
136
136
  ## 日志与授权合约
137
137
 
@@ -151,7 +151,7 @@ freelog-cli collection contract show <contractId> --resource id:<合集ID> --cwd
151
151
  |---|---|
152
152
  | 已发布目录中看不到刚添加的单品 | 先确认 `collection item list` 中有该项,再运行 `collection publish --include-items auto`。发布成功也不等于上架。 |
153
153
  | 合集状态为下架 | 已发布目录可以仍有单品;配置并启用合集自身策略后,独立运行 `collection online`。 |
154
- | `collection online` 提示无策略 | 当前 CLI 不创建合集策略;先在 Console 完成该合集的策略配置和启用。 |
154
+ | `collection online` 提示无策略 | 先按[合集授权策略](./03-合集授权策略.md)在 CLI 中选择模板并添加、启用合集自身策略,再检查已发布快照后重试上架。 |
155
155
  | 想把本地文件夹或主题项目整体加入合集 | 先将每个文件分别发行、设置策略并上架为单资源,再用 `collection item add` 加入。 |
156
156
  | 自动收录开启后无法手工改目录 | 先 `collection collect-rules set --auto off`,读回关闭,再修改目录并 publish。 |
157
157
  | 发布网络中断或读回不一致 | 运行 `collection publish resume`;它只提供诊断,不自动重发。 |
@@ -0,0 +1,70 @@
1
+ # 合集:添加和管理自身授权策略
2
+
3
+ 本页只操作**合集自身对外提供的授权策略**。合集目录单品的上游授权、合集表单中的直接依赖以及单资源自身策略是另外三件事;不要用这里的策略 ID 代替依赖所需的上游策略或合同 ID。单资源教程单独见[单资源授权策略](../11-单资源授权策略.md)。
4
+
5
+ 以下以 dev 环境为例。先 `freelog-cli login --env dev`,并已通过 `collection create` 或 `collection bind` 拥有可维护的线上合集。策略添加只需要合集线上身份;它不发布目录或表单,也不会自动上架。多合集工程中每条命令都传 `--resource id:<合集ID>`;也可用完整 `name:<username/name>` 或 `file:N.json`。合集选择器**不接受 `artifact:`**;没有本地合集状态时,可直接指定当前账号拥有的线上 `id:` 或 `name:`。工程目录另用 `--cwd <工程目录>`。
6
+
7
+ ## 最短人工路径:从合集模板列表完成添加
8
+
9
+ ```powershell
10
+ freelog-cli collection policy template list --resource id:<合集ID> --env dev
11
+ ```
12
+
13
+ 在交互式终端中,合集模板固定每页 20 个并显示各自参数数量,可以选择“下一页”“上一页”或“退出”。选择模板后,CLI 展示完整策略说明与 `[1]`、`[2]` 等参数编号;可修改策略名称、逐项输入或选择参数、恢复默认值,再“预览并创建”。预览会重新读取模板并校验指纹与参数,调用平台进行合集策略编译和翻译,展示最终策略译文和参数值;确认后才向合集新增并启用策略。取消或预览失败不会写入。
14
+
15
+ 参数可以是数字、选项或时间。数字下限和精度、可选 `value`、默认值均取自当前模板;时间格式为 `YYYY-MM-DD HH:mm`。没有可用默认值的参数必须填写。策略名称为 2–20 个字符,同一合集不能出现同名或相同正文的策略。
16
+
17
+ ## 指定模板 ID 或供 AI 查阅
18
+
19
+ ```powershell
20
+ freelog-cli collection policy template info <模板ID> --resource id:<合集ID> --env dev
21
+ freelog-cli collection policy template apply <模板ID> --resource id:<合集ID> --env dev
22
+ ```
23
+
24
+ `info` 只读,列出全文、参数编号、默认值、选项及非交互命令骨架;复制骨架后还要补上本次的 `--resource`、`--cwd` 和 `--env`。`apply <模板ID>` 在交互终端进入与 `template list` 选择后相同的编辑、预览、确认流程;它不是“看到 ID 就不校验直接创建”。
25
+
26
+ 脚本或 AI 先获取机器可读的完整合集模板快照:
27
+
28
+ ```powershell
29
+ freelog-cli collection policy template list --json --resource id:<合集ID> --env dev
30
+ freelog-cli collection policy template info <模板ID> --json --resource id:<合集ID> --env dev
31
+ ```
32
+
33
+ `list --json` 输出当前合集可见的**全部**模板,不受人工界面每页 20 条的限制;`info --json` 只输出一个模板。机器输出含模板 ID、报告、`fingerprint` 与每个参数的 `slot`、类型、默认值或必填标记、数字规则、选项。脚本须使用**刚查看的指纹**,并给该模板的**每个**编号传 `--param "编号=值"`,包括有默认值的参数;零参数模板不传 `--param`。选项填 `value` 而不是显示名称。
34
+
35
+ 例如当前选中模板恰有两个参数时,命令形状为:
36
+
37
+ ```powershell
38
+ freelog-cli collection policy template apply <模板ID> `
39
+ --template-fingerprint <从当前JSON读取的fingerprint> `
40
+ --name "合集授权策略" `
41
+ --param "1=<第一个参数值>" `
42
+ --param "2=<第二个参数值>" `
43
+ --resource id:<合集ID> --env dev --yes
44
+ ```
45
+
46
+ **参数个数和值只是占位示例**,必须以该模板实际清单替换。非交互运行或显式传入指纹、参数时,`--template-fingerprint`、`--name`、每个参数的 `--param` 和 `--yes` 缺一不可;单独的 `apply <ID> --yes` 不会替脚本补齐参数。参数缺失、重复、无效或模板指纹变化会停止,重新查询模板后再执行。
47
+
48
+ ## 查询结果、启停与上架
49
+
50
+ ```powershell
51
+ freelog-cli collection policy list --resource id:<合集ID> --env dev
52
+ freelog-cli collection policy set --id <策略ID> --off --resource id:<合集ID> --env dev
53
+ freelog-cli collection policy set --id <策略ID> --on --resource id:<合集ID> --env dev
54
+ ```
55
+
56
+ `collection policy list` 一次列出该合集自身的全部策略 ID、名称和 `on/off`,不分页。模板添加成功后默认**启用**,CLI 会读回确认;它不会发布目录、表单或上架合集,也不替使用方付款。`set` 必须且只能指定 `--on` 或 `--off`,交互时会确认,脚本可加 `--yes`;已上架合集不能停用最后一条启用策略,冻结合集也不能修改策略。
57
+
58
+ 合集上架还需要**已发布快照**。完成[首次发行](./01-首次发行与发布.md)的目录/表单发布后,确认至少一条合集自身策略启用,再执行:
59
+
60
+ ```powershell
61
+ freelog-cli collection online --resource id:<合集ID> --env dev --yes
62
+ ```
63
+
64
+ 上架不是策略添加的副作用;下架也不删除策略、已发布目录或已有合同。
65
+
66
+ ## 当前范围及失败后恢复
67
+
68
+ 当前模板接口请求完整列表;CLI 仅保留编译目标为 `collection` 的模板供合集使用,**不按免费/付费或事件标签筛选**,也暂不按合集叶子类型请求缩小范围。因此列表出现某模板不保证它一定能为当前合集编译或创建成功;预览时的平台编译、翻译及最终写入校验仍会把关。CLI 不自行改写支付、金额、时间或事件语义。
69
+
70
+ 若模板指纹变化,重新运行 `template list --json` 或 `template info`,按新编号和值填写;若名称或正文重复,先用 `collection policy list` 核对。出现“创建结果未知”时 CLI 会退出当前编辑流程,先读回列表,不要盲目再添加。没有适用模板时列表正常显示为空;响应损坏才报错。CLI 不处理结算账户或支付,平台若拒绝编译或提交,则如实显示错误。当前合集 CLI 只提供模板添加、列表和启停;没有 `collection policy apply --from-file` 手写策略入口。
@@ -10,6 +10,7 @@
10
10
  |---|---|
11
11
  | 第一次创建合集、添加单品、编辑表单并发布 | [首次发行](./01-首次发行与发布.md) |
12
12
  | 已发行合集的单品、信息、规则、表单、发布和观察 | [发行后管理](./02-发行后管理与边界.md) |
13
+ | 选择模板、填写参数并添加合集自身策略 | [合集授权策略](./03-合集授权策略.md) |
13
14
  | 安装 CLI、登录、环境与单资源发行 | [返回主手册](../README.md) |
14
15
 
15
16
  ## 先理解三个独立事实
@@ -39,7 +40,7 @@
39
40
  |---|---|
40
41
  | 创建、绑定、目录单品增删改排、listing、收录规则、表单、直接依赖、发布、下架、日志和授权合约只读查询 | 已实现;仍应按命令的实际读回结果判断成功。 |
41
42
  | `collection online` | 已实现门禁和状态读回;需要已发布合集与启用的合集自身策略。 |
42
- | 合集自身策略的创建、模板、编译、启停 | 暂未提供 CLI 命令,等待策略后端契约稳定。当前需要先在 Console 配置并启用策略,才可用 CLI 上架。 |
43
+ | 合集自身策略的模板列表、参数编辑、创建、列表和启停 | 已提供 `collection policy template list/info/apply`、`collection policy list/set`;添加后默认启用。交互与脚本路径见[合集授权策略](./03-合集授权策略.md)。当前没有手写策略文件入口。 |
43
44
  | 已有目录单品的授权重处理(`collection item auth resolve`) | 暂未实现;只提供 `auth status` 查询。 |
44
45
  | RSS 合集、批量单资源发行、支付、从本地文件夹自动生成合集 | 当前不支持。 |
45
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freelog-cli/cli2",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "Freelog CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",