Everything should be made as simple as possible, but not simpler.
— Albert Einstein

Tell it what to do, in any language and give it a concrete goal. It picks the best LLMs, runs on your laptop, and ships the work.

Apache 2.0 · open source 695 models · 9 providers ~3,000 lines of core agents code

KISS Sorcar is an open-source general-purpose AI agent for long-horizon tasks and AI discovery. It is a simple, local-first, bring-your-own-key AI agent framework. It runs as a VS Code extension and a browser/mobile web app, and offers a Python client API. Your prompts and code are sent directly to the model provider or local endpoint you configure — not through our servers. It supports multi-model workflows just via prompts. Agents run as daemons hosted by the local server (a standalone sorcar terminal command can also run a task without the daemon). Complex AI systems/techniques can be replaced with a paragraph of prompt in KISS Sorcar.

KISS Sorcar UI screenshot

Full installation script

★ Recommended

Preferred way to install KISS Sorcar — macOS & Linux, one command, no extra steps.

Install (VS Code) Star on GitHub …
§ 01 — KISS Sorcar vs Claude Code vs Cursor

How does it compare?

A side-by-side look at the differences that matter for everyday use.

Capability KISS Sorcar Claude Code Cursor
Interfaces VS Code extension + web/mobile app + Python API CLI + mobile app Custom VS Code
AI Discovery ✓ simply via prompt ✗ ✗
GEPA Prompt Optimization ✓ simply via prompt ✗ ✗
Multiple models from multiple vendors in the same task ✓ Mix OpenAI, Anthropic, Gemini, Together, Z.AI, Moonshot AI, OpenRouter, Claude Code CLI, and Codex CLI ✗ Anthropic Claude models only ✗ One model per task
Primary focus ✓ Quality — rigorous review, end-to-end tests Speed and developer ergonomics Speed
Core Agents # LoC ~3000 Unknown Unknown
Models in bundled catalog 695 across 9 provider categories Claude family only Subset chosen by Cursor
Bring your own API key / endpoint ✓ Yes — keys stay on your machine ✓ Anthropic key ⚠ Routed through Cursor backend
Open source ✓ Apache-2.0 ✗ Proprietary ✗ Proprietary
Price Free framework; pay only your chosen model provider Subscription / API usage Subscription
Run on top of Claude Code / Codex CLI ✓ cc/* and codex/* namespaces N/A ✗
Messaging and communication channels ✓ 44 third-party agents: 32 messaging channels (Slack, Gmail, Email (IMAP/SMTP), Phone Control, SMS, WhatsApp, Home Assistant, …) plus service agents for GitHub, Notion, Overleaf, Postgres, Brave Search, Firecrawl, and Google Workspace ⚠ Slack, mobile Remote Control, and research-preview channels for Telegram, Discord, and iMessage; no documented built-in Gmail, WhatsApp, phone-call, or SMS channel ⚠ Slack and Microsoft Teams Cloud Agent integrations; no documented built-in Gmail, WhatsApp, phone-call, or SMS channel
Scheduled automations ✓ Natural-language cron agent ✗ ✗
Wake word for voice interaction "Hey Sorcar" N/A N/A
§ 02 — Terminal-Bench 2.0: KISS Sorcar vs Pi, Codex CLI and Claude Code

📊 Terminal-Bench 2.0.

The HarnessTax study (UC Berkeley and Arena Intelligence) held the model fixed, swapped the harness between Claude Code, Codex CLI and Pi, and found that the harness moves cost far more than it moves what gets solved. We added KISS Sorcar to their Terminal-Bench 2.0 table: the same 30 sampled tasks, the same seven models, three attempts per task, graded by the official verifier, with 727 words of coding rules as the system prompt. Averaged over the seven models it solved 75.6% of attempts; Pi 70.0%, Codex CLI 65.7%, Claude Code 65.1%, with the best point estimate on every model. Full write-up: The Harness Tax, Audited; Markdown twin: docs/benchmarks.md.

Model KISS Sorcar Pi Codex CLI Claude Code
solved$/att. solved$/att. solved$/att. solved$/att.
Claude Fable 580.01.5071.11.0872.20.9875.61.55
Claude Opus 4.874.41.2172.20.7672.20.8568.90.90
Claude Sonnet 4.676.72.2365.60.6163.30.5562.20.67
Claude Haiku 4.551.10.3947.80.2531.10.2141.10.26
GPT-5.6 Sol85.60.6983.30.4278.90.7671.11.35
GPT-5.6 Luna78.90.0576.70.0472.20.0670.00.10
Kimi K382.21.1473.30.3870.00.4566.70.52
Mean of 7 models75.61.0370.00.5165.70.5565.10.77

Table 1. Terminal-Bench 2.0, the study’s 30-task sample, three attempts per task: percentage of attempts solved and cost per attempt in USD. KISS Sorcar: 630 attempts run on 25 September 2026, no turn cap, $50 budget per attempt, providers’ default request parameters. The other three: as published, 100-turn cap, high effort, priced on a 1 September list. Bold marks the best point estimate per row.

0% 20% 40% 60% 80% 100% 80 71 72 76 Fable 5 74 72 72 69 Opus 4.8 77 66 63 62 Sonnet 4.6 51 48 31 41 Haiku 4.5 86 83 79 71 GPT-5.6 Sol 79 77 72 70 GPT-5.6 Luna 82 73 70 67 Kimi K3 76 70 66 65 Mean of 7 KISS Sorcar Pi Codex CLI Claude Code
Figure 1. The success column of Table 1 as bars. KISS Sorcar (blue) has the highest point estimate on each of the seven models. The gap over Pi is largest on Sonnet 4.6 (+11.1) and Kimi K3 (+8.9) and smallest on Opus 4.8 and Luna (+2.2 each) and Sol (+2.3).

Thirty tasks is a small sample: the pooled 95% interval over tasks, 63.8 to 85.9, contains all three published means, and the comparison with the published table also differs in date, price list, turn cap and prompt. So we reran Pi ourselves, paired, on the same model and the same tasks.

The study’s 30 tasks · Claude Fable 5

+11.1 points over Pi, 95% interval +3.3 to +20.0

Harbor’s Pi agent (Pi 0.87.1) at the study’s high-effort setting, no turn cap, no wall-clock limit, three attempts per task, priced with the same table as ours. Pi solved 68.9% of attempts at $1.45 and 14.5 turns per attempt; KISS Sorcar solved 80.0% at $1.50 and 15.3 turns. Five cents more per attempt (interval −$0.71 to +$0.70). KISS Sorcar has the higher task mean on 7 tasks, Pi on none, 23 are ties. Without feal-linear-cryptanalysis, where all three Pi attempts died on API errors, the gap is +8.0 points (sign test p = 0.031).

57 of the 59 tasks the study did not sample · Claude Fable 5

+10.5 points over Pi, 95% interval +2.9 to +18.7

The same frozen prompt solved 79.1% of attempts on the 59 unsampled tasks (79.4% over all 89), so the result is not an artifact of tuning on the sample. Pi on 57 of them (two qemu tasks were dropped because the verifier did not score the two harnesses alike) solved 71.9% at $1.00 and 12.3 turns; KISS Sorcar solved 82.5% at $1.63 and 17.3 turns. 15 tasks to 3, 39 ties (p = 0.008); here KISS Sorcar paid 63 cents more per attempt, spent on turns.

-5 +0 +5 +10 +15 +20 +25 no difference +11.1 points [+3.3, +20.0] Success gap, KISS Sorcar minus Pi, on the 30 tasks (percentage points; 95% paired bootstrap) KISS Sorcar higher: 7 tie: 23 Pi higher: 0 Per-task tally over the 30 tasks (exact sign test p = 0.016)
Figure 2. The paired comparison on Claude Fable 5, the study’s 30 tasks. Top: the success gap and its bootstrap interval, which excludes zero. Bottom: KISS Sorcar has the higher task mean on 7 tasks, Pi on none, and 23 are ties, 20 of them solved by both on every attempt.
-5 +0 +5 +10 +15 +20 +25 no difference +10.5 points [+2.9, +18.7] Success gap, KISS Sorcar minus Pi, on the 57 unsampled tasks (percentage points; 95% paired bootstrap) KISS Sorcar higher: 15 tie: 39 Pi higher: 3 Per-task tally over the 57 tasks (exact sign test p = 0.008)
Figure 3. The paired comparison on the 57 unsampled tasks the verifier scored alike for both harnesses. Top: the success gap and its bootstrap interval. Bottom: KISS Sorcar has the higher task mean on 15 tasks, Pi on 3, and 39 are ties, 32 of them solved by both on every attempt.

What to keep in mind: only Pi was rerun, on one model, at high effort with its own prompt and no budget cap; the pooled seven-model comparison changes effort, turn cap and date at once, and the paired runs leave effort and prompt tangled together. The benchmark exercises the loop, six tools and the coding rules; the discovery and adversarial-testing procedures, the memory, the reviewer and the IDE features were switched off. The HarnessTax study stands: the band a fourth harness draws is wider than the one three harnesses drew. Runners, the Pi subclass and per-attempt records: benchmarkings/harnesstax/ and papers/kisssorcar/evidence/tb2_trials.json; method and intervals in the paper, Section 5.

§ 03 — All you need is a short prompt in KISS Sorcar to do big complex tasks

All You Need is a Short Prompt in KISS Sorcar to do Big Complex Tasks.

KISS Sorcar ships with a curated set of sample tasks (long-horizon prompts you can drop straight into the VS Code extension or Web app) and promptlet tricks (short reusable directives that steer Sorcar's behaviour by injecting to the prompt). The tasks live in src/kiss/SAMPLE_TASKS.md; the tricks live in src/kiss/INJECTIONS.md. You can add your own tricks at ~/.kiss/MY_INJECTION.md.

§ 04 — Papers

📑 Papers.

Read the research behind KISS Sorcar — the system, how it built itself, how it wrote its own paper, and the systems, defenses, and test generators it produced.

Main paper

KISS Sorcar: A Stupidly-Simple General-Purpose and Software Engineering AI Assistant

Introduces KISS Sorcar and the underlying KISS Agent Framework: a deliberately minimal, open-source agent runtime designed for long-horizon tasks, rigorous review, multi-model orchestration, and AI discovery.

PDF
Self-engineering

Software Engineering KISS Sorcar with KISS Sorcar

A case study of building KISS Sorcar with KISS Sorcar itself. Over 44 days the developer issued 3,099 tasks through the system's own interface; we analyze the SQLite usage log and surface nine recurring human–AI collaboration patterns.

PDF
Meta / process

Writing a Research Paper with an AI Agent: A Chronicle of KISS Sorcar Writing Its Own Paper

A nine-day, hundred-task chronicle of KISS Sorcar drafting, citing, compiling, and debugging its own research paper — doubling as a stress test of the agent itself.

PDF
Systems / AI discovery

HydraKV: Adversarial AI Discovery of a Larger-than-Memory Key-Value Store that Outperforms FASTER on Skewed YCSB-A

A larger-than-memory key-value store in dependency-free C++17 that outperforms Microsoft's FASTER on skewed YCSB-A under a hard memory budget — designed, implemented, and tested almost entirely by KISS Sorcar through natural-language tasks, and verified by independent audits.

PDF
Security

SWEDefend: A Confidence-Gated Intent-Alignment Judge with Capability-Diff Reasoning for Automated-Program-Repair Backdoor Defense

A defense against backdoored patches from LLM program-repair agents: a confidence-gated intent-alignment judge with capability-diff reasoning, evaluated on a five-CWE-family corpus and under adaptive attack — with an honestly reported partial-defense result.

PDF
Testing

Cleverest+: A Fixed-Budget Portfolio and Signature-Grounded Oracle for LLM-Based Commit-Directed Test Generation

Improves LLM-based commit-directed test generation over the Cleverest baseline with a fixed-budget three-model portfolio, sanitizer-signature-grounded oracles, and shell-free execution.

PDF
§ 05 — Blog

✍️ Blog.

Write-ups of real optimization and discovery runs performed end-to-end by KISS Sorcar, with reproducible numbers.

29 Sep 2026 · Benchmarks

The Harness Tax, Audited: A 727-Word Prompt Beats Three Coding Harnesses on Terminal-Bench 2.0

Runs KISS Sorcar on the 30 Terminal-Bench 2.0 tasks and seven models of the HarnessTax study (Pi, Codex CLI, Claude Code). It solves 75.6% of attempts against 70.0%, 65.7% and 65.1%, with the best point estimate on all seven models; a paired rerun of Pi on Claude Fable 5 gives an 11.1-point gap (95% interval +3.3 to +20.0) at five cents more per attempt; the 59 unsampled tasks score 79.1%, and a second paired Pi rerun on 57 of them gives a 10.5-point gap (+2.9 to +18.7).

10 Aug 2026 · Systems

Making LZ4’s Multithreaded File Compression Scale

Rewires the multithreaded file-mode pipeline of lz4 v1.10.0 to reach 1.88–2.57× the throughput of the stock CLI at level -1 (3,810 vs 1,519 MB/s at 32 threads), with compressed output byte-identical to upstream at every tested level. Includes head-to-head runs against pigz, pzstd, and zstd -T. Done in about 7½ hours of agent wall-clock time.

10 Aug 2026 · Systems

Optimizing DuckDB Against Its Official and Academic Benchmarks

Makes an upstream DuckDB development tree faster on five suites — TPC-H sf1, TPC-DS sf1, IMDB/JOB, h2oai group/join, and ClickBench — with verified geometric-mean speedups of 1.152–1.237× per suite over the stock release build and a largest single-query win of ~1.73×. Three of the five suites were held out from all profile training.

9 Aug 2026 · AI Discovery

Reaching 99+ on Biomni × TusoAI-Style Biology Benchmarks with AI Discovery

Reconstructs the two benchmark families from Phylo’s Biomni × TusoAI blog — perturbation-response prediction (Replogle, Adamson, Norman) and pgBoost-style enhancer–gene linking — then runs an AI-discovery loop until one evolved method scores at least 99/100 on every task. Code and full protocol at github.com/ksenxx/biomni_tuso.

8 Aug 2026 · Systems

Optimizing SQLite Against Its Official and Academic Benchmarks

Speeds up the SQLite 3.54.0 development trunk on speedtest1, kvtest, TATP (OLTP), and the Star Schema Benchmark (OLAP), reaching a verified geometric-mean speedup of 1.59×. Full source published at github.com/ksenxx/sqlite-optimized.

8 Aug 2026 · Audit

Verification of the sqlite-optimized Repository

An independent rebuild-and-reproduce audit of the sqlite-optimized repository: builds cleanly from scratch, no code or wiring missing, and the claimed benchmark results reproduce. A companion piece to the SQLite optimization post.

§ 06 — AI Software Engineering

🛠️ AI Software Engineering.

Talks, demos, and case studies on doing real software engineering with KISS Sorcar.

§ 07 — What is in the Name

What is in the Name?

Two names. One principle. A nod to a Bengali magician.

KISS Agent Framework

Keep it Simple, Stupid.

KISS Agent Framework is a deliberately small agent runtime organized around the KISS principle — "Keep it Simple, Stupid."

KISS Sorcar

Named after P. C. Sorcar.

KISS Sorcar is named after P. C. Sorcar, the legendary Bengali magician, evoking the idea of an agent that performs feats that appear magical yet are grounded in disciplined engineering. Note: Sorcar also means government in Bengali.

§ 08 — Installation

Install in one line.

Pick the install path that fits you — full source, Python package, or the VS Code extension. All you need is at least one API key from a major LLM provider. The one-line install script below is the recommended way to install the full KISS Sorcar stack.

Full install from source ★ Recommended

Preferred way to install the full KISS Sorcar stack. Works on macOS and Linux (x86_64, aarch64, arm64). Installs or checks every tool needed to run KISS Sorcar and build/install the VS Code extension — one command, no extra steps.

$ curl -fsSL https://raw.githubusercontent.com/ksenxx/kiss_ai/main/scripts/install.sh | bash

If the Update button in the settings UI fails, run the full installation command again. It will not delete your history.

Python package install

For just the Python package — the kiss-web daemon, the Python client API, and the messaging-agent entry points. KISS Sorcar requires Python 3.13+.

$ pipx install kiss-agent-framework
# or
$ uv tool install kiss-agent-framework

Configure model access

Provide at least one model backend through environment variables:

export ANTHROPIC_API_KEY=...
export OPENAI_API_KEY=...
export GEMINI_API_KEY=...
export TOGETHER_API_KEY=...
export ZAI_API_KEY=...
export MOONSHOT_API_KEY=...
export OPENROUTER_API_KEY=...

You can also set API keys, a custom model endpoint, and custom HTTP headers in the Settings panel of the VS Code extension or web app — or per task via the Python API’s model_config option. You can register your own models (e.g. a local vLLM/Ollama endpoint) in the Custom Models section of the Settings panel; entries are stored in ~/.kiss/MY_MODELS.json and appear in the model picker alongside the bundled catalog.

VS Code Extension

To install only the KISS Sorcar extension, open Visual Studio Code, search for KISS Sorcar in the extension marketplace, install it, and relaunch VS Code.

Press ESC if you do not have a specific API key ready, but configure at least one model backend before running tasks.

§ 09 — Python API in 30 seconds

The sorcar.run Python API.

The kiss-web daemon serves every client — the VS Code sidebar, the remote web/mobile app, and your own Python scripts. Call kiss.server.sorcar.run to launch a task on the daemon and block until it finishes: pick any model with model=, cap spend with max_budget=, continue a chat with chat_id=, and hand the agent your own tools with tools=.

Four calls to get you started

from kiss.server import sorcar
# 1. Run a task and read the result
result = sorcar.run("Refactor utils.py for clarity.")
# 2. Any model, with a $2 cap
sorcar.run("Summarise this codebase.", model="claude-sonnet-4-6", max_budget=2.0)
# 3. Continue the same chat — the agent sees the prior task
sorcar.run("Now fix the typos you found.", chat_id=result.chat_id)
# 4. Run a Slack/Gmail/SMS task via a third-party agent
sorcar.run('Send "Hello from Sorcar!" to ksen via the desktop Slack app.')

Full reference (the kiss-web daemon, chat-client features, every run() option, skills, and MCP discovery): Full client reference →

Persistent agent memory

On by default: standard Sorcar runs get seven memory_* tools (search, pull, read, write, list, refresh, delete) and a memory protocol, so agents recall lessons, preferences, and decisions across tasks (not for Docker runs, cc/*/codex/* models, runs that drop the built-in toolset, or runs whose model_config supplies its own system_instruction). Pages are Markdown files under ~/.kiss/memories with a SQLite vector index (OpenAI embeddings when an OPENAI_API_KEY is available, otherwise a fully offline hashed embedder). Toggle it in the Settings panel (a custom directory goes in the memory_dir key of ~/.kiss/config.json), set KISS_USE_MEMORY=0, or override per run with sorcar.run(..., use_memory=...).

§ 10 — Messaging & Third-Party Agents

💬 Reach the agent from anywhere.

KISS Sorcar includes 44 third-party agents that act on messaging services, mailboxes, devices, and web services on your behalf — 32 messaging-channel agents and 10 service agents — plus two infrastructure agents: an A2A agent (kiss-a2a) exposing Sorcar over the agent-to-agent protocol and an OpenAI-compatible server (kiss-oai) that serves Sorcar behind an OpenAI-style HTTP API. It also ships a Govee smart-home CLI for controlling IoT lights (on/off, brightness, color, and color temperature) via the Govee Developer API. Channels also work inbound: a recurring gateway tick turns a messaging channel into a prompt surface of its own, with thread continuity, sender allow-lists, and an optional pairing handshake. These agents live in src/kiss/agents/third_party_agents/.

32 messaging-channel agents

BlueBubbles DingTalk Discord Email (IMAP/SMTP) Feishu Gmail Google Chat Home Assistant iMessage IRC LINE Matrix Mattermost Microsoft Teams Nextcloud Talk Nostr ntfy Phone Control QQ Signal SimpleX Slack SMS Synology Chat Telegram Tlon Twitch Webhook WeCom WeiXin WhatsApp Zalo

10 service agents

Authenticated API tools for productivity and data services, each with its own CLI entry point:

Brave Search (kiss-brave) Firecrawl (kiss-firecrawl) GitHub (kiss-github) Google Calendar (kiss-gcal) Google Docs (kiss-gdocs) Google Drive (kiss-gdrive) Google Sheets (kiss-gsheets) Notion (kiss-notion) Overleaf (kiss-overleaf) PostgreSQL (kiss-postgres)

Plus: smart-home control

A Govee smart-home CLI for controlling IoT lights — on/off, brightness, color, and color temperature — directly via the Govee Developer API.

Credential isolation (Muse auth)

On Linux, credentials for the 24 Muse-supported connectors (the six Google services — Google Chat's service-account mode excepted — plus Slack, GitHub, Notion, Discord, Home Assistant, Firecrawl, Brave Search, ntfy, Govee, LINE, Mattermost, Nextcloud Talk, Synology Chat, Twitch, Zalo, BlueBubbles, Microsoft Teams, and Telegram) are isolated by default behind a Meta-Muse-style security boundary: legacy tokens auto-migrate into a vault owned by a local auth daemon on first use (a one-time hand-off of the real credential; plaintext copies are then scrubbed on a best-effort basis), after which the agent process holds only opaque surrogate tokens that the daemon swaps for the real ones at the network edge, and every boundary-routed API request is host-allowlisted (credential-free, bodyless GET/HEAD redirect hops are the one permitted off-list exception), classified read vs. write, and checked against an allow/deny/ask policy with an audit log. Reads are allowed by default; writes ask for a grant.

Where the provider supports a poll-based grant, connecting works like the Muse app's Connect button — the user signs in and approves in their own browser, nothing is pasted back: GitHub, Twitch, and Microsoft Teams use the OAuth device authorization grant (RFC 8628), Nextcloud Talk uses Login Flow v2, Matrix uses the OAuth 2.0 device grant of MAS-backed homeservers (matrix.org included), and Signal links this computer like Signal Desktop via a signal-cli link QR code. Providers without such a grant get a safe paste-back hand-off instead of browser automation — the agent never asks for a password or 2FA code. Manage it with python -m kiss.agents.third_party_agents.muse_auth; opt out with KISS_MUSE_AUTH=0.

§ 11 — Models Supported

🤖 695 models. 9 provider categories.

KISS Sorcar ships a catalog of 695 models across 9 provider categories, with built-in prices, context lengths, and capability flags (fc function calling, gen generation, emb embedding). The source of truth is src/kiss/core/models/MODEL_INFO.json. Models are grouped by the provider that routes them (i.e., whose API key or CLI serves the model); open-weight openai/gpt-oss-* and google/gemma-* models are served via Together AI.

Provider categories

OpenAI102
Anthropic14
Gemini24
Together AI103
Z.AI8
Moonshot AI10
OpenRouter378
Claude Code CLI (cc/*)14
Codex CLI (codex/*)8

Catalog capability totals

Across all bundled providers, the catalog currently reports:

641
generation-capable models
483
function-calling-capable models
11
embedding models

See the full per-provider model list in MODELS.md, including the cc/* and codex/* namespaces that let KISS Sorcar run on top of the Claude Code and Codex CLIs.

§ 12 — Contributing

🤗 Contributing.

Contributions in the form of issues are welcome. KISS Sorcar should be able to help implement and review them.

Open an issue

Report bugs, request features, or share ideas. Each issue becomes a candidate task KISS Sorcar can pick up and work on.

Open an issue →

Let KISS Sorcar implement and review

Drop an issue link into a Sorcar task and it will draft a fix, run tests, and self-review before opening a PR.

GitHub repo →

§ 13 — License

📄 License.

KISS Sorcar is released under a permissive open-source license.

Apache-2.0

Use it for anything — personal, commercial, research, education. See LICENSE for the full text.

Apache License 2.0
§ 14 — Citation

📚 Cite the paper.

If you use KISS Sorcar in your research, please cite:

Koushik Sen. KISS Sorcar: A Stupidly-Simple General-Purpose and Software Engineering AI Assistant. arXiv preprint arXiv:2604.23822, 2026.

@misc{sen2026kisssorcar,
  title         = {KISS Sorcar: A Stupidly-Simple General-Purpose and Software Engineering AI Assistant},
  author        = {Sen, Koushik},
  year          = {2026},
  eprint        = {2604.23822},
  archivePrefix = {arXiv},
  primaryClass  = {cs.SE},
  url           = {https://arxiv.org/abs/2604.23822}
}