Open
Conversation
…, dashboard, Telegram Complete Step 1 "Bates Core" installer that gets a working AI assistant with dashboard and Telegram in 15 minutes: - Windows Inno Setup script (BatesCore.iss) + PowerShell WSL2 bootstrap (install.ps1) - Linux setup scripts: core-setup.sh, core-configure.sh, core-verify.sh - Shared libraries: common.sh, prerequisites.sh, template-engine.sh - 7 core workspace rules, 2 skills, templatized SOUL.md/TOOLS.md - Config templates: openclaw.json, auth-profiles.json, systemd service, crontab - 8 sanitized core scripts (health-check, watchdog, archive, tmux, etc.) - 2 plugins: cost-tracker + dashboard (glassmorphism UI, 14 panels, agent org chart) - Step 2 enhancement wizard scaffold (bates-enhance.sh) with 5 shared libraries - Build pipeline: sanitize-check.sh (15 forbidden patterns) + build-package.sh - All personal data sanitized — 0 forbidden patterns detected Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete bates-enhance package with all 14 integration setup scripts: - m365: 22 files (6 refs, 3 rules, 6 skills, 4 scripts, 14 cron jobs) - agents: 15 files (12 deputy configs, 8 scripts, 15 cron jobs, delegation rules) - search: 11 files (6 Python scripts, config.yaml template, Ollama setup) - teams, twilio, social, tailscale, google: medium integrations with configs - telegram, elevenlabs, image, github, deepseek, websearch: simple integrations Also includes: - Patch management: cost-footer, adaptive-cards, channel-bridge, reapply-patches.sh - 8 documentation guides (manual-steps for each integration + troubleshooting) - All sanitized — 0/15 forbidden patterns detected Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…hema Found via Option B testing (fresh user install). 8 schema errors prevented gateway startup: wrong key names (definitions→list, token→botToken, ttlMinutes→ttl), misplaced sections (heartbeat, session), and missing required fields (gateway.mode, model object format, subagents config). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add prominent disclaimer to README: experimental software, no warranty, use at your own risk, not affiliated with any third-party services - Fix core-configure.sh: openclaw models auth setup-token requires an interactive TTY. Now falls back to manual credential storage when piped input is detected, with instructions to complete setup later. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code is essential for delegation (run-delegation.sh, claude-tmux.sh, coding-agent skill) but was never installed. Also adds tmux which is needed for the claude-tmux.sh persistent session wrapper. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All config fragments and setup scripts were using non-existent OpenClaw
config keys (mcp, features, assistant) and wrong key names/paths.
Fixed to match actual OpenClaw v2026.2 schema:
- telegram: token -> botToken, removed allowFrom, added dmPolicy/streamMode
- twilio: channels.voice -> plugins.entries.voice-call.config,
maxConcurrent -> maxConcurrentCalls
- elevenlabs: channels.voice.tts -> plugins.entries.voice-call.config.tts.elevenlabs,
model -> modelId, added talk section
- m365: removed assistant/mcp keys, use env.vars; fixed config_merge -> config_merge_inline
- github: removed mcp key, store token in env.vars
- google: removed mcp key, store credentials in env.vars
- websearch: removed mcp key, use tools.web.search for Brave,
models.providers for Perplexity
- image: removed features key, store API keys in env.vars
- search: removed features key (search index uses own config.yaml)
- social: removed features key, store MixPost URL in env.vars
- deepseek: replaced {enabled:true} with full provider structure
(baseUrl, apiKey, api, models array), added template rendering
- agents: added archiveAfterMinutes and model to subagents config
- config-merge.sh: fixed telegram and voice helper functions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- bates-icon.ico: Multi-size ICO (256/128/64/48/32/16) from app icon - installer-banner.bmp: 164x314 wizard banner from splash screen - installer-logo.bmp: 55x55 wizard logo from avatar - installer-splash.png: Full splash screen for reference - BatesCore.iss: Enable SetupIconFile, WizardSmallImageFile, WizardImageFile referencing the new assets Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- All 12 deputy heartbeat crons now include delivery config with
{{PRIMARY_CHANNEL}}/{{DELIVERY_TARGET}} placeholders and bestEffort
- Heartbeat prompts reference deputy-specific HEARTBEAT.md paths
({{HOME}}/.openclaw/agents/{name}/HEARTBEAT.md) instead of generic
- message-router cron changed to sessionTarget: "isolated" to prevent
main session pollution
- daily-standup-compile and weekly-strategy-review get proper delivery
- cron-unlock.sh resolves {{USER_TZ}}, {{PRIMARY_CHANNEL}},
{{DELIVERY_TARGET}}, {{HOME}} from env vars or openclaw.json config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- channel-bridge.patch.ts: add __openclawUpdateTeamsCard bridge + abort-signal blocking fix - send-update.patch.ts: new patch for updateAdaptiveCardMSTeams function - policy-dm.patch.ts: new patch fixing DM proxy revocation (replyStyle thread -> top-level) - reapply-patches.sh: add sections 4-5 for send.ts and policy.ts auto-patching - model-fallback.sh: expand from 2 to 4 provider options (+ Codex 5.3, Gemini, Sonnet) - troubleshooting.md: add proxy revocation fix, channel auto-restart loop, 1M context warning Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sub-agent result cards, thinking bubbles, progress updates, and failure cards now show the deputy's unique avatar image instead of a generic robot emoji. Avatars are served from GitHub raw URLs (public repo) so Teams servers can fetch them directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DISCLAIMER.txt: standalone file with full experimental/risk/autonomous-agent warnings - BatesCore.iss: shows disclaimer as Inno Setup license page (must click "I accept"), Apache 2.0 license shown as info-before page - install.ps1: shows disclaimer and requires "I ACCEPT" before Windows bootstrap; persists acceptance marker to avoid re-prompting after reboot - core-setup.sh: shows disclaimer and requires "I ACCEPT" before Linux setup; supports BATES_ACCEPT_DISCLAIMER=yes for non-interactive/CI use Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bates-enhance.shwizard with 14 optional integrations: Microsoft 365, Teams, Twilio voice calls, ElevenLabs TTS, search index, image generation, social media, Tailscale, on-demand agents (12 deputies), Google APIs, GitHub, DeepSeek, and web searchStats
Test plan
sanitize-check.sh— verify 0/15 forbidden patternscore-setup.sh+core-configure.sh+core-verify.shon fresh WSL2 UbuntuBatesCore.isswith Inno Setup 6 on Windowsbates-enhance.shand test individual integrations{{PLACEHOLDER}}values correctly🤖 Generated with Claude Code