CLAT logo

CLAT

v1.4.0 — Latest release

A rock-solid agent foundation · The TUI client for DSH · A single Rust file

❯clat
# start the background host and attach the TUI as its client
❯clat dsh
# turn the same TUI into a client for a local DSH host
❯clat plugin
# browse the signed plugin market, install in one command
❯clat upgrade
# self-update to the latest GitHub release
9.7 MB
Download size: one binary, no Node / Python required
6
Platforms: macOS / Linux / Windows
5
Built-in presets: DS / GLM / Qwen / Kimi / Hy

Why CLAT

Command line + tools + models

CLAT brings the model into your terminal: reading code, editing files, and running commands all happen locally — every step visible, controllable, and auditable.

Local first

Sessions persist as append-only logs; settings, credentials, and trust decisions live in local JSON files under ~/.clat. No cloud dependency — your data never leaves your machine.

One binary

A single Rust executable with no runtime and nothing to install. Runs out of the box on six platforms across macOS, Linux, and Windows.

Safe by default

Entering a new directory passes a trust gate first. Permissions switch between read-only, project-write, and full-access; at the default level every file write and command asks first, and paths stay inside the project root.

Positioning

One container lineage, three routes

Spring, DeepSeek Harness, and CLAT share the same "composable container" organ — systems assembled declaratively from swappable parts, an idea reaching back to IoC and OSGi — yet they serve different users and head in different directions. This table orients first-time visitors.

SpringDSHCLAT
PositioningEnterprise Java application frameworkAn "everything is a plugin" agent runtimeA rock-solid agent foundation
UsersProgrammers building applicationsDevelopers driving agents, and the models themselvesUsers who want local-first, single-binary, auditable tooling
Container philosophyLet programmers forget the containerLet the runtime be rewritten at any timeLet the user audit the container
Composition timeCompile time / deploy timeRun timeCompile time (static manifest); extensions move out via MCP
Extensionjar + interfacesIn-process TypeScript pluginsMCP protocol + gated WASM

Spring lets programmers forget the container, DeepSeek Harness lets the model rewrite it, and CLAT lets the user audit it. If what you want is a stable, small, see-through agent foundation — this is it.

Features

Built for real programming workflows

01 — Models

Vendors out of the box

DeepSeek, GLM, Qwen, Kimi, and Tencent Hy presets are built in, and any OpenAI-compatible endpoint works too. /model opens a two-level picker — vendor first, then model — with keys stored in per-vendor slots.

02 — Multimodal

Multimodal image interaction

Press Ctrl+V to paste a screenshot, drag an image path in, or use /paste-image from the clipboard — images enter the message as structured attachments, shown in both the TUI and the web workbench. The built-in view_image tool lets the model itself inspect images in your project. GLM 5.3 Flash and the DeepSeek Vision preset see natively; when a model can't, CLAT fails loudly instead of silently degrading.

03 — Interaction

Questions, steering & thinking

The model stops to ask when a decision is yours to make; while a run is active you can send steering messages that change its direction. Reasoning renders inline as a collapsible Think row (Ctrl+R expands), and /suggest previews a next-message hint on demand — sent only when you adopt it.

04 — Runtime

Unlimited turns & auto-compaction

No turn limit — a run continues until the task is done. At 80% of the context window the conversation compacts automatically, with the original history fully preserved.

05 — Permissions

Three permission modes

Read-only, project-write (default), and full-access, switchable any time via /perm or right from a permission prompt, remembered per project. In the lower two modes, file writes and commands still ask every time.

06 — Integration

MCP native

MCP servers over stdio or Streamable HTTP; GLM Coding Plan mounts the four official GLM MCP servers automatically, and /mcp shows every connection and registered tool.

07 — Agent

Memory, goals & subagents

Memory is yours to write explicitly: /memory stores project or global knowledge, the model only reads it and never auto-saves conversations. /goal arms one bounded goal per session — hard caps on rounds, tokens, and time, with acceptance criteria verified automatically. /subagents on launches read-only subagents to explore the codebase in parallel, all usage charged to the parent run.

08 — Persistence

Crash-safe sessions

Every conversation is written to an append-only log, flushed before the model is called; after a crash it recovers to the last complete batch. Logs use the DSH-compatible format, readable by other compatible tools, and legacy sessions upgrade in one step with /update. The model titles each session — /rename to edit.

09 — Skills

Layered skills & LSP navigation

Skills layer across the project's .clat/skills/, the user directory, and built-ins; the model loads instructions by name (/skill invokes directly) — loading is read-only and never executes code. Configure ~/.clat/lsp.json for read-only language intelligence: precise definition, references, implementation, and hover navigation.

10 — Plugins

Plugins & marketplace

The signed plugin marketplace pi.at.cn is live: clat plugin browses, installs, updates, and rolls back in one command, with dependency solving, publisher and revocation checks, and capability review built in. WASM components and MCP servers share one manager, interoperable with the DSH ecosystem.

11 — Ecosystem

DSH host client

One clat dsh connects to a local DSH host and the CLAT interface becomes its terminal: DSH sessions, questions, and approvals all happen in the same TUI, with automatic reconnection. It never writes to ~/.dsh — everything goes through the official API.

12 — Frontends

Background host & multi-frontend

clat now starts a background host: the TUI, web workbench, and WeChat remote all attach to the same sessions as clients — close the TUI and the host keeps running, so tasks never drop. The host lives on 127.0.0.1:2691; a newer CLAT smoothly replaces an idle old host, and browser pages reconnect in place.

Get started

Install

The one-line scripts are recommended: they detect your platform, download the release binary, verify the Minisign signature and SHA-256, and put it into ~/.local/bin (Windows: %LOCALAPPDATA%\Programs\clat). First-install verification needs minisign (macOS: brew install minisign); when no prebuilt binary exists the scripts fall back to building from source.

One-line scripts (recommended)

macOS / Linux

❯curl -fsSL https://raw.githubusercontent.com/artec/clat/main/install.sh | sh

The script offers to add ~/.local/bin to your PATH

Windows PowerShell

❯irm https://raw.githubusercontent.com/artec/clat/main/install.ps1 | iex

Installs into %LOCALAPPDATA%\Programs\clat

Manual download

You can also grab the binary for your platform from the Releases page and drop it into your PATH. Installed users self-update with clat upgrade.

PlatformAssetArchitecture
macOSclat-v*-aarch64-apple-darwin.tar.gzApple Silicon
macOSclat-v*-x86_64-apple-darwin.tar.gzIntel
Linuxclat-v*-x86_64-unknown-linux-gnu.tar.gzx64
Linuxclat-v*-aarch64-unknown-linux-gnu.tar.gzARM64
Windowsclat-v*-x86_64-pc-windows-msvc.zipx64
Windowsclat-v*-aarch64-pc-windows-msvc.zipARM64

Linux builds require glibc 2.39+ (Ubuntu 24.04 generation or newer); older distributions should build from source. After extracting, try clat --help, then run clat inside a project directory — the first run asks you to trust it. The scripts are the same: once installed, just run clat.