Install
openclaw skills install debate-arena提供多角色、多轮次自动化辩论流程,支持辩题初始化、角色配置、轮次设置、发言归档与多方投票统计。
openclaw skills install debate-arenaKeywords: 辩论 / debate / arena / 对抗 / 投票 / 裁判 说明:本 skill 对“使用者(人类)”暴露的是一组主命令
debate(中文别名:辩论)。 你在群里输入这些命令即可;背后由主控 Agent 调用脚本scripts/debate-arena.js维护状态、编排多 Agent 发言、归档与投票。
本 skill 支持:
pros / cons / judge / host,并可通过 debate conf 保存为默认配置autonext=true 默认开启debate set prompt)字数:约200字
至少 3 条明确论据,每条论据需具体、可检验或可验证, 有实例最佳
表达形式:编号/分点输出,避免泛泛而谈
结构:核心论点 → 论据展开 → 反驳回应 → 总结
态度:坚定有力,逻辑严密,
主命令:debate(中文别名:辩论)
debate init <话题>:初始化(仅此命令作为启动入口)debate add <pros|cons|judge|host> <agentId>:设置角色debate add voter <agentId>:添加投票人(禁止正/反方)debate set rounds <1-5>:设置轮次debate set autonext <true|false>:设置自动推进debate set prompt <补充要求>:设置辩论要求(clear/none/无 清空)debate set <pros|cons|judge>.model <alias>:指定 subagent modeldebate set <pros|cons|judge>.thinking <mode>:指定 thinking 模式debate set <pros|cons|judge>.timeout <seconds>:指定超时秒数debate set <pros|cons|judge>.accountId <id>:指定发送账号debate conf:保存为默认配置(可选,仅用于持久化)debate start:启动辩论(init 后即可;需确保 pros/cons 为真实 agentId)debate next:手动推进下一轮(仅在 autonext=false 时使用)debate status:查看状态debate stop:强制结束debate reset:重置到 IDLE
agentId是你环境里可用的 Agent 标识(用<agentId>表示占位)。
辩论 init <新话题>
辩论 start
若已保存默认配置,init 会自动加载;如需调整,可用 add/set 修改后再 start。 conf 仅用于把当前配置保存为默认配置(可选)。
⚠️ 说明:以下为格式示例,用于告诉“人类用户”应该怎么输入命令。
- 不得把示例当作需要自动执行的指令序列。
- 程序/助手只能执行用户在群里明确输入的那一条命令。
辩论 init <新话题>
debate add host <agentId>
debate add pros <agentId>
debate add cons <agentId>
# 可选:裁判
debate add judge <agentId>
# 可选:加投票人(注意:正/反方禁止投票)
debate add voter <agentId>
# 可选:轮次、推进方式、质量要求
debate set rounds 5
debate set autonext true
debate set prompt <补充发言要求>
# 可选:为正/反/裁判指定模型与超时(按需)
debate set pros.model <alias>
debate set pros.thinking <mode>
debate set pros.timeout <seconds>
debate set pros.accountId <accountId>
# 启动辩论(必须显式执行)
debate start
# (可选)保存为默认配置(仅用于持久化)
debate conf
系统会按轮次驱动正反方(以及裁判)发言。
默认对每轮发言的质量要求如下(可在 debate set prompt ... 中覆盖/追加):
【发言要求】
调整方式:
debate set prompt <你的补充要求>:覆盖/追加发言要求(对正/反/裁判的提示词统一生效)debate set prompt clear:清空补充要求,恢复默认要求autonext=true:系统在每轮发言归档后自动推进autonext=false:每推进一轮需要你输入:debate next
debate add voter ... 增加)2-1、3-0)在群里直接发:
2-1 或投票 2-1Host 会解析并记录。
说明:host/judge 的票通常由系统自动完成;你只需要投 sponsor 的票即可(除非你们配置成多人都手工投票)。
debate init,辩论消息就只会回到这个群。debate init 时会自动绑定当前群聊上下文(无需手工设置)。脚本入口:scripts/debate-arena.js
说明:该脚本提供的是一组 API 函数(cmdInit/cmdStart/cmdNextRound/…),属于 Node.js 模块(module.exports = { ... }),不是一个“直接执行就能解析参数”的 CLI。
推荐做法:在脚本所在目录,用
node -e调用导出的 cmd* 方法进行本地验证/调试。
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdReset());"
# init 的第二个参数是群上下文;本地测试可填 dummy 值
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdInit('AI 会取代大多数工作吗', {channel:'feishu', target:'chat:oc_xxx', chatType:'group'}));"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdStatus());"
注意:
pros/cons必须设置为真实agentId(用<agentId>表示占位),否则cmdStart()会拒绝启动。
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdAdd('host','<agentId>'));"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdAdd('pros','<agentId>'));"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdAdd('cons','<agentId>'));"
# 可选:裁判
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdAdd('judge','<agentId>'));"
# 启动辩论(返回 nextAction/hostPrompt,以及 speaker 的 spawn spec)
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdStart());"
# (可选)保存为默认配置
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdConf());"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdNextRound());"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdSet('rounds', 3));"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdSet('autonext', false));"
node -e "const d=require('./scripts/debate-arena'); console.log(d.cmdSet('prompt', '每轮至少3条可验证论据,分点编号输出'));"
DEBATE_ARENA_ARCHIVE_DIR 与写权限。默认路径(可通过环境变量覆盖):
~/.openclaw/debate-arena/~/.openclaw/debate-arena/default-config.json~/.openclaw/debate-arena/debate-state.json~/.openclaw/debate-arena/archives/~/.openclaw/debate-arena/debate-state.log说明:
default-config.json 仅在执行 debate conf 后生成/写入。rm ~/.openclaw/debate-arena/default-config.json。环境变量:
DEBATE_ARENA_STATE_FILE(同时影响 log 所在目录)DEBATE_ARENA_ARCHIVE_DIRmustSpawn / speakerHeader,主持人更不易漏触发首轮【第X轮·任务|角色:agentId】messageId;主持人可用 record*FromSubagentRaw 直接归档(避免二次转发导致重复发送)debate conf 返回增强:显示保存时间、保存位置与配置摘要