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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.