Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

614 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

thClaws 🦞

The open-source agent harness, in your terminal and on your desktop.

A native-Rust AI agent workspace that codes, automates, remembers, and coordinates — running on your own machine. One binary. Sovereign by design. Built by a small team hacking in public.

GitHub stars Contributors Discussions Release CI License: MIT OR Apache-2.0 Platform Built with Rust

Website · Download · Manual · Enterprise · Discussions · Contribute · Supporters


🆕 New in v0.126.0 — many agents, one workspace

A workspace is no longer one agent. It is a shelf of them. Keep your coding agent, a research agent, and a book-writing agent side by side in the same project, and switch between them from a rail on the left without losing anything — each one keeps its own conversation, scroll position, and half-typed message while you are away.

┌────┬───────────────────────────────────────────────┐
│ MA │  Chat · Terminal · Files · UI                 │
│ RE │                                               │
│ BA │  every agent: its own sessions, memory,       │
│    │  settings, and browser logins                 │
│  + │                                               │
└────┴───────────────────────────────────────────────┘
  • Each agent is self-contained. Its own sessions, knowledge bases, settings, and browser profile, in its own folder under .thclaws/bots/<name>/. An agent's file tools stop at that folder, so one agent cannot read or write another's work.
  • They run side by side. Every agent is its own process, supervised by the app. An agent that crashes is restarted without disturbing the others, and an agent you switch away from keeps working.
  • Add an agent from the rail's +. Get any Agent Template from thClaws.cloud, or start a blank agent that behaves exactly like opening a new folder. Up to 8 agents run at once.
  • Desktop and browser alike. The same rail works in the desktop app and in thclaws --serve.

Your existing workspaces upgrade themselves. The first time v0.126.0 opens a workspace — in the desktop app or with --serve — it moves your project into .thclaws/bots/main/ (git history included) and tells you it did. Scripts keep working: thclaws -p and --cli at the workspace root step into that first agent automatically. An older thClaws opening an upgraded folder finds a note asking you to update, rather than a broken project.

Before you upgrade: anything that holds your project's old path — an editor window, a script with an absolute path, another clone — needs the new one. Commit or back up first if that matters to you. Your home directory is never upgraded, and hosted workspaces on thClaws.cloud are not migrated by this release.

Full list of changes: CHANGELOG.md


See it work

Three tabs, one binary — captured from a live thClaws session looking at its own source.

thClaws Desktop GUI — cycling through Files, Terminal, and Chat tabs

Files (codemirror + tiptap) · Terminal (REPL · slash commands · ANSI tool output) · Chat (markdown render · tool indicators)


Highlights

🎨 Media Studio — generate images & video, built in

A point-and-click shell for the new media tools — Text → Image, Image Edit, Text → Video, and Image → Video — across Google Gemini, OpenAI gpt-image-2, Alibaba Qwen, Veo, and DashScope HappyHorse. Pick a provider/model, set the resolution, hit Generate; finished media lands in a live gallery you can click to reuse as the source for the next run. The same tools (TextToImage / ImageToImage / TextToVideo / ImageToVideo / MediaJobStatus) are callable by the agent from chat too — async video included.

thClaws Media Studio — text-to-image with a live gallery of generated media

🧠 OpenRouter Fusion — many models, one answer

openrouter/fusion fans your question out to a panel of up to 8 models in parallel (each can search the web), then a judge weighs the answers and synthesizes the consensus — multi-model deliberation packaged as a single model id. The new openrouter/fusion+ makes it fully configurable right from the model picker: choose the panel, the judge, the per-model tool-call budget, temperature, reasoning effort, and tool-choice. A practical stand-in when the model you'd reach for isn't available on the platform.

thClaws — configuring the OpenRouter Fusion panel, judge, and limits

Docs: media tools · Media Studio · Fusion setup

Recently shipped

A release most weeks. Full history in the changelog; the things most likely to matter to you:

  • Enterprise policy + client-side audit trail — a signed org policy file turns the same binary into a managed client: branding, an extension allow-list, a forced LLM gateway, OIDC SSO, a forced permission mode, and a payload-free record of every tool call. (ENTERPRISE.md · ภาษาไทย)
  • OS-level Bash confinement, on by default — shell commands run inside a kernel-enforced filesystem boundary (macOS Seatbelt, Linux Landlock, bubblewrap fallback), so an obfuscated command still can't write outside the workspace.
  • Thai PII masking — an opt-in pipeline that detects and tokenizes Thai personal data before it reaches the model, then restores it in the output.
  • Movie Maker — screenplay → shots → generated video, end to end.
  • Browser automation — drive a real Chrome session as a tool.
  • Workflows — deterministic multi-agent scripts (/workflow run).
  • GUI Shells — ship a custom HTML surface with your agent, themed and bridged to sessions, memory and tools.
  • thclaws.cloud — an agent catalog, a hosted runtime, and a metered gateway for people who don't want to hold provider keys.

Hacking in public

thClaws started in April 2026. Since then it has shipped 100+ public releases, drawn 30+ contributors, and lands roughly a release a week — the current release is v0.121.0. It's developed by a small team at ThaiGPT Co., Ltd. — and a meaningful chunk of the codebase comes from outside contributors who heard about it and stayed.

We're aiming for v1.0 = "the multi-platform agent": the same agent loop on your desktop, in your terminal, and bridged into Telegram, Discord, Slack, WhatsApp, Facebook Messenger, and LINE. Telegram, LINE, and Messenger are already shipping. Discord, Slack, and WhatsApp are next — and they're great places to plug in. (Contribute →)

Built in Thailand. Meant for the world.


Four surfaces, one engine

The same Agent loop, Session, and ToolRegistry back every UX:

  • Desktop GUI (thclaws) — native window with Terminal, Chat, Files, and optional Team tabs.
  • CLI REPL (thclaws --cli) — interactive terminal prompt for SSH, headless servers, or zero-GUI workflows.
  • Non-interactive mode (thclaws -p "prompt") — single turn, exits. Pipe-friendly for scripts and CI. -v for token usage on stderr.
  • Webapp (thclaws --serve --port 7878) — same engine over WebSocket/HTTP, plus a drop-in API surface so other tools can drive the agent: OpenAI-compatible at /v1/chat/completions and Anthropic-compatible at /v1/messages. Point the openai or anthropic SDK at it, or set ANTHROPIC_BASE_URL. SSH-tunnel for "Claude Code anywhere" without opening a port.

Features

Everything's in one binary. Pick the surface that fits the task, swap the provider, drop in a skill, glue in an MCP server, then walk away while a scheduled job or background agent finishes the work.

  • Multi-provider — Anthropic (native + Claude Agent SDK via Claude Code auth), OpenAI (Chat Completions + Responses/Codex), Google Gemini & Gemma, Alibaba DashScope (Qwen), DeepSeek, Z.ai (GLM Coding Plan), NVIDIA NIM, NSTDA Thai LLM (OpenThaiGPT, Typhoon, Pathumma, THaLLE), xAI (Grok), Moonshot (Kimi), MiniMax, OpenRouter, Agentic Press, Azure AI Foundry, Ollama (local + Anthropic-compatible + Cloud), LMStudio, plus a generic OpenAI-compatible slot (oai/*) and first-class LiteLLM for internal proxies. The shipped catalogue carries 1,100+ models across 27 providers — LLM plus image, video and audio. Switch mid-session with /model or /provider.
  • Open standards, not a walled gardenModel Context Protocol for tools, AGENTS.md for project instructions (adopted by Google, OpenAI, Factory, Sourcegraph, Cursor), SKILL.md with YAML frontmatter for packaged workflows. Configuration portable between thClaws, other compliant agents, and whatever comes next.
  • Skills, plugins, MCP servers, hooks — extend the agent without touching Rust. Skills are folders with a SKILL.md. Plugins bundle skills + commands + agent definitions + MCP servers under one manifest. MCP brings in third-party tools (GitHub, filesystems, browsers, Slack…) over stdio or HTTP-Streamable with OAuth 2.1+PKCE. Hooks run shell scripts on lifecycle events (pre_tool_use, permission_denied, session_start, …).
  • Three tiers of agent orchestration — model-driven subagents (Task tool, blocking, up to 3 levels deep); user-driven concurrent side-channels (/agent <name> <prompt>, parallel to main, own cancel token); multi-process Agent Teams with shared mailbox, task queue, tmux panes, and optional git worktrees.
  • Knowledge bases (KMS) + /dream — per-project and per-user wikis under .thclaws/kms/<name>/pages/, indexed by a one-line index.md. Grep + read (no embeddings), following Andrej Karpathy's LLM-wiki pattern. /dream mines your recent sessions in the background and writes a dated audit-trail page to review with git diff.
  • Plan modeEnterPlanMode proposes an ordered list of steps you Approve / Cancel / Skip / Retry. Same UX in GUI sidebar and /plan slash command.
  • Schedule recurring jobs/schedule add runs an agent on cron, fixed intervals, or filesystem changes (watchWorkspace). In-process scheduler for ephemeral, native daemon (launchd / systemd-user) for survives-reboot.
  • Long-running loops & overnight builds/loop for fixed-interval iteration, /goal for audit-driven completion. /goal --auto is a Ralph-style overnight builder that keeps going until the goal is satisfied or you wake up.
  • Document workflow — native PDF, DOCX, PPTX, XLSX read + edit + create tools, plus image rendering. Ingest a 50-page PDF, summarize into KMS, produce a follow-up deck — one conversation.
  • Memory & project instructionsAGENTS.md (or CLAUDE.md) walked up from cwd and injected into the system prompt. Persistent memory store classified as user / feedback / project / reference, stored as markdown you can read, edit, or commit.
  • Settings as one file.thclaws/settings.json (project) or ~/.config/thclaws/settings.json (user). API keys go in the OS keychain by default (macOS Keychain / Windows Credential Manager / Linux Secret Service) with .env fallback for CI.
  • Session resumethclaws --resume last or --resume <id>. Sessions live as JSONL under .thclaws/state/sessions/ — git-friendly, grep-friendly, never opaque.
  • Safety first — shell commands run inside an OS-enforced filesystem boundary (macOS Seatbelt, Linux Landlock, bubblewrap fallback), so obfuscation doesn't get a command out of the workspace; modes workspace (default) / strict / off. On top of that: a filesystem sandbox scoped to the working directory, destructive commands flagged, and your approval on every mutating tool call unless you've opted into auto-approve. Permission requests label which agent is asking when multiple are running.
  • Offline-capable — Ollama (native + Anthropic-compatible) lets you run entirely against a local model. No cloud round-trip, no API key.
  • Media, end to end — Media Studio generates images and video (Gemini, OpenAI gpt-image, Qwen, Veo, LTX, iApp for Thai text) from a point-and-click shell or from chat; Movie Maker takes a screenplay through shots to a finished film.
  • Browser automation — drive a real Chrome session as a tool: navigate, read the page, fill forms, capture screenshots.
  • Workflows & GUI Shells/workflow run scripts deterministic multi-agent pipelines; GUI Shells let you ship a custom HTML surface bridged to sessions, memory and tools, themed with the app.
  • Thai PII masking (opt-in) — detects and tokenizes Thai personal data before the model ever sees it, then restores it on the way out. Per-workspace toggle.
  • Enterprise Edition — same binary, your rules — a signed org policy file adds branding, an install allow-list, a forced LLM gateway, OIDC single sign-on, a forced permission mode and tool deny-list, and a payload-free audit trail of every tool call. No licence server, nothing phones home, and every control is in this repo. See ENTERPRISE.md (ภาษาไทย).
  • thclaws.cloud — an agent catalog, a hosted runtime, and a metered gateway, for people who'd rather not hold provider keys. Optional; the desktop binary never needs it.
  • Deploy what you build — ship landing pages, web apps, APIs, and AI agents through Agentic Press Hosting (partnered with SIS Cloud Service and Artech.Cloud) — or any host you prefer. Deploy flow ships as a plugin (/plugin install …-deploy), so hosts are swappable. The client never locks you in.
  • Shell escape — prefix any REPL line with ! to run a shell command directly. No tokens, no approval prompt, no agent round-trip (! git status, ! ls).

Contribute

We'd love your help. thClaws is built in the open by a small team and 30+ contributors so far. Reviews are typically fast, the codebase is approachable, and there's plenty of room to make a real dent.

Quick start for contributors

git clone https://github.com/thClaws/thClaws.git
cd thClaws

# One-shot: build frontend, then cargo build --features gui
./scripts/build.sh           # macOS / Linux
./scripts/build.ps1          # Windows PowerShell

# Verification suite (cargo fmt --check, clippy, tsc, cargo test)
./scripts/build.sh --check

# Run
cargo run --features gui              # GUI
cargo run -- --cli                    # CLI REPL
cargo run -- -p "explain crates/core" # one-shot

Prerequisites: current stable Rust (what CI builds on — nothing pins an MSRV), Node.js 20+, pnpm 10+ (frontend/package.json pins packageManager: [email protected], so corepack refuses 9). The helper enforces frontend-before-cargo order (the GUI build embeds frontend/dist/index.html at compile time via include_str!). See CONTRIBUTING.md for the full PR workflow.

Where we need help right now

If you want to land something impactful, these are the places we'd most love a hand:

  • 🚀 Discord adapter — bridge the agent into a Discord guild (same shape as our shipping Telegram + Messenger adapters in crates/core/src/messenger/ and friends).
  • 🚀 Slack adapter — same idea, Slack-side.
  • 🚀 WhatsApp adapter — round out the v1.0 multi-platform thesis.
  • 🪟 Windows ARM polish — installer, GUI smoke-test on Surface / Snapdragon X.
  • 🧠 KMS embeddings (opt-in) — current KMS is grep + read; an optional embeddings layer alongside (not replacing) would be welcome.
  • 🌏 i18n & translations — manual chapters and UI strings are EN/TH today; we'd love help with more locales.
  • 🧩 Skills, plugins, MCP servers — no Rust needed. Build one, ship it on GitHub, list it on the marketplace. (See Skills documentation.)
  • 📝 Docs, examples, walkthroughs — typo fixes welcome, case studies even more welcome.

Browse good first issues or help wanted to start. If you want to land something bigger, drop into Discussions and pitch it first — that's the lowest-friction path.

Codebase tour

Everything ships from a single crate, crates/core/. The interesting modules:

Path What it does
crates/core/src/agent.rs + agent_runtime.rs The agent loop — turns, tool calls, streaming, cancellation
crates/core/src/commands.rs Slash-command registry (/help, /model, /skill, /schedule, …)
crates/core/src/kms.rs Knowledge bases (per-project + per-user) with KmsRead/Search/Write/Append tools
crates/core/src/memory.rs Persistent memory store (user / feedback / project / reference)
crates/core/src/mcp.rs MCP transport (stdio + HTTP-Streamable + OAuth 2.1 PKCE)
crates/core/src/hooks.rs Lifecycle hooks (pre_tool_use, post_tool_use, …)
crates/core/src/marketplace.rs Skill / plugin marketplace client
crates/core/src/permissions.rs Filesystem sandbox + tool approval flow
crates/core/src/compaction.rs Context-window management
crates/core/src/messenger/, line/ Multi-platform adapters (the v1.0 thesis)
crates/core/src/confine.rs OS-level Bash confinement (Seatbelt / Landlock / bubblewrap)
crates/core/src/policy/ + audit/ Enterprise org policy (Ed25519 verify) and the tool-call audit trail
crates/core/src/media/ Image / video generation providers behind the media tools
crates/core/src/api_v1/ OpenAI-compatible HTTP API served by --serve
crates/core/src/gui.rs + ipc.rs wry/tao ↔ React bridge
frontend/src/ React + Vite GUI (bundled into a single HTML file via include_str!)

Deeper engineering reference: thclaws-technical-manual/ — agent loop, provider abstraction, KMS internals, side-channel + /dream plumbing, schedule daemon, hooks lifecycle, plan-mode driver, and the rest. Read this before sending non-trivial PRs.

Contributors

A huge thank you to the people who've shaped thClaws so far:

thClaws contributors

Installation

Build from source

The fastest path if you want to contribute or just see how it's built. See Contribute → Quick start.

Pre-built binaries

Download for your platform from the Releases page or thclaws.ai/downloads.

Supported: macOS (Apple Silicon & Intel), Windows (x86_64 & ARM64), Linux (x86_64 & ARM64).

Linux runtime dependencies — needed for the GUI binary on headless servers

The Linux GUI binary links against Wayland and webkit2gtk at runtime. Desktop distros (Ubuntu Desktop, Fedora Workstation) ship these by default. Headless servers (cloud VMs, EC2, Docker images without a display) typically don't — thclaws will fail at startup with error while loading shared libraries: libwayland-client.so.0.

Two options:

(a) Use CLI mode — no GUI deps required:

thclaws --cli
thclaws -p "what does src/main.rs do?"

(b) Install the GUI deps:

# Debian / Ubuntu
sudo apt install libwayland-client0 libwebkit2gtk-4.1-0 libsoup-3.0-0

# Fedora / RHEL
sudo dnf install wayland libsoup3 webkit2gtk4.1

Quick start

# First run: pick a secrets backend (OS keychain or .env) when prompted
thclaws

# Configure a provider (inside the REPL)
❯ /provider anthropic
❯ /model claude-sonnet-5

# Or try OpenRouter for 350+ models via one key
❯ /provider openrouter
❯ /model openrouter/anthropic/claude-sonnet-5

# Drop an AGENTS.md or CLAUDE.md in your repo — it's read automatically

# Useful slash commands
❯ /help         # list everything
❯ /models       # list available models for the current provider
❯ /kms          # list attached knowledge bases
❯ /skill install https://github.com/anthropics/skills.git
❯ /mcp add github https://mcp.github.com
❯ ! git status  # shell escape

# Concurrent and long-running work
❯ /agent translator แปลไฟล์ src/foo.md เป็นภาษาไทย   # spawn a side-channel agent
❯ /agents                                            # list active background agents
❯ /dream                                             # consolidate KMS in the background
❯ /schedule add --cron "0 9 * * MON-FRI" "review the day's PRs"

# Headless mode
thclaws -p "summarize CHANGELOG.md"          # one-shot to stdout
thclaws -p "summarize CHANGELOG.md" -v       # + token usage on stderr
thclaws --resume last                        # pick up the latest session

# Web access
thclaws --serve --port 7878   # then ssh -L 7878:localhost:7878 user@remote

Configuration

Settings are read in this precedence (higher wins):

  1. CLI flags
  2. .thclaws/settings.json (project)
  3. ~/.config/thclaws/settings.json (user)
  4. ~/.claude/settings.json (fallback)
  5. Compiled-in defaults

Open-standard files honored directly:

  • CLAUDE.md / AGENTS.md — system prompt additions, walked up from cwd
  • .thclaws/skills/ / .claude/skills/ — skill catalog
  • .thclaws/agents/ / .claude/agents/ — subagent definitions
  • .mcp.json / .thclaws/mcp.json — MCP server configuration
  • .thclaws-plugin/plugin.json / .claude-plugin/plugin.json — plugin manifest

API keys are never stored in config files — only the OS keychain (default) or .env.


Enterprise

The same open-source binary becomes a managed client when it finds a signed organization policy file — no separate build, no licence check, nothing phoning home. The policy is signed with your own Ed25519 key, verified against a public key compiled into your build, and a policy that has been edited stops the program rather than silently degrading.

What a policy can set:

Block What it does
branding Your product name, logo and support contact, including in the agent's own system prompt
plugins Which hosts plugins, skills and HTTP MCP servers may be installed from
gateway Force every cloud model call through your own gateway (LiteLLM, Portkey, Azure OpenAI, in-house). Users' personal API keys are ignored
sso OIDC single sign-on against your IdP, so joiner/leaver applies to AI usage too
audit A payload-free record of every tool call — who, what, approved how, files touched — to a file or your SIEM
runtime Force the permission mode, deny named tools, switch off remote access and --serve

Every one of these controls is in this repository. The commercial part is the packaging — a build compiled to trust your key, signing infrastructure, deployment templates and support.

📖 Administrator guide → ENTERPRISE.md · 🇹🇭 ฉบับภาษาไทย → ENTERPRISE-th.md

Commercial enquiries: [email protected]


Community


Supporters

In 2026 a mini fundraiser — selling of the e-book Building thClaws — helped fund this project. A huge thank-you to the 155 founding supporters who backed it early: see the Supporters wall →. 🦞🙏


Documentation

For books, training, and commercial deployment, see agentic-press.com.


License

Dual-licensed under either:

at your option. Contributions are accepted under the same dual license — you keep your copyright; we just need permission to ship it.


About

thClaws is developed by ThaiGPT Co., Ltd. and published under a dual MIT/Apache-2.0 license. The client is free and open source forever. Enterprise Edition, hosting, and support are commercial offerings — see agentic-press.com or contact [email protected].

Built in Thailand. Meant for the world.

About

Open-source AI agent harness in native Rust — GUI, CLI, headless, and webapp from one binary. Multi-provider, MCP, skills, plugins, agent teams.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.2k stars

Watchers

19 watching

Forks

Releases

Packages

Used by

Contributors

Languages