{"id":"f229b376-7698-4f60-bc71-ae085f827a57","entityType":"agent","slug":"clawhub-polyv-polyv-live-cli","name":"保利威直播","canonicalUrl":"https://www.xpersona.co/agent/clawhub-polyv-polyv-live-cli","canonicalPath":"/agent/clawhub-polyv-polyv-live-cli","generatedAt":"2026-10-11T01:45:01.407Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":null},"description":"保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。 Skill: 保利威直播 Owner: polyv Summary: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。 Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-27T09:42:32.642Z | user - 移除 skill-card.md 文件。 - 在主文档中新增“本地图片与公网 URL”说明，明确图片参数需先上传为公网 URL，再用于各配置。 - 高频任务路由补充 web image-upload 相关内容，强化本地图片上传指引。 - 细化图片上传命令格式及常见类型举例，便于实际操作","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s172qmy2h5hp9cytnyn19hnaxh88rp40:polyv-live-cli","sourceUrl":"https://clawhub.ai/polyv/polyv-live-cli","homepage":"https://clawhub.ai/polyv/skills/polyv-live-cli","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/polyv/polyv-live-cli","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/polyv/skills/polyv-live-cli","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":null},"stars":null,"forks":null,"downloads":1228,"packageName":null,"latestVersion":"1.0.9","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:40:06.202Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T23:40:06.218Z","lastCrawledAt":"2026-10-10T23:40:06.202Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T23:40:06.202Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.9","createdAt":"2026-06-27T09:42:32.642Z","changelog":"- 移除 skill-card.md 文件。 - 在主文档中新增“本地图片与公网 URL”说明，明确图片参数需先上传为公网 URL，再用于各配置。 - 高频任务路由补充 `web image-upload` 相关内容，强化本地图片上传指引。 - 细化图片上传命令格式及常见类型举例，便于实际操作。 - 其余基本规则与参考文档路由保持一致，暂无其它重大变更。","fileCount":44,"zipByteSize":72129},{"version":"1.0.8","createdAt":"2026-06-23T07:50:46.084Z","changelog":"本次同步基于 `polyv-live-cli@1.2.31`，覆盖 40 个一级命令和 500+ 直播 API；已修正 skill/reference 中与真实 CLI help 不一致的命令参数，并补充商品库、优惠券观看页开关等电商场景关键说明。","fileCount":44,"zipByteSize":69090},{"version":"1.0.7","createdAt":"2026-06-17T10:20:05.878Z","changelog":"- 官方 skill 标记，简化简称及描述，强调“保利威官方skill” - 阐明推流密钥与账号 AppSecret 隐私管理区别：用户明确请求时，推流密钥可完整返回，须提醒仅用于可信推流端 - 多处描述更正“AppSecret 不回显”，并在失败处理等章节细化密钥展示规则 - 补充“获取推流密钥”输出格式差异说明 - 其他仅表述和行文微调，整体规则、命令流程无结构变动","fileCount":28,"zipByteSize":51307},{"version":"1.0.6","createdAt":"2026-06-17T09:56:12.616Z","changelog":"1. 统一以 npm 发布版 CLI 为准：执行命令前优先使用 `npx --yes polyv-live-cli@latest ... --help` 校验真实语法，避免旧示例或历史记忆导致参数错误。 2. 补充认证预检流程：除 `--help`、`--version` 和账号管理命令外，业务命令执行前会先检查账号配 置和当前账号状态。 3. 强化安全操作保护：删除、开播、停播、推送、配置修改、真实场景初始化等高风险操作需要先确 认；`setup` 场景初始化优先使用 `--dry-run` 预演。 4. 优化敏感信息处理：明确禁止回显 AppSecret，账号诊断只展示必要的账号名、App ID、User ID、环 境等信息。 5. 更新高频命令语法提示：覆盖 `transmit`、`card-push`、`product`、`coupon`、`statistics export`、`setup` 等容易写错的命令族。 6. 重构 references 文档：修正过期参数和不存在的子命令，统一使用 `npx --yes polyv-live- cli@latest` 示例。","fileCount":28,"zipByteSize":50720},{"version":"1.0.5","createdAt":"2026-03-31T07:45:30.624Z","changelog":"- No changes detected in this version. - Documentation and functionality remain the same as the previous release.","fileCount":28,"zipByteSize":57925},{"version":"1.0.3","createdAt":"2026-03-26T07:54:13.680Z","changelog":"- Updated频道创建命令的`场景类型`和`模板`参数说明，现在支持更多场景和模板选项。 - references/channel-management.md同步进行了相关参数和类型说明的补充。 - 其他命令和功能未变。","fileCount":27,"zipByteSize":56409},{"version":"1.0.2","createdAt":"2026-03-26T04:15:51.314Z","changelog":"- 修正账号管理命令 account delete 为 account remove，以与 CLI 实际命令一致 - 优惠券相关命令和参数做了调整：新增 coupon add、coupon delete，参数命名规范化 - 优化回放相关命令参数命名（如 videoId → video-id，fileIds → file-ids） - 统计数据命令全面调整，细分观看、并发、观众统计等操作，命令参数更清晰 - 播放器相关命令结构调整，player config get/update 替换原有 player get/update","fileCount":27,"zipByteSize":56193},{"version":"1.0.1","createdAt":"2026-03-26T03:37:20.868Z","changelog":"Version 1.0.1 - Added comprehensive reference documentation for all major commands and features under the 'references/' directory. - Introduced new documentation files covering card push, chat management, check-in, donation, lottery, monitoring, platform, player, QA questionnaire, record settings, transmit, viewer management, viewer info, watch condition, and whitelist features. - Expanded the SKILL.md command list to include new chat消息、禁言踢人、签到管理、录制设置、观众管理、抽奖、打赏、推卡、问卷等操作指令。 - Improved organization and navigation of documentation for easier command discovery.","fileCount":27,"zipByteSize":56544}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s172qmy2h5hp9cytnyn19hnaxh88rp40:polyv-live-cli","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T01:45:01.402Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-polyv-polyv-live-cli/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":null},"readme":"Skill: 保利威直播\n\nOwner: polyv\n\nSummary: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。\n\nTags: latest:1.0.9\n\nVersion history:\n\nv1.0.9 | 2026-06-27T09:42:32.642Z | user\n\n- 移除 skill-card.md 文件。\n- 在主文档中新增“本地图片与公网 URL”说明，明确图片参数需先上传为公网 URL，再用于各配置。\n- 高频任务路由补充 `web image-upload` 相关内容，强化本地图片上传指引。\n- 细化图片上传命令格式及常见类型举例，便于实际操作。\n- 其余基本规则与参考文档路由保持一致，暂无其它重大变更。\n\nv1.0.8 | 2026-06-23T07:50:46.084Z | user\n\n本次同步基于 `polyv-live-cli@1.2.31`，覆盖 40 个一级命令和 500+ 直播 API；已修正 skill/reference 中与真实 CLI help 不一致的命令参数，并补充商品库、优惠券观看页开关等电商场景关键说明。\n\nv1.0.7 | 2026-06-17T10:20:05.878Z | user\n\n- 官方 skill 标记，简化简称及描述，强调“保利威官方skill”\n- 阐明推流密钥与账号 AppSecret 隐私管理区别：用户明确请求时，推流密钥可完整返回，须提醒仅用于可信推流端\n- 多处描述更正“AppSecret 不回显”，并在失败处理等章节细化密钥展示规则\n- 补充“获取推流密钥”输出格式差异说明\n- 其他仅表述和行文微调，整体规则、命令流程无结构变动\n\nv1.0.6 | 2026-06-17T09:56:12.616Z | user\n\n1. 统一以 npm 发布版 CLI 为准：执行命令前优先使用 `npx --yes polyv-live-cli@latest ...\n--help` 校验真实语法，避免旧示例或历史记忆导致参数错误。\n2. 补充认证预检流程：除 `--help`、`--version` 和账号管理命令外，业务命令执行前会先检查账号配\n置和当前账号状态。\n3. 强化安全操作保护：删除、开播、停播、推送、配置修改、真实场景初始化等高风险操作需要先确\n认；`setup` 场景初始化优先使用 `--dry-run` 预演。\n4. 优化敏感信息处理：明确禁止回显 AppSecret，账号诊断只展示必要的账号名、App ID、User ID、环\n境等信息。\n5. 更新高频命令语法提示：覆盖 `transmit`、`card-push`、`product`、`coupon`、`statistics\nexport`、`setup` 等容易写错的命令族。\n6. 重构 references 文档：修正过期参数和不存在的子命令，统一使用 `npx --yes polyv-live-\ncli@latest` 示例。\n\nv1.0.5 | 2026-03-31T07:45:30.624Z | user\n\n- No changes detected in this version.  \n- Documentation and functionality remain the same as the previous release.\n\nv1.0.3 | 2026-03-26T07:54:13.680Z | auto\n\n- Updated频道创建命令的`场景类型`和`模板`参数说明，现在支持更多场景和模板选项。\n- references/channel-management.md同步进行了相关参数和类型说明的补充。\n- 其他命令和功能未变。\n\nv1.0.2 | 2026-03-26T04:15:51.314Z | user\n\n- 修正账号管理命令 account delete 为 account remove，以与 CLI 实际命令一致\n- 优惠券相关命令和参数做了调整：新增 coupon add、coupon delete，参数命名规范化\n- 优化回放相关命令参数命名（如 videoId → video-id，fileIds → file-ids）\n- 统计数据命令全面调整，细分观看、并发、观众统计等操作，命令参数更清晰\n- 播放器相关命令结构调整，player config get/update 替换原有 player get/update\n\nv1.0.1 | 2026-03-26T03:37:20.868Z | user\n\nVersion 1.0.1\n\n- Added comprehensive reference documentation for all major commands and features under the 'references/' directory.\n- Introduced new documentation files covering card push, chat management, check-in, donation, lottery, monitoring, platform, player, QA questionnaire, record settings, transmit, viewer management, viewer info, watch condition, and whitelist features.\n- Expanded the SKILL.md command list to include new chat消息、禁言踢人、签到管理、录制设置、观众管理、抽奖、打赏、推卡、问卷等操作指令。\n- Improved organization and navigation of documentation for easier command discovery.\n\nv1.0.0 | 2026-03-23T05:46:18.189Z | user\n\nInitial release of polyv-live-cli.\n\n- 提供命令行工具管理保利威直播平台，支持频道、推流、商品、优惠券、回放、统计等操作\n- 支持账号安全认证与多账号切换\n- 完整覆盖频道管理、推流、商品/优惠券、回放、文档、统计分析等常用命令和工作流程\n- 输出格式支持表格与 JSON，适用交互和自动化需求\n- 场景初始化命令简化电商和教育场景搭建\n- 附详细命令说明与官方文档链接，便于上手和扩展\n\nArchive index:\n\nArchive v1.0.9: 44 files, 72129 bytes\n\nFiles: references/ai.md (797b), references/authentication.md (2666b), references/card-push.md (2747b), references/channel-management.md (4905b), references/chat-management.md (8710b), references/checkin.md (5333b), references/command-index.md (21408b), references/coupons.md (4141b), references/custom-field.md (805b), references/documents.md (6444b), references/donate.md (5889b), references/finance.md (815b), references/global.md (726b), references/group.md (913b), references/interaction.md (1197b), references/invite-sales.md (898b), references/lottery.md (9129b), references/material.md (788b), references/monitor.md (6644b), references/partner.md (727b), references/platform.md (11115b), references/playback.md (1869b), references/player.md (6513b), references/products.md (4281b), references/promotion.md (1096b), references/qa-questionnaire.md (12098b), references/record-settings.md (5786b), references/robot.md (766b), references/scene-setup.md (1467b), references/session-management.md (5902b), references/statistics.md (2442b), references/streaming.md (6084b), references/task-routing.md (4450b), references/transmit.md (1305b), references/user.md (1093b), references/viewer-management.md (5455b), references/viewer.md (4298b), references/watch-condition.md (5046b), references/web.md (1483b), references/webapp.md (744b), references/whitelist.md (9223b), skill-card.md (3014b), SKILL.md (7911b), _meta.json (133b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: polyv-live-cli\ndescription: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。\nallowed-tools: Bash(npx --yes polyv-live-cli@latest:*)\n---\n\n# 保利威云直播 CLI\n\n以 npm 发布版 CLI 为准。不要根据旧示例、缓存文档、历史记忆或其他非发布版资料推断命令语法；只要能访问 npm，就先用发布版 `--help` 校验。\n\n## CLI 前缀\n\n本文档和 `references/` 中的 `<CLI>` 表示：\n\n```bash\nnpx --yes polyv-live-cli@latest\n```\n\n执行命令前必须把 `<CLI>` 展开为上面的真实命令；不要直接执行字面量 `<CLI>`。如果 npm latest help 与 reference 冲突，必须以 npm latest 的 `<CLI> ... --help` 为准。\n\n## 入口校验\n\n先确认 npm 发布版命令面：\n\n```bash\n<CLI> --version\n<CLI> --help\n```\n\n`<CLI> --version` 应返回当前 npm latest 版本。\n\n每次处理某个命令族前，先运行最相关 help：\n\n```bash\n<CLI> <command> --help\n<CLI> <command> <subcommand> --help\n```\n\n不要根据本地源码、旧示例、缓存文档或记忆推断 npm latest 语法。\n\n## 认证预检\n\n除 `--help`、`--version`、`account` 和 `use` 外，直播 API 命令通常需要账号配置。\n\n执行业务命令前先检查：\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n缺少账号或默认账号时，停止并请用户提供凭据。不要回显 AppSecret。用户明确请求推流地址/推流密钥时，可以返回 `stream get-key -o json` 的推流凭证，但提醒只提供给可信推流端。\n\n## 任务路由\n\n自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径，再读 `references/command-index.md`，然后用对应 help 校验真实参数。\n\n高频路由：\n\n- 频道基础、状态、角色、装修、分发、MR、频道 token：`channel`\n- 推流地址、直播状态、断流恢复、推流开关：`stream`\n- 本地图片上传为公网图片 URL：`web image-upload`\n- 观看页菜单、分享、退出跳转、页面信息、观看页打赏：`web`\n- 播放器 Logo、水印、暖场、片头、暂停页：`player`\n- 观看条件、鉴权、白名单观看：`watch-condition`、`whitelist`\n- 回放、录制文件、合并、转码、断点续录：`playback`、`record`\n- 文档、课件、多媒体资源关联：`document`\n- 场次、外部 ID、场次统计：`session`、`statistics`\n- 聊天消息、聊天开关、在线人数、禁言、踢人：`chat`\n- 抽奖、签到、问答、问卷、打赏：`lottery`、`checkin`、`qa`、`questionnaire`、`donate`\n- 互动脚本、互动监听、任务奖励、点赞/奖励：`interaction`\n- 商品、优惠券、商品标签、商品统计/设置：`product`、`coupon`\n- 卡片推送、推广渠道、转播频道：`card-push`、`promotion`、`transmit`\n- 观众、用户自定义字段、邀请榜单：`viewer`、`custom-field`、`invite-sales`\n- 平台/账号/全局设置、分组账号、伙伴账号：`platform`、`global`、`user`、`group`、`partner`\n- 素材库、WebApp、机器人、财务/审核、AI 数字人：`material`、`webapp`、`robot`、`finance`、`ai`\n\n## 风险规则\n\n只读命令如 `list`、`get`、`detail`、`status`、`export` 通常可以直接执行。写入或影响生产状态的命令必须先确认，或者在用户已经明确授权时使用命令支持的 `--force`。\n\n下列动词默认视为高风险：`create`、`add`、`update`、`delete`、`remove`、`clear`、`batch-delete`、`enable`、`disable`、`start`、`stop`、`end`、`push`、`send`、`import`、`apply`、`register`、`allocate`、`merge`、`transcode`、`resume`、`cancel`。\n\n测试写入类真实命令时，优先临时创建频道或测试对象，结束后清理；不要默认修改用户长期使用的频道，除非用户明确指定并授权。\n\n## 输出规则\n\n做数据提取、对比、报告或后续脚本处理时，优先使用 JSON：\n\n```bash\n<CLI> channel list -o json\n```\n\n示例里的 `<频道ID>`、`<商品ID>`、`<回放ID>`、`<账号名>` 都是占位符。不要直接执行 reference 中的示例 ID。\n\n## 本地图片与公网 URL\n\n很多图片参数只接受可公网访问的 HTTP(S) URL，不接受本地文件路径。用户提供本地图片、截图或附件，并要求设置频道封面、直播引导图、播放器 logo、暖场图、广告图、打赏图标、邀请卡、菜单图片、管理员/助教头像等图片类配置时，先用通用上传命令得到图片 URL，再把返回的 URL 用到目标命令。\n\n通用上传命令：\n\n```bash\n<CLI> web image-upload --type <图片类型> --files <本地图片路径> --force -o json\n```\n\n返回值是图片 URL 数组；单图场景通常取第一个 URL。`--type` 必须按用途选择并用 `web image-upload --help` 校验，常见值包括 `coverImage`、`splashImage`、`logoImage`、`warmImage`、`adImage`、`startAdImage`、`stopAdImage`、`goodImage`、`invitationImage`、`menuImage`、`adminAvatar`、`assistantAvatar`、`authCodeImage`。\n\n示例流程：用户给本地 logo 并要求设置播放器 logo 时，先上传：\n\n```bash\n<CLI> web image-upload --type logoImage --files ./logo.png --force -o json\n```\n\n然后把返回的 URL 填入播放器或频道配置命令。不要把本地路径直接传给只接受图片 URL 的参数。\n\n## 参考资料路由\n\n按最小范围读取：\n\n- `task-routing.md`：自然语言任务到命令族的映射。\n- `command-index.md`：npm latest help 生成的一级命令和直接子命令索引。\n- `authentication.md`：账号配置和认证来源。\n- `channel-management.md`、`streaming.md`、`monitor.md`、`scene-setup.md`：频道和推流流程。\n- `products.md`、`coupons.md`、`card-push.md`、`transmit.md`：商品、优惠券、卡片推送、转播等营销能力。\n- `playback.md`、`record-settings.md`、`documents.md`、`session-management.md`：回放、录制、文档、场次。\n- `chat-management.md`、`checkin.md`、`qa-questionnaire.md`、`lottery.md`、`donate.md`：直播互动工具。\n- `viewer.md`、`viewer-management.md`、`watch-condition.md`、`whitelist.md`：观众、标签、观看条件、白名单。\n- `platform.md`、`player.md`、`statistics.md`：平台设置、播放器配置、统计报表。\n- `ai.md`、`finance.md`、`material.md`、`robot.md`、`webapp.md`：AI、财务审核、素材库、机器人、WebApp。\n- `custom-field.md`、`invite-sales.md`、`user.md`、`group.md`、`global.md`、`partner.md`：用户、字段、邀请销售、分组、全局、伙伴账号。\n- `interaction.md`、`promotion.md`、`web.md`：跨互动能力、推广渠道、观看页配置。\n\n新增 npm latest 命令若没有专门 reference，先查 `command-index.md` 和对应 help，不要编造参数。\n\n## 失败处理\n\n参数解析失败时：\n\n1. 对最深层命令重新运行 `--help`。\n2. 检查 camelCase、kebab-case 和短参数是否真实存在。\n3. 删除 help 没列出的参数。\n4. 修正文档或回复时优先使用完整参数名。\n\nAPI 阶段失败时：\n\n1. 运行 `account current` 和 `account list`。\n2. 用只读 `list`、`get`、`status` 命令核对账号、频道 ID 和对象 ID。\n3. 报告实际错误和命令形态，不暴露 AppSecret。\n\n## 官方资源与支持\n\n以下入口用于了解产品、查阅业务 API 或联系人工支持；命令语法仍以当前 npm 发布版 `--help` 为准。\n\n- 官网：https://www.polyv.net/\n- 保利威直播 API 文档：https://help.polyv.net/#/live/api/\n- 邮箱：support@polyv.net\n- 技术支持：400-993-9533\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn74gkj5m1rk89yf5beneexwsd82b5h7\",\n  \"slug\": \"polyv-live-cli\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1782553352642\n}\n\nFile v1.0.9:references/ai.md\n\n# AI 功能\n\n命令族：`ai`\n\n用途：AI 数字人、AI 视频生产、PPT 文件、TTS 音色。\n\n执行前必须先运行：\n\n```bash\n<CLI> ai --help\n```\n\nhelp 描述：Manage AI features for live streaming (管理AI功能)\n\n## 直接子命令\n\n- `ai digital-human`: Manage AI Digital Humans (管理AI数字人)\n- `ai video-produce`: Manage AI video production tasks, PPT files, and TTS voices\n\n## 使用规则\n\n- 需要输出给用户或后续处理时，优先加 `-o json` 或 `--output json`，但必须以 help 是否支持为准。\n- 写入、删除、推送、启停、导入、批量处理类子命令必须先确认；命令支持 `--force` 时，只有用户明确授权才使用。\n- 参数名、短参数和必填项必须从最深层 `--help` 获取，不要从本文件猜测。\n\nFile v1.0.9:references/authentication.md\n\n# 身份认证配置\n\n保利威直播 CLI 支持命令行凭证、账号配置和环境变量。客户环境优先使用账号配置或环境变量，避免把密钥写入脚本和文档。\n\n## 常用认证方式\n\n### 账号配置\n\n```bash\n<CLI> account add production \\\n  --app-id your-app-id \\\n  --app-secret your-app-secret \\\n  --user-id your-user-id\n\n<CLI> account set-default production\n<CLI> account current\n<CLI> account list\n```\n\n移除账号：\n\n```bash\n<CLI> account remove old-account\n<CLI> account remove old-account --force\n```\n\n### 环境变量\n\n```bash\nexport POLYV_APP_ID=\"your-app-id\"\nexport POLYV_APP_SECRET=\"your-app-secret\"\nexport POLYV_USER_ID=\"your-user-id\"\n\n<CLI> channel list\n```\n\n### 单次命令指定账号或凭证\n\n```bash\n<CLI> channel list -a production\n<CLI> --appId <id> --appSecret <secret> --userId <userId> channel list\n```\n\n`-a/--account` 用于指定已存在的账号配置；根级凭证参数放在 CLI 前缀后、业务命令前。需要长期切换账号时，优先使用 `account set-default` 或 `use`，再执行业务命令。\n\n## 推荐流程\n\n1. 使用 `account add` 添加客户账号。\n2. 使用 `account set-default` 设置默认账号。\n3. 使用 `account current` 或 `account list` 确认当前账号。\n4. 再执行频道、商品、统计等业务命令。\n\n```bash\n<CLI> account add customer-prod \\\n  --app-id \"$POLYV_APP_ID\" \\\n  --app-secret \"$POLYV_APP_SECRET\" \\\n  --user-id \"$POLYV_USER_ID\"\n\n<CLI> account set-default customer-prod\n<CLI> account current\n<CLI> channel list -o json\n```\n\n## CI/CD 示例\n\n```yaml\nenv:\n  POLYV_APP_ID: ${{ secrets.POLYV_APP_ID }}\n  POLYV_APP_SECRET: ${{ secrets.POLYV_APP_SECRET }}\n  POLYV_USER_ID: ${{ secrets.POLYV_USER_ID }}\n\nsteps:\n  - name: 列出频道\n    run: <CLI> channel list -o json\n```\n\n## 安全建议\n\n- 不要把 AppID、AppSecret、UserID 提交到 Git。\n- 给不同客户、环境分别配置账号名称，避免误操作生产资源。\n- 客户交付文档中使用占位符，不写真实凭证。\n- 执行删除、初始化、推送等高风险命令前，先用 `account current` 确认当前账号。\n\n## 故障排除\n\n### 认证配置不完整\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n如果没有默认账号，执行：\n\n```bash\n<CLI> account set-default <账号名称>\n```\n\n也可以在单次命令中用 `-a <账号名称>` 指定已存在账号，或先用 `use <账号名称>` 切换当前终端会话账号。\n\n### 凭证无效\n\n- 确认 AppID、AppSecret、UserID 是否来自同一保利威账号。\n- 确认客户账号具备对应 API 权限。\n- 如密钥已轮换，重新执行 `account add` 或更新环境变量。\n\nFile v1.0.9:references/card-push.md\n\n# 卡片推送\n\n管理直播间的卡片配置，并在直播中推送或取消推送卡片。\n\n## 当前 npm 命令面\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push create --channelId <频道ID> ...\n<CLI> card-push update --channelId <频道ID> --cardPushId <卡片ID> ...\n<CLI> card-push push --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push cancel --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push delete --channelId <频道ID> --cardPushId <卡片ID>\n```\n\n`card-push` 使用 camelCase 参数，例如 `--channelId`、`--cardPushId`、`--imageType`、`--showCondition`。\n\n## 列出卡片\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push list --channelId <频道ID> -o json\n```\n\n## 创建卡片\n\n手动推送卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType giftbox \\\n  --title \"限时优惠\" \\\n  --link \"https://shop.example.com/promo\" \\\n  --duration 10 \\\n  --showCondition PUSH\n```\n\n观看时长触发卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType redpack \\\n  --title \"新手红包\" \\\n  --link \"https://shop.example.com/redpack\" \\\n  --duration 15 \\\n  --showCondition WATCH \\\n  --conditionValue 30 \\\n  --conditionUnit SECONDS\n```\n\n## 更新卡片\n\n```bash\n<CLI> card-push update \\\n  --channelId <频道ID> \\\n  --cardPushId 123 \\\n  --title \"更新后的标题\" \\\n  --duration 20\n```\n\n## 推送、取消、删除\n\n```bash\n<CLI> card-push push --channelId <频道ID> --cardPushId 123\n<CLI> card-push cancel --channelId <频道ID> --cardPushId 123\n<CLI> card-push delete --channelId <频道ID> --cardPushId 123\n```\n\n## 常用参数\n\n| 参数 | 说明 |\n| --- | --- |\n| `--channelId` | 频道 ID |\n| `--cardPushId` | 卡片推送 ID，更新、推送、取消、删除时使用 |\n| `--cardType` | `common` 或 `qrCode` |\n| `--imageType` | `giftbox`、`redpack`、`custom`、`weixinWork` |\n| `--title` | 卡片标题，最多 16 个字符 |\n| `--link` | 点击跳转链接 |\n| `--duration` | 倒计时秒数，支持 `0`、`5`、`10`、`20`、`30` |\n| `--durationPosition` | `bottom` 或 `top` |\n| `--showCondition` | `PUSH` 手动推送，`WATCH` 观看时长触发 |\n| `--conditionValue` | 观看时长触发值 |\n| `--conditionUnit` | `SECONDS` 或 `MINUTES` |\n| `--countdownMsg` | 倒计时文案，最多 8 个字符 |\n| `--enterEnabled` | `Y` 或 `N` |\n| `--linkEnabled` | `Y` 或 `N` |\n| `--redirectType` | `iframe` 或 `tab` |\n\n## 使用注意\n\n- `push` 会影响观众端展示，执行前确认频道 ID 和卡片 ID。\n- `delete` 为删除配置操作，执行前建议先 `list` 核对。\n- 写脚本时使用 `-o json`，避免依赖表格列宽。\n\nFile v1.0.9:references/channel-management.md\n\n# 频道管理\n\n## 概述\n\n频道是保利威直播的核心资源。每个频道代表一个直播间，拥有独立的配置、商品和回放设置。\n\n## 频道增删改查\n\n### 创建频道\n\n```bash\n# 基本创建\n<CLI> channel create -n \"我的直播\"\n\n# 带描述\n<CLI> channel create -n \"产品演示\" -d \"新产品功能演示\"\n\n# 完整选项\n<CLI> channel create \\\n  -n \"高级网络研讨会\" \\\n  -d \"月度付费用户专属研讨会\" \\\n  --scene topclass \\\n  --template ppt \\\n  --password web123 \\\n  --max-viewers 1000 \\\n  --auto-record\n\n# JSON输出（便于程序化处理）\n<CLI> channel create -n \"API频道\" -o json\n```\n\n### 场景类型 (newScene)\n\n| 场景 | 说明 | 备注 |\n|------|------|------|\n| `topclass` | 大班课（默认） | ✅ 推荐 |\n| `alone` | 活动营销 | ✅ |\n| `seminar` | 研讨会 | ✅ |\n| `train` | 企业培训 | ✅ |\n| `double` | 双师课 | ⚠️ 需开通权限 |\n| `guide` | 导播 | ⚠️ 需开通权限 |\n\n### 模板类型 (template)\n\n| 模板 | 说明 |\n|------|------|\n| `ppt` | 三分屏-横屏（默认） |\n| `portrait_ppt` | 三分屏-竖屏 |\n| `alone` | 纯视频-横屏 |\n| `portrait_alone` | 纯视频-竖屏 |\n| `topclass` | 纯视频极速-横屏 |\n| `portrait_topclass` | 纯视频极速-竖屏 |\n| `seminar` | 研讨会 |\n\n### 查看频道列表\n\n```bash\n# 基本列表（第一页，20条）\n<CLI> channel list\n\n# 分页查询\n<CLI> channel list -P 2 -l 10\n\n# 按关键词筛选\n<CLI> channel list --keyword \"研讨会\"\n\n# 按分类筛选\n<CLI> channel list --category-id \"cat123\"\n\n# JSON输出\n<CLI> channel list -o json\n```\n\n### 查看频道详情\n\n```bash\n# 表格格式\n<CLI> channel get -c <频道ID>\n\n# JSON格式\n<CLI> channel get -c <频道ID> -o json\n```\n\n### 更新频道\n\n```bash\n# 更新名称\n<CLI> channel update -c <频道ID> -n \"新名称\"\n\n# 更新描述\n<CLI> channel update -c <频道ID> -d \"更新后的描述\"\n\n# 更新密码\n<CLI> channel update -c <频道ID> -p \"newpass123\"\n\n# 更新多个字段\n<CLI> channel update \\\n  -c <频道ID> \\\n  -n \"重命名频道\" \\\n  --max-viewers 5000 \\\n  --publisher \"主持人姓名\"\n```\n\n### 删除频道\n\n```bash\n# 带确认提示\n<CLI> channel delete -c <频道ID>\n\n# 强制删除（无确认）\n<CLI> channel delete -c <频道ID> -f\n\n# JSON输出\n<CLI> channel delete -c <频道ID> -o json\n```\n\n### 批量删除\n\n```bash\n# 删除多个频道\n<CLI> channel batch-delete --channelIds <频道ID> <频道ID2> <频道ID3>\n\n# 强制批量删除\n<CLI> channel batch-delete --channelIds <频道ID> <频道ID2> -f\n```\n\n## 频道配置\n\n### 密码保护\n\n```bash\n# 创建时设置密码\n<CLI> channel create -n \"私密直播\" -p \"secure123\"\n\n# 更新密码\n<CLI> channel update -c <频道ID> -p \"newpass456\"\n\n# 移除密码（设置为空）\n<CLI> channel update -c <频道ID> -p \"\"\n```\n\n### 观众人数限制\n\n```bash\n# 设置最大观看人数\n<CLI> channel create -n \"限定直播\" --max-viewers 500\n\n# 更新人数限制\n<CLI> channel update -c <频道ID> --max-viewers 1000\n```\n\n### 自动录制\n\n```bash\n# 启用自动录制\n<CLI> channel create -n \"录制直播\" --auto-record\n```\n\n### 封面和引导图\n\n```bash\n# 更新封面图\n<CLI> channel update -c <频道ID> --cover-img \"https://example.com/cover.jpg\"\n\n# 更新引导图\n<CLI> channel update -c <频道ID> --splash-img \"https://example.com/splash.jpg\"\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```bash\n<CLI> channel list\n# 显示表格，包含以下列：\n# 频道ID | 名称 | 状态 | 场景 | 创建时间\n```\n\n### JSON格式\n\n```bash\n<CLI> channel list -o json\n\n# 返回：\n# {\n#   \"code\": 200,\n#   \"status\": \"success\",\n#   \"data\": {\n#     \"contents\": [...],\n#     \"pageSize\": 20,\n#     \"pageNumber\": 1,\n#     \"totalItems\": 50\n#   }\n# }\n```\n\n## 常用工作流程\n\n### 创建网络研讨会频道\n\n```bash\n<CLI> channel create \\\n  -n \"Q4战略研讨会\" \\\n  -d \"全员季度战略回顾\" \\\n  --scene seminar \\\n  --template seminar \\\n  --max-viewers 500 \\\n  --auto-record \\\n  -o json\n```\n\n### 创建电商直播频道\n\n```bash\n<CLI> channel create \\\n  -n \"限时特卖活动\" \\\n  -d \"24小时限时特卖直播\" \\\n  --scene alone \\\n  --template portrait_alone \\\n  --max-viewers 10000 \\\n  -o json\n```\n\n### 批量清理测试频道\n\n```bash\n# 列出测试频道\n<CLI> channel list --keyword \"test\" -o json | jq '.data.contents[].channelId'\n\n# 批量删除\n<CLI> channel batch-delete --channelIds 123 456 789 -f\n```\n\n## 故障排除\n\n### \"Channel not found\"（频道不存在）\n\n- 确认频道ID是否正确\n- 检查频道是否属于当前账号\n- 确认频道是否已被删除\n\n### \"Invalid scene type\"（无效场景类型）\n\n- 使用以下之一：`topclass`、`alone`、`seminar`、`train`、`double`、`guide`\n- 场景名称区分大小写\n- `double` 和 `guide` 需要开通权限\n\n### \"密码必须是6-16位字母数字\"\n\n- 只使用字母和数字\n- 长度必须在6-16个字符之间\n\nFile v1.0.9:references/chat-management.md\n\n# 聊天消息管理\n\n本文档详细介绍保利威直播 CLI 的聊天消息管理命令。\n\n## 命令概览\n\n```bash\n<CLI> chat <子命令> [选项]\n```\n\n## 子命令\n\n### chat send - 发送管理员消息\n\n向指定频道发送管理员消息（文本或图片）。\n\n```bash\n<CLI> chat send -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --msg <文本>` | 文本消息内容 |\n| `-i, --img-url <url>` | 图片 URL |\n| `-p, --pic <url>` | 发送者头像 URL |\n| `-n, --nickname <名称>` | 发送者昵称 |\n| `-a, --actor <角色>` | 发送者角色 |\n| `--admin-index <数字>` | 管理员索引 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`-m` 和 `-i` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 发送文本消息\n<CLI> chat send -c <频道ID> -m \"欢迎观看直播！\"\n\n# 发送图片消息\n<CLI> chat send -c <频道ID> -i \"https://example.com/image.png\"\n\n# 发送带自定义昵称的消息\n<CLI> chat send -c <频道ID> -m \"大家好\" -n \"主播\" -a \"主持人\"\n\n# JSON 格式输出\n<CLI> chat send -c <频道ID> -m \"测试消息\" -o json\n```\n\n---\n\n### chat list - 查看聊天历史\n\n获取指定频道的聊天消息历史记录。\n\n```bash\n<CLI> chat list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `--start-day <日期>` | 开始日期筛选（格式：yyyy-MM-dd） |\n| `--end-day <日期>` | 结束日期筛选（格式：yyyy-MM-dd） |\n| `--page <数字>` | 页码（默认 1） |\n| `--size <数字>` | 每页数量，1-100（默认 20） |\n| `--user-type <类型>` | 用户类型筛选 |\n| `--status <状态>` | 消息状态筛选 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看最近聊天消息\n<CLI> chat list -c <频道ID>\n\n# 分页查看\n<CLI> chat list -c <频道ID> --page 2 --size 50\n\n# 按日期范围筛选\n<CLI> chat list -c <频道ID> --start-day 2024-01-01 --end-day 2024-01-31\n\n# JSON 格式输出\n<CLI> chat list -c <频道ID> -o json\n```\n\n#### 表格输出字段\n\n| 字段 | 说明 |\n|------|------|\n| Message ID | 消息唯一标识 |\n| Content | 消息内容（过长会截断） |\n| Time | 消息发送时间 |\n| Sender | 发送者昵称 |\n| User Type | 发送者类型 |\n\n---\n\n### chat delete - 删除消息\n\n删除单条消息或清空频道所有聊天消息。\n\n```bash\n<CLI> chat delete -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --message-id <id>` | 要删除的消息 ID |\n| `--clear` | 清空该频道所有聊天消息 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：如果使用 `--clear`，则不需要指定 `--message-id`。\n\n#### 示例\n\n```bash\n# 删除单条消息\n<CLI> chat delete -c <频道ID> -m abc123\n\n# 清空所有消息\n<CLI> chat delete -c <频道ID> --clear\n```\n\n> 警告：删除操作不可恢复，执行前会有确认提示。\n\n---\n\n## 禁言踢人管理 (Story 11-2)\n\n### chat ban - 禁言用户\n\n禁言指定用户，支持频道级别和账号级别（全局）。\n\n```bash\n<CLI> chat ban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别禁言时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局禁言（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别禁言\n<CLI> chat ban -c <频道ID> -u user1,user2\n\n# 全局禁言\n<CLI> chat ban -u user1,user2 --global\n\n# JSON 格式输出\n<CLI> chat ban -c <频道ID> -u user1 -o json\n```\n\n---\n\n### chat unban - 解除禁言\n\n解除用户的禁言状态。\n\n```bash\n<CLI> chat unban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解禁时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局解禁（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解禁\n<CLI> chat unban -c <频道ID> -u user1,user2\n\n# 全局解禁\n<CLI> chat unban -u user1,user2 --global\n```\n\n---\n\n### chat kick - 踢人\n\n将用户踢出直播间，支持频道级别和账号级别（全局）。\n\n```bash\n<CLI> chat kick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别踢人时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局踢人（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`--viewer-ids` 和 `-n` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 频道级别踢人\n<CLI> chat kick -c <频道ID> --viewer-ids viewer1,viewer2 -n Nick1,Nick2\n\n# 全局踢人\n<CLI> chat kick --viewer-ids viewer1 --global\n\n# JSON 格式输出\n<CLI> chat kick -c <频道ID> --viewer-ids viewer1 -o json\n```\n\n---\n\n### chat unkick - 解除踢人\n\n解除用户的踢人状态，允许重新进入直播间。\n\n```bash\n<CLI> chat unkick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解踢时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局解踢（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解踢\n<CLI> chat unkick -c <频道ID> --viewer-ids viewer1 -n Nick1\n\n# 全局解踢\n<CLI> chat unkick --viewer-ids viewer1 --global\n```\n\n---\n\n### chat banned list - 查看禁言列表\n\n查看频道的禁言用户、禁言 IP 或禁言词列表。\n\n```bash\n<CLI> chat banned list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n| `--type <类型>` | 列表类型：userId（用户）、ip（IP地址）、badword（禁言词） |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看禁言用户列表\n<CLI> chat banned list -c <频道ID> --type userId\n\n# 查看禁言 IP 列表\n<CLI> chat banned list -c <频道ID> --type ip\n\n# 查看禁言词列表\n<CLI> chat banned list -c <频道ID> --type badword\n\n# JSON 格式输出\n<CLI> chat banned list -c <频道ID> --type userId -o json\n```\n\n---\n\n### chat kicked list - 查看踢人列表\n\n查看频道被踢出的用户列表。\n\n```bash\n<CLI> chat kicked list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看踢人列表\n<CLI> chat kicked list -c <频道ID>\n\n# JSON 格式输出\n<CLI> chat kicked list -c <频道ID> -o json\n```\n\n---\n\n## 常见工作流程\n\n### 1. 发送直播公告\n\n```bash\n# 发送开播公告\n<CLI> chat send -c <频道ID> -m \"直播即将开始，请稍候...\" -n \"系统公告\" -a \"管理员\"\n```\n\n### 2. 查看并管理聊天记录\n\n```bash\n# 查看今天的聊天记录\n<CLI> chat list -c <频道ID> --start-day 2024-01-15 --end-day 2024-01-15\n\n# 如果发现不当内容，删除该消息\n<CLI> chat delete -c <频道ID> -m <消息ID>\n```\n\n### 3. 直播结束后清理聊天\n\n```bash\n# 清空所有聊天消息\n<CLI> chat delete -c <频道ID> --clear\n```\n\n## 错误处理\n\n| 错误信息 | 原因 | 解决方案 |\n|---------|------|---------|\n| `channelId is required` | 未指定频道 ID | 使用 `-c` 参数指定频道 |\n| `msg or imgUrl is required` | 发送消息时未提供内容 | 使用 `-m` 或 `-i` 参数 |\n| `messageId is required when --clear is not specified` | 删除时未指定消息 ID | 使用 `-m` 参数或 `--clear` 选项 |\n\n## API 参考\n\n相关 API 文档：\n- [发送管理员消息](https://help.polyv.net/#/live/api/chat/send_admin_msg)\n- [获取聊天历史](https://help.polyv.net/#/live/api/chat/get_history)\n- [删除聊天消息](https://help.polyv.net/#/live/api/chat/del_chat)\n- [清空聊天记录](https://help.polyv.net/#/live/api/chat/clean_chat)\n\nFile v1.0.9:references/checkin.md\n\n# 签到管理\n\n## 概述\n\n签到命令用于在直播过程中发起签到互动，查询签到记录和统计结果。\n\n## 发起签到\n\n```bash\n# 立即发起签到\n<CLI> checkin start -c <频道ID>\n\n# 设置签到时长30秒\n<CLI> checkin start -c <频道ID> --limit-time 30\n\n# 定时签到（13位时间戳）\n<CLI> checkin start -c <频道ID> --limit-time 60 --delay-time 1700734800000\n\n# 自定义签到提示语\n<CLI> checkin start -c <频道ID> --message \"请各位学员签到\"\n\n# 强制签到模式\n<CLI> checkin start -c <频道ID> --force\n```\n\n### 签到选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--limit-time` | 签到时长（秒） | 0-86400，0表示立即 |\n| `--delay-time` | 定时签到时间 | 13位时间戳 |\n| `--message` | 签到提示语 | 文本 |\n| `--force` | 强制签到模式 | 标志（无需值） |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n### JSON输出\n\n```bash\n<CLI> checkin start -c <频道ID> -o json\n```\n\n## 查询签到记录\n\n查询已签到的用户列表。\n\n```bash\n# 查询所有签到记录\n<CLI> checkin list -c <频道ID>\n\n# 分页查询\n<CLI> checkin list -c <频道ID> --page 1 --size 20\n\n# 按日期筛选\n<CLI> checkin list -c <频道ID> --date 2024-01-15\n\n# 按场次筛选\n<CLI> checkin list -c <频道ID> --session-id fwly13xczv\n\n# JSON输出\n<CLI> checkin list -c <频道ID> -o json\n```\n\n### 查询选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--page` | 页码 | 数字，默认1 |\n| `--size` | 每页数量 | 数字，默认10 |\n| `--date` | 筛选日期 | yyyy-MM-dd |\n| `--session-id` | 场次ID | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到详情\n\n获取特定签到的详细结果，包括已签到和未签到的用户。\n\n```bash\n# 查询签到详情\n<CLI> checkin result -c <频道ID> --checkin-id db14ef80-81b8-11eb-b114-e7477b\n\n# JSON输出\n<CLI> checkin result -c <频道ID> --checkin-id db14ef80-81b8-11eb-b114-e7477b -o json\n```\n\n### 详情选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--checkin-id` | 签到ID（必填） | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到发起记录\n\n按时间范围查询签到发起记录。\n\n```bash\n# 查询最近7天的签到记录（默认）\n<CLI> checkin sessions -c <频道ID>\n\n# 指定日期范围\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31\n\n# JSON输出\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31 -o json\n```\n\n### 场次选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--start-date` | 开始日期 | yyyy-MM-dd，默认7天前 |\n| `--end-date` | 结束日期 | yyyy-MM-dd，默认今天 |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n> **注意**: 日期范围不能超过30天。\n\n## 常用工作流程\n\n### 课堂签到流程\n\n```bash\n# 1. 开始直播后发起签到\n<CLI> checkin start -c <频道ID> --limit-time 60 --message \"同学们请签到\"\n\n# 2. 签到结束后查看结果\n<CLI> checkin result -c <频道ID> --checkin-id <签到ID>\n\n# 3. 导出签到数据\n<CLI> checkin result -c <频道ID> --checkin-id <签到ID> -o json > checkin-result.json\n```\n\n### 课后统计\n\n```bash\n# 查询某天的所有签到记录\n<CLI> checkin list -c <频道ID> --date 2024-01-15 -o json\n\n# 查询某月的签到发起记录\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31\n```\n\n### 定时签到\n\n```bash\n# 计算定时签到时间戳（例如：2024-01-15 10:00:00）\n# macOS/Linux\ndate -j -f \"%Y-%m-%d %H:%M:%S\" \"2024-01-15 10:00:00\" +%s000\n\n# 发起定时签到\n<CLI> checkin start -c <频道ID> --limit-time 120 --delay-time 1705287600000\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```\n┌──────────────────────────────┬──────────┬─────────────────┐\n│ Checkin ID                   │ Status   │ Checked Count   │\n├──────────────────────────────┼──────────┼─────────────────┤\n│ db14ef80-81b8-11eb-b114...   │ Active   │ 45              │\n└──────────────────────────────┴──────────┴─────────────────┘\n```\n\n### JSON格式\n\n```json\n{\n  \"checkinId\": \"db14ef80-81b8-11eb-b114-e7477b\",\n  \"channelId\": \"<频道ID>\",\n  \"status\": \"active\",\n  \"checkedCount\": 45,\n  \"uncheckedCount\": 10,\n  \"limitTime\": 60,\n  \"message\": \"请签到\"\n}\n```\n\n## 故障排除\n\n### \"签到发起失败\"\n\n- 确认频道正在直播中\n- 检查是否有正在进行的签到（需先结束或等待超时）\n- 使用 `--force` 参数强制发起新签到\n\n### \"无签到记录\"\n\n- 确认日期范围正确\n- 检查频道ID是否正确\n- 确认该时间段内有直播场次\n\n### \"日期范围超出限制\"\n\n- 日期范围不能超过30天\n- 缩小查询日期范围后重试\n\nFile v1.0.9:references/command-index.md\n\n# 命令索引\n\n本文件由发布版 CLI help 生成，用于快速定位命令路径。执行前仍必须运行对应 `--help` 校验参数。\n\nCLI 前缀：`<CLI>` = `npx --yes polyv-live-cli@latest`\n\n生成时间：2026-06-23T00:00:00.000Z\n\n## 一级命令\n\n共 40 个一级命令，不含 Commander 内置 `help`。\n\n- `account`: Manage PolyV account configurations\n- `ai`: Manage AI features for live streaming (管理AI功能)\n- `card-push`: Manage card push for live streaming (管理直播卡片推送)\n- `channel`: Manage live streaming channels\n- `chat`: Manage live streaming chat messages\n- `checkin`: Manage live streaming checkin interactions\n- `coupon`: Manage coupons\n- `custom-field`: Manage user custom fields\n- `document`: 课件管理命令\n- `donate`: Manage live streaming donate interactions\n- `finance`: Manage finance, billing, and moderation APIs\n- `global`: Manage global account settings\n- `group`: Manage group account resources\n- `interaction`: Manage cross-cutting live interaction APIs\n- `invite-sales`: Manage user invite sales\n- `lottery`: Manage live streaming lottery interactions\n- `material`: Manage material library\n- `monitor`: Start live streaming monitoring dashboard\n- `partner`: Manage partner account tools\n- `platform`: Platform account info management commands\n- `playback`: 回放管理命令\n- `player`: Manage channel player settings\n- `product`: Manage live streaming channel products\n- `promotion`: Manage marketing promotion channels (管理营销推广渠道)\n- `qa`: Manage live streaming QA question cards\n- `questionnaire`: Manage live streaming questionnaires\n- `record`: 录制设置管理命令\n- `robot`: Manage global robots\n- `session`: 场次管理命令\n- `setup`: Initialize a scene with predefined resources\n- `statistics`: View live streaming statistics data\n- `stream`: Manage live streaming operations\n- `transmit`: Manage transmit channels for live streaming\n- `use`: 管理当前终端会话的账号设置\n- `user`: Manage user account settings, templates,\n- `viewer`: Manage viewer information queries\n- `watch-condition`: 观看条件配置管理\n- `web`: Manage watch page configuration\n- `webapp`: Manage WebApp roles and permissions\n- `whitelist`: 白名单管理\n\n## 直接子命令\n\n### account\n\nManage PolyV account configurations\n\n- `account add`: Add a new account configuration\n- `account api`: Manage server-side account APIs\n- `account current`: Show current account information\n- `account list`: List all configured accounts\n- `account migrate`: Migrate legacy configuration to new account system\n- `account remove`: Remove an account configuration\n- `account set-default`: Set an account as the default account\n- `account unset-default`: Remove the current default account setting\n\n### ai\n\nManage AI features for live streaming (管理AI功能)\n\n- `ai digital-human`: Manage AI Digital Humans (管理AI数字人)\n- `ai video-produce`: Manage AI video production tasks, PPT files, and TTS voices\n\n### card-push\n\nManage card push for live streaming (管理直播卡片推送)\n\n- `card-push cancel`: Cancel a pushing card (取消正在推送的卡片)\n- `card-push create`: Create a new card-push (创建新的卡片推送)\n- `card-push delete`: Delete a card-push (删除卡片推送)\n- `card-push list`: List all card-pushes (列出所有卡片推送)\n- `card-push push`: Push a card to viewers (推送卡片到观众)\n- `card-push share`: Manage channel share settings (管理频道分享设置)\n- `card-push update`: Update an existing card-push (更新现有卡片推送)\n\n### channel\n\nManage live streaming channels\n\n- `channel advert-list`: List channel adverts\n- `channel auth`: Manage channel auth tokens\n- `channel basic-list`: List V4 channel basic information\n- `channel batch-create`: Batch create V4 live channels\n- `channel batch-delete`: Delete multiple live streaming channels at\n- `channel callback`: Manage channel callback settings\n- `channel ccb-focus-reset`: Reset CCB focus channels\n- `channel children-list`: List channels owned by a child account\n- `channel copy`: Copy a channel\n- `channel create`: Create a new live streaming channel\n- `channel create-init`: Create and initialize a V4 channel\n- `channel danmu-batch-update`: Batch update channel danmu settings\n- `channel delete`: Delete a single live streaming channel with\n- `channel distribute`: Manage V4 cloud distribution\n- `channel follow`: Manage follow-public-account settings\n- `channel get`: Get detailed information for a specific\n- `channel list`: List live streaming channels with pagination\n- `channel live-status-list`: Batch query V4 channel live status\n- `channel marquee-url-set`: Set custom URL marquee protection\n- `channel max-viewer-set`: Set max viewer count\n- `channel mr-create`: Create a V4 MR channel\n- `channel password-update`: Update channel password\n- `channel ppt-record`: Manage PPT record remake tasks and settings\n- `channel pull-bitrate-set`: Set V4 channel pull bitrate\n- `channel questionnaire-stop`: Stop questionnaires for channels\n- `channel role`: Manage historical channel role accounts\n- `channel simple-list`: List V4 channel compact information\n- `channel status-valid`: Check whether channel statuses are valid\n- `channel submeeting-batch-add`: Batch save submeeting channels\n- `channel subtitle`: Manage V4 realtime subtitle settings\n- `channel template-update`: Update V4 channel live template\n- `channel token`: Manage channel historical tokens\n- `channel update`: Update an existing live streaming channel\n- `channel v4-update`: Update V4 channel basic information\n- `channel viewer`: Manage channel-owned viewers and viewer\n\n### chat\n\nManage live streaming chat messages\n\n- `chat badword`: Manage account and channel badwords\n- `chat ban`: Ban users from chat (channel or global)\n- `chat banned`: Manage banned items\n- `chat censor`: Manage chat censor settings\n- `chat delete`: Delete a chat message or clear all messages\n- `chat enabled`: Manage channel chat switch\n- `chat group-login-times`: Get group login times for a channel\n- `chat kick`: Kick users from channel or globally\n- `chat kicked`: Manage kicked users\n- `chat list`: List chat history with pagination\n- `chat message`: Manage advanced chat messages\n- `chat notice`: Manage channel notices\n- `chat qa`: Manage chat Q&A records\n- `chat robot`: Manage channel chat robots\n- `chat role`: Manage chat role information\n- `chat send`: Send an admin message to the channel chat\n- `chat unban`: Unban users from chat (channel or global)\n- `chat unkick`: Unkick users (cancel kick status)\n- `chat viewer-logout`: Log out a viewer from the channel watch page\n\n### checkin\n\nManage live streaming checkin interactions\n\n- `checkin list`: List checkin records (checked-in users only)\n- `checkin result`: Get checkin result details (including checked and\n- `checkin session-result`: Get checkin records by live session ID\n- `checkin sessions`: List checkin sessions by time range\n- `checkin start`: Start a checkin session in the channel\n\n### coupon\n\nManage coupons\n\n- `coupon add`: Create a new coupon (满减券 or 折扣券)\n- `coupon channel`: Manage channel coupon associations\n- `coupon delete`: Delete coupons in batch (max 200 IDs)\n- `coupon list`: List coupons with pagination and status filter\n\n### custom-field\n\nManage user custom fields\n\n- `custom-field add`: Add a custom field\n- `custom-field list`: List custom fields\n- `custom-field value`: Manage custom field viewer values\n\n### document\n\n课件管理命令\n\n- `document delete`: 删除课件文档\n- `document list`: 获取频道课件文档列表\n- `document media`: 管理频道关联音视频资源\n- `document status`: 查询文档转码状态\n- `document teacher-doc`: 管理讲师与文档关系\n- `document upload`: 上传课件文档到频道\n\n### donate\n\nManage live streaming donate interactions\n\n- `donate config`: Manage donate configuration\n- `donate likes`: List like reward records\n- `donate list`: List donate records\n\n### finance\n\nManage finance, billing, and moderation APIs\n\n- `finance audio-moderation`: Audio moderation APIs\n- `finance bill-detail-list`: List finance bill details\n- `finance video-moderation`: Video moderation APIs\n\n### global\n\nManage global account settings\n\n- `global auth`: Global auth settings\n- `global page-setting`: Global page settings\n\n### group\n\nManage group account resources\n\n- `group allocate-log`: List legacy group allocation logs\n- `group billing-daily`: List group account daily billing\n- `group health-check`: Check group backend health\n- `group resource`: Legacy resource allocation APIs\n- `group user`: Group sub-account APIs\n\n### interaction\n\nManage cross-cutting live interaction APIs\n\n- `interaction event`: Manage interaction listener events\n- `interaction favor`: Send likes for a viewer\n- `interaction invite-poster`: Manage invite poster interaction helpers\n- `interaction reward`: Send a reward message\n- `interaction script`: Manage pseudo-live disk video interaction scripts\n- `interaction task-reward`: Manage task reward activities\n- `interaction teacher-answer`: Send a teacher answer to a student question\n- `interaction webhook`: Manage student question webhook\n\n### invite-sales\n\nManage user invite sales\n\n- `invite-sales add`: Add invite sales\n- `invite-sales follow-viewer`: Manage invite sales follow viewers\n- `invite-sales list`: List invite sales\n- `invite-sales remove`: Remove invite sales\n- `invite-sales update`: Update invite sales organization\n\n### lottery\n\nManage live streaming lottery interactions\n\n- `lottery blacklist`: Manage lottery viewer blacklist\n- `lottery channel-records`: Get lottery records across channels\n- `lottery create`: Create a lottery activity\n- `lottery delete`: Delete lottery activity\n- `lottery download-winners`: Download lottery winner details\n- `lottery get`: Get lottery activity details\n- `lottery group`: Manage lottery viewer whitelist groups\n- `lottery group-viewer`: Manage lottery viewer whitelist group members\n- `lottery legacy-records`: Get legacy V3 lottery records for a single channel\n- `lottery list`: List lottery activities\n- `lottery lucky-bag`: Manage lucky bag lottery data\n- `lottery receive-info`: Add winner receive information\n- `lottery records`: Get lottery activity records\n- `lottery update`: Update lottery activity\n- `lottery wait`: Manage condition lottery wait schedules\n- `lottery winners`: Get winner list for a lottery\n\n### material\n\nManage material library\n\n- `material category`: Material category APIs\n- `material delete`: Delete materials\n- `material label`: Material label APIs\n- `material list`: List materials\n\n### monitor\n\nStart live streaming monitoring dashboard\n\n- `monitor config`: Manage monitoring configuration\n- `monitor export`: Export monitoring configuration\n- `monitor import`: Import monitoring configuration\n- `monitor layouts`: List available dashboard layouts\n- `monitor status`: Show monitoring dashboard status\n- `monitor stream-info-list`: List V4 channel realtime stream\n- `monitor tencent-stream-info-list`: List Tencent stream monitoring info\n- `monitor test`: Test monitoring dashboard compatibility\n- `monitor themes`: List available themes\n\n### partner\n\nManage partner account tools\n\n- `partner tencent-order`: Tencent order APIs\n- `partner user-register`: Register a partner customer account\n\n### platform\n\nPlatform account info management commands\n\n- `platform anchor`: Anchor management (主播管理)\n- `platform callback`: Callback settings management (回调设置管理)\n- `platform content-group`: Content group management\n- `platform coupon`: Platform coupon operations\n- `platform get`: Get account info (获取账号信息)\n- `platform label`: Label management (标签管理)\n- `platform setting`: Global channel settings management (全局频道设置管理)\n- `platform switch`: Switch configuration management (开关配置管理)\n\n### playback\n\n回放管理命令\n\n- `playback add-vod`: 将点播视频添加到频道回放视频库\n- `playback delete`: 删除回放视频\n- `playback enabled`: 管理频道回放开关\n- `playback get`: 获取单个回放视频详情\n- `playback list`: 获取频道回放列表\n- `playback merge`: 合并录制文件\n- `playback setting-list`: 批量查询频道回放设置\n- `playback sort`: 管理回放视频排序\n- `playback subtitle`: 管理回放字幕\n- `playback title`: 管理回放标题\n- `playback video-info`: 批量查询频道单个回放信息\n\n### player\n\nManage channel player settings\n\n- `player advert`: Manage player adverts\n- `player anti-record`: Manage anti-record settings\n- `player config`: Manage channel player configuration\n- `player logo-update`: Update player logo settings\n- `player marquee-url`: Set marquee URL restriction\n- `player skin`: Manage V4 player skin settings\n- `player warmup`: Manage player warmup settings\n- `player watch-feedback-list`: List watch feedback records\n\n### product\n\nManage live streaming channel products\n\n- `product add`: Add a new product to channel\n- `product batch-add`: Batch add products to a channel\n- `product batch-delete`: Batch delete channel products\n- `product batch-shelf`: Batch update channel product shelf status\n- `product cancel-push`: Cancel a pushed channel product\n- `product channel-tag`: Manage channel product tags\n- `product delete`: Delete a product from channel\n- `product enabled`: Get channel product library enabled status\n- `product library`: Manage user-level product library\n- `product list`: List products with pagination\n- `product order`: Manage user-level product orders\n- `product push`: Push a channel product to viewers\n- `product push-rule`: Manage channel product push rule\n- `product rank`: Set channel product rank\n- `product reference`: Reference a platform product into a channel product\n- `product shelf`: Update one channel product shelf status\n- `product sort`: Sort a channel product\n- `product stats`: Query channel product statistics\n- `product tag`: Manage user-level product tags\n- `product topping`: Top a channel product\n- `product untopping`: Cancel topping for a channel product\n- `product update`: Update an existing product\n- `product update-enabled`: Update channel product library enabled status\n\n### promotion\n\nManage marketing promotion channels (管理营销推广渠道)\n\n- `promotion create`: Batch create promotion channels (批量创建推广渠道)\n- `promotion list`: List all promotion channels (列出所有推广渠道)\n\n### qa\n\nManage live streaming QA question cards\n\n- `qa add-edit`: Create or update a QA question card\n- `qa answers`: List QA answer records\n- `qa delete-question`: Delete a QA question card\n- `qa list`: List QA question cards for the channel\n- `qa question-list`: List student question records\n- `qa send`: Send a QA question card to the channel\n- `qa send-result`: Publish QA question result statistics\n- `qa send-times`: List QA question card send times\n- `qa stop`: Stop a QA question card and get answer statistics\n\n### questionnaire\n\nManage live streaming questionnaires\n\n- `questionnaire batch-create`: Batch create questionnaires\n- `questionnaire create`: Create a new questionnaire\n- `questionnaire detail`: Get questionnaire detail with questions\n- `questionnaire list`: List questionnaires\n- `questionnaire result-list`: List questionnaire results with pagination\n- `questionnaire results`: List questionnaire answer records\n\n### record\n\n录制设置管理命令\n\n- `record breakpoint`: 管理录制打点\n- `record clip`: 裁剪录制文件\n- `record convert`: 转存录制文件到点播\n- `record file`: 管理历史录制文件\n- `record material-list`: 分页查询素材库频道直播回放列表\n- `record merge-mp4`: 合并直播录制文件并回调 MP4 下载地址\n- `record merge-mp4-start`: 提交异步 MP4 合并任务\n- `record outline`: 管理暂存视频大纲\n- `record set-default`: 设置默认回放视频\n- `record setting`: 回放设置管理\n- `record subtitle`: 管理暂存视频字幕\n- `record temp-list`: 查询频道单个直播暂存信息\n\n### robot\n\nManage global robots\n\n- `robot batch-delete`: Batch delete global robots\n- `robot batch-save`: Batch save global robots\n- `robot list`: List global robots\n\n### session\n\n场次管理命令\n\n- `session create`: 创建频道新版场次\n- `session data-list`: 查询频道场次数据列表\n- `session delete`: 删除频道新版场次\n- `session external`: 管理外部场次 ID 关联\n- `session get`: 获取单个场次详情\n- `session legacy-list`: 查询频道历史场次信息\n- `session list`: 获取频道场次列表\n- `session update`: 更新频道新版场次\n\n### setup\n\nInitialize a scene with predefined resources\n\n无直接子命令；查看 `<CLI> setup --help`。\n\n### statistics\n\nView live streaming statistics data\n\n- `statistics audience`: View audience statistics\n- `statistics channel-play-summary`: Get multi-channel play summary statistics\n- `statistics channel-session-stats`: Get channel session statistics\n- `statistics channel-statistic`: Get channel statistic data\n- `statistics channel-summary`: Get channel view summary statistics\n- `statistics concurrency`: 查看历史并发数据\n- `statistics export`: export statistics data\n- `statistics invite-list`: List V4 invite statistics records\n- `statistics inviter-poster-list`: List inviter poster statistics\n- `statistics link-mic-list`: List channel link-mic detail logs\n- `statistics live-data`: Get V4 channel live data summary\n- `statistics live-session-list`: List V4 live session statistics\n- `statistics lottery-list`: List V4 channel lottery statistics records\n- `statistics max-concurrent`: 查看历史最高并发人数\n- `statistics mic-list`: List channel mic detail statistics\n- `statistics product-click`: List product click statistics\n- `statistics product-list-click`: List product-list click statistics\n- `statistics realtime-v1`: Get realtime viewers using the legacy V1\n- `statistics realtime-viewers`: Get realtime viewer counts for channels\n- `statistics redpack-list`: List redpack statistics\n- `statistics session-summary-list`: List V4 session statistics summaries\n- `statistics view`: View daily statistics for a channel\n- `statistics viewlog-v1`: Get V1 viewlog records\n- `statistics viewlog-v2`: Get V2 paged viewlog records\n- `statistics weixin-booking-list`: List V4 WeChat booking records\n\n### stream\n\nManage live streaming operations\n\n- `stream ban-push`: Ban/cut off push stream\n- `stream capture`: Get current live capture image\n- `stream disk-video`: Manage pseudo-live disk videos\n- `stream get-key`: Get RTMP URL and stream key for a live channel\n- `stream hls-pull-url`: Get the channel monitor HLS pull URL\n- `stream live-status`: Use historical live status APIs\n- `stream monitor`: Monitor stream status in real-time with live\n- `stream push`: Push a local video file to a live channel\n- `stream resume`: Resume push stream\n- `stream start`: Start live streaming for a channel\n- `stream status`: Get real-time status information for a live channel\n- `stream stop`: Stop live streaming for a channel\n- `stream streams`: Get stream monitor info for channel IDs\n- `stream type-update`: Update channel stream type\n- `stream verify`: Verify stream quality and performance for a live\n\n### transmit\n\nManage transmit channels for live streaming\n\n- `transmit associate`: Add or cancel receive channel transmit associations\n- `transmit create`: Batch create transmit channels (批量创建转播频道)\n- `transmit list`: Get transmit associations (获取转播关联列表)\n\n### use\n\n管理当前终端会话的账号设置\n\n无直接子命令；查看 `<CLI> use --help`。\n\n### user\n\nManage user account settings, templates,\n\n- `user bill`: Manage user billing details\n- `user child`: Manage child accounts\n- `user mic-duration`: Get user mic duration\n- `user mr-concurrency`: Manage MR concurrency\n- `user org`: Manage organizations\n- `user setting`: Manage user global settings\n- `user sms-send`: Send SMS notification\n- `user template`: Manage default user templates\n- `user viewlog`: Manage user watch logs\n\n### viewer\n\nManage viewer information queries\n\n- `viewer config`: Manage viewer user system config\n- `viewer create`: Create a viewer record\n- `viewer delete`: Delete a viewer record\n- `viewer get`: Get single viewer details\n- `viewer import-external`: Import external viewer records\n- `viewer label`: Manage account labels and channel label refs\n- `viewer list`: List viewers with pagination and filters\n- `viewer lottery-wins`: List viewer lottery win records\n- `viewer tag`: Manage viewer tags\n- `viewer update`: Update a viewer record\n\n### watch-condition\n\n观看条件配置管理\n\n- `watch-condition get`: 获取观看条件配置\n- `watch-condition set`: 设置观看条件配置\n\n### web\n\nManage watch page configuration\n\n- `web auth`: Watch condition and authorization APIs\n- `web donate`: Watch page donate APIs\n- `web image-upload`: Upload common image assets\n- `web info`: Watch page basic info\n- `web menu`: Watch page menu APIs\n- `web setting`: Watch page common settings\n- `web share`: Watch page share APIs\n\n### webapp\n\nManage WebApp roles and permissions\n\n- `webapp permission-list`: List WebApp permissions\n- `webapp role`: WebApp role APIs\n\n### whitelist\n\n白名单管理\n\n- `whitelist add`: 添加白名单项\n- `whitelist list`: 获取白名单列表\n- `whitelist remove`: 删除白名单项\n- `whitelist update`: 更新白名单项\n\nFile v1.0.9:references/coupons.md\n\n# 优惠券管理\n\n管理账号级优惠券，以及频道观看页领券入口。常用子命令包括 `add`、`list`、`delete`、`channel add`、`channel list`、`channel enabled`、`channel update-enabled`。\n\n## 创建优惠券\n\n创建优惠券只会新增账号级优惠券，不会自动在某个频道观看页展示。若用户目标是“观看页展示优惠券”或“直播间可领券”，创建优惠券后还要把优惠券绑定到频道，并打开频道领券开关。\n\n满减券：\n\n```bash\n<CLI> coupon add \\\n  --name \"满100减20\" \\\n  --type MAX_OUT \\\n  --availableAmount 100 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType RANGE \\\n  --useStart 1704067200000 \\\n  --useEnd 1704758400000 \\\n  --condition FULL_REDUCE \\\n  --full 100 \\\n  --reduce 20 \\\n  --limitPerPerson 1\n```\n\n折扣券：\n\n```bash\n<CLI> coupon add \\\n  --name \"8折优惠券\" \\\n  --type DISCOUNT \\\n  --availableAmount 200 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType DAY \\\n  --dayOfUse 7 \\\n  --condition UNCONDITIONAL \\\n  --discount 80 \\\n  --limitPerPerson 1\n```\n\n## 查询优惠券\n\n```bash\n<CLI> coupon list\n<CLI> coupon list -p 2 -s 20\n<CLI> coupon list --status GOING -o json\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `-p, --page` | 页码 |\n| `-s, --size` | 每页条数 |\n| `--status` | `NOT_START`、`GOING`、`FINISHED`、`INVALID` |\n| `-o, --output` | `table` 或 `json` |\n\n## 频道优惠券展示\n\n把账号级优惠券绑定到频道：\n\n```bash\n<CLI> coupon channel add -c <频道ID> --coupon-ids <优惠券ID> --force -o json\n<CLI> coupon channel add -c <频道ID> --coupon-ids <优惠券ID1>,<优惠券ID2> --force -o json\n```\n\n查询频道已绑定优惠券：\n\n```bash\n<CLI> coupon channel list -c <频道ID>\n<CLI> coupon channel list -c <频道ID> -o json\n```\n\n查询频道领券开关：\n\n```bash\n<CLI> coupon channel enabled -c <频道ID>\n<CLI> coupon channel enabled -c <频道ID> -o json\n```\n\n开启或关闭频道领券入口：\n\n```bash\n<CLI> coupon channel update-enabled -c <频道ID> --enabled Y --force -o json\n<CLI> coupon channel update-enabled -c <频道ID> --enabled N --force -o json\n```\n\n解绑频道优惠券：\n\n```bash\n<CLI> coupon channel delete -c <频道ID> --coupon-ids <优惠券ID> --force -o json\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `-c, --channel-id` | 频道 ID |\n| `--coupon-ids` | 优惠券 ID，多个 ID 用英文逗号分隔，单次最多 30 个 |\n| `--enabled` | `Y` 开启领券入口，`N` 关闭领券入口 |\n| `-f, --force` | 跳过确认提示 |\n| `-o, --output` | `table` 或 `json` |\n\n`coupon channel enabled` 只查询状态，不会修改频道领券入口；需要让观看页展示领券入口时，必须使用 `coupon channel update-enabled --enabled Y`。\n\n## 删除优惠券\n\n```bash\n<CLI> coupon delete --couponIds coupon001\n<CLI> coupon delete --couponIds coupon001 coupon002 coupon003\n```\n\n单次最多删除 200 个优惠券 ID。\n\n## 参数说明\n\n| 参数 | 说明 |\n| --- | --- |\n| `--name` | 优惠券名称，最多 50 个字符 |\n| `--type` | `MAX_OUT` 满减券，`DISCOUNT` 折扣券 |\n| `--availableAmount` | 发放数量，`0` 表示按接口规则处理 |\n| `--receiveStart`、`--receiveEnd` | 领取开始和结束时间，13 位毫秒时间戳 |\n| `--useTimeType` | `RANGE` 指定可用时间范围，`DAY` 领取后若干天有效 |\n| `--useStart`、`--useEnd` | `RANGE` 模式下的使用时间范围 |\n| `--dayOfUse` | `DAY` 模式下领取后有效天数 |\n| `--condition` | `UNCONDITIONAL` 无门槛，`FULL_REDUCE` 满减门槛 |\n| `--discount` | 无门槛折扣值 |\n| `--full`、`--reduce` | 满减门槛和减免金额 |\n| `--limitPerPerson` | 每人限领数量，`-1` 表示不限 |\n\n## 使用注意\n\n- 优惠券命令不接收频道 ID。\n- `coupon add` 创建的是账号级优惠券；观看页展示还需要 `coupon channel add` 绑定频道，并确认 `coupon channel update-enabled --enabled Y`。\n- 当前 npm 版没有单张优惠券详情查询子命令，详情类需求先使用 `coupon list -o json`。\n- 删除优惠券不可撤销，执行前核对 `--couponIds`。\n\nFile v1.0.9:references/custom-field.md\n\n# 用户自定义字段\n\n命令族：`custom-field`\n\n用途：账号级自定义字段、字段列表、字段值、观众字段值。\n\n执行前必须先运行：\n\n```bash\n<CLI> custom-field --help\n```\n\nhelp 描述：Manage user custom fields\n\n## 直接子命令\n\n- `custom-field add`: Add a custom field\n- `custom-field list`: List custom fields\n- `custom-field value`: Manage custom field viewer values\n\n## 使用规则\n\n- 需要输出给用户或后续处理时，优先加 `-o json` 或 `--output json`，但必须以 help 是否支持为准。\n- 写入、删除、推送、启停、导入、批量处理类子命令必须先确认；命令支持 `--force` 时，只有用户明确授权才使用。\n- 参数名、短参数和必填项必须从最深层 `--help` 获取，不要从本文件猜测。\n\nFile v1.0.9:references/documents.md\n\n# 文档管理\n\n管理直播频道的课件文档，支持上传、查看和删除文档。\n\n## 命令概览\n\n| 命令 | 说明 |\n|------|------|\n| `document list` | 获取频道文档列表 |\n| `document upload` | 上传文档（通过URL） |\n| `document delete` | 删除文档 |\n| `document status` | 查询文档转码状态 |\n\n## document list\n\n获取指定频道的课件文档列表。\n\n### 语法\n\n```bash\n<CLI> document list -c <频道ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--status <状态>` | - | 文档状态过滤 | - |\n| `--page <页码>` | - | 页码 | 1 |\n| `--page-size <数量>` | - | 每页数量 | 10 |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档状态\n\n| 状态值 | 说明 |\n|--------|------|\n| `normal` | 正常 |\n| `waitUpload` | 等待上传 |\n| `failUpload` | 上传失败 |\n| `waitConvert` | 等待转码 |\n| `failConvert` | 转码失败 |\n\n### 示例\n\n```bash\n# 列出频道所有文档\n<CLI> document list -c <频道ID>\n\n# 过滤转码失败的文档\n<CLI> document list -c <频道ID> --status failConvert\n\n# 分页查询\n<CLI> document list -c <频道ID> --page 2 --page-size 20\n\n# JSON格式输出\n<CLI> document list -c <频道ID> -o json\n```\n\n## document upload\n\n通过URL上传文档到频道。\n\n### 语法\n\n```bash\n<CLI> document upload -c <频道ID> --url <文件URL> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--url <URL>` | - | 文件URL（必填） | - |\n| `--type <类型>` | - | 转换类型 | common |\n| `--doc-name <名称>` | - | 文档名称 | - |\n| `--callback-url <URL>` | | 回调地址 | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 转换类型\n\n| 类型 | 说明 |\n|------|------|\n| `common` | 普通转换（静态PPT） |\n| `animate` | 动效转换（保留PPT动画） |\n\n### 支持格式\n\nPPT、PDF、PPTX、DOC、DOCX、WPS\n\n### 示例\n\n```bash\n# 上传PPT文档\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx\n\n# 上传带动画的PPT\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --type animate\n\n# 指定文档名称\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --doc-name \"产品介绍\"\n\n# 设置转码完成回调\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --callback-url https://myserver.com/callback\n```\n\n## document delete\n\n删除指定文档。\n\n### 语法\n\n```bash\n<CLI> document delete -c <频道ID> --file-id <文档ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | - | 文档ID（必填） | - |\n| `--type <类型>` | - | 文档类型 | 自动检测 |\n| `--force` | | 跳过确认提示 | false |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档类型\n\n| 类型 | 说明 |\n|------|------|\n| `old` | 旧版文档 |\n| `new` | 新版文档 |\n\n> 注意：如果不指定 `--type`，系统会自动检测文档类型。\n\n### 示例\n\n```bash\n# 删除文档（会有确认提示）\n<CLI> document delete -c <频道ID> --file-id abc123\n\n# 强制删除，跳过确认\n<CLI> document delete -c <频道ID> --file-id abc123 --force\n\n# 指定文档类型\n<CLI> document delete -c <频道ID> --file-id abc123 --type new\n```\n\n## document status\n\n查询文档转码状态。\n\n### 语法\n\n```bash\n<CLI> document status -c <频道ID> --file-id <文档ID>\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | - | 文档ID（必填） | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 示例\n\n```bash\n# 查询单个文档状态\n<CLI> document status -c <频道ID> --file-id abc123\n\n# 批量查询（用逗号分隔）\n<CLI> document status -c <频道ID> --file-id abc123,def456\n\n# JSON格式输出\n<CLI> document status -c <频道ID> --file-id abc123 -o json\n```\n\n## 输出示例\n\n### document list 表格输出\n\n```\n┌──────────┬────────────────┬──────────┬────────┬─────────────┐\n│ 文档ID   │ 文档名称       │ 类型     │ 状态   │ 创建时间    │\n├──────────┼────────────────┼──────────┼────────┼─────────────┤\n│ abc123   │ 产品介绍.pptx  │ pptx     │ normal │ 2024-03-20  │\n│ def456   │ 公司简介.pdf   │ pdf      │ normal │ 2024-03-19  │\n└──────────┴────────────────┴──────────┴────────┴─────────────┘\n```\n\n### document upload 输出\n\n```\n✓ 文档上传成功\n\n文档ID: abc123\n状态: waitConvert\n类型: common\n```\n\n### document status 输出\n\n```\n┌──────────┬─────────────┬──────┬──────────┐\n│ 文档ID   │ 转码状态    │ 类型 │ 总页数   │\n├──────────┼─────────────┼──────┼──────────┤\n│ abc123   │ success     │ new  │ 15       │\n└──────────┴─────────────┴──────┴──────────┘\n```\n\n## 常见工作流程\n\n### 上传并在直播中使用文档\n\n```bash\n# 1. 上传文档\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --type animate\n\n# 2. 查看转码状态\n<CLI> document status -c <频道ID> --file-id <返回的文档ID>\n\n# 3. 确认文档已就绪（状态为 success）\n# 文档已可在直播间使用\n```\n\n### 批量管理文档\n\n```bash\n# 1. 查看所有转码失败的文档\n<CLI> document list -c <频道ID> --status failConvert -o json > failed.json\n\n# 2. 逐个删除失败的文档\n# jq -r '.contents[].fileId' failed.json | xargs -I {} <CLI> document delete -c <频道ID> --file-id {} --force\n```\n\nArchive v1.0.8: 44 files, 69090 bytes\n\nFiles: references/ai.md (797b), references/authentication.md (2377b), references/card-push.md (2747b), references/channel-management.md (4905b), references/chat-management.md (8710b), references/checkin.md (5333b), references/command-index.md (21378b), references/coupons.md (4141b), references/custom-field.md (805b), references/documents.md (6471b), references/donate.md (5889b), references/finance.md (815b), references/global.md (726b), references/group.md (913b), references/interaction.md (1197b), references/invite-sales.md (898b), references/lottery.md (8992b), references/material.md (788b), references/monitor.md (6644b), references/partner.md (727b), references/platform.md (9593b), references/playback.md (1869b), references/player.md (6513b), references/products.md (4281b), references/promotion.md (1096b), references/qa-questionnaire.md (9345b), references/record-settings.md (5199b), references/robot.md (766b), references/scene-setup.md (1467b), references/session-management.md (4346b), references/statistics.md (2442b), references/streaming.md (6084b), references/task-routing.md (4450b), references/transmit.md (1305b), references/user.md (1093b), references/viewer-management.md (5164b), references/viewer.md (4298b), references/watch-condition.md (5046b), references/web.md (911b), references/webapp.md (744b), references/whitelist.md (9223b), skill-card.md (3417b), SKILL.md (6628b), _meta.json (133b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: polyv-live-cli\ndescription: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。\nallowed-tools: Bash(npx --yes polyv-live-cli@latest:*)\n---\n\n# 保利威云直播 CLI\n\n以 npm 发布版 CLI 为准。不要根据旧示例、缓存文档、历史记忆或其他非发布版资料推断命令语法；只要能访问 npm，就先用发布版 `--help` 校验。\n\n## CLI 前缀\n\n本文档和 `references/` 中的 `<CLI>` 表示：\n\n```bash\nnpx --yes polyv-live-cli@latest\n```\n\n执行命令前必须把 `<CLI>` 展开为上面的真实命令；不要直接执行字面量 `<CLI>`。如果 npm latest help 与 reference 冲突，必须以 npm latest 的 `<CLI> ... --help` 为准。\n\n## 入口校验\n\n先确认 npm 发布版命令面：\n\n```bash\n<CLI> --version\n<CLI> --help\n```\n\n`<CLI> --version` 应返回当前 npm latest 版本。\n\n每次处理某个命令族前，先运行最相关 help：\n\n```bash\n<CLI> <command> --help\n<CLI> <command> <subcommand> --help\n```\n\n不要根据本地源码、旧示例、缓存文档或记忆推断 npm latest 语法。\n\n## 认证预检\n\n除 `--help`、`--version`、`account` 和 `use` 外，直播 API 命令通常需要账号配置。\n\n执行业务命令前先检查：\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n缺少账号或默认账号时，停止并请用户提供凭据。不要回显 AppSecret。用户明确请求推流地址/推流密钥时，可以返回 `stream get-key -o json` 的推流凭证，但提醒只提供给可信推流端。\n\n## 任务路由\n\n自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径，再读 `references/command-index.md`，然后用对应 help 校验真实参数。\n\n高频路由：\n\n- 频道基础、状态、角色、装修、分发、MR、频道 token：`channel`\n- 推流地址、直播状态、断流恢复、推流开关：`stream`\n- 观看页菜单、分享、退出跳转、页面信息、观看页打赏：`web`\n- 播放器 Logo、水印、暖场、片头、暂停页：`player`\n- 观看条件、鉴权、白名单观看：`watch-condition`、`whitelist`\n- 回放、录制文件、合并、转码、断点续录：`playback`、`record`\n- 文档、课件、多媒体资源关联：`document`\n- 场次、外部 ID、场次统计：`session`、`statistics`\n- 聊天消息、聊天开关、在线人数、禁言、踢人：`chat`\n- 抽奖、签到、问答、问卷、打赏：`lottery`、`checkin`、`qa`、`questionnaire`、`donate`\n- 互动脚本、互动监听、任务奖励、点赞/奖励：`interaction`\n- 商品、优惠券、商品标签、商品统计/设置：`product`、`coupon`\n- 卡片推送、推广渠道、转播频道：`card-push`、`promotion`、`transmit`\n- 观众、用户自定义字段、邀请榜单：`viewer`、`custom-field`、`invite-sales`\n- 平台/账号/全局设置、分组账号、伙伴账号：`platform`、`global`、`user`、`group`、`partner`\n- 素材库、WebApp、机器人、财务/审核、AI 数字人：`material`、`webapp`、`robot`、`finance`、`ai`\n\n## 风险规则\n\n只读命令如 `list`、`get`、`detail`、`status`、`export` 通常可以直接执行。写入或影响生产状态的命令必须先确认，或者在用户已经明确授权时使用命令支持的 `--force`。\n\n下列动词默认视为高风险：`create`、`add`、`update`、`delete`、`remove`、`clear`、`batch-delete`、`enable`、`disable`、`start`、`stop`、`end`、`push`、`send`、`import`、`apply`、`register`、`allocate`、`merge`、`transcode`、`resume`、`cancel`。\n\n测试写入类真实命令时，优先临时创建频道或测试对象，结束后清理；不要默认修改用户长期使用的频道，除非用户明确指定并授权。\n\n## 输出规则\n\n做数据提取、对比、报告或后续脚本处理时，优先使用 JSON：\n\n```bash\n<CLI> channel list -o json\n```\n\n示例里的 `<频道ID>`、`<商品ID>`、`<回放ID>`、`<账号名>` 都是占位符。不要直接执行 reference 中的示例 ID。\n\n## 参考资料路由\n\n按最小范围读取：\n\n- `task-routing.md`：自然语言任务到命令族的映射。\n- `command-index.md`：npm latest help 生成的一级命令和直接子命令索引。\n- `authentication.md`：账号配置和认证来源。\n- `channel-management.md`、`streaming.md`、`monitor.md`、`scene-setup.md`：频道和推流流程。\n- `products.md`、`coupons.md`、`card-push.md`、`transmit.md`：商品、优惠券、卡片推送、转播等营销能力。\n- `playback.md`、`record-settings.md`、`documents.md`、`session-management.md`：回放、录制、文档、场次。\n- `chat-management.md`、`checkin.md`、`qa-questionnaire.md`、`lottery.md`、`donate.md`：直播互动工具。\n- `viewer.md`、`viewer-management.md`、`watch-condition.md`、`whitelist.md`：观众、标签、观看条件、白名单。\n- `platform.md`、`player.md`、`statistics.md`：平台设置、播放器配置、统计报表。\n- `ai.md`、`finance.md`、`material.md`、`robot.md`、`webapp.md`：AI、财务审核、素材库、机器人、WebApp。\n- `custom-field.md`、`invite-sales.md`、`user.md`、`group.md`、`global.md`、`partner.md`：用户、字段、邀请销售、分组、全局、伙伴账号。\n- `interaction.md`、`promotion.md`、`web.md`：跨互动能力、推广渠道、观看页配置。\n\n新增 npm latest 命令若没有专门 reference，先查 `command-index.md` 和对应 help，不要编造参数。\n\n## 失败处理\n\n参数解析失败时：\n\n1. 对最深层命令重新运行 `--help`。\n2. 检查 camelCase、kebab-case 和短参数是否真实存在。\n3. 删除 help 没列出的参数。\n4. 修正文档或回复时优先使用完整参数名。\n\nAPI 阶段失败时：\n\n1. 运行 `account current` 和 `account list`。\n2. 用只读 `list`、`get`、`status` 命令核对账号、频道 ID 和对象 ID。\n3. 报告实际错误和命令形态，不暴露 AppSecret。\n\n## 官方资源与支持\n\n以下入口用于了解产品、查阅业务 API 或联系人工支持；命令语法仍以当前 npm 发布版 `--help` 为准。\n\n- 官网：https://www.polyv.net/\n- 保利威直播 API 文档：https://help.polyv.net/#/live/api/\n- 邮箱：support@polyv.net\n- 技术支持：400-993-9533\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn74gkj5m1rk89yf5beneexwsd82b5h7\",\n  \"slug\": \"polyv-live-cli\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1782201046084\n}\n\nFile v1.0.8:references/ai.md\n\n# AI 功能\n\n命令族：`ai`\n\n用途：AI 数字人、AI 视频生产、PPT 文件、TTS 音色。\n\n执行前必须先运行：\n\n```bash\n<CLI> ai --help\n```\n\nhelp 描述：Manage AI features for live streaming (管理AI功能)\n\n## 直接子命令\n\n- `ai digital-human`: Manage AI Digital Humans (管理AI数字人)\n- `ai video-produce`: Manage AI video production tasks, PPT files, and TTS voices\n\n## 使用规则\n\n- 需要输出给用户或后续处理时，优先加 `-o json` 或 `--output json`，但必须以 help 是否支持为准。\n- 写入、删除、推送、启停、导入、批量处理类子命令必须先确认；命令支持 `--force` 时，只有用户明确授权才使用。\n- 参数名、短参数和必填项必须从最深层 `--help` 获取，不要从本文件猜测。\n\nFile v1.0.8:references/authentication.md\n\n# 身份认证配置\n\n保利威直播 CLI 支持命令行凭证、账号配置和环境变量。客户环境优先使用账号配置或环境变量，避免把密钥写入脚本和文档。\n\n## 常用认证方式\n\n### 账号配置\n\n```bash\n<CLI> account add production \\\n  --app-id your-app-id \\\n  --app-secret your-app-secret \\\n  --user-id your-user-id\n\n<CLI> account set-default production\n<CLI> account current\n<CLI> account list\n```\n\n移除账号：\n\n```bash\n<CLI> account remove old-account\n<CLI> account remove old-account --force\n```\n\n### 环境变量\n\n```bash\nexport POLYV_APP_ID=\"your-app-id\"\nexport POLYV_APP_SECRET=\"your-app-secret\"\nexport POLYV_USER_ID=\"your-user-id\"\n\n<CLI> channel list\n```\n\n### 单次命令指定账号或凭证\n\n```bash\n<CLI> channel list -a production\n<CLI> channel list --appId <id> --appSecret <secret> --userId <userId>\n```\n\n## 推荐流程\n\n1. 使用 `account add` 添加客户账号。\n2. 使用 `account set-default` 设置默认账号。\n3. 使用 `account current` 或 `account list` 确认当前账号。\n4. 再执行频道、商品、统计等业务命令。\n\n```bash\n<CLI> account add customer-prod \\\n  --app-id \"$POLYV_APP_ID\" \\\n  --app-secret \"$POLYV_APP_SECRET\" \\\n  --user-id \"$POLYV_USER_ID\"\n\n<CLI> account set-default customer-prod\n<CLI> account current\n<CLI> channel list -o json\n```\n\n## CI/CD 示例\n\n```yaml\nenv:\n  POLYV_APP_ID: ${{ secrets.POLYV_APP_ID }}\n  POLYV_APP_SECRET: ${{ secrets.POLYV_APP_SECRET }}\n  POLYV_USER_ID: ${{ secrets.POLYV_USER_ID }}\n\nsteps:\n  - name: 列出频道\n    run: <CLI> channel list -o json\n```\n\n## 安全建议\n\n- 不要把 AppID、AppSecret、UserID 提交到 Git。\n- 给不同客户、环境分别配置账号名称，避免误操作生产资源。\n- 客户交付文档中使用占位符，不写真实凭证。\n- 执行删除、初始化、推送等高风险命令前，先用 `account current` 确认当前账号。\n\n## 故障排除\n\n### 认证配置不完整\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n如果没有默认账号，执行：\n\n```bash\n<CLI> account set-default <账号名称>\n```\n\n也可以在单次命令中用 `-a <账号名称>` 指定账号。\n\n### 凭证无效\n\n- 确认 AppID、AppSecret、UserID 是否来自同一保利威账号。\n- 确认客户账号具备对应 API 权限。\n- 如密钥已轮换，重新执行 `account add` 或更新环境变量。\n\nFile v1.0.8:references/card-push.md\n\n# 卡片推送\n\n管理直播间的卡片配置，并在直播中推送或取消推送卡片。\n\n## 当前 npm 命令面\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push create --channelId <频道ID> ...\n<CLI> card-push update --channelId <频道ID> --cardPushId <卡片ID> ...\n<CLI> card-push push --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push cancel --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push delete --channelId <频道ID> --cardPushId <卡片ID>\n```\n\n`card-push` 使用 camelCase 参数，例如 `--channelId`、`--cardPushId`、`--imageType`、`--showCondition`。\n\n## 列出卡片\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push list --channelId <频道ID> -o json\n```\n\n## 创建卡片\n\n手动推送卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType giftbox \\\n  --title \"限时优惠\" \\\n  --link \"https://shop.example.com/promo\" \\\n  --duration 10 \\\n  --showCondition PUSH\n```\n\n观看时长触发卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType redpack \\\n  --title \"新手红包\" \\\n  --link \"https://shop.example.com/redpack\" \\\n  --duration 15 \\\n  --showCondition WATCH \\\n  --conditionValue 30 \\\n  --conditionUnit SECONDS\n```\n\n## 更新卡片\n\n```bash\n<CLI> card-push update \\\n  --channelId <频道ID> \\\n  --cardPushId 123 \\\n  --title \"更新后的标题\" \\\n  --duration 20\n```\n\n## 推送、取消、删除\n\n```bash\n<CLI> card-push push --channelId <频道ID> --cardPushId 123\n<CLI> card-push cancel --channelId <频道ID> --cardPushId 123\n<CLI> card-push delete --channelId <频道ID> --cardPushId 123\n```\n\n## 常用参数\n\n| 参数 | 说明 |\n| --- | --- |\n| `--channelId` | 频道 ID |\n| `--cardPushId` | 卡片推送 ID，更新、推送、取消、删除时使用 |\n| `--cardType` | `common` 或 `qrCode` |\n| `--imageType` | `giftbox`、`redpack`、`custom`、`weixinWork` |\n| `--title` | 卡片标题，最多 16 个字符 |\n| `--link` | 点击跳转链接 |\n| `--duration` | 倒计时秒数，支持 `0`、`5`、`10`、`20`、`30` |\n| `--durationPosition` | `bottom` 或 `top` |\n| `--showCondition` | `PUSH` 手动推送，`WATCH` 观看时长触发 |\n| `--conditionValue` | 观看时长触发值 |\n| `--conditionUnit` | `SECONDS` 或 `MINUTES` |\n| `--countdownMsg` | 倒计时文案，最多 8 个字符 |\n| `--enterEnabled` | `Y` 或 `N` |\n| `--linkEnabled` | `Y` 或 `N` |\n| `--redirectType` | `iframe` 或 `tab` |\n\n## 使用注意\n\n- `push` 会影响观众端展示，执行前确认频道 ID 和卡片 ID。\n- `delete` 为删除配置操作，执行前建议先 `list` 核对。\n- 写脚本时使用 `-o json`，避免依赖表格列宽。\n\nFile v1.0.8:references/channel-management.md\n\n# 频道管理\n\n## 概述\n\n频道是保利威直播的核心资源。每个频道代表一个直播间，拥有独立的配置、商品和回放设置。\n\n## 频道增删改查\n\n### 创建频道\n\n```bash\n# 基本创建\n<CLI> channel create -n \"我的直播\"\n\n# 带描述\n<CLI> channel create -n \"产品演示\" -d \"新产品功能演示\"\n\n# 完整选项\n<CLI> channel create \\\n  -n \"高级网络研讨会\" \\\n  -d \"月度付费用户专属研讨会\" \\\n  --scene topclass \\\n  --template ppt \\\n  --password web123 \\\n  --max-viewers 1000 \\\n  --auto-record\n\n# JSON输出（便于程序化处理）\n<CLI> channel create -n \"API频道\" -o json\n```\n\n### 场景类型 (newScene)\n\n| 场景 | 说明 | 备注 |\n|------|------|------|\n| `topclass` | 大班课（默认） | ✅ 推荐 |\n| `alone` | 活动营销 | ✅ |\n| `seminar` | 研讨会 | ✅ |\n| `train` | 企业培训 | ✅ |\n| `double` | 双师课 | ⚠️ 需开通权限 |\n| `guide` | 导播 | ⚠️ 需开通权限 |\n\n### 模板类型 (template)\n\n| 模板 | 说明 |\n|------|------|\n| `ppt` | 三分屏-横屏（默认） |\n| `portrait_ppt` | 三分屏-竖屏 |\n| `alone` | 纯视频-横屏 |\n| `portrait_alone` | 纯视频-竖屏 |\n| `topclass` | 纯视频极速-横屏 |\n| `portrait_topclass` | 纯视频极速-竖屏 |\n| `seminar` | 研讨会 |\n\n### 查看频道列表\n\n```bash\n# 基本列表（第一页，20条）\n<CLI> channel list\n\n# 分页查询\n<CLI> channel list -P 2 -l 10\n\n# 按关键词筛选\n<CLI> channel list --keyword \"研讨会\"\n\n# 按分类筛选\n<CLI> channel list --category-id \"cat123\"\n\n# JSON输出\n<CLI> channel list -o json\n```\n\n### 查看频道详情\n\n```bash\n# 表格格式\n<CLI> channel get -c <频道ID>\n\n# JSON格式\n<CLI> channel get -c <频道ID> -o json\n```\n\n### 更新频道\n\n```bash\n# 更新名称\n<CLI> channel update -c <频道ID> -n \"新名称\"\n\n# 更新描述\n<CLI> channel update -c <频道ID> -d \"更新后的描述\"\n\n# 更新密码\n<CLI> channel update -c <频道ID> -p \"newpass123\"\n\n# 更新多个字段\n<CLI> channel update \\\n  -c <频道ID> \\\n  -n \"重命名频道\" \\\n  --max-viewers 5000 \\\n  --publisher \"主持人姓名\"\n```\n\n### 删除频道\n\n```bash\n# 带确认提示\n<CLI> channel delete -c <频道ID>\n\n# 强制删除（无确认）\n<CLI> channel delete -c <频道ID> -f\n\n# JSON输出\n<CLI> channel delete -c <频道ID> -o json\n```\n\n### 批量删除\n\n```bash\n# 删除多个频道\n<CLI> channel batch-delete --channelIds <频道ID> <频道ID2> <频道ID3>\n\n# 强制批量删除\n<CLI> channel batch-delete --channelIds <频道ID> <频道ID2> -f\n```\n\n## 频道配置\n\n### 密码保护\n\n```bash\n# 创建时设置密码\n<CLI> channel create -n \"私密直播\" -p \"secure123\"\n\n# 更新密码\n<CLI> channel update -c <频道ID> -p \"newpass456\"\n\n# 移除密码（设置为空）\n<CLI> channel update -c <频道ID> -p \"\"\n```\n\n### 观众人数限制\n\n```bash\n# 设置最大观看人数\n<CLI> channel create -n \"限定直播\" --max-viewers 500\n\n# 更新人数限制\n<CLI> channel update -c <频道ID> --max-viewers 1000\n```\n\n### 自动录制\n\n```bash\n# 启用自动录制\n<CLI> channel create -n \"录制直播\" --auto-record\n```\n\n### 封面和引导图\n\n```bash\n# 更新封面图\n<CLI> channel update -c <频道ID> --cover-img \"https://example.com/cover.jpg\"\n\n# 更新引导图\n<CLI> channel update -c <频道ID> --splash-img \"https://example.com/splash.jpg\"\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```bash\n<CLI> channel list\n# 显示表格，包含以下列：\n# 频道ID | 名称 | 状态 | 场景 | 创建时间\n```\n\n### JSON格式\n\n```bash\n<CLI> channel list -o json\n\n# 返回：\n# {\n#   \"code\": 200,\n#   \"status\": \"success\",\n#   \"data\": {\n#     \"contents\": [...],\n#     \"pageSize\": 20,\n#     \"pageNumber\": 1,\n#     \"totalItems\": 50\n#   }\n# }\n```\n\n## 常用工作流程\n\n### 创建网络研讨会频道\n\n```bash\n<CLI> channel create \\\n  -n \"Q4战略研讨会\" \\\n  -d \"全员季度战略回顾\" \\\n  --scene seminar \\\n  --template seminar \\\n  --max-viewers 500 \\\n  --auto-record \\\n  -o json\n```\n\n### 创建电商直播频道\n\n```bash\n<CLI> channel create \\\n  -n \"限时特卖活动\" \\\n  -d \"24小时限时特卖直播\" \\\n  --scene alone \\\n  --template portrait_alone \\\n  --max-viewers 10000 \\\n  -o json\n```\n\n### 批量清理测试频道\n\n```bash\n# 列出测试频道\n<CLI> channel list --keyword \"test\" -o json | jq '.data.contents[].channelId'\n\n# 批量删除\n<CLI> channel batch-delete --channelIds 123 456 789 -f\n```\n\n## 故障排除\n\n### \"Channel not found\"（频道不存在）\n\n- 确认频道ID是否正确\n- 检查频道是否属于当前账号\n- 确认频道是否已被删除\n\n### \"Invalid scene type\"（无效场景类型）\n\n- 使用以下之一：`topclass`、`alone`、`seminar`、`train`、`double`、`guide`\n- 场景名称区分大小写\n- `double` 和 `guide` 需要开通权限\n\n### \"密码必须是6-16位字母数字\"\n\n- 只使用字母和数字\n- 长度必须在6-16个字符之间\n\nFile v1.0.8:references/chat-management.md\n\n# 聊天消息管理\n\n本文档详细介绍保利威直播 CLI 的聊天消息管理命令。\n\n## 命令概览\n\n```bash\n<CLI> chat <子命令> [选项]\n```\n\n## 子命令\n\n### chat send - 发送管理员消息\n\n向指定频道发送管理员消息（文本或图片）。\n\n```bash\n<CLI> chat send -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --msg <文本>` | 文本消息内容 |\n| `-i, --img-url <url>` | 图片 URL |\n| `-p, --pic <url>` | 发送者头像 URL |\n| `-n, --nickname <名称>` | 发送者昵称 |\n| `-a, --actor <角色>` | 发送者角色 |\n| `--admin-index <数字>` | 管理员索引 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`-m` 和 `-i` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 发送文本消息\n<CLI> chat send -c <频道ID> -m \"欢迎观看直播！\"\n\n# 发送图片消息\n<CLI> chat send -c <频道ID> -i \"https://example.com/image.png\"\n\n# 发送带自定义昵称的消息\n<CLI> chat send -c <频道ID> -m \"大家好\" -n \"主播\" -a \"主持人\"\n\n# JSON 格式输出\n<CLI> chat send -c <频道ID> -m \"测试消息\" -o json\n```\n\n---\n\n### chat list - 查看聊天历史\n\n获取指定频道的聊天消息历史记录。\n\n```bash\n<CLI> chat list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `--start-day <日期>` | 开始日期筛选（格式：yyyy-MM-dd） |\n| `--end-day <日期>` | 结束日期筛选（格式：yyyy-MM-dd） |\n| `--page <数字>` | 页码（默认 1） |\n| `--size <数字>` | 每页数量，1-100（默认 20） |\n| `--user-type <类型>` | 用户类型筛选 |\n| `--status <状态>` | 消息状态筛选 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看最近聊天消息\n<CLI> chat list -c <频道ID>\n\n# 分页查看\n<CLI> chat list -c <频道ID> --page 2 --size 50\n\n# 按日期范围筛选\n<CLI> chat list -c <频道ID> --start-day 2024-01-01 --end-day 2024-01-31\n\n# JSON 格式输出\n<CLI> chat list -c <频道ID> -o json\n```\n\n#### 表格输出字段\n\n| 字段 | 说明 |\n|------|------|\n| Message ID | 消息唯一标识 |\n| Content | 消息内容（过长会截断） |\n| Time | 消息发送时间 |\n| Sender | 发送者昵称 |\n| User Type | 发送者类型 |\n\n---\n\n### chat delete - 删除消息\n\n删除单条消息或清空频道所有聊天消息。\n\n```bash\n<CLI> chat delete -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --message-id <id>` | 要删除的消息 ID |\n| `--clear` | 清空该频道所有聊天消息 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：如果使用 `--clear`，则不需要指定 `--message-id`。\n\n#### 示例\n\n```bash\n# 删除单条消息\n<CLI> chat delete -c <频道ID> -m abc123\n\n# 清空所有消息\n<CLI> chat delete -c <频道ID> --clear\n```\n\n> 警告：删除操作不可恢复，执行前会有确认提示。\n\n---\n\n## 禁言踢人管理 (Story 11-2)\n\n### chat ban - 禁言用户\n\n禁言指定用户，支持频道级别和账号级别（全局）。\n\n```bash\n<CLI> chat ban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别禁言时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局禁言（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别禁言\n<CLI> chat ban -c <频道ID> -u user1,user2\n\n# 全局禁言\n<CLI> chat ban -u user1,user2 --global\n\n# JSON 格式输出\n<CLI> chat ban -c <频道ID> -u user1 -o json\n```\n\n---\n\n### chat unban - 解除禁言\n\n解除用户的禁言状态。\n\n```bash\n<CLI> chat unban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解禁时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局解禁（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解禁\n<CLI> chat unban -c <频道ID> -u user1,user2\n\n# 全局解禁\n<CLI> chat unban -u user1,user2 --global\n```\n\n---\n\n### chat kick - 踢人\n\n将用户踢出直播间，支持频道级别和账号级别（全局）。\n\n```bash\n<CLI> chat kick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别踢人时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局踢人（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`--viewer-ids` 和 `-n` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 频道级别踢人\n<CLI> chat kick -c <频道ID> --viewer-ids viewer1,viewer2 -n Nick1,Nick2\n\n# 全局踢人\n<CLI> chat kick --viewer-ids viewer1 --global\n\n# JSON 格式输出\n<CLI> chat kick -c <频道ID> --viewer-ids viewer1 -o json\n```\n\n---\n\n### chat unkick - 解除踢人\n\n解除用户的踢人状态，允许重新进入直播间。\n\n```bash\n<CLI> chat unkick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解踢时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局解踢（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解踢\n<CLI> chat unkick -c <频道ID> --viewer-ids viewer1 -n Nick1\n\n# 全局解踢\n<CLI> chat unkick --viewer-ids viewer1 --global\n```\n\n---\n\n### chat banned list - 查看禁言列表\n\n查看频道的禁言用户、禁言 IP 或禁言词列表。\n\n```bash\n<CLI> chat banned list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n| `--type <类型>` | 列表类型：userId（用户）、ip（IP地址）、badword（禁言词） |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看禁言用户列表\n<CLI> chat banned list -c <频道ID> --type userId\n\n# 查看禁言 IP 列表\n<CLI> chat banned list -c <频道ID> --type ip\n\n# 查看禁言词列表\n<CLI> chat banned list -c <频道ID> --type badword\n\n# JSON 格式输出\n<CLI> chat banned list -c <频道ID> --type userId -o json\n```\n\n---\n\n### chat kicked list - 查看踢人列表\n\n查看频道被踢出的用户列表。\n\n```bash\n<CLI> chat kicked list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看踢人列表\n<CLI> chat kicked list -c <频道ID>\n\n# JSON 格式输出\n<CLI> chat kicked list -c <频道ID> -o json\n```\n\n---\n\n## 常见工作流程\n\n### 1. 发送直播公告\n\n```bash\n# 发送开播公告\n<CLI> chat send -c <频道ID> -m \"直播即将开始，请稍候...\" -n \"系统公告\" -a \"管理员\"\n```\n\n### 2. 查看并管理聊天记录\n\n```bash\n# 查看今天的聊天记录\n<CLI> chat list -c <频道ID> --start-day 2024-01-15 --end-day 2024-01-15\n\n# 如果发现不当内容，删除该消息\n<CLI> chat delete -c <频道ID> -m <消息ID>\n```\n\n### 3. 直播结束后清理聊天\n\n```bash\n# 清空所有聊天消息\n<CLI> chat delete -c <频道ID> --clear\n```\n\n## 错误处理\n\n| 错误信息 | 原因 | 解决方案 |\n|---------|------|---------|\n| `channelId is required` | 未指定频道 ID | 使用 `-c` 参数指定频道 |\n| `msg or imgUrl is required` | 发送消息时未提供内容 | 使用 `-m` 或 `-i` 参数 |\n| `messageId is required when --clear is not specified` | 删除时未指定消息 ID | 使用 `-m` 参数或 `--clear` 选项 |\n\n## API 参考\n\n相关 API 文档：\n- [发送管理员消息](https://help.polyv.net/#/live/api/chat/send_admin_msg)\n- [获取聊天历史](https://help.polyv.net/#/live/api/chat/get_history)\n- [删除聊天消息](https://help.polyv.net/#/live/api/chat/del_chat)\n- [清空聊天记录](https://help.polyv.net/#/live/api/chat/clean_chat)\n\nFile v1.0.8:references/checkin.md\n\n# 签到管理\n\n## 概述\n\n签到命令用于在直播过程中发起签到互动，查询签到记录和统计结果。\n\n## 发起签到\n\n```bash\n# 立即发起签到\n<CLI> checkin start -c <频道ID>\n\n# 设置签到时长30秒\n<CLI> checkin start -c <频道ID> --limit-time 30\n\n# 定时签到（13位时间戳）\n<CLI> checkin start -c <频道ID> --limit-time 60 --delay-time 1700734800000\n\n# 自定义签到提示语\n<CLI> checkin start -c <频道ID> --message \"请各位学员签到\"\n\n# 强制签到模式\n<CLI> checkin start -c <频道ID> --force\n```\n\n### 签到选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--limit-time` | 签到时长（秒） | 0-86400，0表示立即 |\n| `--delay-time` | 定时签到时间 | 13位时间戳 |\n| `--message` | 签到提示语 | 文本 |\n| `--force` | 强制签到模式 | 标志（无需值） |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n### JSON输出\n\n```bash\n<CLI> checkin start -c <频道ID> -o json\n```\n\n## 查询签到记录\n\n查询已签到的用户列表。\n\n```bash\n# 查询所有签到记录\n<CLI> checkin list -c <频道ID>\n\n# 分页查询\n<CLI> checkin list -c <频道ID> --page 1 --size 20\n\n# 按日期筛选\n<CLI> checkin list -c <频道ID> --date 2024-01-15\n\n# 按场次筛选\n<CLI> checkin list -c <频道ID> --session-id fwly13xczv\n\n# JSON输出\n<CLI> checkin list -c <频道ID> -o json\n```\n\n### 查询选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--page` | 页码 | 数字，默认1 |\n| `--size` | 每页数量 | 数字，默认10 |\n| `--date` | 筛选日期 | yyyy-MM-dd |\n| `--session-id` | 场次ID | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到详情\n\n获取特定签到的详细结果，包括已签到和未签到的用户。\n\n```bash\n# 查询签到详情\n<CLI> checkin result -c <频道ID> --checkin-id db14ef80-81b8-11eb-b114-e7477b\n\n# JSON输出\n<CLI> checkin result -c <频道ID> --checkin-id db14ef80-81b8-11eb-b114-e7477b -o json\n```\n\n### 详情选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--checkin-id` | 签到ID（必填） | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到发起记录\n\n按时间范围查询签到发起记录。\n\n```bash\n# 查询最近7天的签到记录（默认）\n<CLI> checkin sessions -c <频道ID>\n\n# 指定日期范围\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31\n\n# JSON输出\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31 -o json\n```\n\n### 场次选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--start-date` | 开始日期 | yyyy-MM-dd，默认7天前 |\n| `--end-date` | 结束日期 | yyyy-MM-dd，默认今天 |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n> **注意**: 日期范围不能超过30天。\n\n## 常用工作流程\n\n### 课堂签到流程\n\n```bash\n# 1. 开始直播后发起签到\n<CLI> checkin start -c <频道ID> --limit-time 60 --message \"同学们请签到\"\n\n# 2. 签到结束后查看结果\n<CLI> checkin result -c <频道ID> --checkin-id <签到ID>\n\n# 3. 导出签到数据\n<CLI> checkin result -c <频道ID> --checkin-id <签到ID> -o json > checkin-result.json\n```\n\n### 课后统计\n\n```bash\n# 查询某天的所有签到记录\n<CLI> checkin list -c <频道ID> --date 2024-01-15 -o json\n\n# 查询某月的签到发起记录\n<CLI> checkin sessions -c <频道ID> --start-date 2024-01-01 --end-date 2024-01-31\n```\n\n### 定时签到\n\n```bash\n# 计算定时签到时间戳（例如：2024-01-15 10:00:00）\n# macOS/Linux\ndate -j -f \"%Y-%m-%d %H:%M:%S\" \"2024-01-15 10:00:00\" +%s000\n\n# 发起定时签到\n<CLI> checkin start -c <频道ID> --limit-time 120 --delay-time 1705287600000\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```\n┌──────────────────────────────┬──────────┬─────────────────┐\n│ Checkin ID                   │ Status   │ Checked Count   │\n├──────────────────────────────┼──────────┼─────────────────┤\n│ db14ef80-81b8-11eb-b114...   │ Active   │ 45              │\n└──────────────────────────────┴──────────┴─────────────────┘\n```\n\n### JSON格式\n\n```json\n{\n  \"checkinId\": \"db14ef80-81b8-11eb-b114-e7477b\",\n  \"channelId\": \"<频道ID>\",\n  \"status\": \"active\",\n  \"checkedCount\": 45,\n  \"uncheckedCount\": 10,\n  \"limitTime\": 60,\n  \"message\": \"请签到\"\n}\n```\n\n## 故障排除\n\n### \"签到发起失败\"\n\n- 确认频道正在直播中\n- 检查是否有正在进行的签到（需先结束或等待超时）\n- 使用 `--force` 参数强制发起新签到\n\n### \"无签到记录\"\n\n- 确认日期范围正确\n- 检查频道ID是否正确\n- 确认该时间段内有直播场次\n\n### \"日期范围超出限制\"\n\n- 日期范围不能超过30天\n- 缩小查询日期范围后重试\n\nFile v1.0.8:references/command-index.md\n\n# 命令索引\n\n本文件由发布版 CLI help 生成，用于快速定位命令路径。执行前仍必须运行对应 `--help` 校验参数。\n\nCLI 前缀：`<CLI>` = `npx --yes polyv-live-cli@latest`\n\n生成时间：2026-06-23T00:00:00.000Z\n\n## 一级命令\n\n共 40 个一级命令，不含 Commander 内置 `help`。\n\n- `account`: Manage PolyV account configurations\n- `ai`: Manage AI features for live streaming (管理AI功能)\n- `card-push`: Manage card push for live streaming (管理直播卡片推送)\n- `channel`: Manage live streaming channels\n- `chat`: Manage live streaming chat messages\n- `checkin`: Manage live streaming checkin interactions\n- `coupon`: Manage coupons\n- `custom-field`: Manage user custom fields\n- `document`: 课件管理命令\n- `donate`: Manage live streaming donate interactions\n- `finance`: Manage finance, billing, and moderation APIs\n- `global`: Manage global account settings\n- `group`: Manage group account resources\n- `interaction`: Manage cross-cutting live interaction APIs\n- `invite-sales`: Manage user invite sales\n- `lottery`: Manage live streaming lottery interactions\n- `material`: Manage material library\n- `monitor`: Start live streaming monitoring dashboard\n- `partner`: Manage partner account tools\n- `platform`: Platform account info management commands\n- `playback`: 回放管理命令\n- `player`: Manage channel player settings\n- `product`: Manage live streaming channel products\n- `promotion`: Manage marketing promotion channels (管理营销推广渠道)\n- `qa`: Manage live streaming QA question cards\n- `questionnaire`: Manage live streaming questionnaires\n- `record`: 录制设置管理命令\n- `robot`: Manage global robots\n- `session`: 场次管理命令\n- `setup`: Initialize a scene with predefined resources\n- `statistics`: View live streaming statistics data\n- `stream`: Manage live streaming operations\n- `transmit`: Manage transmit channels for live streaming\n- `use`: 管理当前终端会话的账号设置\n- `user`: Manage user account settings, templates,\n- `viewer`: Manage viewer information queries\n- `watch-condition`: 观看条件配置管理\n- `web`: Manage watch page configuration\n- `webapp`: Manage WebApp roles and permissions\n- `whitelist`: 白名单管理\n\n## 直接子命令\n\n### account\n\nManage PolyV account configurations\n\n- `account add`: Add a new account configuration\n- `account api`: Manage server-side account APIs\n- `account current`: Show current account information\n- `account list`: List all configured accounts\n- `account migrate`: Migrate legacy configuration to new account system\n- `account remove`: Remove an account configuration\n- `account set-default`: Set an account as the default account\n- `account unset-default`: Remove the current default account setting\n\n### ai\n\nManage AI features for live streaming (管理AI功能)\n\n- `ai digital-human`: Manage AI Digital Humans (管理AI数字人)\n- `ai video-produce`: Manage AI video production tasks, PPT files, and TTS voices\n\n### card-push\n\nManage card push for live streaming (管理直播卡片推送)\n\n- `card-push cancel`: Cancel a pushing card (取消正在推送的卡片)\n- `card-push create`: Create a new card-push (创建新的卡片推送)\n- `card-push delete`: Delete a card-push (删除卡片推送)\n- `card-push list`: List all card-pushes (列出所有卡片推送)\n- `card-push push`: Push a card to viewers (推送卡片到观众)\n- `card-push share`: Manage channel share settings (管理频道分享设置)\n- `card-push update`: Update an existing card-push (更新现有卡片推送)\n\n### channel\n\nManage live streaming channels\n\n- `channel advert-list`: List channel adverts\n- `channel auth`: Manage channel auth tokens\n- `channel basic-list`: List V4 channel basic information\n- `channel batch-create`: Batch create V4 live channels\n- `channel batch-delete`: Delete multiple live streaming channels at\n- `channel callback`: Manage channel callback settings\n- `channel ccb-focus-reset`: Reset CCB focus channels\n- `channel children-list`: List channels owned by a child account\n- `channel copy`: Copy a channel\n- `channel create`: Create a new live streaming channel\n- `channel create-init`: Create and initialize a V4 channel\n- `channel danmu-batch-update`: Batch update channel danmu settings\n- `channel delete`: Delete a single live streaming channel with\n- `channel distribute`: Manage V4 cloud distribution\n- `channel follow`: Manage follow-public-account settings\n- `channel get`: Get detailed information for a specific\n- `channel list`: List live streaming channels with pagination\n- `channel live-status-list`: Batch query V4 channel live status\n- `channel marquee-url-set`: Set custom URL marquee protection\n- `channel max-viewer-set`: Set max viewer count\n- `channel mr-create`: Create a V4 MR channel\n- `channel password-update`: Update channel password\n- `channel ppt-record`: Manage PPT record remake tasks and settings\n- `channel pull-bitrate-set`: Set V4 channel pull bitrate\n- `channel questionnaire-stop`: Stop questionnaires for channels\n- `channel role`: Manage historical channel role accounts\n- `channel simple-list`: List V4 channel compact information\n- `channel status-valid`: Check whether channel statuses are valid\n- `channel submeeting-batch-add`: Batch save submeeting channels\n- `channel subtitle`: Manage V4 realtime subtitle settings\n- `channel template-update`: Update V4 channel live template\n- `channel token`: Manage channel historical tokens\n- `channel update`: Update an existing live streaming channel\n- `channel v4-update`: Update V4 channel basic information\n- `channel viewer`: Manage channel-owned viewers and viewer\n\n### chat\n\nManage live streaming chat messages\n\n- `chat badword`: Manage account and channel badwords\n- `chat ban`: Ban users from chat (channel or global)\n- `chat banned`: Manage banned items\n- `chat censor`: Manage chat censor settings\n- `chat delete`: Delete a chat message or clear all messages\n- `chat enabled`: Manage channel chat switch\n- `chat group-login-times`: Get group login times for a channel\n- `chat kick`: Kick users from channel or globally\n- `chat kicked`: Manage kicked users\n- `chat list`: List chat history with pagination\n- `chat message`: Manage advanced chat messages\n- `chat notice`: Manage channel notices\n- `chat qa`: Manage chat Q&A records\n- `chat robot`: Manage channel chat robots\n- `chat role`: Manage chat role information\n- `chat send`: Send an admin message to the channel chat\n- `chat unban`: Unban users from chat (channel or global)\n- `chat unkick`: Unkick users (cancel kick status)\n- `chat viewer-logout`: Log out a viewer from the channel watch page\n\n### checkin\n\nManage live streaming checkin interactions\n\n- `checkin list`: List checkin records (checked-in users only)\n- `checkin result`: Get checkin result details (including checked and\n- `checkin session-result`: Get checkin records by live session ID\n- `checkin sessions`: List checkin sessions by time range\n- `checkin start`: Start a checkin session in the channel\n\n### coupon\n\nManage coupons\n\n- `coupon add`: Create a new coupon (满减券 or 折扣券)\n- `coupon channel`: Manage channel coupon associations\n- `coupon delete`: Delete coupons in batch (max 200 IDs)\n- `coupon list`: List coupons with pagination and status filter\n\n### custom-field\n\nManage user custom fields\n\n- `custom-field add`: Add a custom field\n- `custom-field list`: List custom fields\n- `custom-field value`: Manage custom field viewer values\n\n### document\n\n课件管理命令\n\n- `document delete`: 删除课件文档\n- `document list`: 获取频道课件文档列表\n- `document media`: 管理频道关联音视频资源\n- `document status`: 查询文档转码状态\n- `document teacher-doc`: 管理讲师与文档关系\n- `document upload`: 上传课件文档到频道\n\n### donate\n\nManage live streaming donate interactions\n\n- `donate config`: Manage donate configuration\n- `donate likes`: List like reward records\n- `donate list`: List donate records\n\n### finance\n\nManage finance, billing, and moderation APIs\n\n- `finance audio-moderation`: Audio moderation APIs\n- `finance bill-detail-list`: List finance bill details\n- `finance video-moderation`: Video moderation APIs\n\n### global\n\nManage global account settings\n\n- `global auth`: Global auth settings\n- `global page-setting`: Global page settings\n\n### group\n\nManage group account resources\n\n- `group allocate-log`: List legacy group allocation logs\n- `group billing-daily`: List group account daily billing\n- `group health-check`: Check group backend health\n- `group resource`: Legacy resource allocation APIs\n- `group user`: Group sub-account APIs\n\n### interaction\n\nManage cross-cutting live interaction APIs\n\n- `interaction event`: Manage interaction listener events\n- `interaction favor`: Send likes for a viewer\n- `interaction invite-poster`: Manage invite poster interaction helpers\n- `interaction reward`: Send a reward message\n- `interaction script`: Manage pseudo-live disk video interaction scripts\n- `interaction task-reward`: Manage task reward activities\n- `interaction teacher-answer`: Send a teacher answer to a student question\n- `interaction webhook`: Manage student question webhook\n\n### invite-sales\n\nManage user invite sales\n\n- `invite-sales add`: Add invite sales\n- `invite-sales follow-viewer`: Manage invite sales follow viewers\n- `invite-sales list`: List invite sales\n- `invite-sales remove`: Remove invite sales\n- `invite-sales update`: Update invite sales organization\n\n### lottery\n\nManage live streaming lottery interactions\n\n- `lottery blacklist`: Manage lottery viewer blacklist\n- `lottery channel-records`: Get lottery records across channels\n- `lottery create`: Create a lottery activity\n- `lottery delete`: Delete lottery activity\n- `lottery download-winners`: Download lottery winner details\n- `lottery get`: Get lottery activity details\n- `lottery group`: Manage lottery viewer whitelist groups\n- `lottery group-viewer`: Manage lottery viewer whitelist group members\n- `lottery legacy-records`: Get legacy V3 lottery records for a single channel\n- `lottery list`: List lottery activities\n- `lottery lucky-bag`: Manage lucky bag lottery data\n- `lottery receive-info`: Add winner receive information\n- `lottery records`: Get lottery activity records\n- `lottery update`: Update lottery activity\n- `lottery wait`: Manage condition lottery wait schedules\n- `lottery winners`: Get winner list for a lottery\n\n### material\n\nManage material library\n\n- `material category`: Material category APIs\n- `material delete`: Delete materials\n- `material label`: Material label APIs\n- `material list`: List materials\n\n### monitor\n\nStart live streaming monitoring dashboard\n\n- `monitor config`: Manage monitoring configuration\n- `monitor export`: Export monitoring configuration\n- `monitor import`: Import monitoring configuration\n- `monitor layouts`: List available dashboard layouts\n- `monitor status`: Show monitoring dashboard status\n- `monitor stream-info-list`: List V4 channel realtime stream\n- `monitor tencent-stream-info-list`: List Tencent stream monitoring info\n- `monitor test`: Test monitoring dashboard compatibility\n- `monitor themes`: List available themes\n\n### partner\n\nManage partner account tools\n\n- `partner tencent-order`: Tencent order APIs\n- `partner user-register`: Register a partner customer account\n\n### platform\n\nPlatform account info management commands\n\n- `platform anchor`: Anchor management (主播管理)\n- `platform callback`: Callback settings management (回调设置管理)\n- `platform content-group`: Content group management\n- `platform coupon`: Platform coupon operations\n- `platform get`: Get account info (获取账号信息)\n- `platform label`: Label management (标签管理)\n- `platform setting`: Global channel settings management (全局频道设置管理)\n- `platform switch`: Switch configuration management (开关配置管理)\n\n### playback\n\n回放管理命令\n\n- `playback add-vod`: 将点播视频添加到频道回放视频库\n- `playback delete`: 删除回放视频\n- `playback enabled`: 管理频道回放开关\n- `playback get`: 获取单个回放视频详情\n- `playback list`: 获取频道回放列表\n- `playback merge`: 合并录制文件\n- `playback setting-list`: 批量查询频道回放设置\n- `playback sort`: 管理回放视频排序\n- `playback subtitle`: 管理回放字幕\n- `playback title`: 管理回放标题\n- `playback video-info`: 批量查询频道单个回放信息\n\n### player\n\nManage channel player settings\n\n- `player advert`: Manage player adverts\n- `player anti-record`: Manage anti-record settings\n- `player config`: Manage channel player configuration\n- `player logo-update`: Update player logo settings\n- `player marquee-url`: Set marquee URL restriction\n- `player skin`: Manage V4 player skin settings\n- `player warmup`: Manage player warmup settings\n- `player watch-feedback-list`: List watch feedback records\n\n### product\n\nManage live streaming channel products\n\n- `product add`: Add a new product to channel\n- `product batch-add`: Batch add products to a channel\n- `product batch-delete`: Batch delete channel products\n- `product batch-shelf`: Batch update channel product shelf status\n- `product cancel-push`: Cancel a pushed channel product\n- `product channel-tag`: Manage channel product tags\n- `product delete`: Delete a product from channel\n- `product enabled`: Get channel product library enabled status\n- `product library`: Manage user-level product library\n- `product list`: List products with pagination\n- `product order`: Manage user-level product orders\n- `product push`: Push a channel product to viewers\n- `product push-rule`: Manage channel product push rule\n- `product rank`: Set channel product rank\n- `product reference`: Reference a platform product into a channel product\n- `product shelf`: Update one channel product shelf status\n- `product sort`: Sort a channel product\n- `product stats`: Query channel product statistics\n- `product tag`: Manage user-level product tags\n- `product topping`: Top a channel product\n- `product untopping`: Cancel topping for a channel product\n- `product update`: Update an existing product\n- `product update-enabled`: Update channel product library enabled status\n\n### promotion\n\nManage marketing promotion channels (管理营销推广渠道)\n\n- `promotion create`: Batch create promotion channels (批量创建推广渠道)\n- `promotion list`: List all promotion channels (列出所有推广渠道)\n\n### qa\n\nManage live streaming QA question cards\n\n- `qa add-edit`: Create or update a QA question card\n- `qa answers`: List QA answer records\n- `qa delete-question`: Delete a QA question card\n- `qa list`: List QA question cards for the channel\n- `qa question-list`: List student question records\n- `qa send`: Send a QA question card to the channel\n- `qa send-result`: Publish QA question result statistics\n- `qa send-times`: List QA question card send times\n- `qa stop`: Stop a QA question card and get answer statistics\n\n### questionnaire\n\nManage live streaming questionnaires\n\n- `questionnaire batch-create`: Batch create questionnaires\n- `questionnaire create`: Create a new questionnaire\n- `questionnaire detail`: Get questionnaire detail with questions\n- `questionnaire legacy-list`: List questionnaires through the legacy V3 API\n- `questionnaire list`: List questionnaires with pagination\n- `questionnaire results`: List questionnaire answer records\n\n### record\n\n录制设置管理命令\n\n- `record breakpoint`: 管理录制打点\n- `record clip`: 裁剪录制文件\n- `record convert`: 转存录制文件到点播\n- `record file`: 管理历史录制文件\n- `record material-list`: 分页查询素材库频道直播回放列表\n- `record merge-mp4`: 合并直播录制文件并回调 MP4 下载地址\n- `record merge-mp4-start`: 提交异步 MP4 合并任务\n- `record outline`: 管理暂存视频大纲\n- `record set-default`: 设置默认回放视频\n- `record setting`: 回放设置管理\n- `record subtitle`: 管理暂存视频字幕\n- `record temp-list`: 查询频道单个直播暂存信息\n\n### robot\n\nManage global robots\n\n- `robot batch-delete`: Batch delete global robots\n- `robot batch-save`: Batch save global robots\n- `robot list`: List global robots\n\n### session\n\n场次管理命令\n\n- `session create`: 创建频道新版场次\n- `session data-list`: 查询频道场次数据列表\n- `session delete`: 删除频道新版场次\n- `session external`: 管理外部场次 ID 关联\n- `session get`: 获取单个场次详情\n- `session legacy-list`: 查询频道历史场次信息\n- `session list`: 获取频道场次列表\n- `session update`: 更新频道新版场次\n\n### setup\n\nInitialize a scene with predefined resources\n\n无直接子命令；查看 `<CLI> setup --help`。\n\n### statistics\n\nView live streaming statistics data\n\n- `statistics audience`: View audience statistics\n- `statistics channel-play-summary`: Get multi-channel play summary statistics\n- `statistics channel-session-stats`: Get channel session statistics\n- `statistics channel-statistic`: Get channel statistic data\n- `statistics channel-summary`: Get channel view summary statistics\n- `statistics concurrency`: 查看历史并发数据\n- `statistics export`: export statistics data\n- `statistics invite-list`: List V4 invite statistics records\n- `statistics inviter-poster-list`: List inviter poster statistics\n- `statistics link-mic-list`: List channel link-mic detail logs\n- `statistics live-data`: Get V4 channel live data summary\n- `statistics live-session-list`: List V4 live session statistics\n- `statistics lottery-list`: List V4 channel lottery statistics records\n- `statistics max-concurrent`: 查看历史最高并发人数\n- `statistics mic-list`: List channel mic detail statistics\n- `statistics product-click`: List product click statistics\n- `statistics product-list-click`: List product-list click statistics\n- `statistics realtime-v1`: Get realtime viewers using the legacy V1\n- `statistics realtime-viewers`: Get realtime viewer counts for channels\n- `statistics redpack-list`: List redpack statistics\n- `statistics session-summary-list`: List V4 session statistics summaries\n- `statistics view`: View daily statistics for a channel\n- `statistics viewlog-v1`: Get V1 viewlog records\n- `statistics viewlog-v2`: Get V2 paged viewlog records\n- `statistics weixin-booking-list`: List V4 WeChat booking records\n\n### stream\n\nManage live streaming operations\n\n- `stream ban-push`: Ban/cut off push stream\n- `stream capture`: Get current live capture image\n- `stream disk-video`: Manage pseudo-live disk videos\n- `stream get-key`: Get RTMP URL and stream key for a live channel\n- `stream hls-pull-url`: Get the channel monitor HLS pull URL\n- `stream live-status`: Use historical live status APIs\n- `stream monitor`: Monitor stream status in real-time with live\n- `stream push`: Push a local video file to a live channel\n- `stream resume`: Resume push stream\n- `stream start`: Start live streaming for a channel\n- `stream status`: Get real-time status information for a live channel\n- `stream stop`: Stop live streaming for a channel\n- `stream streams`: Get stream monitor info for channel IDs\n- `stream type-update`: Update channel stream type\n- `stream verify`: Verify stream quality and performance for a live\n\n### transmit\n\nManage transmit channels for live streaming\n\n- `transmit associate`: Add or cancel receive channel transmit associations\n- `transmit create`: Batch create transmit channels (批量创建转播频道)\n- `transmit list`: Get transmit associations (获取转播关联列表)\n\n### use\n\n管理当前终端会话的账号设置\n\n无直接子命令；查看 `<CLI> use --help`。\n\n### user\n\nManage user account settings, templates,\n\n- `user bill`: Manage user billing details\n- `user child`: Manage child accounts\n- `user mic-duration`: Get user mic duration\n- `user mr-concurrency`: Manage MR concurrency\n- `user org`: Manage organizations\n- `user setting`: Manage user global settings\n- `user sms-send`: Send SMS notification\n- `user template`: Manage default user templates\n- `user viewlog`: Manage user watch logs\n\n### viewer\n\nManage viewer information queries\n\n- `viewer config`: Manage viewer user system config\n- `viewer create`: Create a viewer record\n- `viewer delete`: Delete a viewer record\n- `viewer get`: Get single viewer details\n- `viewer import-external`: Import external viewer records\n- `viewer label`: Manage account labels and channel label refs\n- `viewer list`: List viewers with pagination and filters\n- `viewer lottery-wins`: List viewer lottery win records\n- `viewer tag`: Manage viewer tags\n- `viewer update`: Update a viewer record\n\n### watch-condition\n\n观看条件配置管理\n\n- `watch-condition get`: 获取观看条件配置\n- `watch-condition set`: 设置观看条件配置\n\n### web\n\nManage watch page configuration\n\n- `web auth`: Watch condition and authorization APIs\n- `web donate`: Watch page donate APIs\n- `web info`: Watch page basic info\n- `web menu`: Watch page menu APIs\n- `web setting`: Watch page common settings\n- `web share`: Watch page share APIs\n\n### webapp\n\nManage WebApp roles and permissions\n\n- `webapp permission-list`: List WebApp permissions\n- `webapp role`: WebApp role APIs\n\n### whitelist\n\n白名单管理\n\n- `whitelist add`: 添加白名单项\n- `whitelist list`: 获取白名单列表\n- `whitelist remove`: 删除白名单项\n- `whitelist update`: 更新白名单项\n\nFile v1.0.8:references/coupons.md\n\n# 优惠券管理\n\n管理账号级优惠券，以及频道观看页领券入口。常用子命令包括 `add`、`list`、`delete`、`channel add`、`channel list`、`channel enabled`、`channel update-enabled`。\n\n## 创建优惠券\n\n创建优惠券只会新增账号级优惠券，不会自动在某个频道观看页展示。若用户目标是“观看页展示优惠券”或“直播间可领券”，创建优惠券后还要把优惠券绑定到频道，并打开频道领券开关。\n\n满减券：\n\n```bash\n<CLI> coupon add \\\n  --name \"满100减20\" \\\n  --type MAX_OUT \\\n  --availableAmount 100 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType RANGE \\\n  --useStart 1704067200000 \\\n  --useEnd 1704758400000 \\\n  --condition FULL_REDUCE \\\n  --full 100 \\\n  --reduce 20 \\\n  --limitPerPerson 1\n```\n\n折扣券：\n\n```bash\n<CLI> coupon add \\\n  --name \"8折优惠券\" \\\n  --type DISCOUNT \\\n  --availableAmount 200 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType DAY \\\n  --dayOfUse 7 \\\n  --condition UNCONDITIONAL \\\n  --discount 80 \\\n  --limitPerPerson 1\n```\n\n## 查询优惠券\n\n```bash\n<CLI> coupon list\n<CLI> coupon list -p 2 -s 20\n<CLI> coupon list --status GOING -o json\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `-p, --page` | 页码 |\n| `-s, --size` | 每页条数 |\n| `--status` | `NOT_START`、`GOING`、`FINISHED`、`INVALID` |\n| `-o, --output` | `table` 或 `json` |\n\n## 频道优惠券展示\n\n把账号级优惠券绑定到频道：\n\n```bash\n<CLI> coupon channel add -c <频道ID> --coupon-ids <优惠券ID> --force -o json\n<CLI> coupon channel add -c <频道ID> --coupon-ids <优惠券ID1>,<优惠券ID2> --force -o json\n```\n\n查询频道已绑定优惠券：\n\n```bash\n<CLI> coupon channel list -c <频道ID>\n<CLI> coupon channel list -c <频道ID> -o json\n```\n\n查询频道领券开关：\n\n```bash\n<CLI> coupon channel enabled -c <频道ID>\n<CLI> coupon channel enabled -c <频道ID> -o json\n```\n\n开启或关闭频道领券入口：\n\n```bash\n<CLI> coupon channel update-enabled -c <频道ID> --enabled Y --force -o json\n<CLI> coupon channel update-enabled -c <频道ID> --enabled N --force -o json\n```\n\n解绑频道优惠券：\n\n```bash\n<CLI> coupon channel delete -c <频道ID> --coupon-ids <优惠券ID> --force -o json\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `-c, --channel-id` | 频道 ID |\n| `--coupon-ids` | 优惠券 ID，多个 ID 用英文逗号分隔，单次最多 30 个 |\n| `--enabled` | `Y` 开启领券入口，`N` 关闭领券入口 |\n| `-f, --force` | 跳过确认提示 |\n| `-o, --output` | `table` 或 `json` |\n\n`coupon channel enabled` 只查询状态，不会修改频道领券入口；需要让观看页展示领券入口时，必须使用 `coupon channel update-enabled --enabled Y`。\n\n## 删除优惠券\n\n```bash\n<CLI> coupon delete --couponIds coupon001\n<CLI> coupon delete --couponIds coupon001 coupon002 coupon003\n```\n\n单次最多删除 200 个优惠券 ID。\n\n## 参数说明\n\n| 参数 | 说明 |\n| --- | --- |\n| `--name` | 优惠券名称，最多 50 个字符 |\n| `--type` | `MAX_OUT` 满减券，`DISCOUNT` 折扣券 |\n| `--availableAmount` | 发放数量，`0` 表示按接口规则处理 |\n| `--receiveStart`、`--receiveEnd` | 领取开始和结束时间，13 位毫秒时间戳 |\n| `--useTimeType` | `RANGE` 指定可用时间范围，`DAY` 领取后若干天有效 |\n| `--useStart`、`--useEnd` | `RANGE` 模式下的使用时间范围 |\n| `--dayOfUse` | `DAY` 模式下领取后有效天数 |\n| `--condition` | `UNCONDITIONAL` 无门槛，`FULL_REDUCE` 满减门槛 |\n| `--discount` | 无门槛折扣值 |\n| `--full`、`--reduce` | 满减门槛和减免金额 |\n| `--limitPerPerson` | 每人限领数量，`-1` 表示不限 |\n\n## 使用注意\n\n- 优惠券命令不接收频道 ID。\n- `coupon add` 创建的是账号级优惠券；观看页展示还需要 `coupon channel add` 绑定频道，并确认 `coupon channel update-enabled --enabled Y`。\n- 当前 npm 版没有单张优惠券详情查询子命令，详情类需求先使用 `coupon list -o json`。\n- 删除优惠券不可撤销，执行前核对 `--couponIds`。\n\nFile v1.0.8:references/custom-field.md\n\n# 用户自定义字段\n\n命令族：`custom-field`\n\n用途：账号级自定义字段、字段列表、字段值、观众字段值。\n\n执行前必须先运行：\n\n```bash\n<CLI> custom-field --help\n```\n\nhelp 描述：Manage user custom fields\n\n## 直接子命令\n\n- `custom-field add`: Add a custom field\n- `custom-field list`: List custom fields\n- `custom-field value`: Manage custom field viewer values\n\n## 使用规则\n\n- 需要输出给用户或后续处理时，优先加 `-o json` 或 `--output json`，但必须以 help 是否支持为准。\n- 写入、删除、推送、启停、导入、批量处理类子命令必须先确认；命令支持 `--force` 时，只有用户明确授权才使用。\n- 参数名、短参数和必填项必须从最深层 `--help` 获取，不要从本文件猜测。\n\nFile v1.0.8:references/documents.md\n\n# 文档管理\n\n管理直播频道的课件文档，支持上传、查看和删除文档。\n\n## 命令概览\n\n| 命令 | 说明 |\n|------|------|\n| `document list` | 获取频道文档列表 |\n| `document upload` | 上传文档（通过URL） |\n| `document delete` | 删除文档 |\n| `document status` | 查询文档转码状态 |\n\n## document list\n\n获取指定频道的课件文档列表。\n\n### 语法\n\n```bash\n<CLI> document list -c <频道ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--status <状态>` | `-s` | 文档状态过滤 | - |\n| `--page <页码>` | `-P` | 页码 | 1 |\n| `--page-size <数量>` | `-l` | 每页数量 | 10 |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档状态\n\n| 状态值 | 说明 |\n|--------|------|\n| `normal` | 正常 |\n| `waitUpload` | 等待上传 |\n| `failUpload` | 上传失败 |\n| `waitConvert` | 等待转码 |\n| `failConvert` | 转码失败 |\n\n### 示例\n\n```bash\n# 列出频道所有文档\n<CLI> document list -c <频道ID>\n\n# 过滤转码失败的文档\n<CLI> document list -c <频道ID> --status failConvert\n\n# 分页查询\n<CLI> document list -c <频道ID> --page 2 --page-size 20\n\n# JSON格式输出\n<CLI> document list -c <频道ID> -o json\n```\n\n## document upload\n\n通过URL上传文档到频道。\n\n### 语法\n\n```bash\n<CLI> document upload -c <频道ID> --url <文件URL> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--url <URL>` | `-u` | 文件URL（必填） | - |\n| `--type <类型>` | `-t` | 转换类型 | common |\n| `--doc-name <名称>` | `-n` | 文档名称 | - |\n| `--callback-url <URL>` | | 回调地址 | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 转换类型\n\n| 类型 | 说明 |\n|------|------|\n| `common` | 普通转换（静态PPT） |\n| `animate` | 动效转换（保留PPT动画） |\n\n### 支持格式\n\nPPT、PDF、PPTX、DOC、DOCX、WPS\n\n### 示例\n\n```bash\n# 上传PPT文档\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx\n\n# 上传带动画的PPT\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --type animate\n\n# 指定文档名称\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --doc-name \"产品介绍\"\n\n# 设置转码完成回调\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --callback-url https://myserver.com/callback\n```\n\n## document delete\n\n删除指定文档。\n\n### 语法\n\n```bash\n<CLI> document delete -c <频道ID> --file-id <文档ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | `-f` | 文档ID（必填） | - |\n| `--type <类型>` | `-t` | 文档类型 | 自动检测 |\n| `--force` | | 跳过确认提示 | false |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档类型\n\n| 类型 | 说明 |\n|------|------|\n| `old` | 旧版文档 |\n| `new` | 新版文档 |\n\n> 注意：如果不指定 `--type`，系统会自动检测文档类型。\n\n### 示例\n\n```bash\n# 删除文档（会有确认提示）\n<CLI> document delete -c <频道ID> --file-id abc123\n\n# 强制删除，跳过确认\n<CLI> document delete -c <频道ID> --file-id abc123 --force\n\n# 指定文档类型\n<CLI> document delete -c <频道ID> --file-id abc123 --type new\n```\n\n## document status\n\n查询文档转码状态。\n\n### 语法\n\n```bash\n<CLI> document status -c <频道ID> --file-id <文档ID>\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | `-f` | 文档ID（必填） | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 示例\n\n```bash\n# 查询单个文档状态\n<CLI> document status -c <频道ID> --file-id abc123\n\n# 批量查询（用逗号分隔）\n<CLI> document status -c <频道ID> --file-id abc123,def456\n\n# JSON格式输出\n<CLI> document status -c <频道ID> --file-id abc123 -o json\n```\n\n## 输出示例\n\n### document list 表格输出\n\n```\n┌──────────┬────────────────┬──────────┬────────┬─────────────┐\n│ 文档ID   │ 文档名称       │ 类型     │ 状态   │ 创建时间    │\n├──────────┼────────────────┼──────────┼────────┼─────────────┤\n│ abc123   │ 产品介绍.pptx  │ pptx     │ normal │ 2024-03-20  │\n│ def456   │ 公司简介.pdf   │ pdf      │ normal │ 2024-03-19  │\n└──────────┴────────────────┴──────────┴────────┴─────────────┘\n```\n\n### document upload 输出\n\n```\n✓ 文档上传成功\n\n文档ID: abc123\n状态: waitConvert\n类型: common\n```\n\n### document status 输出\n\n```\n┌──────────┬─────────────┬──────┬──────────┐\n│ 文档ID   │ 转码状态    │ 类型 │ 总页数   │\n├──────────┼─────────────┼──────┼──────────┤\n│ abc123   │ success     │ new  │ 15       │\n└──────────┴─────────────┴──────┴──────────┘\n```\n\n## 常见工作流程\n\n### 上传并在直播中使用文档\n\n```bash\n# 1. 上传文档\n<CLI> document upload -c <频道ID> --url https://example.com/slides.pptx --type animate\n\n# 2. 查看转码状态\n<CLI> document status -c <频道ID> --file-id <返回的文档ID>\n\n# 3. 确认文档已就绪（状态为 success）\n# 文档已可在直播间使用\n```\n\n### 批量管理文档\n\n```bash\n# 1. 查看所有转码失败的文档\n<CLI> document list -c <频道ID> --status failConvert -o json > failed.json\n\n# 2. 逐个删除失败的文档\n# jq -r '.contents[].fileId' failed.json | xargs -I {} <CLI> document delete -c <频道ID> --file-id {} --force\n```\n\nArchive v1.0.7: 28 files, 51307 bytes\n\nFiles: references/authentication.md (2819b), references/card-push.md (3087b), references/channel-management.md (5729b), references/chat-management.md (9672b), references/checkin.md (5836b), references/coupons.md (2441b), references/documents.md (6989b), references/donate.md (6048b), references/lottery.md (8118b), references/monitor.md (7135b), references/platform.md (10295b), references/playback.md (2099b), references/player.md (6916b), references/products.md (3054b), references/qa-questionnaire.md (10151b), references/record-settings.md (5745b), references/scene-setup.md (1779b), references/session-management.md (4554b), references/statistics.md (2672b), references/streaming.md (6604b), references/transmit.md (1453b), references/viewer-management.md (5461b), references/viewer.md (4688b), references/watch-condition.md (5384b), references/whitelist.md (9847b), skill-card.md (3251b), SKILL.md (10504b), _meta.json (133b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: polyv-live-cli\ndescription: 保利威官方skill。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。\nallowed-tools: Bash(npx --yes polyv-live-cli@latest:*)\n---\n\n# 保利威云直播 CLI\n\n以 npm 发布版 CLI 为准。不要根据旧示例、缓存文档、历史记忆或其他非发布版资料推断命令语法；只要能访问 npm，就先用发布版 `--help` 校验。\n\n## 认证预检\n\n除 `--help`、`--version` 和 `account` 管理命令外，直播 API 命令通常需要先配置至少一个账号的 AppID 和 AppSecret。\n\n执行频道、推流、商品、优惠券、回放、互动、统计等业务命令前，先检查认证状态：\n\n```bash\nnpx --yes polyv-live-cli@latest account current\nnpx --yes polyv-live-cli@latest account list\n```\n\n如果没有任何账号，或没有可用默认账号，不要继续执行业务命令。请用户提供凭据后再配置：\n\n```bash\nnpx --yes polyv-live-cli@latest account add <账号名> --app-id <appId> --app-secret <appSecret> --user-id <userId> --env production\nnpx --yes polyv-live-cli@latest account set-default <账号名>\n```\n\n如果已配置账号但 API 返回 `application not found`、签名错误或无权限，优先按账号凭据、UserID、环境类型不匹配排查，不要先怀疑命令语法。\n\n## 执行规则\n\n1. 所有 CLI 调用都使用 `npx --yes polyv-live-cli@latest ...`。\n2. 每次处理某个命令族前，先运行对应 help：\n   ```bash\n   npx --yes polyv-live-cli@latest <command> --help\n   npx --yes polyv-live-cli@latest <command> <subcommand> --help\n   ```\n3. 执行需要账号的 API 操作前，先运行：\n   ```bash\n   npx --yes polyv-live-cli@latest account current\n   npx --yes polyv-live-cli@latest account list\n   ```\n4. 做数据提取、脚本处理、对比或报告时，优先使用 `-o json` 或 `--output json`。\n5. 不要回显账号 AppSecret。缺少认证时，请用户配置账号，或明确提供所需凭据。\n6. 删除、清空、停播、开播、修改配置等影响生产的操作，除非用户已经给出明确命令或明确要求执行，否则先复述目标并等待确认。\n7. 如果 `references/` 里的示例和 `npx --yes polyv-live-cli@latest ... --help` 冲突，必须以 npm help 为准。\n\n## 高风险操作\n\n以下操作需要确认后再执行：\n\n- 删除频道、批量删除频道、删除回放、清空聊天消息。\n- 开始直播、结束直播、推送本地文件、长时间 watch 或 monitor。\n- 新增、更新、删除商品、优惠券、问卷、抽奖、打赏配置、观看条件、白名单、平台设置、回调设置、卡片推送、推广渠道、转播频道、AI 数字人组织关联。\n- 全局禁言、全局踢人、清空白名单。\n- 未加 `--dry-run` 的 `setup <scene>`。\n\n能预演时先预演：\n\n```bash\nnpx --yes polyv-live-cli@latest setup e-commerce --dry-run -o json\n```\n\n## 账号认证\n\n查看账号配置和当前账号：\n\n```bash\nnpx --yes polyv-live-cli@latest account list\nnpx --yes polyv-live-cli@latest account current\n```\n\n只有在用户提供凭据或明确要求配置时，才添加或切换账号：\n\n```bash\nnpx --yes polyv-live-cli@latest account add <账号名> --app-id <appId> --app-secret <appSecret>\nnpx --yes polyv-live-cli@latest account set-default <账号名>\nnpx --yes polyv-live-cli@latest use <账号名>\n```\n\n单次调用可使用指定账号或显式凭据：\n\n```bash\nnpx --yes polyv-live-cli@latest channel list -a <账号名> -o json\nnpx --yes polyv-live-cli@latest channel list --appId <appId> --appSecret <appSecret> -o json\n```\n\n## 常用流程\n\n确认 npm 版本和顶层命令：\n\n```bash\nnpx --yes polyv-live-cli@latest --version\nnpx --yes polyv-live-cli@latest --help\n```\n\n查询频道：\n\n```bash\nnpx --yes polyv-live-cli@latest channel list -o json\nnpx --yes polyv-live-cli@latest channel list -P 1 -l 20 --keyword <关键词> -o json\n```\n\n创建频道：\n\n```bash\nnpx --yes polyv-live-cli@latest channel create -n <频道名称> -d <频道描述> --scene topclass --template ppt -o json\n```\n\n获取推流信息和直播状态：\n\n```bash\nnpx --yes polyv-live-cli@latest stream get-key -c <频道ID> -o json\nnpx --yes polyv-live-cli@latest stream status -c <频道ID> -o json\n```\n\n用户明确要求“获取推流密钥”“获取推流地址”时，推流地址和推流密钥就是目标结果，允许完整返回。`stream get-key` 的表格输出会脱敏；需要完整凭证时必须使用 JSON：\n\n```bash\nnpx --yes polyv-live-cli@latest stream get-key -c <频道ID> -o json\n```\n\n不要把推流密钥和账号 AppSecret 混为一类：AppSecret 不回显；推流密钥可在用户明确请求时返回，但提醒只提供给可信推流端，不要发到公开渠道或日志。\n\n只有用户需要长时间监控时，才运行持续命令：\n\n```bash\nnpx --yes polyv-live-cli@latest stream status -c <频道ID> -w\nnpx --yes polyv-live-cli@latest stream monitor -c <频道ID> -r 5 --alerts\n```\n\n导出统计：\n\n```bash\nnpx --yes polyv-live-cli@latest statistics export viewlog -c <频道ID> --start-time \"2024-01-01 00:00:00\" --end-time \"2024-01-31 23:59:59\" --output-file ./viewlog.csv\nnpx --yes polyv-live-cli@latest statistics export session -c <频道ID> --session-id <场次ID> -o json\n```\n\n## 已知语法差异提示\n\n以下是历史验证过的高频易错点。执行前仍必须以当前 npm 发布版 `--help` 为准。\n\n- `transmit` 使用 `--channelId`，不是 `-c`：\n  ```bash\n  npx --yes polyv-live-cli@latest transmit create --channelId <频道ID> --names \"转播1,转播2\" -o json\n  npx --yes polyv-live-cli@latest transmit list --channelId <频道ID> -o json\n  ```\n- `card-push` 使用 camelCase 参数名：\n  ```bash\n  npx --yes polyv-live-cli@latest card-push create --channelId <频道ID> --imageType giftbox --title <标题> --link <链接> --duration 10 --showCondition PUSH -o json\n  npx --yes polyv-live-cli@latest card-push push --channelId <频道ID> --cardPushId <卡片ID> -o json\n  ```\n- `watch-condition set` 的 JSON 配置文件参数是 `--config-file`：\n  ```bash\n  npx --yes polyv-live-cli@latest watch-condition set --channel-id <频道ID> --config-file ./watch-condition.json -o json\n  ```\n- `product` 只有 `add`、`list`、`update`、`delete`；当前 help 没有列出 `product get` 时，不要生成 `product get` 示例。\n- `product add` 必须提供状态和链接类型：\n  ```bash\n  npx --yes polyv-live-cli@latest product add -c <频道ID> -n <商品名> --status 1 --link-type 10 -l <商品链接> --real-price 99.9 --price 199.9 -o json\n  ```\n- `coupon` 命令不接收 `-c`；创建优惠券使用账号级参数：\n  ```bash\n  npx --yes polyv-live-cli@latest coupon add --name <优惠券名> --type MAX_OUT --availableAmount 100 --receiveStart <毫秒时间戳> --receiveEnd <毫秒时间戳> --useTimeType RANGE --useStart <毫秒时间戳> --useEnd <毫秒时间戳> --condition FULL_REDUCE --full 100 --reduce 20 --limitPerPerson 1 -o json\n  ```\n- `statistics export` 有 `viewlog` 和 `session` 子命令；不是扁平的 `statistics export -c ... -f csv`。\n- `monitor` 是监控面板命令；如果当前 help 没有列出 `monitor start` 或 `monitor stop`，不要生成这些子命令。\n- `setup --help` 当前只列出 `e-commerce`；不要假设存在 `setup education`，除非 help 明确列出。\n- `promotion` 和 `ai digital-human` 是真实命令族：\n  ```bash\n  npx --yes polyv-live-cli@latest promotion create --channelId <频道ID> --names \"渠道1,渠道2\" -o json\n  npx --yes polyv-live-cli@latest ai digital-human list -o json\n  ```\n- `player config update` 管理水印、暖场图和基础 PV：\n  ```bash\n  npx --yes polyv-live-cli@latest player config update -c <频道ID> --watermark-enabled Y --watermark-url <图片URL> --watermark-position br --watermark-opacity 0.8 -o json\n  ```\n\n## 参考资料路由\n\n`references/` 下的文件只作为补充背景使用。部分示例可能滞后于 npm 版本。读取它们了解业务含义、API 概念和流程后，执行前必须用 npm help 校验真实语法。\n\n按最小范围读取：\n\n- `authentication.md`：账号配置和认证来源。\n- `channel-management.md`、`streaming.md`、`monitor.md`、`scene-setup.md`：频道和推流流程。\n- `products.md`、`coupons.md`、`card-push.md`、`transmit.md`：商品、优惠券、卡片推送、转播等营销能力。\n- `playback.md`、`record-settings.md`、`documents.md`、`session-management.md`：回放、录制、文档、场次。\n- `chat-management.md`、`checkin.md`、`qa-questionnaire.md`、`lottery.md`、`donate.md`：直播互动工具。\n- `viewer.md`、`viewer-management.md`、`watch-condition.md`、`whitelist.md`：观众、标签、观看条件、白名单。\n- `platform.md`、`player.md`、`statistics.md`：平台设置、播放器配置、统计报表。\n\n## 失败处理\n\n如果命令在参数解析阶段失败：\n\n1. 对最深层命令重新运行 `--help`。\n2. 检查 camelCase 和 kebab-case 是否写错。\n3. 删除 help 没列出的短参数别名。\n4. 修正文档或回复时优先使用完整参数名。\n\n如果命令进入 API 阶段后失败：\n\n1. 运行 `account current` 和 `account list`。\n2. 用只读 list/get 命令核对账号、频道 ID 和对象 ID。\n3. 报告实际错误和命令形态，不暴露账号 AppSecret。若用户明确请求推流凭证，可返回 `stream get-key -o json` 的推流地址和推流密钥。\n\n## 官方资源与支持\n\n以下入口用于了解产品、查阅业务 API 或联系人工支持；命令语法仍以当前 npm 发布版 `--help` 为准。\n\n- 官网：https://www.polyv.net/\n- 保利威直播 API 文档：https://help.polyv.net/#/live/api/\n- 邮箱：support@polyv.net\n- 技术支持：400-993-9533\n\n## 更新此 Skill\n\n修改命令示例后，必须用 npm help 做回归：\n\n```bash\nnpx --yes polyv-live-cli@latest --version\nnpx --yes polyv-live-cli@latest --help\nnpx --yes polyv-live-cli@latest <command> --help\nnpx --yes polyv-live-cli@latest <command> <subcommand> --help\n```\n\n同时验证已知旧写法是否仍然失败或已被删除。例如，除非 npm help 新增了 `-c`，否则不要出现 `transmit create -c ...` 这种可执行示例。\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn74gkj5m1rk89yf5beneexwsd82b5h7\",\n  \"slug\": \"polyv-live-cli\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1781691605878\n}\n\nFile v1.0.7:references/authentication.md\n\n# 身份认证配置\n\n保利威直播 CLI 支持命令行凭证、账号配置和环境变量。客户环境优先使用账号配置或环境变量，避免把密钥写入脚本和文档。\n\n## 常用认证方式\n\n### 账号配置\n\n```bash\nnpx --yes polyv-live-cli@latest account add production \\\n  --app-id your-app-id \\\n  --app-secret your-app-secret \\\n  --user-id your-user-id\n\nnpx --yes polyv-live-cli@latest account set-default production\nnpx --yes polyv-live-cli@latest account current\nnpx --yes polyv-live-cli@latest account list\n```\n\n移除账号：\n\n```bash\nnpx --yes polyv-live-cli@latest account remove old-account\nnpx --yes polyv-live-cli@latest account remove old-account --force\n```\n\n### 环境变量\n\n```bash\nexport POLYV_APP_ID=\"your-app-id\"\nexport POLYV_APP_SECRET=\"your-app-secret\"\nexport POLYV_USER_ID=\"your-user-id\"\n\nnpx --yes polyv-live-cli@latest channel list\n```\n\n### 单次命令指定账号或凭证\n\n```bash\nnpx --yes polyv-live-cli@latest channel list -a production\nnpx --yes polyv-live-cli@latest channel list --appId <id> --appSecret <secret> --userId <userId>\n```\n\n## 推荐流程\n\n1. 使用 `account add` 添加客户账号。\n2. 使用 `account set-default` 设置默认账号。\n3. 使用 `account current` 或 `account list` 确认当前账号。\n4. 再执行频道、商品、统计等业务命令。\n\n```bash\nnpx --yes polyv-live-cli@latest account add customer-prod \\\n  --app-id \"$POLYV_APP_ID\" \\\n  --app-secret \"$POLYV_APP_SECRET\" \\\n  --user-id \"$POLYV_USER_ID\"\n\nnpx --yes polyv-live-cli@latest account set-default customer-prod\nnpx --yes polyv-live-cli@latest account current\nnpx --yes polyv-live-cli@latest channel list -o json\n```\n\n## CI/CD 示例\n\n```yaml\nenv:\n  POLYV_APP_ID: ${{ secrets.POLYV_APP_ID }}\n  POLYV_APP_SECRET: ${{ secrets.POLYV_APP_SECRET }}\n  POLYV_USER_ID: ${{ secrets.POLYV_USER_ID }}\n\nsteps:\n  - name: 列出频道\n    run: npx --yes polyv-live-cli@latest channel list -o json\n```\n\n## 安全建议\n\n- 不要把 AppID、AppSecret、UserID 提交到 Git。\n- 给不同客户、环境分别配置账号名称，避免误操作生产资源。\n- 客户交付文档中使用占位符，不写真实凭证。\n- 执行删除、初始化、推送等高风险命令前，先用 `account current` 确认当前账号。\n\n## 故障排除\n\n### 认证配置不完整\n\n```bash\nnpx --yes polyv-live-cli@latest account current\nnpx --yes polyv-live-cli@latest account list\n```\n\n如果没有默认账号，执行：\n\n```bash\nnpx --yes polyv-live-cli@latest account set-default <账号名称>\n```\n\n也可以在单次命令中用 `-a <账号名称>` 指定账号。\n\n### 凭证无效\n\n- 确认 AppID、AppSecret、UserID 是否来自同一保利威账号。\n- 确认客户账号具备对应 API 权限。\n- 如密钥已轮换，重新执行 `account add` 或更新环境变量。\n\nFile v1.0.7:references/card-push.md\n\n# 卡片推送\n\n管理直播间的卡片配置，并在直播中推送或取消推送卡片。\n\n## 当前 npm 命令面\n\n```bash\nnpx --yes polyv-live-cli@latest card-push list --channelId <频道ID>\nnpx --yes polyv-live-cli@latest card-push create --channelId <频道ID> ...\nnpx --yes polyv-live-cli@latest card-push update --channelId <频道ID> --cardPushId <卡片ID> ...\nnpx --yes polyv-live-cli@latest card-push push --channelId <频道ID> --cardPushId <卡片ID>\nnpx --yes polyv-live-cli@latest card-push cancel --channelId <频道ID> --cardPushId <卡片ID>\nnpx --yes polyv-live-cli@latest card-push delete --channelId <频道ID> --cardPushId <卡片ID>\n```\n\n`card-push` 使用 camelCase 参数，例如 `--channelId`、`--cardPushId`、`--imageType`、`--showCondition`。\n\n## 列出卡片\n\n```bash\nnpx --yes polyv-live-cli@latest card-push list --channelId 3151318\nnpx --yes polyv-live-cli@latest card-push list --channelId 3151318 -o json\n```\n\n## 创建卡片\n\n手动推送卡片：\n\n```bash\nnpx --yes polyv-live-cli@latest card-push create \\\n  --channelId 3151318 \\\n  --cardType common \\\n  --imageType giftbox \\\n  --title \"限时优惠\" \\\n  --link \"https://shop.example.com/promo\" \\\n  --duration 10 \\\n  --showCondition PUSH\n```\n\n观看时长触发卡片：\n\n```bash\nnpx --yes polyv-live-cli@latest card-push create \\\n  --channelId 3151318 \\\n  --cardType common \\\n  --imageType redpack \\\n  --title \"新手红包\" \\\n  --link \"https://shop.example.com/redpack\" \\\n  --duration 15 \\\n  --showCondition WATCH \\\n  --conditionValue 30 \\\n  --conditionUnit SECONDS\n```\n\n## 更新卡片\n\n```bash\nnpx --yes polyv-live-cli@latest card-push update \\\n  --channelId 3151318 \\\n  --cardPushId 123 \\\n  --title \"更新后的标题\" \\\n  --duration 20\n```\n\n## 推送、取消、删除\n\n```bash\nnpx --yes polyv-live-cli@latest card-push push --channelId 3151318 --cardPushId 123\nnpx --yes polyv-live-cli@latest card-push cancel --channelId 3151318 --cardPushId 123\nnpx --yes polyv-live-cli@latest card-push delete --channelId 3151318 --cardPushId 123\n```\n\n## 常用参数\n\n| 参数 | 说明 |\n| --- | --- |\n| `--channelId` | 频道 ID |\n| `--cardPushId` | 卡片推送 ID，更新、推送、取消、删除时使用 |\n| `--cardType` | `common` 或 `qrCode` |\n| `--imageType` | `giftbox`、`redpack`、`custom`、`weixinWork` |\n| `--title` | 卡片标题，最多 16 个字符 |\n| `--link` | 点击跳转链接 |\n| `--duration` | 倒计时秒数，支持 `0`、`5`、`10`、`20`、`30` |\n| `--durationPosition` | `bottom` 或 `top` |\n| `--showCondition` | `PUSH` 手动推送，`WATCH` 观看时长触发 |\n| `--conditionValue` | 观看时长触发值 |\n| `--conditionUnit` | `SECONDS` 或 `MINUTES` |\n| `--countdownMsg` | 倒计时文案，最多 8 个字符 |\n| `--enterEnabled` | `Y` 或 `N` |\n| `--linkEnabled` | `Y` 或 `N` |\n| `--redirectType` | `iframe` 或 `tab` |\n\n## 使用注意\n\n- `push` 会影响观众端展示，执行前确认频道 ID 和卡片 ID。\n- `delete` 为删除配置操作，执行前建议先 `list` 核对。\n- 写脚本时使用 `-o json`，避免依赖表格列宽。\n\nFile v1.0.7:references/channel-management.md\n\n# 频道管理\n\n## 概述\n\n频道是保利威直播的核心资源。每个频道代表一个直播间，拥有独立的配置、商品和回放设置。\n\n## 频道增删改查\n\n### 创建频道\n\n```bash\n# 基本创建\nnpx --yes polyv-live-cli@latest channel create -n \"我的直播\"\n\n# 带描述\nnpx --yes polyv-live-cli@latest channel create -n \"产品演示\" -d \"新产品功能演示\"\n\n# 完整选项\nnpx --yes polyv-live-cli@latest channel create \\\n  -n \"高级网络研讨会\" \\\n  -d \"月度付费用户专属研讨会\" \\\n  --scene topclass \\\n  --template ppt \\\n  --password web123 \\\n  --max-viewers 1000 \\\n  --auto-record\n\n# JSON输出（便于程序化处理）\nnpx --yes polyv-live-cli@latest channel create -n \"API频道\" -o json\n```\n\n### 场景类型 (newScene)\n\n| 场景 | 说明 | 备注 |\n|------|------|------|\n| `topclass` | 大班课（默认） | ✅ 推荐 |\n| `alone` | 活动营销 | ✅ |\n| `seminar` | 研讨会 | ✅ |\n| `train` | 企业培训 | ✅ |\n| `double` | 双师课 | ⚠️ 需开通权限 |\n| `guide` | 导播 | ⚠️ 需开通权限 |\n\n### 模板类型 (template)\n\n| 模板 | 说明 |\n|------|------|\n| `ppt` | 三分屏-横屏（默认） |\n| `portrait_ppt` | 三分屏-竖屏 |\n| `alone` | 纯视频-横屏 |\n| `portrait_alone` | 纯视频-竖屏 |\n| `topclass` | 纯视频极速-横屏 |\n| `portrait_topclass` | 纯视频极速-竖屏 |\n| `seminar` | 研讨会 |\n\n### 查看频道列表\n\n```bash\n# 基本列表（第一页，20条）\nnpx --yes polyv-live-cli@latest channel list\n\n# 分页查询\nnpx --yes polyv-live-cli@latest channel list -P 2 -l 10\n\n# 按关键词筛选\nnpx --yes polyv-live-cli@latest channel list --keyword \"研讨会\"\n\n# 按分类筛选\nnpx --yes polyv-live-cli@latest channel list --category-id \"cat123\"\n\n# JSON输出\nnpx --yes polyv-live-cli@latest channel list -o json\n```\n\n### 查看频道详情\n\n```bash\n# 表格格式\nnpx --yes polyv-live-cli@latest channel get -c 3151318\n\n# JSON格式\nnpx --yes polyv-live-cli@latest channel get -c 3151318 -o json\n```\n\n### 更新频道\n\n```bash\n# 更新名称\nnpx --yes polyv-live-cli@latest channel update -c 3151318 -n \"新名称\"\n\n# 更新描述\nnpx --yes polyv-live-cli@latest channel update -c 3151318 -d \"更新后的描述\"\n\n# 更新密码\nnpx --yes polyv-live-cli@latest channel update -c 3151318 -p \"newpass123\"\n\n# 更新多个字段\nnpx --yes polyv-live-cli@latest channel update \\\n  -c 3151318 \\\n  -n \"重命名频道\" \\\n  --max-viewers 5000 \\\n  --publisher \"主持人姓名\"\n```\n\n### 删除频道\n\n```bash\n# 带确认提示\nnpx --yes polyv-live-cli@latest channel delete -c 3151318\n\n# 强制删除（无确认）\nnpx --yes polyv-live-cli@latest channel delete -c 3151318 -f\n\n# JSON输出\nnpx --yes polyv-live-cli@latest channel delete -c 3151318 -o json\n```\n\n### 批量删除\n\n```bash\n# 删除多个频道\nnpx --yes polyv-live-cli@latest channel batch-delete --channelIds 3151318 3151319 3151320\n\n# 强制批量删除\nnpx --yes polyv-live-cli@latest channel batch-delete --channelIds 3151318 3151319 -f\n```\n\n## 频道配置\n\n### 密码保护\n\n```bash\n# 创建时设置密码\nnpx --yes polyv-live-cli@latest channel create -n \"私密直播\" -p \"secure123\"\n\n# 更新密码\nnpx --yes polyv-live-cli@latest channel update -c 3151318 -p \"newpass456\"\n\n# 移除密码（设置为空）\nnpx --yes polyv-live-cli@latest channel update -c 3151318 -p \"\"\n```\n\n### 观众人数限制\n\n```bash\n# 设置最大观看人数\nnpx --yes polyv-live-cli@latest channel create -n \"限定直播\" --max-viewers 500\n\n# 更新人数限制\nnpx --yes polyv-live-cli@latest channel update -c 3151318 --max-viewers 1000\n```\n\n### 自动录制\n\n```bash\n# 启用自动录制\nnpx --yes polyv-live-cli@latest channel create -n \"录制直播\" --auto-record\n```\n\n### 封面和引导图\n\n```bash\n# 更新封面图\nnpx --yes polyv-live-cli@latest channel update -c 3151318 --cover-img \"https://example.com/cover.jpg\"\n\n# 更新引导图\nnpx --yes polyv-live-cli@latest channel update -c 3151318 --splash-img \"https://example.com/splash.jpg\"\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```bash\nnpx --yes polyv-live-cli@latest channel list\n# 显示表格，包含以下列：\n# 频道ID | 名称 | 状态 | 场景 | 创建时间\n```\n\n### JSON格式\n\n```bash\nnpx --yes polyv-live-cli@latest channel list -o json\n\n# 返回：\n# {\n#   \"code\": 200,\n#   \"status\": \"success\",\n#   \"data\": {\n#     \"contents\": [...],\n#     \"pageSize\": 20,\n#     \"pageNumber\": 1,\n#     \"totalItems\": 50\n#   }\n# }\n```\n\n## 常用工作流程\n\n### 创建网络研讨会频道\n\n```bash\nnpx --yes polyv-live-cli@latest channel create \\\n  -n \"Q4战略研讨会\" \\\n  -d \"全员季度战略回顾\" \\\n  --scene seminar \\\n  --template seminar \\\n  --max-viewers 500 \\\n  --auto-record \\\n  -o json\n```\n\n### 创建电商直播频道\n\n```bash\nnpx --yes polyv-live-cli@latest channel create \\\n  -n \"限时特卖活动\" \\\n  -d \"24小时限时特卖直播\" \\\n  --scene alone \\\n  --template portrait_alone \\\n  --max-viewers 10000 \\\n  -o json\n```\n\n### 批量清理测试频道\n\n```bash\n# 列出测试频道\nnpx --yes polyv-live-cli@latest channel list --keyword \"test\" -o json | jq '.data.contents[].channelId'\n\n# 批量删除\nnpx --yes polyv-live-cli@latest channel batch-delete --channelIds 123 456 789 -f\n```\n\n## 故障排除\n\n### \"Channel not found\"（频道不存在）\n\n- 确认频道ID是否正确\n- 检查频道是否属于当前账号\n- 确认频道是否已被删除\n\n### \"Invalid scene type\"（无效场景类型）\n\n- 使用以下之一：`topclass`、`alone`、`seminar`、`train`、`double`、`guide`\n- 场景名称区分大小写\n- `double` 和 `guide` 需要开通权限\n\n### \"密码必须是6-16位字母数字\"\n\n- 只使用字母和数字\n- 长度必须在6-16个字符之间\n\nFile v1.0.7:references/chat-management.md\n\n# 聊天消息管理\n\n本文档详细介绍保利威直播 CLI 的聊天消息管理命令。\n\n## 命令概览\n\n```bash\nnpx --yes polyv-live-cli@latest chat <子命令> [选项]\n```\n\n## 子命令\n\n### chat send - 发送管理员消息\n\n向指定频道发送管理员消息（文本或图片）。\n\n```bash\nnpx --yes polyv-live-cli@latest chat send -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --msg <文本>` | 文本消息内容 |\n| `-i, --img-url <url>` | 图片 URL |\n| `-p, --pic <url>` | 发送者头像 URL |\n| `-n, --nickname <名称>` | 发送者昵称 |\n| `-a, --actor <角色>` | 发送者角色 |\n| `--admin-index <数字>` | 管理员索引 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`-m` 和 `-i` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 发送文本消息\nnpx --yes polyv-live-cli@latest chat send -c 3151318 -m \"欢迎观看直播！\"\n\n# 发送图片消息\nnpx --yes polyv-live-cli@latest chat send -c 3151318 -i \"https://example.com/image.png\"\n\n# 发送带自定义昵称的消息\nnpx --yes polyv-live-cli@latest chat send -c 3151318 -m \"大家好\" -n \"主播\" -a \"主持人\"\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat send -c 3151318 -m \"测试消息\" -o json\n```\n\n---\n\n### chat list - 查看聊天历史\n\n获取指定频道的聊天消息历史记录。\n\n```bash\nnpx --yes polyv-live-cli@latest chat list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `--start-day <日期>` | 开始日期筛选（格式：yyyy-MM-dd） |\n| `--end-day <日期>` | 结束日期筛选（格式：yyyy-MM-dd） |\n| `--page <数字>` | 页码（默认 1） |\n| `--size <数字>` | 每页数量，1-100（默认 20） |\n| `--user-type <类型>` | 用户类型筛选 |\n| `--status <状态>` | 消息状态筛选 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看最近聊天消息\nnpx --yes polyv-live-cli@latest chat list -c 3151318\n\n# 分页查看\nnpx --yes polyv-live-cli@latest chat list -c 3151318 --page 2 --size 50\n\n# 按日期范围筛选\nnpx --yes polyv-live-cli@latest chat list -c 3151318 --start-day 2024-01-01 --end-day 2024-01-31\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat list -c 3151318 -o json\n```\n\n#### 表格输出字段\n\n| 字段 | 说明 |\n|------|------|\n| Message ID | 消息唯一标识 |\n| Content | 消息内容（过长会截断） |\n| Time | 消息发送时间 |\n| Sender | 发送者昵称 |\n| User Type | 发送者类型 |\n\n---\n\n### chat delete - 删除消息\n\n删除单条消息或清空频道所有聊天消息。\n\n```bash\nnpx --yes polyv-live-cli@latest chat delete -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-m, --message-id <id>` | 要删除的消息 ID |\n| `--clear` | 清空该频道所有聊天消息 |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：如果使用 `--clear`，则不需要指定 `--message-id`。\n\n#### 示例\n\n```bash\n# 删除单条消息\nnpx --yes polyv-live-cli@latest chat delete -c 3151318 -m abc123\n\n# 清空所有消息\nnpx --yes polyv-live-cli@latest chat delete -c 3151318 --clear\n```\n\n> 警告：删除操作不可恢复，执行前会有确认提示。\n\n---\n\n## 禁言踢人管理 (Story 11-2)\n\n### chat ban - 禁言用户\n\n禁言指定用户，支持频道级别和账号级别（全局）。\n\n```bash\nnpx --yes polyv-live-cli@latest chat ban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别禁言时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局禁言（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别禁言\nnpx --yes polyv-live-cli@latest chat ban -c 3151318 -u user1,user2\n\n# 全局禁言\nnpx --yes polyv-live-cli@latest chat ban -u user1,user2 --global\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat ban -c 3151318 -u user1 -o json\n```\n\n---\n\n### chat unban - 解除禁言\n\n解除用户的禁言状态。\n\n```bash\nnpx --yes polyv-live-cli@latest chat unban [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解禁时必需） |\n| `-u, --user-ids <ids>` | 用户 ID，多个用逗号分隔（必需） |\n| `--global` | 全局解禁（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解禁\nnpx --yes polyv-live-cli@latest chat unban -c 3151318 -u user1,user2\n\n# 全局解禁\nnpx --yes polyv-live-cli@latest chat unban -u user1,user2 --global\n```\n\n---\n\n### chat kick - 踢人\n\n将用户踢出直播间，支持频道级别和账号级别（全局）。\n\n```bash\nnpx --yes polyv-live-cli@latest chat kick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别踢人时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局踢人（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n> 注意：`--viewer-ids` 和 `-n` 至少需要提供一个。\n\n#### 示例\n\n```bash\n# 频道级别踢人\nnpx --yes polyv-live-cli@latest chat kick -c 3151318 --viewer-ids viewer1,viewer2 -n Nick1,Nick2\n\n# 全局踢人\nnpx --yes polyv-live-cli@latest chat kick --viewer-ids viewer1 --global\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat kick -c 3151318 --viewer-ids viewer1 -o json\n```\n\n---\n\n### chat unkick - 解除踢人\n\n解除用户的踢人状态，允许重新进入直播间。\n\n```bash\nnpx --yes polyv-live-cli@latest chat unkick [选项]\n```\n\n#### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID（频道级别解踢时必需） |\n| `--viewer-ids <ids>` | 观众 ID，多个用逗号分隔 |\n| `-n, --nick-names <names>` | 观众昵称，多个用逗号分隔 |\n| `--global` | 全局解踢（账号级别） |\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 频道级别解踢\nnpx --yes polyv-live-cli@latest chat unkick -c 3151318 --viewer-ids viewer1 -n Nick1\n\n# 全局解踢\nnpx --yes polyv-live-cli@latest chat unkick --viewer-ids viewer1 --global\n```\n\n---\n\n### chat banned list - 查看禁言列表\n\n查看频道的禁言用户、禁言 IP 或禁言词列表。\n\n```bash\nnpx --yes polyv-live-cli@latest chat banned list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n| `--type <类型>` | 列表类型：userId（用户）、ip（IP地址）、badword（禁言词） |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看禁言用户列表\nnpx --yes polyv-live-cli@latest chat banned list -c 3151318 --type userId\n\n# 查看禁言 IP 列表\nnpx --yes polyv-live-cli@latest chat banned list -c 3151318 --type ip\n\n# 查看禁言词列表\nnpx --yes polyv-live-cli@latest chat banned list -c 3151318 --type badword\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat banned list -c 3151318 --type userId -o json\n```\n\n---\n\n### chat kicked list - 查看踢人列表\n\n查看频道被踢出的用户列表。\n\n```bash\nnpx --yes polyv-live-cli@latest chat kicked list -c <频道ID> [选项]\n```\n\n#### 必需选项\n\n| 选项 | 说明 |\n|------|------|\n| `-c, --channel-id <id>` | 频道 ID |\n\n#### 可选选项\n\n| 选项 | 说明 |\n|------|------|\n| `-o, --output <格式>` | 输出格式：table（默认）或 json |\n\n#### 示例\n\n```bash\n# 查看踢人列表\nnpx --yes polyv-live-cli@latest chat kicked list -c 3151318\n\n# JSON 格式输出\nnpx --yes polyv-live-cli@latest chat kicked list -c 3151318 -o json\n```\n\n---\n\n## 常见工作流程\n\n### 1. 发送直播公告\n\n```bash\n# 发送开播公告\nnpx --yes polyv-live-cli@latest chat send -c 3151318 -m \"直播即将开始，请稍候...\" -n \"系统公告\" -a \"管理员\"\n```\n\n### 2. 查看并管理聊天记录\n\n```bash\n# 查看今天的聊天记录\nnpx --yes polyv-live-cli@latest chat list -c 3151318 --start-day 2024-01-15 --end-day 2024-01-15\n\n# 如果发现不当内容，删除该消息\nnpx --yes polyv-live-cli@latest chat delete -c 3151318 -m <消息ID>\n```\n\n### 3. 直播结束后清理聊天\n\n```bash\n# 清空所有聊天消息\nnpx --yes polyv-live-cli@latest chat delete -c 3151318 --clear\n```\n\n## 错误处理\n\n| 错误信息 | 原因 | 解决方案 |\n|---------|------|---------|\n| `channelId is required` | 未指定频道 ID | 使用 `-c` 参数指定频道 |\n| `msg or imgUrl is required` | 发送消息时未提供内容 | 使用 `-m` 或 `-i` 参数 |\n| `messageId is required when --clear is not specified` | 删除时未指定消息 ID | 使用 `-m` 参数或 `--clear` 选项 |\n\n## API 参考\n\n相关 API 文档：\n- [发送管理员消息](https://help.polyv.net/#/live/api/chat/send_admin_msg)\n- [获取聊天历史](https://help.polyv.net/#/live/api/chat/get_history)\n- [删除聊天消息](https://help.polyv.net/#/live/api/chat/del_chat)\n- [清空聊天记录](https://help.polyv.net/#/live/api/chat/clean_chat)\n\nFile v1.0.7:references/checkin.md\n\n# 签到管理\n\n## 概述\n\n签到命令用于在直播过程中发起签到互动，查询签到记录和统计结果。\n\n## 发起签到\n\n```bash\n# 立即发起签到\nnpx --yes polyv-live-cli@latest checkin start -c 3151318\n\n# 设置签到时长30秒\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --limit-time 30\n\n# 定时签到（13位时间戳）\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --limit-time 60 --delay-time 1700734800000\n\n# 自定义签到提示语\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --message \"请各位学员签到\"\n\n# 强制签到模式\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --force\n```\n\n### 签到选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--limit-time` | 签到时长（秒） | 0-86400，0表示立即 |\n| `--delay-time` | 定时签到时间 | 13位时间戳 |\n| `--message` | 签到提示语 | 文本 |\n| `--force` | 强制签到模式 | 标志（无需值） |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n### JSON输出\n\n```bash\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 -o json\n```\n\n## 查询签到记录\n\n查询已签到的用户列表。\n\n```bash\n# 查询所有签到记录\nnpx --yes polyv-live-cli@latest checkin list -c 3151318\n\n# 分页查询\nnpx --yes polyv-live-cli@latest checkin list -c 3151318 --page 1 --size 20\n\n# 按日期筛选\nnpx --yes polyv-live-cli@latest checkin list -c 3151318 --date 2024-01-15\n\n# 按场次筛选\nnpx --yes polyv-live-cli@latest checkin list -c 3151318 --session-id fwly13xczv\n\n# JSON输出\nnpx --yes polyv-live-cli@latest checkin list -c 3151318 -o json\n```\n\n### 查询选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--page` | 页码 | 数字，默认1 |\n| `--size` | 每页数量 | 数字，默认10 |\n| `--date` | 筛选日期 | yyyy-MM-dd |\n| `--session-id` | 场次ID | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到详情\n\n获取特定签到的详细结果，包括已签到和未签到的用户。\n\n```bash\n# 查询签到详情\nnpx --yes polyv-live-cli@latest checkin result -c 3151318 --checkin-id db14ef80-81b8-11eb-b114-e7477b\n\n# JSON输出\nnpx --yes polyv-live-cli@latest checkin result -c 3151318 --checkin-id db14ef80-81b8-11eb-b114-e7477b -o json\n```\n\n### 详情选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--checkin-id` | 签到ID（必填） | - |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n## 查询签到发起记录\n\n按时间范围查询签到发起记录。\n\n```bash\n# 查询最近7天的签到记录（默认）\nnpx --yes polyv-live-cli@latest checkin sessions -c 3151318\n\n# 指定日期范围\nnpx --yes polyv-live-cli@latest checkin sessions -c 3151318 --start-date 2024-01-01 --end-date 2024-01-31\n\n# JSON输出\nnpx --yes polyv-live-cli@latest checkin sessions -c 3151318 --start-date 2024-01-01 --end-date 2024-01-31 -o json\n```\n\n### 场次选项\n\n| 选项 | 说明 | 格式 |\n|------|------|------|\n| `-c, --channel-id` | 频道ID（必填） | - |\n| `--start-date` | 开始日期 | yyyy-MM-dd，默认7天前 |\n| `--end-date` | 结束日期 | yyyy-MM-dd，默认今天 |\n| `-o, --output` | 输出格式 | table（默认）/ json |\n\n> **注意**: 日期范围不能超过30天。\n\n## 常用工作流程\n\n### 课堂签到流程\n\n```bash\n# 1. 开始直播后发起签到\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --limit-time 60 --message \"同学们请签到\"\n\n# 2. 签到结束后查看结果\nnpx --yes polyv-live-cli@latest checkin result -c 3151318 --checkin-id <签到ID>\n\n# 3. 导出签到数据\nnpx --yes polyv-live-cli@latest checkin result -c 3151318 --checkin-id <签到ID> -o json > checkin-result.json\n```\n\n### 课后统计\n\n```bash\n# 查询某天的所有签到记录\nnpx --yes polyv-live-cli@latest checkin list -c 3151318 --date 2024-01-15 -o json\n\n# 查询某月的签到发起记录\nnpx --yes polyv-live-cli@latest checkin sessions -c 3151318 --start-date 2024-01-01 --end-date 2024-01-31\n```\n\n### 定时签到\n\n```bash\n# 计算定时签到时间戳（例如：2024-01-15 10:00:00）\n# macOS/Linux\ndate -j -f \"%Y-%m-%d %H:%M:%S\" \"2024-01-15 10:00:00\" +%s000\n\n# 发起定时签到\nnpx --yes polyv-live-cli@latest checkin start -c 3151318 --limit-time 120 --delay-time 1705287600000\n```\n\n## 输出格式\n\n### 表格格式（默认）\n\n```\n┌──────────────────────────────┬──────────┬─────────────────┐\n│ Checkin ID                   │ Status   │ Checked Count   │\n├──────────────────────────────┼──────────┼─────────────────┤\n│ db14ef80-81b8-11eb-b114...   │ Active   │ 45              │\n└──────────────────────────────┴──────────┴─────────────────┘\n```\n\n### JSON格式\n\n```json\n{\n  \"checkinId\": \"db14ef80-81b8-11eb-b114-e7477b\",\n  \"channelId\": \"3151318\",\n  \"status\": \"active\",\n  \"checkedCount\": 45,\n  \"uncheckedCount\": 10,\n  \"limitTime\": 60,\n  \"message\": \"请签到\"\n}\n```\n\n## 故障排除\n\n### \"签到发起失败\"\n\n- 确认频道正在直播中\n- 检查是否有正在进行的签到（需先结束或等待超时）\n- 使用 `--force` 参数强制发起新签到\n\n### \"无签到记录\"\n\n- 确认日期范围正确\n- 检查频道ID是否正确\n- 确认该时间段内有直播场次\n\n### \"日期范围超出限制\"\n\n- 日期范围不能超过30天\n- 缩小查询日期范围后重试\n\nFile v1.0.7:references/coupons.md\n\n# 优惠券管理\n\n管理账号级优惠券。npm 版当前子命令为 `add`、`list`、`delete`。\n\n## 创建优惠券\n\n满减券：\n\n```bash\nnpx --yes polyv-live-cli@latest coupon add \\\n  --name \"满100减20\" \\\n  --type MAX_OUT \\\n  --availableAmount 100 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType RANGE \\\n  --useStart 1704067200000 \\\n  --useEnd 1704758400000 \\\n  --condition FULL_REDUCE \\\n  --full 100 \\\n  --reduce 20 \\\n  --limitPerPerson 1\n```\n\n折扣券：\n\n```bash\nnpx --yes polyv-live-cli@latest coupon add \\\n  --name \"8折优惠券\" \\\n  --type DISCOUNT \\\n  --availableAmount 200 \\\n  --receiveStart 1704067200000 \\\n  --receiveEnd 1704153600000 \\\n  --useTimeType DAY \\\n  --dayOfUse 7 \\\n  --condition UNCONDITIONAL \\\n  --discount 80 \\\n  --limitPerPerson 1\n```\n\n## 查询优惠券\n\n```bash\nnpx --yes polyv-live-cli@latest coupon list\nnpx --yes polyv-live-cli@latest coupon list -p 2 -s 20\nnpx --yes polyv-live-cli@latest coupon list --status GOING -o json\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `-p, --page` | 页码 |\n| `-s, --size` | 每页条数 |\n| `--status` | `NOT_START`、`GOING`、`FINISHED`、`INVALID` |\n| `-o, --output` | `table` 或 `json` |\n\n## 删除优惠券\n\n```bash\nnpx --yes polyv-live-cli@latest coupon delete --couponIds coupon001\nnpx --yes polyv-live-cli@latest coupon delete --couponIds coupon001 coupon002 coupon003\n```\n\n单次最多删除 200 个优惠券 ID。\n\n## 参数说明\n\n| 参数 | 说明 |\n| --- | --- |\n| `--name` | 优惠券名称，最多 50 个字符 |\n| `--type` | `MAX_OUT` 满减券，`DISCOUNT` 折扣券 |\n| `--availableAmount` | 发放数量，`0` 表示按接口规则处理 |\n| `--receiveStart`、`--receiveEnd` | 领取开始和结束时间，13 位毫秒时间戳 |\n| `--useTimeType` | `RANGE` 指定可用时间范围，`DAY` 领取后若干天有效 |\n| `--useStart`、`--useEnd` | `RANGE` 模式下的使用时间范围 |\n| `--dayOfUse` | `DAY` 模式下领取后有效天数 |\n| `--condition` | `UNCONDITIONAL` 无门槛，`FULL_REDUCE` 满减门槛 |\n| `--discount` | 无门槛折扣值 |\n| `--full`、`--reduce` | 满减门槛和减免金额 |\n| `--limitPerPerson` | 每人限领数量，`-1` 表示不限 |\n\n## 使用注意\n\n- 优惠券命令不接收频道 ID。\n- 当前 npm 版没有单张优惠券详情查询子命令，详情类需求先使用 `coupon list -o json`。\n- 删除优惠券不可撤销，执行前核对 `--couponIds`。\n\nFile v1.0.7:references/documents.md\n\n# 文档管理\n\n管理直播频道的课件文档，支持上传、查看和删除文档。\n\n## 命令概览\n\n| 命令 | 说明 |\n|------|------|\n| `document list` | 获取频道文档列表 |\n| `document upload` | 上传文档（通过URL） |\n| `document delete` | 删除文档 |\n| `document status` | 查询文档转码状态 |\n\n## document list\n\n获取指定频道的课件文档列表。\n\n### 语法\n\n```bash\nnpx --yes polyv-live-cli@latest document list -c <频道ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--status <状态>` | `-s` | 文档状态过滤 | - |\n| `--page <页码>` | `-P` | 页码 | 1 |\n| `--page-size <数量>` | `-l` | 每页数量 | 10 |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档状态\n\n| 状态值 | 说明 |\n|--------|------|\n| `normal` | 正常 |\n| `waitUpload` | 等待上传 |\n| `failUpload` | 上传失败 |\n| `waitConvert` | 等待转码 |\n| `failConvert` | 转码失败 |\n\n### 示例\n\n```bash\n# 列出频道所有文档\nnpx --yes polyv-live-cli@latest document list -c 3151318\n\n# 过滤转码失败的文档\nnpx --yes polyv-live-cli@latest document list -c 3151318 --status failConvert\n\n# 分页查询\nnpx --yes polyv-live-cli@latest document list -c 3151318 --page 2 --page-size 20\n\n# JSON格式输出\nnpx --yes polyv-live-cli@latest document list -c 3151318 -o json\n```\n\n## document upload\n\n通过URL上传文档到频道。\n\n### 语法\n\n```bash\nnpx --yes polyv-live-cli@latest document upload -c <频道ID> --url <文件URL> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--url <URL>` | `-u` | 文件URL（必填） | - |\n| `--type <类型>` | `-t` | 转换类型 | common |\n| `--doc-name <名称>` | `-n` | 文档名称 | - |\n| `--callback-url <URL>` | | 回调地址 | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 转换类型\n\n| 类型 | 说明 |\n|------|------|\n| `common` | 普通转换（静态PPT） |\n| `animate` | 动效转换（保留PPT动画） |\n\n### 支持格式\n\nPPT、PDF、PPTX、DOC、DOCX、WPS\n\n### 示例\n\n```bash\n# 上传PPT文档\nnpx --yes polyv-live-cli@latest document upload -c 3151318 --url https://example.com/slides.pptx\n\n# 上传带动画的PPT\nnpx --yes polyv-live-cli@latest document upload -c 3151318 --url https://example.com/slides.pptx --type animate\n\n# 指定文档名称\nnpx --yes polyv-live-cli@latest document upload -c 3151318 --url https://example.com/slides.pptx --doc-name \"产品介绍\"\n\n# 设置转码完成回调\nnpx --yes polyv-live-cli@latest document upload -c 3151318 --url https://example.com/slides.pptx --callback-url https://myserver.com/callback\n```\n\n## document delete\n\n删除指定文档。\n\n### 语法\n\n```bash\nnpx --yes polyv-live-cli@latest document delete -c <频道ID> --file-id <文档ID> [选项]\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | `-f` | 文档ID（必填） | - |\n| `--type <类型>` | `-t` | 文档类型 | 自动检测 |\n| `--force` | | 跳过确认提示 | false |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 文档类型\n\n| 类型 | 说明 |\n|------|------|\n| `old` | 旧版文档 |\n| `new` | 新版文档 |\n\n> 注意：如果不指定 `--type`，系统会自动检测文档类型。\n\n### 示例\n\n```bash\n# 删除文档（会有确认提示）\nnpx --yes polyv-live-cli@latest document delete -c 3151318 --file-id abc123\n\n# 强制删除，跳过确认\nnpx --yes polyv-live-cli@latest document delete -c 3151318 --file-id abc123 --force\n\n# 指定文档类型\nnpx --yes polyv-live-cli@latest document delete -c 3151318 --file-id abc123 --type new\n```\n\n## document status\n\n查询文档转码状态。\n\n### 语法\n\n```bash\nnpx --yes polyv-live-cli@latest document status -c <频道ID> --file-id <文档ID>\n```\n\n### 选项\n\n| 选项 | 简写 | 说明 | 默认值 |\n|------|------|------|--------|\n| `--channel-id <ID>` | `-c` | 频道ID（必填） | - |\n| `--file-id <ID>` | `-f` | 文档ID（必填） | - |\n| `--output <格式>` | `-o` | 输出格式 (table/json) | table |\n\n### 示例\n\n```bash\n# 查询单个文档状态\nnpx --yes polyv-live-cli@latest document status -c 3151318 --file-id abc123\n\n# 批量查询（用逗号分隔）\nnpx --yes polyv-live-cli@latest document status -c 3151318 --file-id abc123,def456\n\n# JSON格式输出\nnpx --yes polyv-live-cli@latest document status -c 3151318 --file-id abc123 -o json\n```\n\n## 输出示例\n\n### document list 表格输出\n\n```\n┌──────────┬────────────────┬──────────┬────────┬─────────────┐\n│ 文档ID   │ 文档名称       │ 类型     │ 状态   │ 创建时间    │\n├──────────┼────────────────┼──────────┼────────┼─────────────┤\n│ abc123   │ 产品介绍.pptx  │ pptx     │ normal │ 2024-03-20  │\n│ def456   │ 公司简介.pdf   │ pdf      │ normal │ 2024-03-19  │\n└──────────┴────────────────┴──────────┴────────┴─────────────┘\n```\n\n### document upload 输出\n\n```\n✓ 文档上传成功\n\n文档ID: abc123\n状态: waitConvert\n类型: common\n```\n\n### document status 输出\n\n```\n┌──────────┬─────────────┬──────┬──────────┐\n│ 文档ID   │ 转码状态    │ 类型 │ 总页数   │\n├──────────┼─────────────┼──────┼──────────┤\n│ abc123   │ success     │ new  │ 15       │\n└──────────┴─────────────┴──────┴──────────┘\n```\n\n## 常见工作流程\n\n### 上传并在直播中使用文档\n\n```bash\n# 1. 上传文档\nnpx --yes polyv-live-cli@latest document upload -c 3151318 --url https://example.com/slides.pptx --type animate\n\n# 2. 查看转码状态\nnpx --yes polyv-live-cli@latest document status -c 3151318 --file-id <返回的文档ID>\n\n# 3. 确认文档已就绪（状态为 success）\n# 文档已可在直播间使用\n```\n\n### 批量管理文档\n\n```bash\n# 1. 查看所有转码失败的文档\nnpx --yes polyv-live-cli@latest document list -c 3151318 --status failConvert -o json > failed.json\n\n# 2. 逐个删除失败的文档\n# jq -r '.contents[].fileId' failed.json | xargs -I {} npx --yes polyv-live-cli@latest document delete -c 3151318 --file-id {} --force\n```\n\nFile v1.0.7:references/donate.md\n\n# Donate Management Commands\n\nManage live streaming donation (打赏) interactions through the PolyV CLI.\n\n## Overview\n\nThe donate commands allow you to:\n- Get channel donate configuration settings\n- Update donate settings (cash enabled, gift enabled, tips, amounts)\n- List donation records with time range filtering\n\n## Commands\n\n### donate config get\n\nGet the donate configuration for a channel.\n\n```bash\npolyv-live-cli donate config get -c <channelId> [options]\n```\n\n**Required Options:**\n- `-c, --channel-id <id>` - Channel ID\n\n**Optional Options:**\n- `-o, --output <format>` - Output format: `table` (default) or `json`\n\n**Examples:**\n```bash\n# Get donate configuration\npolyv-live-cli donate config get -c \"3151318\"\n\n# Get configuration in JSON format\npolyv-live-cli donate config get -c \"3151318\" -o json\n```\n\n**Output (table format):**\n```\nDonate Configuration for Channel: 3151318\n\nGlobal Setting Enabled: Y\nCash Donate Enabled: Y\nGood Donate Enabled: Y\nPoint Donate Enabled: N\nDonate Tips: Thanks for your support!\nCash Min: 0.01\nCash Amounts: 0.88, 6.66, 8.88, 18.88, 66.6, 88.8\nGoods:\n  - Flower (0) - Enabled\n  - Heart (1.99) - Enabled\n```\n\n---\n\n### donate config update\n\nUpdate the donate configuration for a channel.\n\n```bash\npolyv-live-cli donate config update -c <channelId> [options]\n```\n\n**Required Options:**\n- `-c, --channel-id <id>` - Channel ID\n\n**Optional Options:**\n- `--cash-enabled <Y|N>` - Enable/disable cash donations\n- `--gift-enabled <Y|N>` - Enable/disable gift donations\n- `--tips <text>` - Donate tips text to display\n- `--amounts <values>` - Comma-separated donation amounts (e.g., \"0.88,6.66,8.88\")\n- `-o, --output <format>` - Output format: `table` (default) or `json`\n\n**Examples:**\n```bash\n# Enable cash donations\npolyv-live-cli donate config update -c \"3151318\" --cash-enabled Y\n\n# Update with tips and custom amounts\npolyv-live-cli donate config update -c \"3151318\" \\\n  --tips \"Thank you for your support!\" \\\n  --amounts \"0.88,6.66,8.88,18.88\"\n\n# Update all settings at once\npolyv-live-cli donate config update -c \"3151318\" \\\n  --cash-enabled Y \\\n  --gift-enabled Y \\\n  --tips \"Thanks!\" \\\n  --amounts \"1,5,10\"\n```\n\n---\n\n### donate list\n\nList donation records for a channel within a time range.\n\n```bash\npolyv-live-cli donate list -c <channelId> --start <timestamp> --end <timestamp> [options]\n```\n\n**Required Options:**\n- `-c, --channel-id <id>` - Channel ID\n- `--start <timestamp>` - Start time (13-digit millisecond timestamp)\n- `--end <timestamp>` - End time (13-digit millisecond timestamp)\n\n**Optional Options:**\n- `--page <number>` - Page number (default: 1)\n- `--size <number>` - Page size (default: 10)\n- `-o, --output <format>` - Output format: `table` (default) or `json`\n\n**Examples:**\n```bash\n# List donations within a time range\npolyv-live-cli donate list -c \"3151318\" \\\n  --start 1615772426000 \\\n  --end 1615858826000\n\n# List with pagination\npolyv-live-cli donate list -c \"3151318\" \\\n  --start 1615772426000 \\\n  --end 1615858826000 \\\n  --page 2 \\\n  --size 20\n\n# JSON output\npolyv-live-cli donate list -c \"3151318\" \\\n  --start 1615772426000 \\\n  --end 1615858826000 \\\n  -o json\n```\n\n**Output (table format):**\n```\nFound 50 donate records\nPage: 1, Size: 10\nTotal pages: 5\n┌─────────────────┬────────────────────┬──────────────┬────────┬────────────────────┬────────────┬─────────────────────────┐\n│ User ID         │ Nickname           │ Type         │ Amount │ Name               │ Session ID │ Time                    │\n├─────────────────┼────────────────────┼──────────────┼────────┼────────────────────┼────────────┼─────────────────────────┤\n│ user123         │ Test User          │ Props/Points │ 6.66   │ Flower             │ session001 │ 3/15/2021, 10:00:26 AM  │\n│ user456         │ Another User       │ Cash         │ 8.88   │ Cash               │ session001 │ 3/15/2021, 10:16:66 AM  │\n└─────────────────┴────────────────────┴──────────────┴────────┴────────────────────┴────────────┴─────────────────────────┘\n```\n\n**Output Columns:**\n| Column | Description |\n|--------|-------------|\n| User ID | Viewer user ID |\n| Nickname | Viewer nickname |\n| Type | Donation type: Props/Points (type 1) or Cash (type 2) |\n| Amount | Donation amount |\n| Name | Gift name or \"Cash\" |\n| Session ID | Live session ID |\n| Time | Donation timestamp |\n\n---\n\n## API Endpoints\n\n| Command | API Endpoint | Method |\n|---------|--------------|--------|\n| `donate config get` | `/live/v4/channel/donate/get` | GET |\n| `donate config update` | `/live/v4/channel/donate/update` | POST |\n| `donate list` | `/live/v4/channel/reward/gift-list` | GET |\n\n## Output Formats\n\nAll commands support two output formats:\n\n- **table** (default): Human-readable formatted table\n- **json**: Machine-readable JSON format for scripting\n\n## Error Handling\n\nThe commands provide user-friendly error messages for common issues:\n\n- Missing required parameters (channelId, start/end timestamps)\n- Invalid parameter values (Y/N flags, numeric values)\n- Invalid time ranges (start must be before end)\n- API authentication errors\n- API rate limiting\n\n## Related Commands\n\n- [`lottery`](lottery.md) - Manage lottery activities\n- [`checkin`](checkin.md) - Manage check-in activities\n- [`qa`](qa-questionnaire.md) - Manage Q&A and questionnaires\n\nFile v1.0.7:references/lottery.md\n\n# 抽奖管理\n\n## 概述\n\n抽奖命令用于在直播过程中创建和管理抽奖活动，包括创建、查询、更新、删除抽奖活动，以及查询中奖用户和抽奖记录。\n\n## 创建抽奖\n\n```bash\n# 创建无条件抽奖（默认）\nnpx --yes polyv-live-cli@latest lottery create -c 3151318 --name \"幸运抽奖\" --type none --amount 3 --prize \"神秘礼品\"\n\n# 创建邀请抽奖（观众邀请3人参与）\nnpx --yes polyv-live-cli@latest lottery create -c 3151318 --name \"邀请抽奖\" --type invite --amount 5 --prize \"优惠券\" --duration 30 --invite-num 3\n\n# 创建观看时长抽奖（观看10分钟后可参与）\nnpx --yes polyv-live-cli@latest lottery create -c 3151318 --name \"时长抽奖\" --type duration --amount 2 --prize \"红包\" --duration 10\n\n# 创建评论抽奖（发表评论\n\nArchive v1.0.6: 28 files, 50720 bytes\n\nFiles: references/authentication.md (2819b), references/card-push.md (3087b), references/channel-management.md (5729b), references/chat-management.md (9672b), references/checkin.md (5836b), references/coupons.md (2441b), references/documents.md (6989b), references/donate.md (6048b), references/lottery.md (8118b), references/monitor.md (7135b), references/platform.md (10295b), references/playback.md (2099b), references/player.md (6916b), references/products.md (3054b), references/qa-questionnaire.md (10151b), references/record-settings.md (5745b), references/scene-setup.md (1779b), references/session-management.md (4554b), references/statistics.md (2672b), references/streaming.md (6358b), references/transmit.md (1453b), references/viewer-management.md (5461b), references/viewer.md (4688b), references/watch-condition.md (5384b), references/whitelist.md (9847b), skill-card.md (3155b), SKILL.md (9923b), _meta.json (133b)\n\nArchive v1.0.5: 28 files, 57925 bytes\n\nFiles: references/authentication.md (3945b), references/card-push.md (6194b), references/channel-management.md (5525b), references/chat-management.md (9432b), references/checkin.md (5704b), references/coupons.md (3848b), references/documents.md (6857b), references/donate.md (6048b), references/lottery.md (7986b), references/monitor.md (7021b), references/platform.md (10133b), references/playback.md (3070b), references/player.md (6808b), references/products.md (3927b), references/qa-questionnaire.md (9947b), references/record-settings.md (5619b), references/scene-setup.md (4384b), references/session-management.md (4506b), references/statistics.md (3813b), references/streaming.md (6220b), references/transmit.md (2216b), references/viewer-management.md (5461b), references/viewer.md (4598b), references/watch-condition.md (5301b), references/whitelist.md (9685b), skill-card.md (3145b), SKILL.md (30263b), _meta.json (133b)\n\nArchive v1.0.3: 27 files, 56409 bytes\n\nFiles: references/authentication.md (3945b), references/card-push.md (6194b), references/channel-management.md (5525b), references/chat-management.md (9432b), references/checkin.md (5704b), references/coupons.md (3848b), references/documents.md (6857b), references/donate.md (6048b), references/lottery.md (7986b), references/monitor.md (7021b), references/platform.md (10133b), references/playback.md (3070b), references/player.md (6808b), references/products.md (3927b), references/qa-questionnaire.md (9947b), references/record-settings.md (5619b), references/scene-setup.md (4303b), references/session-management.md (4506b), references/statistics.md (3813b), references/streaming.md (6220b), references/transmit.md (2216b), references/viewer-management.md (5461b), references/viewer.md (4598b), references/watch-condition.md (5301b), references/whitelist.md (9685b), SKILL.md (30263b), _meta.json (133b)\n\nArchive v1.0.2: 27 files, 56193 bytes\n\nFiles: references/authentication.md (3945b), references/card-push.md (6194b), references/channel-management.md (5186b), references/chat-management.md (9432b), references/checkin.md (5704b), references/coupons.md (3848b), references/documents.md (6857b), references/donate.md (6048b), references/lottery.md (7986b), references/monitor.md (7021b), references/platform.md (10133b), references/playback.md (3070b), references/player.md (6808b), references/products.md (3927b), references/qa-questionnaire.md (9947b), references/record-settings.md (5619b), references/scene-setup.md (4303b), references/session-management.md (4506b), references/statistics.md (3813b), references/streaming.md (6220b), references/transmit.md (2216b), references/viewer-management.md (5461b), references/viewer.md (4598b), references/watch-condition.md (5301b), references/whitelist.md (9685b), SKILL.md (30035b), _meta.json (133b)\n\nArchive v1.0.1: 27 files, 56544 bytes\n\nFiles: references/authentication.md (3945b), references/card-push.md (6194b), references/channel-management.md (5186b), references/chat-management.md (9432b), references/checkin.md (5704b), references/coupons.md (3848b), references/documents.md (6857b), references/donate.md (6048b), references/lottery.md (7986b), references/monitor.md (7021b), references/platform.md (10133b), references/playback.md (3070b), references/player.md (6808b), references/products.md (3927b), references/qa-questionnaire.md (9947b), references/record-settings.md (5619b), references/scene-setup.md (4303b), references/session-management.md (4506b), references/statistics.md (4168b), references/streaming.md (6220b), references/transmit.md (2216b), references/viewer-management.md (5461b), references/viewer.md (4598b), references/watch-condition.md (5301b), references/whitelist.md (9685b), SKILL.md (29574b), _meta.json (133b)\n\nArchive v1.0.0: 12 files, 21269 bytes\n\nFiles: references/authentication.md (3945b), references/channel-management.md (5186b), references/coupons.md (3848b), references/documents.md (6857b), references/playback.md (3070b), references/products.md (3927b), references/scene-setup.md (4303b), references/session-management.md (4506b), references/statistics.md (4168b), references/streaming.md (6220b), SKILL.md (8626b), _meta.json (133b)","readmeExcerpt":"Skill: 保利威直播 Owner: polyv Summary: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。 Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-27T09:42:32.642Z | user - 移除 skill-card.md 文件。 - 在主文档中新增“本地图片与公网 URL”说明，明确图片参数需先上传为公网 URL，再用于各配置。 - 高频任务路由补充 web image-upload 相关内容，强化本地图片上传指引。 - 细化图片上传命令格式及常见类型举例，便于实际操作","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npx --yes polyv-live-cli@latest"},{"language":"bash","snippet":"<CLI> --version\n<CLI> --help"},{"language":"bash","snippet":"<CLI> <command> --help\n<CLI> <command> <subcommand> --help"},{"language":"bash","snippet":"<CLI> account current\n<CLI> account list"},{"language":"bash","snippet":"<CLI> channel list -o json"},{"language":"bash","snippet":"<CLI> web image-upload --type <图片类型> --files <本地图片路径> --force -o json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: polyv-live-cli\ndescription: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。\nallowed-tools: Bash(npx --yes polyv-live-cli@latest:*)\n---\n\n# 保利威云直播 CLI\n\n以 npm 发布版 CLI 为准。不要根据旧示例、缓存文档、历史记忆或其他非发布版资料推断命令语法；只要能访问 npm，就先用发布版 `--help` 校验。\n\n## CLI 前缀\n\n本文档和 `references/` 中的 `<CLI>` 表示：\n\n```bash\nnpx --yes polyv-live-cli@latest\n```\n\n执行命令前必须把 `<CLI>` 展开为上面的真实命令；不要直接执行字面量 `<CLI>`。如果 npm latest help 与 reference 冲突，必须以 npm latest 的 `<CLI> ... --help` 为准。\n\n## 入口校验\n\n先确认 npm 发布版命令面：\n\n```bash\n<CLI> --version\n<CLI> --help\n```\n\n`<CLI> --version` 应返回当前 npm latest 版本。\n\n每次处理某个命令族前，先运行最相关 help：\n\n```bash\n<CLI> <command> --help\n<CLI> <command> <subcommand> --help\n```\n\n不要根据本地源码、旧示例、缓存文档或记忆推断 npm latest 语法。\n\n## 认证预检\n\n除 `--help`、`--version`、`account` 和 `use` 外，直播 API 命令通常需要账号配置。\n\n执行业务命令前先检查：\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n缺少账号或默认账号时，停止并请用户提供凭据。不要回显 AppSecret。用户明确请求推流地址/推流密钥时，可以返回 `stream get-key -o json` 的推流凭证，但提醒只提供给可信推流端。\n\n## 任务路由\n\n自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径，再读 `references/command-index.md`，然后用对应 help 校验真实参数。\n\n高频路由：\n\n- 频道基础、状态、角色、装修、分发、MR、频道 token：`channel`\n- 推流地址、直播状态、断流恢复、推流开关：`stream`\n- 本地图片上传为公网图片 URL：`web image-upload`\n- 观看页菜单、分享、退出跳转、页面信息、观看页打赏：`web`\n- 播放器 Logo、水印、暖场、片头、暂停页：`player`\n- 观看条件、鉴权、白名单观看：`watch-condition`、`whitelist`\n- 回放、录制文件、合并、转码、断点续录：`playback`、`record`\n- 文档、课件、多媒体资源关联：`document`\n- 场次、外部 ID、场次统计：`session`、`statistics`\n- 聊天消息、聊天开关、在线人数、禁言、踢人：`chat`\n- 抽奖、签到、问答、问卷、打赏：`lottery`、`checkin`、`qa`、`questionnaire`、`donate`\n- 互动脚本、互动监听、任务奖励、点赞/奖励：`interaction`\n- 商品、优惠券、商品标签、商品统计/设置：`product`、`coupon`\n- 卡片推送、推广渠道、转播频道：`card-push`、`promotion`、`transmit`\n- 观众、用户自定义字段、邀请榜单：`viewer`、`custom-field`、`invite-sales`\n- 平台/账号/全局设置、分组账号、伙伴账号：`platform`、`global`、`user`、`group`、`partner`\n- 素材库、WebApp、机器人、财务/审核、AI 数字人：`material`、`webapp`、`robot`、`finance`、`ai`\n\n## 风险规则\n\n只读命令如 `list`、`get`、`detail`、`status`、`export` 通常可以直接执行。写入或影响生产状态的命令必须先确认，或者在用户已经明确授权时使用命令支持的 `--force`。\n\n下列动词默认视为高风险：`create`、`add`、`update`、`delete`、`remove`、`clear`、`batch-delete`、`enable`、`disable`、`start`、`stop`、`end`、`push`、`send`、`import`、`apply`、`register`、`allocate`、`merge`、`transcode`、`resume`、`cancel`。\n\n测试写入类真实命令时，优先临时创建频道或测试对象，结束后清理；不要默认修改用户长期使用的频道，除非用户明确指定并授权。\n\n## 输出规则\n\n做数据提取、对比、报告或后续脚本处理时，优先使用 JSON：\n\n```bash\n<CLI> channel list -o json\n```\n\n示例里的 `<频道ID>`、`<商品ID>`、`<回放ID>`、`<账号名>` 都是占位符。不要直接执行 reference 中的示例 ID。\n\n## 本地图片与公网 URL\n\n很多图片参数只接受可公网访问的 HTTP(S) URL，不接受本地文件路径。用户提供本地图片、截图或附件，并要求设置频道封面、直播引导图、播放器 logo、暖场图、广告图、打赏图标、邀请卡、菜单图片、管理员/助教头像等图片类配置时，先用通用上传命令得到图片 URL，再把返回的 URL 用到目标命令。\n\n通用上传命令：\n\n```bash\n<CLI> web image-upload --type <图片类型> --files <本地图片路径> --force -o json\n```\n\n返回值是图片 URL 数组；单图场景通常取第一个 URL。`--type` 必须按用途选择并用 `web image-upload --help` 校验，常见值包括 `coverImage`、`splashImage`、`logoImage`、`warmImage`、`adImage`、`startAdImage`、`stopAdImage`、`goodImage`、`invitationImage`、`menuImage`、`adminAvatar`、`assistantAvatar`、`authCodeImage`。\n\n示例流程：用户给"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn74gkj5m1rk89yf5beneexwsd82b5h7\",\n  \"slug\": \"polyv-live-cli\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1782553352642\n}"},{"path":"references/ai.md","content":"# AI 功能\n\n命令族：`ai`\n\n用途：AI 数字人、AI 视频生产、PPT 文件、TTS 音色。\n\n执行前必须先运行：\n\n```bash\n<CLI> ai --help\n```\n\nhelp 描述：Manage AI features for live streaming (管理AI功能)\n\n## 直接子命令\n\n- `ai digital-human`: Manage AI Digital Humans (管理AI数字人)\n- `ai video-produce`: Manage AI video production tasks, PPT files, and TTS voices\n\n## 使用规则\n\n- 需要输出给用户或后续处理时，优先加 `-o json` 或 `--output json`，但必须以 help 是否支持为准。\n- 写入、删除、推送、启停、导入、批量处理类子命令必须先确认；命令支持 `--force` 时，只有用户明确授权才使用。\n- 参数名、短参数和必填项必须从最深层 `--help` 获取，不要从本文件猜测。"},{"path":"references/authentication.md","content":"# 身份认证配置\n\n保利威直播 CLI 支持命令行凭证、账号配置和环境变量。客户环境优先使用账号配置或环境变量，避免把密钥写入脚本和文档。\n\n## 常用认证方式\n\n### 账号配置\n\n```bash\n<CLI> account add production \\\n  --app-id your-app-id \\\n  --app-secret your-app-secret \\\n  --user-id your-user-id\n\n<CLI> account set-default production\n<CLI> account current\n<CLI> account list\n```\n\n移除账号：\n\n```bash\n<CLI> account remove old-account\n<CLI> account remove old-account --force\n```\n\n### 环境变量\n\n```bash\nexport POLYV_APP_ID=\"your-app-id\"\nexport POLYV_APP_SECRET=\"your-app-secret\"\nexport POLYV_USER_ID=\"your-user-id\"\n\n<CLI> channel list\n```\n\n### 单次命令指定账号或凭证\n\n```bash\n<CLI> channel list -a production\n<CLI> --appId <id> --appSecret <secret> --userId <userId> channel list\n```\n\n`-a/--account` 用于指定已存在的账号配置；根级凭证参数放在 CLI 前缀后、业务命令前。需要长期切换账号时，优先使用 `account set-default` 或 `use`，再执行业务命令。\n\n## 推荐流程\n\n1. 使用 `account add` 添加客户账号。\n2. 使用 `account set-default` 设置默认账号。\n3. 使用 `account current` 或 `account list` 确认当前账号。\n4. 再执行频道、商品、统计等业务命令。\n\n```bash\n<CLI> account add customer-prod \\\n  --app-id \"$POLYV_APP_ID\" \\\n  --app-secret \"$POLYV_APP_SECRET\" \\\n  --user-id \"$POLYV_USER_ID\"\n\n<CLI> account set-default customer-prod\n<CLI> account current\n<CLI> channel list -o json\n```\n\n## CI/CD 示例\n\n```yaml\nenv:\n  POLYV_APP_ID: ${{ secrets.POLYV_APP_ID }}\n  POLYV_APP_SECRET: ${{ secrets.POLYV_APP_SECRET }}\n  POLYV_USER_ID: ${{ secrets.POLYV_USER_ID }}\n\nsteps:\n  - name: 列出频道\n    run: <CLI> channel list -o json\n```\n\n## 安全建议\n\n- 不要把 AppID、AppSecret、UserID 提交到 Git。\n- 给不同客户、环境分别配置账号名称，避免误操作生产资源。\n- 客户交付文档中使用占位符，不写真实凭证。\n- 执行删除、初始化、推送等高风险命令前，先用 `account current` 确认当前账号。\n\n## 故障排除\n\n### 认证配置不完整\n\n```bash\n<CLI> account current\n<CLI> account list\n```\n\n如果没有默认账号，执行：\n\n```bash\n<CLI> account set-default <账号名称>\n```\n\n也可以在单次命令中用 `-a <账号名称>` 指定已存在账号，或先用 `use <账号名称>` 切换当前终端会话账号。\n\n### 凭证无效\n\n- 确认 AppID、AppSecret、UserID 是否来自同一保利威账号。\n- 确认客户账号具备对应 API 权限。\n- 如密钥已轮换，重新执行 `account add` 或更新环境变量。"},{"path":"references/card-push.md","content":"# 卡片推送\n\n管理直播间的卡片配置，并在直播中推送或取消推送卡片。\n\n## 当前 npm 命令面\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push create --channelId <频道ID> ...\n<CLI> card-push update --channelId <频道ID> --cardPushId <卡片ID> ...\n<CLI> card-push push --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push cancel --channelId <频道ID> --cardPushId <卡片ID>\n<CLI> card-push delete --channelId <频道ID> --cardPushId <卡片ID>\n```\n\n`card-push` 使用 camelCase 参数，例如 `--channelId`、`--cardPushId`、`--imageType`、`--showCondition`。\n\n## 列出卡片\n\n```bash\n<CLI> card-push list --channelId <频道ID>\n<CLI> card-push list --channelId <频道ID> -o json\n```\n\n## 创建卡片\n\n手动推送卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType giftbox \\\n  --title \"限时优惠\" \\\n  --link \"https://shop.example.com/promo\" \\\n  --duration 10 \\\n  --showCondition PUSH\n```\n\n观看时长触发卡片：\n\n```bash\n<CLI> card-push create \\\n  --channelId <频道ID> \\\n  --cardType common \\\n  --imageType redpack \\\n  --title \"新手红包\" \\\n  --link \"https://shop.example.com/redpack\" \\\n  --duration 15 \\\n  --showCondition WATCH \\\n  --conditionValue 30 \\\n  --conditionUnit SECONDS\n```\n\n## 更新卡片\n\n```bash\n<CLI> card-push update \\\n  --channelId <频道ID> \\\n  --cardPushId 123 \\\n  --title \"更新后的标题\" \\\n  --duration 20\n```\n\n## 推送、取消、删除\n\n```bash\n<CLI> card-push push --channelId <频道ID> --cardPushId 123\n<CLI> card-push cancel --channelId <频道ID> --cardPushId 123\n<CLI> card-push delete --channelId <频道ID> --cardPushId 123\n```\n\n## 常用参数\n\n| 参数 | 说明 |\n| --- | --- |\n| `--channelId` | 频道 ID |\n| `--cardPushId` | 卡片推送 ID，更新、推送、取消、删除时使用 |\n| `--cardType` | `common` 或 `qrCode` |\n| `--imageType` | `giftbox`、`redpack`、`custom`、`weixinWork` |\n| `--title` | 卡片标题，最多 16 个字符 |\n| `--link` | 点击跳转链接 |\n| `--duration` | 倒计时秒数，支持 `0`、`5`、`10`、`20`、`30` |\n| `--durationPosition` | `bottom` 或 `top` |\n| `--showCondition` | `PUSH` 手动推送，`WATCH` 观看时长触发 |\n| `--conditionValue` | 观看时长触发值 |\n| `--conditionUnit` | `SECONDS` 或 `MINUTES` |\n| `--countdownMsg` | 倒计时文案，最多 8 个字符 |\n| `--enterEnabled` | `Y` 或 `N` |\n| `--linkEnabled` | `Y` 或 `N` |\n| `--redirectType` | `iframe` 或 `tab` |\n\n## 使用注意\n\n- `push` 会影响观众端展示，执行前确认频道 ID 和卡片 ID。\n- `delete` 为删除配置操作，执行前建议先 `list` 核对。\n- 写脚本时使用 `-o json`，避免依赖表格列宽。"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。 Skill: 保利威直播 Owner: polyv Summary: 保利威官方 skill。通过 npm 发布版 polyv-live-cli 管理保利威云直播服务。用于查询或管理直播频道、推流地址和状态、商品、优惠券、回放、文档、场次、聊天、签到、问答、问卷、抽奖、打赏、观众、观看条件、白名单、平台设置、播放器、卡片推送、推广渠道、转播频道、AI 数字人、监控面板、场景初始化和直播统计。 Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-27T09:42:32.642Z | user - 移除 skill-card.md 文件。 - 在主文档中新增“本地图片与公网 URL”说明，明确图片参数需先上传为公网 URL，再用于各配置。 - 高频任务路由补充 web image-upload 相关内容，强化本地图片上传指引。 - 细化图片上传命令格式及常见类型举例，便于实际操作","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":797,"uniquenessScore":59,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:40:06.218Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:45:01.407Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}