Channels 导读
ClickClack:消息从哪扇门跑进来
ClickClack 像一扇接消息的门。你要看清门铃装在哪、钥匙交给谁、什么人能进来,以及门口最容易被绊一跤的是哪块砖。原文最响的一记鼓点,其实是:ClickClack connects OpenClaw to a self-hosted ClickClack workspace through first-class…。
先听这页的人话版
ClickClack
这一页不是在堆术语,它像把“ClickClack”这台小机器搬到桌上,当着你的面拆开给你看。你先不用全记住,先抓住它到底在忙什么:ClickClack connects OpenClaw to a self-hosted ClickClack workspace through first-class ClickCla…。
如果把这页当成“给普通人看的版本”,你最应该带走的是:它到底在教你一件什么事、什么时候要这样做、以及哪里最容易踩坑。
第 1 站
Start Here
这一节主要在解释“Start Here”到底是干什么的,以及你什么时候会遇到它。
这一节主要在解释“Start Here”到底是干什么的,以及你什么时候会遇到它。
如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。
真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ClickClack connects OpenClaw to a self-hosted ClickClack workspace through first-class ClickClack bot tokens. Use this…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ClickClack connects OpenClaw to a self-hosted ClickClack workspace through first-class ClickClack bot tokens.
ClickClack connects OpenClaw to a self-hosted ClickClack workspace through first-class ClickClack bot tokens.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use this when you want an OpenClaw 机器人朋友 to appear as a ClickClack bot user. ClickClack supports independent service bo…。
Use this when you want an OpenClaw agent to appear as a ClickClack bot user. ClickClack supports independent service bots and user-owned bots; user-owned bots keep an owner_user_id and receive only the token scopes you grant.
第 2 站
Quick setup
这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。
这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。
很多文档看起来长,其实是在防你漏掉前置条件。
真正照做时,先找前置条件,再找必填项,最后看验证方法。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Create a bot token in ClickClack: For a user-owned bot, add --owner <user_id>. 设置说明书ure OpenClaw: Then run:。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Create a bot token in ClickClack:。
Create a bot token in ClickClack:
这是一串终端口令,像你站在控制台前,一下下按按钮让机器醒过来。
- 这一行“clickclack admin bot create \”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
- 这一行“--workspace <workspace_id_or_slug> \”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
- 这一行“--name "OpenClaw" \”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
clickclack admin bot create \
--workspace <workspace_id_or_slug> \
--name "OpenClaw" \
--handle openclaw \
--scopes bot:write \
--plain
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For a user-owned bot, add --owner <user_id>.
For a user-owned bot, add --owner <user_id>.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:设置说明书ure OpenClaw:。
Configure OpenClaw:
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“plugins”挂牌子,告诉系统它该指向“{”。
- 这里在给“entries”挂牌子,告诉系统它该指向“{”。
{
plugins: {
entries: {
clickclack: {
llm: {
allowAgentIdOverride: true,
},
},
},
},
channels: {
clickclack: {
enabled: true,
baseUrl: "https://app.clickclack.chat",
token: { source: "env", provider: "default", id: "CLICKCLACK_BOT_TOKEN" },
workspace: "default",
defaultTo: "channel:general",
agentId: "clickclack-bot",
replyMode: "model",
},
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Then run:。
Then run:
这是一串终端口令,像你站在控制台前,一下下按按钮让机器醒过来。
- 这一行“export CLICKCLACK_BOT_TOKEN="ccb_..."”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
- 这一句是在直接叫 OpenClaw 动起来:“openclaw gateway”。你可以把它想成一句说出口就要执行的差事。
export CLICKCLACK_BOT_TOKEN="ccb_..."
openclaw gateway
第 3 站
Multiple bots
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Each account opens its own ClickClack realtime connection and uses its own bot token. replyMode: "聪明脑袋模型" uses 对话接口.run…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Each account opens its own ClickClack realtime connection and uses its own bot token.
Each account opens its own ClickClack realtime connection and uses its own bot token.
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“plugins”挂牌子,告诉系统它该指向“{”。
- 这里在给“entries”挂牌子,告诉系统它该指向“{”。
{
plugins: {
entries: {
clickclack: {
llm: {
allowAgentIdOverride: true,
},
},
},
},
channels: {
clickclack: {
enabled: true,
baseUrl: "https://app.clickclack.chat",
defaultAccount: "service",
accounts: {
service: {
token: { source: "env", provider: "default", id: "CLICKCLACK_SERVICE_BOT_TOKEN" },
workspace: "default",
defaultTo: "channel:general",
agentId: "service-bot",
replyMode: "model",
},
peter: {
token: { source: "env", provider: "default", id: "CLICKCLACK_PETER_BOT_TOKEN" },
workspace: "default",
defaultTo: "dm:usr_...",
agentId: "peter-bot",
replyMode: "model",
},
},
},
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:replyMode: "聪明脑袋模型" uses 对话接口.runtime.llm.complete directly for short bot replies. When an account sets 机器人朋友Id, OpenCl…。
replyMode: "model" uses api.runtime.llm.complete directly for short bot replies. When an account sets agentId, OpenClaw requires the explicit plugins.entries.clickclack.llm.allowAgentIdOverride trust bit so the plugin can run completions for that bot agent. Keep it off if you only use the default agent route.
第 4 站
Targets
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Examples:。
这一串条目别硬背,把它当成“Targets”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:消息通道:<name-or-id> sends to a workspace 消息…、dm:<user_id> creates or reuses a direct c…、thread:<小纸条消息_id> replies in an existing…。
channel:<name-or-id>sends to a workspace channel. Bare targets default tochannel:.dm:<user_id>creates or reuses a direct conversation with that user.thread:<message_id>replies in an existing thread.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Examples:。
Examples:
这是一句直接对 OpenClaw 说的话,像你把任务清清楚楚塞到它手里。
- 这里在给“openclaw message send --channel clickclack --target channel”挂牌子,告诉系统它该指向“general --message hello”。
- 这里在给“openclaw message send --channel clickclack --target dm”挂牌子,告诉系统它该指向“usr_123 --message hello”。
- 这里在给“openclaw message send --channel clickclack --target thread”挂牌子,告诉系统它该指向“msg_123 --message following up”。
openclaw message send --channel clickclack --target channel:general --message "hello"
openclaw message send --channel clickclack --target dm:usr_123 --message "hello"
openclaw message send --channel clickclack --target thread:msg_123 --message "following up"
第 5 站
Permissions
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
你理解的是能力边界,不只是功能名字。
如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ClickClack token scopes are enforced by the ClickClack 对话接口. OpenClaw only needs bot:write for normal 机器人朋友 chat.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:ClickClack token scopes are enforced by the ClickClack 对话接口.
ClickClack token scopes are enforced by the ClickClack API.
这一串条目别硬背,把它当成“Permissions”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:bot:read: read workspace/消息通道/小纸条消息/threa…、bot:write: bot:read plus 消息通道 小纸条消息s, thr…、bot:admin: bot:write plus 消息通道 creation.
bot:read: read workspace/channel/message/thread/DM/realtime/profile data.bot:write:bot:readplus channel messages, thread replies, DMs, and uploads.bot:admin:bot:writeplus channel creation.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:OpenClaw only needs bot:write for normal 机器人朋友 chat.
OpenClaw only needs bot:write for normal agent chat.
第 6 站
Troubleshooting
这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。
这一节更像安装或配置步骤,重点不是概念,而是“按什么顺序做才不会卡住”。
很多文档看起来长,其实是在防你漏掉前置条件。
真正照做时,先找前置条件,再找必填项,最后看验证方法。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。
这一串条目别硬背,把它当成“Troubleshooting”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:ClickClack is not 设置说明书ured: set 消息通道s.cl…、workspace not found: set workspace to the…、No inbound replies: confirm the token has…、消息通道 sends fail: verify the bot is a memb…。
ClickClack is not configured: setchannels.clickclack.tokenorCLICKCLACK_BOT_TOKEN.workspace not found: setworkspaceto the workspace id or slug returned by ClickClack.- No inbound replies: confirm the token has realtime read access and the bot is not replying to its own messages.
- Channel sends fail: verify the bot is a member of the workspace and has
bot:write.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。
---
AdSense 连接验证已经放在页面头部;广告单元等站点审批通过后再启用。
google-adsense-account: ca-pub-3833673520933536