feat: add Clawdbot integration for mobile AI access#118
Conversation
- Add tools/ai-assistants/clawdbot.md subagent with full documentation - Update overview.md with Clawdbot as recommended multi-channel assistant - Update onboarding.md with Clawdbot setup instructions and recommendations - Strengthen AGENTS.md file discovery rules to prevent mcp_glob misuse - Mark t046 as complete in TODO.md Clawdbot provides AI access via WhatsApp, Telegram, Slack, Discord, Signal, iMessage, and Teams with local gateway and voice wake features.
|
Caution Review failedThe pull request is closed. Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds comprehensive Clawdbot documentation across agent docs, refines File Discovery guidance with a "Why this matters" CPU-cost note recommending Bash alternatives over Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the system's AI capabilities by integrating Clawdbot, a personal AI assistant designed for mobile and multi-channel access. It provides comprehensive documentation, integrates setup instructions into the onboarding process, and updates the overall AI assistant recommendations. Additionally, it refines internal file discovery guidelines to improve performance and clarity. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
🤖 Augment PR SummarySummary: This PR adds first-class Clawdbot documentation/integration so aidevops users can access their AI assistant from mobile and multiple chat channels while keeping the gateway local. Changes:
Technical Notes: Clawdbot is documented as running a local gateway at 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Code Review
This pull request introduces Clawdbot integration, providing AI access through various messaging platforms. The changes are comprehensive, including a new subagent definition for Clawdbot, updates to the onboarding process and AI assistants overview, and a clarification of file discovery rules. The documentation is thorough. My review includes a couple of suggestions to enhance consistency and clarity in the updated markdown files.
| | Content + file list | `rg --files -g '*.md'` | Fast, respects .gitignore | | ||
| | **Bash unavailable only** | `mcp_glob` tool | Last resort - CPU intensive | | ||
|
|
||
| **Default**: `git ls-files` for any repo. `fd` for `~/.config/` or untracked files. |
There was a problem hiding this comment.
For consistency with the table above, it would be clearer to also mention the use case for rg in the default recommendations. The current text only covers git ls-files and fd.
| **Default**: `git ls-files` for any repo. `fd` for `~/.config/` or untracked files. | |
| **Default**: `git ls-files` for tracked files. `fd` for untracked/system files. `rg` when searching by content. |
|
|
||
| | Service | Requirements | Setup | Purpose | | ||
| |---------|--------------|-------|---------| | ||
| | Clawdbot | Node.js >= 22 | `npm install -g clawdbot@latest && clawdbot onboard` | AI via WhatsApp, Telegram, Slack, Discord | |
There was a problem hiding this comment.
The setup command in this summary table is slightly different from the recommended command in the detailed code block below; it's missing the --install-daemon flag. For consistency, it would be best if they matched.
| | Clawdbot | Node.js >= 22 | `npm install -g clawdbot@latest && clawdbot onboard` | AI via WhatsApp, Telegram, Slack, Discord | | |
| | Clawdbot | Node.js >= 22 | `npm install -g clawdbot@latest && clawdbot onboard --install-daemon` | AI via WhatsApp, Telegram, Slack, Discord | |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In @.agent/AGENTS.md:
- Around line 124-129: The "Content + file list" row is inaccurate because the
command shown (`rg --files -g '*.md'`) only lists files and does not search
content; update that table row by either renaming the use-case label to
something like "File list (no content search)" to match `rg --files -g '*.md'`,
or change the command to perform a content search such as `rg -n --glob '*.md'
'<pattern>'` (replace <pattern> with the intended search term); locate the table
row containing the label "Content + file list" and the command `rg --files -g
'*.md'` and apply one of these two fixes to make the label and command
consistent.
In @.agent/tools/ai-assistants/clawdbot.md:
- Around line 115-157: Update the examples that expose real credentials by
replacing literals with clear placeholders (e.g., replace "+1234567890" in
allowFrom, "123456:ABCDEF" in botToken, and "your-bot-token" in token) and
mention secure secret storage; update the JSON examples under channels.whatsapp
(allowFrom), channels.telegram (botToken) and channels.discord (token) to use
placeholder values and add a short note telling users to store real secrets in
environment variables (TELEGRAM_BOT_TOKEN, SLACK_BOT_TOKEN, DISCORD_BOT_TOKEN)
or a secure secrets store rather than embedding them in the config file.
In `@TODO.md`:
- Line 183: The TOON entry with id t046 uses the status value "completed" which
is inconsistent with other entries that use "done"; update the entry in TODO.md
(the line starting with "t046,Review Clawdbot for inspiration and incorporation
into aidevops") to replace "completed" with "done" so it matches the existing
convention and avoids parser ambiguity.
| | Use Case | Command | Why | | ||
| |----------|---------|-----| | ||
| | Git-tracked files | `git ls-files '*.md'` | Instant, most common case | | ||
| | Untracked/system files | `fd -e md` or `fd -g '*.md'` | Fast, respects .gitignore | | ||
| | Content + file list | `rg --files -g '*.md'` | Fast, respects .gitignore | | ||
| | **Bash unavailable only** | `mcp_glob` tool | Last resort - CPU intensive | |
There was a problem hiding this comment.
Fix mismatch between use-case label and command.
rg --files only lists files; it doesn’t search content. Rename the use case or include a content search pattern.
✅ Example fix (label only)
-| Content + file list | `rg --files -g '*.md'` | Fast, respects .gitignore |
+| File list with glob | `rg --files -g '*.md'` | Fast, respects .gitignore |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | Use Case | Command | Why | | |
| |----------|---------|-----| | |
| | Git-tracked files | `git ls-files '*.md'` | Instant, most common case | | |
| | Untracked/system files | `fd -e md` or `fd -g '*.md'` | Fast, respects .gitignore | | |
| | Content + file list | `rg --files -g '*.md'` | Fast, respects .gitignore | | |
| | **Bash unavailable only** | `mcp_glob` tool | Last resort - CPU intensive | | |
| | Use Case | Command | Why | | |
| |----------|---------|-----| | |
| | Git-tracked files | `git ls-files '*.md'` | Instant, most common case | | |
| | Untracked/system files | `fd -e md` or `fd -g '*.md'` | Fast, respects .gitignore | | |
| | File list with glob | `rg --files -g '*.md'` | Fast, respects .gitignore | | |
| | **Bash unavailable only** | `mcp_glob` tool | Last resort - CPU intensive | |
🤖 Prompt for AI Agents
In @.agent/AGENTS.md around lines 124 - 129, The "Content + file list" row is
inaccurate because the command shown (`rg --files -g '*.md'`) only lists files
and does not search content; update that table row by either renaming the
use-case label to something like "File list (no content search)" to match `rg
--files -g '*.md'`, or change the command to perform a content search such as
`rg -n --glob '*.md' '<pattern>'` (replace <pattern> with the intended search
term); locate the table row containing the label "Content + file list" and the
command `rg --files -g '*.md'` and apply one of these two fixes to make the
label and command consistent.
| Configure allowlist in `~/.clawdbot/clawdbot.json`: | ||
|
|
||
| ```json5 | ||
| { | ||
| channels: { | ||
| whatsapp: { | ||
| allowFrom: ["+1234567890"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| #### Telegram | ||
|
|
||
| ```json5 | ||
| { | ||
| channels: { | ||
| telegram: { | ||
| botToken: "123456:ABCDEF" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Or set `TELEGRAM_BOT_TOKEN` environment variable. | ||
|
|
||
| #### Slack | ||
|
|
||
| Set `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` environment variables. | ||
|
|
||
| #### Discord | ||
|
|
||
| ```json5 | ||
| { | ||
| channels: { | ||
| discord: { | ||
| token: "your-bot-token" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Or set `DISCORD_BOT_TOKEN` environment variable. |
There was a problem hiding this comment.
Replace credential literals with placeholders + add secure storage note.
Examples include phone numbers and bot tokens; per doc rules, use placeholders and call out secure storage location for secrets.
As per coding guidelines, please update examples to placeholders and add a secure storage note.
🔧 Suggested doc tweaks
- allowFrom: ["+1234567890"]
+ allowFrom: ["+<YOUR_PHONE_NUMBER>"]
- botToken: "123456:ABCDEF"
+ botToken: "<TELEGRAM_BOT_TOKEN>"
- token: "your-bot-token"
+ token: "<DISCORD_BOT_TOKEN>"
-Or set `TELEGRAM_BOT_TOKEN` environment variable.
+Or set `TELEGRAM_BOT_TOKEN` via a secure credential store (do not commit to repo).
-Or set `DISCORD_BOT_TOKEN` environment variable.
+Or set `DISCORD_BOT_TOKEN` via a secure credential store (do not commit to repo).🤖 Prompt for AI Agents
In @.agent/tools/ai-assistants/clawdbot.md around lines 115 - 157, Update the
examples that expose real credentials by replacing literals with clear
placeholders (e.g., replace "+1234567890" in allowFrom, "123456:ABCDEF" in
botToken, and "your-bot-token" in token) and mention secure secret storage;
update the JSON examples under channels.whatsapp (allowFrom), channels.telegram
(botToken) and channels.discord (token) to use placeholder values and add a
short note telling users to store real secrets in environment variables
(TELEGRAM_BOT_TOKEN, SLACK_BOT_TOKEN, DISCORD_BOT_TOKEN) or a secure secrets
store rather than embedding them in the config file.
| t044,Enhance Vaultwarden agent with bitwarden-cli MCP integration,,tools|credentials|security,2h,1h,30m,30m,2025-01-08T00:00Z,pending,,, | ||
| t045,Create Enpass agent using enpass-cli,,tools|credentials|security,4h,2h,1h,1h,2025-01-08T00:00Z,pending,,, | ||
| t046,Review Clawdbot for inspiration and incorporation into aidevops,,research|agents|messaging,4h,2h,1h,1h,2025-01-09T00:00Z,pending,,, | ||
| t046,Review Clawdbot for inspiration and incorporation into aidevops,,research|agents|messaging,4h,2h,1h,1h,2025-01-09T00:00Z,completed,2026-01-18T10:00Z,2026-01-18,2h |
There was a problem hiding this comment.
Align TOON status with existing “done” convention.
Other TOON entries use done; consider matching that to avoid parser ambiguity.
🔧 Suggested fix
-t046,...,completed,2026-01-18T10:00Z,2026-01-18,2h
+t046,...,done,2026-01-18T10:00Z,2026-01-18,2h📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| t046,Review Clawdbot for inspiration and incorporation into aidevops,,research|agents|messaging,4h,2h,1h,1h,2025-01-09T00:00Z,completed,2026-01-18T10:00Z,2026-01-18,2h | |
| t046,Review Clawdbot for inspiration and incorporation into aidevops,,research|agents|messaging,4h,2h,1h,1h,2025-01-09T00:00Z,done,2026-01-18T10:00Z,2026-01-18,2h |
🤖 Prompt for AI Agents
In `@TODO.md` at line 183, The TOON entry with id t046 uses the status value
"completed" which is inconsistent with other entries that use "done"; update the
entry in TODO.md (the line starting with "t046,Review Clawdbot for inspiration
and incorporation into aidevops") to replace "completed" with "done" so it
matches the existing convention and avoids parser ambiguity.
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Sun Jan 18 17:40:45 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |



Summary
tools/ai-assistants/clawdbot.md) with comprehensive documentationmcp_globmisuseWhat is Clawdbot?
Clawdbot is a personal AI assistant that runs locally and provides AI access via:
Changes
.agent/tools/ai-assistants/clawdbot.md.agent/tools/ai-assistants/overview.md.agent/onboarding.md.agent/AGENTS.mdTODO.mdFile Discovery Fix
The AGENTS.md now includes a stronger "STOP" self-check for
mcp_glob:Testing
Closes t046
Summary by CodeRabbit
New Features
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.