{"id":49408241,"url":"https://github.com/thClaws/thClaws","last_synced_at":"2026-05-05T14:00:57.042Z","repository":{"id":353883411,"uuid":"1215501706","full_name":"thClaws/thClaws","owner":"thClaws","description":"Open-source agent harness platform. Native Rust, multi-provider, runs on your own machine. Sovereign by design.","archived":false,"fork":false,"pushed_at":"2026-04-29T07:13:31.000Z","size":28441,"stargazers_count":614,"open_issues_count":4,"forks_count":88,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-29T08:36:00.822Z","etag":null,"topics":["agent-harness","ai","ai-agent","ai-agents","desktop-app","local-first","multi-provider","rust","tauri"],"latest_commit_sha":null,"homepage":"https://thclaws.ai","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thClaws.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-20T01:27:39.000Z","updated_at":"2026-04-29T08:25:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thClaws/thClaws","commit_stats":null,"previous_names":["thclaws/thclaws"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/thClaws/thClaws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thClaws%2FthClaws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thClaws%2FthClaws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thClaws%2FthClaws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thClaws%2FthClaws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thClaws","download_url":"https://codeload.github.com/thClaws/thClaws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thClaws%2FthClaws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32652474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-harness","ai","ai-agent","ai-agents","desktop-app","local-first","multi-provider","rust","tauri"],"created_at":"2026-04-28T23:00:28.292Z","updated_at":"2026-05-05T14:00:57.036Z","avatar_url":"https://github.com/thClaws.png","language":"Rust","funding_links":[],"categories":["Applications","Design Primitives"],"sub_categories":["Productivity","Task Runners \u0026 Orchestration"],"readme":"# thClaws 🦞\n\n\u003e **Open-source Agent Harness Platform** — a native AI agent workspace that codes, automates, remembers, and coordinates. Runs on your own machine. Sovereign by design.\n\nthClaws is a **native-Rust AI agent workspace** that runs locally on your machine. Not just coding — it edits code, automates workflows, searches your knowledge bases, and coordinates teams of agents, all in one binary. You tell it what you want in natural language; it reads your files, runs commands, uses tools, and talks back to you while it works.\n\n[![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](#license)\n[![Platform: macOS · Windows · Linux](https://img.shields.io/badge/platform-macOS%20·%20Windows%20·%20Linux-lightgrey.svg)](#installation)\n[![Built with Rust](https://img.shields.io/badge/built%20with-Rust-orange.svg)](https://www.rust-lang.org/)\n\n---\n\n## See it work\n\nThree tabs, one binary — captured from a live thClaws session looking at its own source.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003ca href=\"docs/img/screen-files.webp\"\u003e\u003cimg src=\"docs/img/screen-files.webp\" alt=\"thClaws Files tab — landing-page source open in the editor with file tree\" /\u003e\u003c/a\u003e\u003cbr/\u003e\n      \u003cstrong\u003eFiles\u003c/strong\u003e\u003cbr/\u003e\n      \u003csub\u003epreview · edit · browse — codemirror + tiptap\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003ca href=\"docs/img/screen-terminal.webp\"\u003e\u003cimg src=\"docs/img/screen-terminal.webp\" alt=\"thClaws Terminal tab — REPL session with ASCII banner\" /\u003e\u003c/a\u003e\u003cbr/\u003e\n      \u003cstrong\u003eTerminal\u003c/strong\u003e\u003cbr/\u003e\n      \u003csub\u003eraw REPL · slash commands · ANSI tool output\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003ca href=\"docs/img/screen-chat.webp\"\u003e\u003cimg src=\"docs/img/screen-chat.webp\" alt=\"thClaws Chat tab — conversational interface answering a product question\" /\u003e\u003c/a\u003e\u003cbr/\u003e\n      \u003cstrong\u003eChat\u003c/strong\u003e\u003cbr/\u003e\n      \u003csub\u003econversational · markdown render · tool indicators\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Three interfaces, one binary\n\n- **Desktop GUI** (`thclaws`) — a native window with Terminal, Chat, Files, and optional Team tabs.\n- **CLI REPL** (`thclaws --cli`) — an interactive terminal prompt for SSH, headless servers, or when you want zero GUI overhead.\n- **Non-interactive mode** (`thclaws -p \"prompt\"`) — runs a single turn and exits. Handy for scripts, CI pipelines, and shell one-liners.\n\n---\n\n## What makes it different\n\n- **Multi-provider.** Anthropic, OpenAI, Gemini, Alibaba DashScope, OpenRouter, Ollama (local and Anthropic-compatible), Agentic Press, plus a generic **OpenAI-compatible** slot (`oai/*`) for LiteLLM / Portkey / Helicone / vLLM / internal proxies — auto-detected by model name prefix. Switch mid-session with `/model` or swap the whole provider with `/provider`.\n\n- **Any knowledge worker, not just engineers.** Chat tab for researchers, PMs, ops, legal, marketing, finance — natural-language prompts, file access, knowledge-base lookup, drafting. Terminal tab for engineers who want the raw REPL. Same engine, same sessions, same config — different preferred surface.\n\n- **Open standards, not a walled garden.** Built on the conventions the agent-tooling industry is converging on, not bespoke formats you have to learn only for us. [Model Context Protocol](https://modelcontextprotocol.io/) for tool servers. [`AGENTS.md`](https://agents.md) for project instructions — the vendor-neutral standard adopted by Google, OpenAI, Factory, Sourcegraph, and Cursor. `SKILL.md` with YAML frontmatter for packaged workflows. Your configuration is portable between thClaws, other agents that speak the same standards, and whatever comes next.\n\n- **Skills.** Reusable expert workflows packaged as a directory with `SKILL.md` plus optional scripts. The agent picks the right skill automatically when a request matches the `whenToUse` trigger, or you can invoke one explicitly as `/\u003cskill-name\u003e`. Install from a git URL or `.zip` archive with `/skill install`.\n\n- **MCP servers.** Plug in tools built by third parties — GitHub, filesystems, databases, browsers, Slack, and more. Both stdio and HTTP Streamable transports, with OAuth 2.1 + PKCE for protected servers. Add one with `/mcp add` or ship a `.mcp.json` in your project.\n\n- **Plugin system.** Skills + commands + agent definitions + MCP servers bundled under a single manifest, installable from git or `.zip`. One install, one uninstall, one version to pin — ideal for sharing a team's extensions.\n\n- **Memory \u0026 project instructions.** Drop an `AGENTS.md` (or `CLAUDE.md`) in your repo — thClaws walks up from `cwd` and injects every match into the system prompt. A persistent memory store holds longer-lived facts the agent has learned about you, classified as `user` / `feedback` / `project` / `reference` and stored as markdown you can read, edit, or commit.\n\n- **Knowledge bases (KMS).** Per-project and per-user wikis the agent can search and read on demand. Drop markdown pages under `.thclaws/kms/\u003cname\u003e/pages/`, give each a one-line entry in `index.md`, and the agent gets a table of contents every turn plus `KmsRead` / `KmsSearch` tools. No embeddings — grep + read, following Andrej Karpathy's LLM-wiki pattern.\n\n- **Agent orchestration.** Delegate subtasks to isolated sub-agents via the `Task` tool — each gets its own tool registry and can recurse up to 3 levels deep. Scale further with **Agent Teams**: multiple thClaws processes coordinating through a shared mailbox and task queue, each in its own tmux pane and optional git worktree. One agent writes your backend while a teammate builds the frontend in parallel, lead merges the branches when both are done.\n\n- **Settings as one file.** Every knob — permission mode, thinking budget, allowed/disallowed tools, provider endpoints, KMS attachments — lives in `.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.\n\n- **Safety first.** A filesystem sandbox scopes file tools to the working directory. Destructive shell commands are flagged before execution. You approve every mutating tool call unless you've opted into auto-approve.\n\n- **Offline-capable.** Ollama (native and Anthropic-compatible) lets you run entirely against a local model — no cloud round-trip, no API key.\n\n- **Deploy what you build.** Ship the landing pages, web apps, APIs, and AI agents you create through [Agentic Press Hosting](https://agentic-press.com) (partnered with SIS Cloud Service and Artech.Cloud) — or any other host you prefer. Schedule agents on cron, respond to webhooks, stream from public URLs. The deploy flow ships as a plugin (`/plugin install …-deploy`), so hosts are swappable; the client never locks you in.\n\n- **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`, etc.).\n\n---\n\n## Installation\n\n### Pre-built binaries\n\nDownload the latest release for your platform from the [Releases page](https://github.com/thClaws/thClaws/releases) or from [thclaws.ai/downloads](https://thclaws.ai/downloads.html).\n\nSupported: macOS (Apple Silicon \u0026 Intel), Windows (x86_64 \u0026 ARM64), Linux (x86_64 \u0026 ARM64).\n\n#### Linux runtime dependencies\n\nThe Linux GUI binary links against the Wayland and webkit2gtk client libraries at runtime. Most desktop distros (Ubuntu Desktop, Fedora Workstation, etc.) ship them by default. **Headless servers** (cloud VMs, AWS EC2, Docker images without a display) typically don't — `thclaws` will fail at startup with `error while loading shared libraries: libwayland-client.so.0`.\n\nTwo options on a headless box:\n\n**(a) Use CLI mode** — no GUI deps required:\n\n```sh\nthclaws --cli                       # interactive REPL\nthclaws -p \"what does src/main.rs do?\"  # one-shot\n```\n\n**(b) Install the GUI deps** — only if you actually want to run the webview:\n\n```sh\n# Debian / Ubuntu\nsudo apt install libwayland-client0 libwebkit2gtk-4.1-0 libsoup-3.0-0\n\n# Fedora / RHEL\nsudo dnf install wayland libsoup3 webkit2gtk4.1\n```\n\n### Build from source\n\n**Prerequisites:** Rust 1.85+, Node.js 20+, pnpm 9+.\n\n```sh\ngit clone https://github.com/thClaws/thClaws.git\ncd thClaws\n\n# Build frontend (React + Vite, bundled as a single HTML file)\ncd frontend \u0026\u0026 pnpm install \u0026\u0026 pnpm build \u0026\u0026 cd ..\n\n# Build Rust (CLI + GUI)\ncargo build --release --features gui --bin thclaws\n\n# Run\n./target/release/thclaws          # GUI\n./target/release/thclaws --cli    # CLI\n./target/release/thclaws -p \"what does src/main.rs do?\"  # one-shot\n```\n\n---\n\n## Quick start\n\n```sh\n# First run: pick a secrets backend (OS keychain or .env) when prompted\nthclaws\n\n# Configure a provider (inside the REPL)\n❯ /provider anthropic\n❯ /model claude-sonnet-4-6\n\n# Or try OpenRouter for 300+ models via one key\n❯ /provider openrouter\n❯ /model openrouter/anthropic/claude-sonnet-4-6\n\n# Drop an AGENTS.md or CLAUDE.md in your repo — it's read automatically\n\n# Useful slash commands\n❯ /help         # list everything\n❯ /models       # list available models for the current provider\n❯ /kms          # list attached knowledge bases\n❯ /skill install https://github.com/anthropics/skills.git\n❯ /mcp add github https://mcp.github.com\n❯ ! git status  # shell escape\n```\n\n---\n\n## Configuration\n\nthClaws reads settings in this precedence order (higher wins):\n\n1. CLI flags\n2. `.thclaws/settings.json` (project)\n3. `~/.config/thclaws/settings.json` (user)\n4. `~/.claude/settings.json` (fallback location)\n5. Compiled-in defaults\n\nOpen-standard files are honored directly:\n\n- `CLAUDE.md` / `AGENTS.md` — system prompt additions, walked up from `cwd`\n- `.thclaws/skills/` / `.claude/skills/` — skill catalog\n- `.thclaws/agents/` / `.claude/agents/` — subagent definitions\n- `.mcp.json` / `.thclaws/mcp.json` — MCP server configuration\n- `.thclaws-plugin/plugin.json` / `.claude-plugin/plugin.json` — plugin manifest\n\nAPI keys are **never stored in config files** — only in the OS keychain (default) or `.env`.\n\n---\n\n## Documentation\n\n- **Official site** — [thclaws.ai](https://thclaws.ai)\n- **Full user manual** — [thclaws.ai/manual](https://thclaws.ai/manual) *(soon)* or the [`user-manual/`](https://github.com/thClaws/user-manual) companion repo. 24 chapters covering every feature plus 7 walkthrough case studies (static site deploy, Node.js reservation site, news-aggregation agent, etc.).\n- [Contributing](CONTRIBUTING.md) — dev setup, PR flow, commit style\n- [Changelog](CHANGELOG.md) — version history\n- [Code of Conduct](CODE_OF_CONDUCT.md) — Contributor Covenant 2.1\n- [Security](SECURITY.md) — vulnerability disclosure\n\nFor books, training, and commercial deployment, see [agentic-press.com](https://agentic-press.com).\n\n---\n\n## License\n\nDual-licensed under either:\n\n- [MIT License](LICENSE-MIT)\n- [Apache License 2.0](LICENSE-APACHE)\n\nat your option. Contributions are accepted under the same dual license.\n\n---\n\n## About\n\nthClaws 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](https://agentic-press.com) or contact [jimmy@thaigpt.com](mailto:jimmy@thaigpt.com).\n\nBuilt in Thailand. Meant for the world.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FthClaws%2FthClaws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FthClaws%2FthClaws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FthClaws%2FthClaws/lists"}