AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
SOAT — open-source infrastructure for production-ready AI agents
SOAT is open-source infrastructure for building AI applications. One self-hostable Node.js server gives you IAM, file and document storage with vector search, multimodal ingestion, conversational memory, agent orchestration, DAG-based multi-agent workflows, retrieval-augmented generation, guardrails and human approvals, usage metering and quotas, versioned agents with canary rollout, declarative stack deployment, a built-in web console, and a full Model Context Protocol server with first-party OAuth — backed by PostgreSQL.查看完整 README ↗SOAT is open-source infrastructure for building AI applications. One self-hostable Node.js server gives you IAM, file and document storage with vector search, multimodal ingestion, conversational memory, agent orchestration, DAG-based multi-agent workflows, retrieval-augmented generation, guardrails and human approvals, usage metering and quotas, versioned agents with canary rollout, declarative stack deployment, a built-in web console, and a full Model Context Protocol server with first-party OAuth — backed by PostgreSQL.
You bring the product. SOAT handles the infrastructure layer.
Shipping AI applications means rebuilding the same infrastructure on every project: users, API keys, encrypted secrets, file storage, embeddings, conversation history, agent tool calling, traces, observability. SOAT solves all of it once and exposes it through four equivalent surfaces — REST, MCP, CLI, and TypeScript SDK — plus a built-in web console on top of them, so the same operation runs the same way whether you call it from a backend, Claude Desktop, a CI script, the bundled UI, or your own frontend.
SOAT organizes that surface around the four layers of an agent system: the harness (what an agent can reach and what it is forbidden), the loop (what proves a run did the job), the graph (what is allowed to happen next), and the ratchet (what proves a change to the agent was an improvement). All four are shipped — see The ratchet for the layer that governs change itself.
An agent platform that only records what agents did cannot tell you whether the next change makes them better. SOAT's fourth layer is the ratchet — the layer that governs change itself: produce a verdict from evidence, gate the change on the verdict, keep history append-only so nothing slides backward silently. The framing lives in The Layers of an Agent System, and the loop is shipped end to end:
The stance behind all of it: the platform owns the queue, the recurrence signal, and the verdict; a human owns the judgment. Promotion is never automatic. See docs/roadmap.md for what comes next.
Read the full documentation — quick start, key concepts, module reference, API, MCP, CLI, and SDK guides.
The fastest path is Docker Compose:
git clone https://github.com/ttoss/soat.git
cd soat
Follow the Getting Started Guide to bring up the server and database in under five minutes.
| Surface | Best for | Docs |
|---|---|---|
| REST API | Backend services and custom integrations | https://soat.ttoss.dev/docs/api |
| MCP server | Claude Desktop, Cursor, and other MCP-aware AI runtimes | https://soat.ttoss.dev/docs/mcp |
CLI (soat) | Scripts, CI pipelines, and local exploration | https://soat.ttoss.dev/docs/cli |
SDK (@soat/sdk) | TypeScript and JavaScript applications | https://soat.ttoss.dev/docs/sdk |
| Web app | Browsing and managing resources from the browser | Served by the server at /app |
All five hit the same business logic and the same permission engine.
This is a monorepo managed with pnpm and Turbo:
packages/server — the SOAT server (REST + MCP, business logic, permissions)packages/postgresdb — Sequelize models and database utilitiespackages/sdk — TypeScript SDK generated from the OpenAPI specspackages/cli — the soat command-line clientpackages/app — the web UI (React), served by the server at /apppackages/website — the documentation site (Docusaurus)Issues and pull requests are welcome — see CONTRIBUTING.md for the workflow, the quality bar, and what changing a module involves. Run the tests with pnpm --filter @soat/server test and the smoke suite with pnpm run -w smoke-tests.
Found a security issue? Please report it privately — see SECURITY.md.
Apache 2.0 — see the LICENSE and NOTICE files for details. Releases published before the relicensing remain available under the MIT License. SOAT is not monetized: there is no paid tier and no feature withheld from this repository.
The license covers the code, not the name. For use of "SOAT" and the logo, see TRADEMARK.md.