@@ -70,91 +70,91 @@ const bluebubblesIcon = {
7070
7171const chatProviders = [
7272 { name: ' WhatsApp' , icon: siIcon (siWhatsapp ), color: ' #25D366' , desc: ' QR pairing via Baileys' , docs: ' https://docs.openclaw.ai/channels/whatsapp' },
73- { name: ' Telegram' , icon: siIcon (siTelegram ), color: ' #26A5E4' , desc: ' Bot API via grammY' , docs: ' https://docs.openclaw.ai/telegram' },
74- { name: ' Discord' , icon: siIcon (siDiscord ), color: ' #5865F2' , desc: ' Servers, channels & DMs' , docs: ' https://clawhub.ai/skills /discord' },
75- { name: ' Slack' , icon: ' lucide:hash' , color: ' #E01E5A' , desc: ' Workspace apps via Bolt' , docs: ' https://clawhub.ai/skills /slack' },
73+ { name: ' Telegram' , icon: siIcon (siTelegram ), color: ' #26A5E4' , desc: ' Bot API via grammY' , docs: ' https://docs.openclaw.ai/channels/ telegram' },
74+ { name: ' Discord' , icon: siIcon (siDiscord ), color: ' #5865F2' , desc: ' Servers, channels & DMs' , docs: ' https://clawhub.ai/steipete /discord' },
75+ { name: ' Slack' , icon: ' lucide:hash' , color: ' #E01E5A' , desc: ' Workspace apps via Bolt' , docs: ' https://clawhub.ai/steipete /slack' },
7676 { name: ' Signal' , icon: siIcon (siSignal ), color: ' #3A76F0' , desc: ' Privacy-focused via signal-cli' , docs: ' https://docs.openclaw.ai/channels/signal' },
77- { name: ' iMessage' , icon: siIcon (siApple ), color: ' #007AFF' , desc: ' iMessage via imsg (AppleScript bridge)' , docs: ' https://github.com/steipete /imsg' },
78- { name: ' iMessage' , icon: bluebubblesIcon , color: ' #3B82F6' , desc: ' iMessage via BlueBubbles server' , docs: ' https://docs.openclaw.ai/channels/bluebubbles' },
77+ { name: ' iMessage' , icon: siIcon (siApple ), color: ' #007AFF' , desc: ' iMessage via imsg (AppleScript bridge)' , docs: ' https://github.com/openclaw /imsg' },
78+ { name: ' iMessage' , icon: bluebubblesIcon , color: ' #3B82F6' , desc: ' iMessage via BlueBubbles server' , docs: ' https://docs.openclaw.ai/channels/imessage-from- bluebubbles' },
7979 { name: ' Microsoft Teams' , icon: ' lucide:users' , color: ' #6264A7' , desc: ' Enterprise support' , docs: ' https://docs.openclaw.ai/channels/msteams' },
8080 { name: ' Nextcloud Talk' , icon: siIcon (siNextcloud ), color: ' #0082C9' , desc: ' Self-hosted Nextcloud chat' , docs: ' https://docs.openclaw.ai/channels/nextcloud-talk' },
8181 { name: ' Matrix' , icon: siIcon (siMatrix ), color: ' currentColor' , desc: ' Matrix protocol' , docs: ' https://docs.openclaw.ai/channels/matrix' },
8282 { name: ' Nostr' , icon: ' lucide:message-circle' , color: ' #8F2CFF' , desc: ' Decentralized DMs via NIP-04' , docs: ' https://docs.openclaw.ai/channels/nostr' },
8383 { name: ' Tlon Messenger' , icon: tlonIcon , color: ' #FFFFFF' , desc: ' P2P ownership-first chat' , docs: ' https://docs.urbit.org' },
8484 { name: ' Zalo' , icon: siIcon (siZalo ), color: ' #0068FF' , desc: ' Zalo Bot API' , docs: ' https://docs.openclaw.ai/channels/zalo' },
8585 { name: ' Zalo Personal' , icon: siIcon (siZalo ), color: ' #0068FF' , desc: ' Personal account via QR login' , docs: ' https://docs.openclaw.ai/channels/zalouser' },
86- { name: ' WebChat' , icon: ' lucide:globe' , color: ' #00E5CC' , desc: ' Browser-based UI' , docs: ' https://docs.openclaw.ai/webchat' },
86+ { name: ' WebChat' , icon: ' lucide:globe' , color: ' #00E5CC' , desc: ' Browser-based UI' , docs: ' https://docs.openclaw.ai/web/ webchat' },
8787 { name: ' QQ' , icon: siIcon (siQq ), color: ' #1EBAFC' , desc: ' QQ Bot Official API' , docs: ' https://docs.openclaw.ai/channels/qqbot' },
8888];
8989
9090const modelProviders = [
91- { name: ' Anthropic' , icon: siIcon (siAnthropic ), color: ' #D4A574' , desc: ' Claude Pro/Max + Opus 4.5' , docs: ' https://docs.openclaw.ai/models ' },
92- { name: ' OpenAI' , icon: ' lucide:bot' , color: ' #00A67E' , desc: ' GPT-4, GPT-5, o1' , docs: ' https://docs.openclaw.ai/models ' },
93- { name: ' Google' , icon: siIcon (siGoogle ), color: ' #4285F4' , desc: ' Gemini 2.5 Pro/Flash' , docs: ' https://docs.openclaw.ai/models ' },
91+ { name: ' Anthropic' , icon: siIcon (siAnthropic ), color: ' #D4A574' , desc: ' Claude Pro/Max + Opus 4.5' , docs: ' https://docs.openclaw.ai/providers/anthropic ' },
92+ { name: ' OpenAI' , icon: ' lucide:bot' , color: ' #00A67E' , desc: ' GPT-4, GPT-5, o1' , docs: ' https://docs.openclaw.ai/providers/openai ' },
93+ { name: ' Google' , icon: siIcon (siGoogle ), color: ' #4285F4' , desc: ' Gemini 2.5 Pro/Flash' , docs: ' https://docs.openclaw.ai/providers/google ' },
9494 { name: ' MiniMax' , icon: minimaxIcon , color: ' #E91E63' , desc: ' MiniMax-M2.5' , docs: ' https://docs.openclaw.ai/providers/minimax' },
95- { name: ' xAI' , icon: siIcon (siX ), color: ' #FFFFFF' , desc: ' Grok 3 & 4' , docs: ' https://docs.openclaw.ai/models ' },
95+ { name: ' xAI' , icon: siIcon (siX ), color: ' #FFFFFF' , desc: ' Grok 3 & 4' , docs: ' https://docs.openclaw.ai/providers/xai ' },
9696 { name: ' Vercel AI Gateway' , icon: siIcon (siVercel ), color: ' #FFFFFF' , desc: ' Hundreds of models, 1 API key' , docs: ' https://docs.openclaw.ai/providers/vercel-ai-gateway' },
97- { name: ' OpenRouter' , icon: ' lucide:zap' , color: ' #6366F1' , desc: ' Unified API gateway' , docs: ' https://docs.openclaw.ai/models ' },
98- { name: ' Mistral' , icon: siIcon (siMistralai ), color: ' #FF7000' , desc: ' Mistral Large & Codestral' , docs: ' https://docs.openclaw.ai/models ' },
99- { name: ' DeepSeek' , icon: ' lucide:brain' , color: ' #4D6BFE' , desc: ' DeepSeek V3 & R1' , docs: ' https://docs.openclaw.ai/models ' },
100- { name: ' GLM' , icon: ' lucide:message-circle' , color: ' #00D4AA' , desc: ' ChatGLM models' , docs: ' https://docs.openclaw.ai/models ' },
101- { name: ' Perplexity' , icon: siIcon (siPerplexity ), color: ' #20B8CD' , desc: ' Search-augmented AI' , docs: ' https://docs.openclaw.ai/models ' },
102- { name: ' Hugging Face' , icon: siIcon (siHuggingface ), color: ' #FFD21E' , desc: ' Open-source models' , docs: ' https://docs.openclaw.ai/models ' },
103- { name: ' Local Models' , icon: siIcon (siOllama ), color: ' #FFFFFF' , desc: ' Ollama, LM Studio' , docs: ' https://docs.openclaw.ai/models' },
97+ { name: ' OpenRouter' , icon: ' lucide:zap' , color: ' #6366F1' , desc: ' Unified API gateway' , docs: ' https://docs.openclaw.ai/providers/openrouter ' },
98+ { name: ' Mistral' , icon: siIcon (siMistralai ), color: ' #FF7000' , desc: ' Mistral Large & Codestral' , docs: ' https://docs.openclaw.ai/providers/mistral ' },
99+ { name: ' DeepSeek' , icon: ' lucide:brain' , color: ' #4D6BFE' , desc: ' DeepSeek V3 & R1' , docs: ' https://docs.openclaw.ai/providers/deepseek ' },
100+ { name: ' GLM' , icon: ' lucide:message-circle' , color: ' #00D4AA' , desc: ' ChatGLM models' , docs: ' https://docs.openclaw.ai/providers/glm ' },
101+ { name: ' Perplexity' , icon: siIcon (siPerplexity ), color: ' #20B8CD' , desc: ' Search-augmented AI' , docs: ' https://docs.openclaw.ai/providers/perplexity-provider ' },
102+ { name: ' Hugging Face' , icon: siIcon (siHuggingface ), color: ' #FFD21E' , desc: ' Open-source models' , docs: ' https://docs.openclaw.ai/providers/huggingface ' },
103+ { name: ' Local Models' , icon: siIcon (siOllama ), color: ' #FFFFFF' , desc: ' Ollama, LM Studio' , docs: ' https://docs.openclaw.ai/gateway/local- models' },
104104];
105105
106106const companionApps = [
107- { name: ' macOS' , icon: siIcon (siMacos ), color: ' #FFFFFF' , desc: ' Menu bar app + Voice Wake' , docs: ' https://docs.openclaw.ai/macos' },
108- { name: ' iOS' , icon: siIcon (siIos ), color: ' #007AFF' , desc: ' Canvas, camera, Voice Wake' , docs: ' https://docs.openclaw.ai/ios' },
109- { name: ' Android' , icon: siIcon (siAndroid ), color: ' #34A853' , desc: ' Canvas, camera, screen' , docs: ' https://docs.openclaw.ai/android' },
110- { name: ' Windows' , icon: ' lucide:monitor' , color: ' #0078D4' , desc: ' WSL2 recommended' , docs: ' https://docs.openclaw.ai/windows' },
111- { name: ' Linux' , icon: siIcon (siLinux ), color: ' #FCC624' , desc: ' Native support' , docs: ' https://docs.openclaw.ai/linux' },
107+ { name: ' macOS' , icon: siIcon (siMacos ), color: ' #FFFFFF' , desc: ' Menu bar app + Voice Wake' , docs: ' https://docs.openclaw.ai/platforms/ macos' },
108+ { name: ' iOS' , icon: siIcon (siIos ), color: ' #007AFF' , desc: ' Canvas, camera, Voice Wake' , docs: ' https://docs.openclaw.ai/platforms/ ios' },
109+ { name: ' Android' , icon: siIcon (siAndroid ), color: ' #34A853' , desc: ' Canvas, camera, screen' , docs: ' https://docs.openclaw.ai/platforms/ android' },
110+ { name: ' Windows' , icon: ' lucide:monitor' , color: ' #0078D4' , desc: ' WSL2 recommended' , docs: ' https://docs.openclaw.ai/platforms/ windows' },
111+ { name: ' Linux' , icon: siIcon (siLinux ), color: ' #FCC624' , desc: ' Native support' , docs: ' https://docs.openclaw.ai/platforms/ linux' },
112112];
113113
114114const productivityApps = [
115- { name: ' Apple Notes' , icon: ' lucide:sticky-note' , color: ' #FFCC00' , desc: ' Native macOS/iOS notes' , docs: ' https://clawhub.ai/skills /apple-notes' },
116- { name: ' Apple Reminders' , icon: ' lucide:check-square' , color: ' #FF9500' , desc: ' Task management' , docs: ' https://clawhub.ai/skills /apple-reminders' },
117- { name: ' Things 3' , icon: ' lucide:list-todo' , color: ' #4A90D9' , desc: ' GTD task manager' , docs: ' https://clawhub.ai/skills /things-mac' },
118- { name: ' Notion' , icon: siIcon (siNotion ), color: ' #FFFFFF' , desc: ' Workspace & databases' , docs: ' https://clawhub.ai/skills /notion' },
119- { name: ' Obsidian' , icon: siIcon (siObsidian ), color: ' #7C3AED' , desc: ' Knowledge graph notes' , docs: ' https://clawhub.ai/skills /obsidian' },
120- { name: ' Bear Notes' , icon: ' lucide:pen-tool' , color: ' #DD4C4F' , desc: ' Markdown notes' , docs: ' https://clawhub.ai/skills /bear-notes' },
121- { name: ' Trello' , icon: siIcon (siTrello ), color: ' #0079BF' , desc: ' Kanban boards' , docs: ' https://clawhub.ai/skills /trello' },
122- { name: ' GitHub' , icon: siIcon (siGithub ), color: ' #FFFFFF' , desc: ' Code, issues, PRs' , docs: ' https://clawhub.ai/skills /github' },
115+ { name: ' Apple Notes' , icon: ' lucide:sticky-note' , color: ' #FFCC00' , desc: ' Native macOS/iOS notes' , docs: ' https://clawhub.ai/steipete /apple-notes' },
116+ { name: ' Apple Reminders' , icon: ' lucide:check-square' , color: ' #FF9500' , desc: ' Task management' , docs: ' https://clawhub.ai/steipete /apple-reminders' },
117+ { name: ' Things 3' , icon: ' lucide:list-todo' , color: ' #4A90D9' , desc: ' GTD task manager' , docs: ' https://clawhub.ai/steipete /things-mac' },
118+ { name: ' Notion' , icon: siIcon (siNotion ), color: ' #FFFFFF' , desc: ' Workspace & databases' , docs: ' https://clawhub.ai/steipete /notion' },
119+ { name: ' Obsidian' , icon: siIcon (siObsidian ), color: ' #7C3AED' , desc: ' Knowledge graph notes' , docs: ' https://clawhub.ai/steipete /obsidian' },
120+ { name: ' Bear Notes' , icon: ' lucide:pen-tool' , color: ' #DD4C4F' , desc: ' Markdown notes' , docs: ' https://clawhub.ai/steipete /bear-notes' },
121+ { name: ' Trello' , icon: siIcon (siTrello ), color: ' #0079BF' , desc: ' Kanban boards' , docs: ' https://clawhub.ai/steipete /trello' },
122+ { name: ' GitHub' , icon: siIcon (siGithub ), color: ' #FFFFFF' , desc: ' Code, issues, PRs' , docs: ' https://clawhub.ai/steipete /github' },
123123];
124124
125125const musicAudio = [
126- { name: ' Spotify' , icon: siIcon (siSpotify ), color: ' #1DB954' , desc: ' Music playback control' , docs: ' https://clawhub.ai/skills /spotify-player' },
127- { name: ' Sonos' , icon: siIcon (siSonos ), color: ' #FFFFFF' , desc: ' Multi-room audio' , docs: ' https://clawhub.ai/skills /sonoscli' },
128- { name: ' Shazam' , icon: siIcon (siShazam ), color: ' #0088FF' , desc: ' Song recognition' , docs: ' https://clawhub.ai/skills /songsee' },
126+ { name: ' Spotify' , icon: siIcon (siSpotify ), color: ' #1DB954' , desc: ' Music playback control' , docs: ' https://clawhub.ai/steipete /spotify-player' },
127+ { name: ' Sonos' , icon: siIcon (siSonos ), color: ' #FFFFFF' , desc: ' Multi-room audio' , docs: ' https://clawhub.ai/steipete /sonoscli' },
128+ { name: ' Shazam' , icon: siIcon (siShazam ), color: ' #0088FF' , desc: ' Song recognition' , docs: ' https://clawhub.ai/steipete /songsee' },
129129];
130130
131131const smartHome = [
132- { name: ' Philips Hue' , icon: siIcon (siPhilipshue ), color: ' #0065D3' , desc: ' Smart lighting' , docs: ' https://clawhub.ai/skills /openhue' },
133- { name: ' 8Sleep' , icon: ' lucide:bed' , color: ' #00B4D8' , desc: ' Smart mattress' , docs: ' https://clawhub.ai/skills /eightctl' },
134- { name: ' Home Assistant' , icon: siIcon (siHomeassistant ), color: ' #41BDF5' , desc: ' Home automation hub' , docs: ' https://clawhub.ai/skills /homeassistant' },
132+ { name: ' Philips Hue' , icon: siIcon (siPhilipshue ), color: ' #0065D3' , desc: ' Smart lighting' , docs: ' https://clawhub.ai/steipete /openhue' },
133+ { name: ' 8Sleep' , icon: ' lucide:bed' , color: ' #00B4D8' , desc: ' Smart mattress' , docs: ' https://clawhub.ai/steipete /eightctl' },
134+ { name: ' Home Assistant' , icon: siIcon (siHomeassistant ), color: ' #41BDF5' , desc: ' Home automation hub' , docs: ' https://clawhub.ai/steipete /homeassistant' },
135135];
136136
137137const tools = [
138- { name: ' Browser' , icon: siIcon (siGooglechrome ), color: ' #4285F4' , desc: ' Chrome/Chromium control' , docs: ' https://clawhub.ai/skills /verify-on-browser' },
139- { name: ' Canvas' , icon: ' lucide:monitor-smartphone' , color: ' #FF4500' , desc: ' Visual workspace + A2UI' , docs: ' https://docs.openclaw.ai/mac/canvas' },
140- { name: ' Voice' , icon: ' lucide:mic' , color: ' #9B59B6' , desc: ' Voice Wake + Talk Mode' , docs: ' https://clawhub.ai/skills /voice-transcribe' },
141- { name: ' Gmail' , icon: siIcon (siGmail ), color: ' #EA4335' , desc: ' Pub/Sub email triggers' , docs: ' https://docs.openclaw.ai/gmail-pubsub' },
142- { name: ' Cron' , icon: ' lucide:clock' , color: ' #F39C12' , desc: ' Scheduled tasks' , docs: ' https://docs.openclaw.ai/cron' },
143- { name: ' Webhooks' , icon: ' lucide:webhook' , color: ' #1ABC9C' , desc: ' External triggers' , docs: ' https://docs.openclaw.ai/webhook ' },
144- { name: ' 1Password' , icon: siIcon (si1password ), color: ' #0572EC' , desc: ' Secure credentials' , docs: ' https://clawhub.ai/skills /1password' },
145- { name: ' Weather' , icon: ' lucide:cloud-sun' , color: ' #FFB300' , desc: ' Forecasts & conditions' , docs: ' https://clawhub.ai/skills /weather' },
138+ { name: ' Browser' , icon: siIcon (siGooglechrome ), color: ' #4285F4' , desc: ' Chrome/Chromium control' , docs: ' https://clawhub.ai/steipete /verify-on-browser' },
139+ { name: ' Canvas' , icon: ' lucide:monitor-smartphone' , color: ' #FF4500' , desc: ' Visual workspace + A2UI' , docs: ' https://docs.openclaw.ai/platforms/ mac/canvas' },
140+ { name: ' Voice' , icon: ' lucide:mic' , color: ' #9B59B6' , desc: ' Voice Wake + Talk Mode' , docs: ' https://clawhub.ai/darinkishore /voice-transcribe' },
141+ { name: ' Gmail' , icon: siIcon (siGmail ), color: ' #EA4335' , desc: ' Pub/Sub email triggers' , docs: ' https://docs.openclaw.ai/automation/cron-jobs# gmail-pubsub-integration ' },
142+ { name: ' Cron' , icon: ' lucide:clock' , color: ' #F39C12' , desc: ' Scheduled tasks' , docs: ' https://docs.openclaw.ai/automation/ cron-jobs ' },
143+ { name: ' Webhooks' , icon: ' lucide:webhook' , color: ' #1ABC9C' , desc: ' External triggers' , docs: ' https://docs.openclaw.ai/cli/webhooks ' },
144+ { name: ' 1Password' , icon: siIcon (si1password ), color: ' #0572EC' , desc: ' Secure credentials' , docs: ' https://clawhub.ai/steipete /1password' },
145+ { name: ' Weather' , icon: ' lucide:cloud-sun' , color: ' #FFB300' , desc: ' Forecasts & conditions' , docs: ' https://clawhub.ai/steipete /weather' },
146146];
147147
148148const mediaCreative = [
149- { name: ' Image Gen' , icon: ' lucide:image' , color: ' #E91E63' , desc: ' AI image generation' , docs: ' https://clawhub.ai/skills /image-gen' },
150- { name: ' GIF Search' , icon: ' lucide:search' , color: ' #00DCDC' , desc: ' Find the perfect GIF' , docs: ' https://clawhub.ai/skills /gifgrep' },
151- { name: ' Peekaboo' , icon: ' lucide:eye' , color: ' #FF6B6B' , desc: ' Screen capture & control' , docs: ' https://clawhub.ai/skills /peekaboo' },
152- { name: ' Camera' , icon: ' lucide:camera' , color: ' #607D8B' , desc: ' Photo/video capture' , docs: ' https://clawhub.ai/skills /camera' },
149+ { name: ' Image Gen' , icon: ' lucide:image' , color: ' #E91E63' , desc: ' AI image generation' , docs: ' https://clawhub.ai/steipete /image-gen' },
150+ { name: ' GIF Search' , icon: ' lucide:search' , color: ' #00DCDC' , desc: ' Find the perfect GIF' , docs: ' https://clawhub.ai/steipete /gifgrep' },
151+ { name: ' Peekaboo' , icon: ' lucide:eye' , color: ' #FF6B6B' , desc: ' Screen capture & control' , docs: ' https://clawhub.ai/steipete /peekaboo' },
152+ { name: ' Camera' , icon: ' lucide:camera' , color: ' #607D8B' , desc: ' Photo/video capture' , docs: ' https://clawhub.ai/therohitdas /camera' },
153153];
154154
155155const socialComms = [
156- { name: ' Twitter/X' , icon: siIcon (siX ), color: ' #FFFFFF' , desc: ' Tweet, reply, search' , docs: ' https://clawhub.ai/skills /bird' },
157- { name: ' Email' , icon: ' lucide:mail' , color: ' #D44638' , desc: ' Send & read emails' , docs: ' https://clawhub.ai/skills /himalaya' },
156+ { name: ' Twitter/X' , icon: siIcon (siX ), color: ' #FFFFFF' , desc: ' Tweet, reply, search' , docs: ' https://clawhub.ai/steipete /bird' },
157+ { name: ' Email' , icon: ' lucide:mail' , color: ' #D44638' , desc: ' Send & read emails' , docs: ' https://clawhub.ai/lamelas /himalaya' },
158158];
159159
160160const showcase = [
0 commit comments