Spaces:
Sleeping
Sleeping
Commit History
-
Claude Code: Fix /api/trigger routing through a2a-proxy
Claude Code +1: Claude Opus 4.6The /api/trigger endpoint was falling into the catch-all proxy to OpenClaw, which doesn't know about this route. Add explicit routing to proxy /api/trigger to the FastAPI backend (A2A_PORT). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>19af8c5 -
Claude Code: Fix A2A communication - start a2a-proxy alongside FastAPI
Claude Code- entrypoint.sh: Now starts both FastAPI (7860) and A2A Proxy (7861) - Dockerfile: Expose ports 7860, 7861; install nodejs for proxy - a2a-proxy.cjs: Update port config; poll /health with User-Agent Fixes A2A gateway not running - proxy now forwards /a2a/* requests to FastAPI.ee3c7e7
-
fix: remove all Gradio code and references
- Deleted gradio_dashboard.py, app_analytics.py, app_broken.py - Deleted scripts/configure_space.py (Gradio cleanup script) - Removed Gradio health checks from health_monitor.py - Cleaned entrypoint.sh, README.md, SOUL.md of Gradio references - Cain uses sdk:docker + FastAPI only, no Gradio dependency Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>3d28748 -
Claude Code: Examine the repository root for or . Since the Dockerf
Claude Code74fa90e -
Claude Code: Remove A2A gateway and frontend for minimal Gradio mode
Claude Code +1: Claude Opus 4.6- Remove A2A gateway installation (RUN block) - Remove frontend COPY step (missing directory) - Disable token-redirect.cjs preload (depends on A2A) - Goal: Get Cain running in minimal mode (Gradio only) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>444f882 -
chore: Trigger container rebuild for Gradio app fix
Claude Coded43d04a
-
Claude Code: Refactor to use FastAPI as the backend instead of standard Grad
Claude Code2f8fc36 -
Claude Code: Add a system health dashboard to the Gradio interface. Create a new tab
Claude Code8f01fef -
Claude Code: Investigate the data persistence layer to ensure Cain's memories are saf
Claude Codeb0e4fe3 -
Claude Code: Fix the two critical bugs identified in the audit:
Claude Code1. **Memory System Pa7c437d -
Configure HF repository secrets for Cain data persistence
Claude Code +1: Claude Opus 4.6- Added set_secrets.py script to configure repository secrets via HF API - Set HF_TOKEN for dataset write access - Set OPENCLAW_DATASET_REPO to tao-shen/HuggingClaw-Cain-data - Set AUTO_CREATE_DATASET=true for automatic dataset creation - Initiated Space restart to apply environment variables - Created configuration report documenting the changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>4c8734f -
Claude Code: Verify Cain's memory persistence system is functioning correctly in runt
Claude Code83e5fd6 -
Claude Code: Review and verify Cain's HuggingFace dataset persistence configuration.
Claude Code3be6dbc -
Claude Code: Create a verification script at HF Dataset Persistence Verification
Claude Code======================================== ✅ Persistence fully configured - dataset: tao-shen/HuggingClaw-Home-data (auto-derived) • HF_TOKEN: ✓ Set • Dataset repo: tao-shen/HuggingClaw-Home-data • AUTO_CREATE_DATASET: true • Repository status: ✓ Exists Result: Persistence is READY that tests t8445d86 -
Trigger rebuild after config fix
Claude Codefbf13b2 -
Fix OpenAI provider config: Add models array and skip placeholder API keys
Claude Code- Add models array to openai provider to satisfy schema validation - Skip creating openai provider if API key is placeholder or starts with sk-or- (OpenRouter)dfa7888 -
Trigger restart (1773447074)
Claude Code2ae65c2 -
Claude Code: Cain is showing RUNTIME_ERROR status. I need you to:
Claude Code1. **Investigate tfd0440c
-
Fix Cain architecture: Align with parent HuggingClaw Node.js gateway
Claude Code +1: Claude Opus 4.6CRITICAL FIX: Cain was running in hybrid/broken state with Python Gradio app remnants instead of proper OpenClaw Node.js gateway. Changes: - Create app.py wrapper that calls sync_hf.py (starts Node.js gateway) - Remove obsolete Python files: app.py.bak, brain.py, launcher.py - Remove legacy config: config.json, models.json - Remove outdated docs: ONBOARDING_FLOW_REPORT.md - Update openclaw.json to match parent (OpenRouter, proper gateway config) - Update requirements.txt to only include huggingface_hub - Add /api/conv-loop-log endpoint to token-redirect.cjs for diagnostics Cain now runs as proper OpenClaw gateway on port 7860, not as Python app. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>f80944f -
Infrastructure migration: Align Cain with HuggingClaw architecture
Claude Code +1: Claude Opus 4.6This commit migrates Cain from the simple Python/Gradio architecture to the full HuggingClaw OpenClaw gateway system. This is critical infrastructure work to enable proper OpenClaw functionality. Major changes: - Replace Python Dockerfile with Node.js-based OpenClaw runtime - Add complete sync_hf.py for HF Dataset persistence (39KB vs 1.5KB stub) - Add entrypoint.sh with DNS resolution, proxy setup, and preload scripts - Add coding-agent extension for autonomous HF Space management - Add workspace-templates for agent identity configuration - Add proper openclaw.json configuration for gateway and providers - Include dns-fix.cjs, telegram-proxy.cjs, token-redirect.cjs for HF Spaces This migration enables Cain to run as a full OpenClaw instance with: - OpenClaw gateway system on port 7860 - A2A gateway extension support - HF Dataset persistence for ~/.openclaw state - Coding agent tools for autonomous space management - Proper Telegram and WhatsApp integration Co-Authored-By: Claude Op…8907cf8 -
Delete scripts/entrypoint.sh with huggingface_hub
Verified signature6251dfa -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature6ebe96a -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature9572f04 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature593c56d -
Upload scripts/backup_memory.py with huggingface_hub
Verified signature1760db0 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature4860b09 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signaturea59ba4e -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signatureea072eb -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature4fffe04 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature31b53f9 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signaturecf982d5 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature935063c -
Upload scripts/ensure_structure.sh with huggingface_hub
Verified signaturedc5f63f -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature88c4342 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature25b7172 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature1a4fa74 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signaturef0daa92 -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signature8d4595b -
Upload scripts/entrypoint.sh with huggingface_hub
Verified signatureb4fa1fa -
Upload scripts/openclaw.json.default with huggingface_hub
Verified signaturebaba131 -
Upload scripts/sync_hf.py with huggingface_hub
Verified signaturee2bd30e -
Upload scripts/sync.py with huggingface_hub
Verified signature03b9c12 -
Upload scripts/sync.py with huggingface_hub
Verified signature5d48f4e -
fix: delete devices dir to force fresh auto-pair, skip error replies
- Delete ~/.openclaw/devices/ on startup to force fresh auto-pair with operator.write/read scopes (fixes A2A dispatch error) - Conversation loop now checks task state=failed and skips errors - Force rebuild (v3.9) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1e3d376 -
fix: patch paired device scopes for OpenClaw 2026.2.19+ compatibility
- Add operator.write and operator.read to paired devices on startup - Fixes 'missing scope: operator.write' A2A dispatch error - Known OpenClaw bug: auto-pair doesn't grant new scopes (issue #23006) - Force rebuild (v3.8) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>d865e6e -
fix: clean up invalid auth.defaultScope from persisted config
- Remove auth.defaultScope and gateway.auth.scope on startup - These keys were synced to dataset backup and crash OpenClaw - Force rebuild (v3.7) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>b17d83b -
fix: revert invalid OpenClaw config keys causing RUNTIME_ERROR
- Remove auth.defaultScope and gateway.auth.scope (unrecognized by OpenClaw) - Remove security.scope from A2A gateway config - These caused "Config invalid" crash on all Spaces - Force rebuild (v3.6) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>9da0d8a -
fix: add operator scope to gateway auth and A2A security config
- Add scope: operator to gateway.auth to fix 'missing scope: operator.write' - Add scope: operator to A2A gateway security.scope - Add auth.defaultScope: operator for fallback - Force Docker rebuild (v3.5) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>ff25d4f -
feat: bilingual conversation, word-wrap bubbles, remove unused panels
- Conversation topic now concrete: survival/reproduction on HuggingFace - Bilingual output (EN/ZH) with language toggle in chat log panel - Fix guest bubble word wrap (was single-line, now wraps at 300px) - Remove memo, control-bar, guest-agent-panel (keep only chatlog) - Bubble and chatlog support text_zh field for Chinese translation - Force Docker rebuild (v3.3) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>b32e821 -
fix: switch conversation to English, longer replies (2-3 sentences), wider bubbles
3b2ade1