# 奇乐 Skill · 使用说明

> 你只需要对 AI 助手说自然语言；本文解释背后发生了什么、以及每一步你能控制什么。

---

## 一、核心工作流（四步）

```
投料 → 内容审查 → 发布（确认门） → 回执
```

### ① 准备投料（一个 JSON 文件）

视频类示例（保存为 `feed.json`）：

```json
{
  "v": {
    "title": "考研英语Day47｜一个that读错重点",
    "body": "正文文案……",
    "tags": ["考研英语", "长难句"],
    "aigc": true
  },
  "item": {
    "assets": ["/path/to/video.mp4"],
    "cover": "/path/to/cover.jpg",
    "kind": "video"
  }
}
```

- `v.*` 是内容字段（标题/正文/标签；`aigc: true` 会自动带「含AI生成内容」声明；
  定时发布给 `slot: "HH:MM"`，适配层自动换算日期与面板格式）
- `item.assets` 是素材文件路径，`item.cover` 封面（文章类平台如知乎/头条不需要素材）
- 各平台字段差异（标题限长/定时窗/分区）由适配层自动处理——投料只管内容本身

### ② 内容审查（双闸门，先审后发）

对 AI 助手说：**「用奇乐检查 feed.json」**（触发 `qile.check_content`）

- 本地词库 + 云端审查双闸；verdict 三态：`allow`（过）/ `warn`（告警）/ `reject`（拒）
- **过审才发**：云端强制——未过审内容拿不到发布凭证（content_token）
- `warn` 不是拒绝：AI 会把告警原因展示给你，你明确接受后才继续（`confirm_warns`）；
  不接受就改稿重审
- `degraded_reject`（审核服务降级）：稍等重跑即可，不要绕过

### ③ 发布（默认直接发布）

说：**「发布到 bili 和 douyin」**（触发 `qile.publish`）

- **默认直发**：内容过审后直接提交发布，无需再回复「发」——体验一步到位
- 想要发布前的人工确认门？说「用确认模式发布」（`semi:true`）——平台点
  最终「发表」按钮前会停下来问你，**30 分钟不确认自动取消**；首次用某平台
  或发布重要内容时建议用
- **把偏好记下来**（触发 `qile.prefs`）：
  - 说「**以后都要我确认了再发**」→ 以后默认确认门（存本机 `~/.qile/prefs.json`）
  - 说「**以后直接发就行**」→ 回到默认直发；单次说「用确认模式发布」仍优先
- 平台登录：首次发布某平台时会弹浏览器窗口让你**扫码登录**（登录态只存本机）
- 定时发布：带 `slot` 的内容按平台原生定时通道走
- **内容安全闸不因直发豁免**：未过审（含 warn 未确认）的内容一律发不出去

### ④ 回执（每条内容必有最终态）

说：**「查一下这次发布的回执」**（触发 `qile.receipts`）

- 结果三态：`ok`（成功）/ `draft_saved`（转草稿）/ `failed`（失败）
- 失败必带 `reason_code`（21 项闭集，如 `LOGIN_EXPIRED` 登录过期、
  `RISK` 平台风控、`TEXT_MISMATCH` 内容哈希不符）——AI 按闭集解读，不瞎猜
- 回执落盘 `~/.qile/receipts/YYYY-MM-DD.jsonl`，控制台也可查：
  https://agnet8.com/auth/console

## 二、发布前建议先看平台简报

说：**「奇乐现在各平台什么状态」**（触发 `qile.briefing`）

简报返回每个平台的：推荐模式、当日额度、维修状态、风控注记。两种特殊情况
**不要硬跑**：

- `manual_only`（平台风控期，如小红书封控期）→ 该平台转人工发布
- `under_repair`（规则维修中）→ 等运营修复，简报会给出预计恢复

**不认可平台的闸门？可以自己覆写**（触发 `qile.prefs`）：

- 说「**小红书我要自动发，风险我自己担**」→ 该平台恢复自动发布（云端记录，
  服务端会回「平台注记仍在生效」的知情警示；平台处置后果自担）
- 说「**抖音我以后自己手动发**」→ 平台开放期也只出人工发布包
- 说「**跟回平台默认**」→ 清除你的覆写，回到跟随运营注记
- **不可覆写**：维修中（`under_repair`）/停用/退役——那是规则坏了，不是偏好问题

## 三、失败自动兜底：dist 人工发布包

发布失败的回执会自动附一个 `dist_pack` 路径——打开是 `dist-pack.md`：
现成的标题+正文+核对清单，**人工到平台粘贴发布约 2 分钟**。自动化失败不等于
内容发不出去。

## 四、十个工具速查（AI 自动调用，供了解）

| 工具 | 用途 | 关键参数 |
|---|---|---|
| `qile.check_content` | 双闸门审查 | `input_path`（投料文件） |
| `qile.publish` | 启动发布（默认直发） | `platforms`（平台列表）、`run_key`；`confirm_warns` 接受告警；`semi` 开确认门 |
| `qile.confirm` | 确认门应答 | `run_key`、`yes` |
| `qile.receipts` | 回执查询 | `run_key` 或 `date` |
| `qile.login` | 平台扫码登录 | `platform` |
| `qile.status` | 许可/会话/平台状态 | — |
| `qile.briefing` | 平台简报（含热更词库版本） | — |
| `qile.report_heal` | 自愈成功轻上报 | `platform`、`heal_kind`；`trial_optin` 加入修复候选试验 |
| `qile.report_diagnosis` | 规则级失败初诊上报 | `platform`、`run_key`、`step_id`、`fix_type`、`diagnosis` |
| `qile.prefs` | 我的偏好 | `confirm=semi\|auto`（确认门默认，本机）；`platform`+`pref=auto\|manual\|unset`（平台覆写，云端） |

## 五、支持的平台

| 平台 | 形态 | 发布模式 | 当日额度 |
|---|---|---|---|
| B站 | 视频 | 原生定时 | 3 |
| 抖音 | 视频 | 原生定时 | 3 |
| 视频号 | 视频 | 原生定时 | 3 |
| 知乎 | 专栏文章 | 即时 | 1 |
| 头条 | 图文文章 | 即时 | 3 |
| 小红书 | 视频/图文 | 风控期人工（以简报为准） | — |
| 公众号 | API 通道（规划中） | — | — |

## 六、使用纪律（也是产品边界）

1. **一机一码**：许可绑设备指纹，换机走控制台解绑
2. **内容先审后发**：绕不过、也不该绕
3. **四不边界**：不对抗平台风控、不逆向平台客户端、不篡改页面、不记录账号密码
   ——没有多账号/养号能力，请合规使用
4. 争议/退款按《用户服务协议》https://agnet8.com/terms 执行；
   受理邮箱 184417225@qq.com（7 个工作日内答复）
