Get started
ClickClack
ClickClack łączy OpenClaw z samodzielnie hostowanym obszarem roboczym ClickClack przez natywne tokeny botów ClickClack.
Użyj tego, gdy chcesz, aby agent OpenClaw pojawiał się jako użytkownik bota ClickClack. ClickClack obsługuje niezależne boty usługowe i boty należące do użytkowników; boty należące do użytkowników zachowują owner_user_id i otrzymują tylko przyznane przez Ciebie zakresy tokena.
Szybka konfiguracja
Utwórz token bota w ClickClack:
clickclack admin bot create \
--workspace <workspace_id_or_slug> \
--name "OpenClaw" \
--handle openclaw \
--scopes bot:write \
--plain
Dla bota należącego do użytkownika dodaj --owner <user_id>.
Skonfiguruj OpenClaw:
{
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",
},
},
}
Następnie uruchom:
export CLICKCLACK_BOT_TOKEN="ccb_..."
openclaw gateway
Wiele botów
Każde konto otwiera własne połączenie ClickClack w czasie rzeczywistym i używa własnego tokena bota.
{
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: "model" używa api.runtime.llm.complete bezpośrednio do krótkich odpowiedzi bota.
Gdy konto ustawia agentId, OpenClaw wymaga jawnego bitu zaufania
plugins.entries.clickclack.llm.allowAgentIdOverride, aby Plugin
mógł uruchamiać uzupełnienia dla tego agenta bota. Nie włączaj go, jeśli używasz tylko domyślnej
trasy agenta.
Cele
channel:<name-or-id>wysyła do kanału obszaru roboczego. Cele bez prefiksu domyślnie używająchannel:.dm:<user_id>tworzy lub ponownie używa bezpośredniej rozmowy z tym użytkownikiem.thread:<message_id>odpowiada w istniejącym wątku.
Przykłady:
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"
Uprawnienia
Zakresy tokenów ClickClack są egzekwowane przez API ClickClack.
bot:read: odczyt danych obszaru roboczego/kanału/wiadomości/wątku/DM/czasu rzeczywistego/profilu.bot:write:bot:readoraz wiadomości w kanałach, odpowiedzi w wątkach, DM i przesyłanie plików.bot:admin:bot:writeoraz tworzenie kanałów.
OpenClaw potrzebuje tylko bot:write do zwykłego czatu agenta.
Rozwiązywanie problemów
ClickClack is not configured: ustawchannels.clickclack.tokenlubCLICKCLACK_BOT_TOKEN.workspace not found: ustawworkspacena identyfikator obszaru roboczego lub slug zwrócony przez ClickClack.- Brak przychodzących odpowiedzi: potwierdź, że token ma dostęp do odczytu w czasie rzeczywistym i że bot nie odpowiada na własne wiadomości.
- Wysyłanie do kanału kończy się niepowodzeniem: sprawdź, czy bot jest członkiem obszaru roboczego i ma
bot:write.