Skip to main content

A lightweight personal AI assistant framework

Project description

ShibaClaw

ShibaClaw 🐕

Security-first AI agent with built-in WebUI, native provider support, and hardened tools.

version PyPI Downloads python license DeepWiki


ShibaClaw is a security-first AI agent that runs in your terminal or in a browser-based WebUI. Instead of assuming the surrounding app will handle safety, it builds it into the core: install-time CVE auditing, randomized tool-output wrapping against prompt injection, SSRF and DNS rebinding protection, shell hardening, workspace sandboxing, and token auth. You still get the practical pieces you need for daily use: WebUI & onboarding, 22 LLM providers, built-in file tools, long-term memory, 11 chat channels, cron, heartbeat, skills, and MCP support.

Security, Built In

These are the defenses that are often left to app glue code or external proxies. In ShibaClaw they are part of the framework itself.

Layer Built in by default Why it matters
Install-time audit Audits pip and npm installs before execution; blocks critical/high CVEs Catches risky dependencies before they land in the environment
Prompt-injection wrapping Wraps every tool result in a randomized <tool_output_...> boundary and sanitizes closing tags Untrusted pages and files stay data, not instructions
Shell hardening 20+ deny patterns, escape normalization (\x.., \u....), internal URL detection Blocks common destructive or obfuscated commands
Network guard SSRF filtering, redirect revalidation, DNS-rebinding-safe resolution Prevents web tools from pivoting into localhost or private networks
Workspace sandbox File tools and the WebUI file browser stay inside the configured workspace Reduces traversal and accidental host-wide access
Access control Bearer token auth, constant-time token checks, channel allowlists, optional sender rate limiting Safer when the agent is exposed beyond a local shell
pip install shibaclaw
shibaclaw web               # open http://localhost:3000 → onboard wizard starts

Quick Start

Docker

git clone https://github.com/RikyZ90/ShibaClaw.git && cd ShibaClaw
docker compose up -d --build
docker exec -it shibaclaw-gateway shibaclaw print-token

Open http://localhost:3000 — paste the token if auth is enabled, then complete the onboard wizard in the browser.

pip

pip install shibaclaw
shibaclaw web --port 3000

Open http://localhost:3000 and complete the onboard wizard. Prefer the terminal? shibaclaw onboard runs the same guided setup from the CLI.


WebUI

WebUI Welcome Screen   WebUI Chat with Agent Settings — OAuth Providers

The WebUI is built-in — no separate frontend or Node.js required.

  • Chat — multi-session conversations with live streaming of tool calls, thinking blocks, and elapsed time
  • Agent Profiles — switch personas per session (Hacker, Builder, Planner, Reviewer) with dynamic avatars
  • File browser — browse, view, and edit workspace files in-browser (sandboxed to workspace)
  • Voice — speech-to-text via OpenAI-compatible audio APIs and browser-native TTS
  • Settings — configure agent, provider, tools, MCP servers, channels, skills, and OAuth from a single panel
  • Onboard wizard — guided first-time setup: pick a provider, enter API key or start OAuth, choose a model
  • Context viewer — inspect the full system prompt and token usage breakdown
  • Gateway monitor — health check and one-click restart
  • Auto-update — checks GitHub releases every 12h, notifies in the UI and on all active channels
  • Responsive — works on desktop and mobile

Agent Profiles

Agent Profile Selector

Switch the agent's personality on-the-fly without losing context. Each profile overrides the system prompt (SOUL.md) while keeping model, memory, and tools shared. Profiles are per-session — run a security audit in one tab and plan architecture in another.

Built-in profiles: Default · Builder · Planner · Reviewer · Hacker (elite security expert with 50+ tool recommendations, OWASP/MITRE/NIST methodologies, CVSS scoring, and a custom cyber-shiba avatar).

Create your own profiles interactively — the agent walks you through defining the persona and saves everything automatically.


Features

Memory & Workflow

  • Three-level memoryUSER.md (personal profile), MEMORY.md (operational facts), HISTORY.md (timestamped session archive with TF-IDF + recency search)
  • Proactive learning — every N messages the agent silently consolidates new learnings into memory, without interrupting the conversation
  • Focused background delegation — the spawn tool can offload a specific task and report back into the same session when done
  • Advanced reasoning — supports extended thinking (Anthropic), reasoning effort (OpenAI o-series), and DeepSeek-R1 chains

Tools

Tool What it does
exec Shell commands with 20+ deny-pattern guards, encoding normalization, and CVE scanning
read_file / write_file / edit_file Paginated reads, fuzzy find-and-replace, auto-created parent dirs
web_search Brave, Tavily, SearXNG, Jina, or DuckDuckGo (fallback, no key needed)
web_fetch HTTP fetch with SSRF protection, DNS rebinding defense, and redirect validation
memory_search Ranked search over session history (TF-IDF + recency + importance scoring)
message Cross-channel messaging with media attachments
cron Schedule one-time or recurring jobs (cron expressions, intervals, ISO dates, timezone-aware)
spawn Optional background worker for a focused task; reports back to the main session when done
MCP Connect any MCP server (stdio, SSE, or streamable HTTP) — tools auto-registered as mcp_<server>_<tool>

Channels

Telegram · Discord · Slack · WhatsApp · Matrix · Email · DingTalk · Feishu · QQ · WeCom · MoChat

All channels route through the same message bus. WhatsApp uses a Node.js bridge (Baileys) for QR-based linking.

Skills

8 built-in skills (GitHub, weather, summarize, tmux, cron reference, memory guide, skill-creator, ClawHub browser). Skills are Markdown files with YAML frontmatter and optional scripts — create your own or install from ClawHub. Pin frequently-used skills to load them on every conversation.

Automation

  • Cron service — persistent, timezone-aware scheduled jobs stored in jobs.json. Supports every, cron, and at schedules. Overdue jobs fire on startup.
  • Heartbeat — periodic wake-up reads HEARTBEAT.md, asks the LLM if there's work to do (via structured tool call, not free-text parsing), and executes if needed.

Security Policy

The table above is the operational summary. The full disclosure process, supported versions, and defense-in-depth notes live in SECURITY.md.


Supported Providers

ShibaClaw uses native SDKs (no LiteLLM proxy) and auto-detects the right provider from the model name.

API Key

Provider Env Variable
OpenAI OPENAI_API_KEY
Anthropic ANTHROPIC_API_KEY
DeepSeek DEEPSEEK_API_KEY
Google Gemini GEMINI_API_KEY
Groq GROQ_API_KEY
Moonshot MOONSHOT_API_KEY
MiniMax MINIMAX_API_KEY
Zhipu AI ZAI_API_KEY
DashScope DASHSCOPE_API_KEY

Gateway / Proxy

OpenRouter · AiHubMix · SiliconFlow · VolcEngine · BytePlus — auto-detected by key prefix or api_base.

Local

Ollama (http://localhost:11434) · vLLM · any OpenAI-compatible endpoint.

OAuth

Provider Flow Setup
GitHub Copilot Device flow, auto token refresh shibaclaw provider login github-copilot or WebUI Settings
OpenAI Codex PKCE browser flow shibaclaw provider login openai-codex or WebUI Settings

Architecture

ShibaClaw Architecture

Docker Compose

Service Role Default Port
shibaclaw-gateway Core agent loop, message bus, channel integrations 19999
shibaclaw-web WebUI (Starlette + Socket.IO), cron service 3000

Both share the ~/.shibaclaw/ volume (config, workspace, memory, cron jobs, media cache).

Single-process mode

shibaclaw web runs agent + WebUI + cron in a single process — no gateway container needed.

Stack

Layer Technology
Server Uvicorn → Starlette (ASGI) + python-socketio
Real-time Socket.IO (WebSocket primary, polling fallback)
Frontend Vanilla JS · Marked.js · Highlight.js
Sessions JSONL append-only per session (cache-friendly for LLM prompt prefixes)

Resource usage

Component RAM
Gateway < 200 MB
WebUI < 200 MB
Total (Docker) < 400 MB

CLI Reference

shibaclaw web               # Start WebUI (agent + cron in-process)
shibaclaw gateway            # Start gateway only (for Docker split)
shibaclaw onboard            # CLI-based first-time setup wizard
shibaclaw agent -m "Hello"   # One-shot message via terminal
shibaclaw agent              # Interactive REPL with history
shibaclaw status             # Provider, workspace, OAuth health check
shibaclaw print-token        # Show WebUI auth token
shibaclaw channels status    # List enabled channels
shibaclaw provider login <p> # OAuth login (github-copilot, openai-codex)

Latest — v0.0.25

  • Agent Profiles — per-session personas with dynamic avatars (Default, Builder, Planner, Reviewer, Hacker)
  • Hacker profile — elite security expert with 50+ tools, OWASP/MITRE methodologies, CVSS scoring
  • Custom profile creation — agent-guided interactive persona builder
  • Profile startup sync — templates auto-synced, corrupted manifests auto-repaired

→ Full history in CHANGELOG.md


Troubleshooting

Problem Try
General status check shibaclaw status
Container logs docker logs shibaclaw-gateway / docker logs shibaclaw-web
WebUI won't connect Check token with shibaclaw print-token, verify port binding
Provider errors shibaclaw status shows API key and OAuth state
Security policy SECURITY.md

Contributing

See CONTRIBUTING.md — PRs welcome.

Channels are extensible via Python entry points (shibaclaw.integrations). Skill creation is documented in docs/CHANNEL_PLUGIN_GUIDE.md and the built-in skill-creator skill.


Credits

Inspired by NanoBot by HKUDS — MIT License.


If you like ShibaClaw and want to help it grow:
Drop a star — 🐛 Open an issue — 🔧 Send a PR
contributions of any size are welcome

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shibaclaw-0.0.25.tar.gz (963.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shibaclaw-0.0.25-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file shibaclaw-0.0.25.tar.gz.

File metadata

  • Download URL: shibaclaw-0.0.25.tar.gz
  • Upload date:
  • Size: 963.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shibaclaw-0.0.25.tar.gz
Algorithm Hash digest
SHA256 9e5e80e0ea6e34ef6eee4c538e4bf925b36508215d1679915027a161fb155c34
MD5 3cbc1e10616e64f8e7e3f0bffd0360f8
BLAKE2b-256 13ab75408d3b88e4fc6f56f4d9a4179be0f4605a33290bfc05ae37b124c8493a

See more details on using hashes here.

Provenance

The following attestation bundles were made for shibaclaw-0.0.25.tar.gz:

Publisher: publish.yml on RikyZ90/ShibaClaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shibaclaw-0.0.25-py3-none-any.whl.

File metadata

  • Download URL: shibaclaw-0.0.25-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shibaclaw-0.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 4d7d54395a78f5fc58252f3924f2c8aba2266c8f7e2455217ff52c9d0bc33164
MD5 03c81dd74cc54f642d0db25f4c5ac230
BLAKE2b-256 6f58f7a700f49028b45c5bf534a20f033fbeefc222dfaa99cb8fa83443a3d1f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for shibaclaw-0.0.25-py3-none-any.whl:

Publisher: publish.yml on RikyZ90/ShibaClaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page