TypeScript framework for building AI agents — multi-provider (Anthropic, OpenAI, Google), tool calling, permissions, hooks, streaming, and CLI coding assistant

README
A TypeScript framework for building AI agents with multi-provider support, tool calling, and extensible plugin architecture.
# Try it now (no install needed)
npx @robota-sdk/agent-cli
# Or install globally for persistent use
npm install -g @robota-sdk/agent-cli
robota
Beta: Robota is currently
3.0.0-beta. Core features are stable but APIs may change before 1.0. See CHANGELOG.md for upgrade notes.
macOS users: Korean/CJK IME input may crash macOS Terminal.app. Use iTerm2 instead. This is a known Ink + Terminal.app issue shared with Claude Code.
import { createQuery } from '@robota-sdk/agent-framework';
import { AnthropicProvider } from '@robota-sdk/agent-provider/anthropic';
const query = createQuery({
provider: new AnthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY }),
});
const response = await query('List all TypeScript files in src/');
import { Robota } from '@robota-sdk/agent-core';
import { AnthropicProvider } from '@robota-sdk/agent-provider/anthropic';
const agent = new Robota({
name: 'MyAgent',
aiProviders: [new AnthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY })],
defaultModel: {
provider: 'anthropic',
model: 'claude-sonnet-4-6',
systemMessage: 'You are a helpful assistant.',
},
});
const response = await agent.run('Hello!');
agent-cli ← Interactive terminal AI coding assistant
agent-transport-{tui,http,ws,mcp} ← Standalone transports (split in beta.76); agent-transport = lean core
↓
agent-framework ← Assembly layer: InteractiveSession, createQuery(), config/context loading
↓
agent-session ← Session lifecycle: