双 relay 边界
公网 origin 只持短期 shared relay secret;Discord bot token 只在 WeHub 中枢机的 Hermes profile 中。
“创建子区”不是另一种回复语气,而是改变外部协作拓扑的动作。这个页面说明它如何做到可预览、可确认、低噪音、可验证,并让稳定理解最终回到 canonical source。
conversation mode 只影响当前 agent 的回应策略;Discord workspace action 会创建真实 thread、发送 starter、通知人或 agent,并产生需要回填的协作状态。两者共享结构化意图,但副作用等级完全不同。
| 协议 | 改变什么 | 确认 | 证据 | 结束条件 |
|---|---|---|---|---|
| Conversation mode | 当前回复的行为方式 | 选择 mode 即可 | message + mode + run + reply | 本轮回复完成 |
| Discord subarea action | 外部协作空间与参与关系 | 预览后再次确认 | thread id + starter id + read-back + parent | 创建、验证、返回链接并声明 writeback |
浏览器不接触 Discord token。公开 relay 校验 workspace session 和字段边界,再通过 Tailscale + shared relay secret 调用 WeHub 中枢机上的 Discord relay。
POST /gong/workspace/discord-thread-create
{
"agent": "ghy-avatar",
"topic": "对话方式如何继续定制",
"why": "需要多轮讨论与 agent 协作",
"decide": "确定下一批高价值方式",
"writeback": ".../seed.md"
}200 OK
{
"ok": true,
"thread_url": "https://discord.com/channels/...",
"starter_message_url": "https://discord.com/channels/.../...",
"parent_channel_id": "1501459513226559598",
"verified": true
}公网 origin 只持短期 shared relay secret;Discord bot token 只在 WeHub 中枢机的 Hermes profile 中。
禁用 @everyone、@here 和 role parse;只允许明确的 Gong user id,后续 agent 由讨论需要再加入。
创建请求不能携带任意 guild/channel;当前只允许任务管理区,未来通过 server-side registry 扩展。
| 阶段 | UI 状态 | 可否重试 | 处理 |
|---|---|---|---|
| Preview | 本地草案 | 可反复修改 | 不触发网络写入 |
| Create rejected | 未创建 | 修正后可重试 | 保留所有输入 |
| Thread created, starter failed | 部分成功 | 不得盲目再建 thread | 返回 thread id,改为补发 starter |
| Read-back failed | 状态待确认 | 先查询 | 不能声称 verified |
| Verified | 已创建 | 无需重试 | 显示稳定链接与 writeback target |