人間のアプリ。壁のない世界。アプリケーションコントラクトを一度書くだけ。人間はブラウザで、AI エージェントはツールで操作。エージェントは実行ごとに進化。
ひとつの defineAPI() 定義で自動的に作成: HTTP JSON API (Hono), MCP ツール (Claude Desktop), A2A スキル (Google Agent-to-Agent), OpenAPI 3.1 仕様.
import { defineAPI } from "@zauso-ai/capstan-core";
import { z } from "zod";
// One contract — humans use it via HTTP, agents via MCP/A2A
export const GET = defineAPI({
input: z.object({
status: z.enum(["open", "closed"]).optional(),
}),
output: z.object({
tickets: z.array(z.object({
id: z.string(),
title: z.string(),
status: z.string(),
})),
}),
description: "List support tickets",
capability: "read",
resource: "ticket",
async handler({ input }) {
return { tickets: await db.tickets.list(input) };
},
});agents/triage.tsimport { createSmartAgent } from "@zauso-ai/capstan-ai";
import { defineSkill } from "@zauso-ai/capstan-ai";
// Smart agent with 12 production features
const agent = createSmartAgent({
model: "claude-sonnet-4-20250514",
tools: [listTickets, assignTicket, resolveTicket],
skills: [triageSkill],
maxTurns: 20,
timeout: { total: 120_000, perTool: 30_000 },
budget: { maxTokens: 100_000 },
compression: { strategy: "sliding-window" },
});
// Skills give agents strategic guidance
const triageSkill = defineSkill({
name: "triage",
when: "ticket needs priority assessment",
strategy: "Check severity, customer tier, SLA deadline",
});defineAPI() は人間向け HTTP とエージェント向け MCP/A2A ツールを同時に提供。同じコントラクト、グルーコードゼロ。
createSmartAgent() に 12 のプロダクション機能:圧縮、フォールバック、バリデーション、タイムアウト、ウォッチドッグ、予算。
defineSkill() でエージェントに高レベルな戦略を付与。単なるツールではなく、複雑な問題への戦略的ガイダンス。
エージェントは実行ごとに学ぶ。経験 → 戦略 → スキル。時間とともに賢くなる。
React SSR、ファイルルーティング、Drizzle ORM、選択的ハイドレーション。人間向けアプリに必要なすべて。
JWT、OAuth、DPoP、SPIFFE/mTLS、レート制限、CSRF。人間とエージェントの認証を内蔵。
capstan verify --json。8 ステップの検証カスケード。AI エージェントが自己修正。
一度の定義で HTTP、MCP、A2A、OpenAPI が同時に利用可能。エージェントがアプリを自動発見。
| 機能 | Next.js | LangChain | Capstan |
|---|---|---|---|
| Web とエージェントの壁 | 🧱 | 🧱 | + |
| Multi-protocol (HTTP + MCP + A2A) | – | – | + |
| スマートエージェントランタイム | – | + | + |
| スキルレイヤー + 進化 | – | – | + |
| React SSR | + | – | + |
| File-based routing | + | – | + |
| 内蔵認証 (JWT + OAuth + API キー) | – | – | + |
| 内蔵データベースレイヤー | – | – | + |
| AI TDD verifier | – | – | + |
| OpenAPI auto-generation | – | – | + |
| 長期記憶 | – | ~ | + |
| ポリシーエンジン + 承認ワークフロー | – | – | + |
+ 内蔵 ~ 部分的 – なし 🧱 完全な壁 | 完全な比較
bunx create-capstan-app my-agentimport { createSmartAgent } from "@zauso-ai/capstan-ai";
const agent = createSmartAgent({
model: "claude-sonnet-4-20250514",
tools: [listTickets, assignTicket],
skills: [triageSkill],
});bunx capstan dev
# MCP server auto-available for Claude Desktopbunx create-capstan-app my-appcd my-app && bunx capstan devアプリは起動済み、すべてのエージェントエンドポイントが準備完了:
# Agent manifest
curl http://localhost:3000/.well-known/capstan.json
# OpenAPI spec
curl http://localhost:3000/openapi.json
# MCP server (for Claude Desktop / Cursor)
bunx capstan mcp@zauso-ai/capstan-ai 完全なスマートエージェントランタイムを提供。createSmartAgent() でプロダクションエージェント、defineSkill() で戦略的ガイダンス、実行ごとに学ぶ自己進化。
import { createSmartAgent, defineSkill } from "@zauso-ai/capstan-ai";
// Production-ready agent with 12 built-in features
const agent = createSmartAgent({
model: "claude-sonnet-4-20250514",
tools: [searchDocs, createTicket, sendEmail],
skills: [customerSupport, escalation],
maxTurns: 30,
timeout: { total: 120_000, perTool: 30_000 },
budget: { maxTokens: 200_000 },
compression: { strategy: "sliding-window" },
fallback: { model: "claude-haiku-4" },
validation: { validateToolArgs: true },
watchdog: { maxConsecutiveErrors: 3 },
});
// Skills evolve from experience
const customerSupport = defineSkill({
name: "customer-support",
when: "user has a support question",
strategy: "Search docs first, then check ticket history, escalate if unresolved",
});
// Agent learns and improves over time
// Experience -> Strategy -> Skill -> Evolution