Core Components
The building blocks of the ask-rb ecosystem. Each component is a standalone gem that you can use independently or compose into an agent.
| Component | Purpose |
|---|---|
| LLM Providers | OpenAI, Anthropic, Google, Ollama, Bedrock, Mistral, Cloudflare |
| UI Kit | 16 Web Components for AI chat — Lit, Shadow DOM |
| Tools & Execution | Tool framework, shell tools, result types |
| Sandbox Providers | Isolated code execution — local, Docker, Daytona, Cloudflare |
| The Agent Loop | Session lifecycle, think-call-execute, compaction |
| Attachments & File Inputs | User→agent file uploads — inline bytes or context-only manifests |
| Workflows & Graphs | Multi-step durable workflows with checkpointing, sub-graphs, approval, timeouts, retry |
| Skills | On-demand methodology for agents |
| Schema & Structured Output | JSON Schema DSL for tool params and structured output |
| Credential Resolution | Environment, file, Rails credentials, OAuth |
| MCP Client | Model Context Protocol client for Ruby |
| Web Search | Local SearXNG-backed web search — tool library and MCP server |
| Web Fetch | URL → clean markdown — pluggable backends: Crawl4AI, Local, Jina, Browser (launched or attached to a running Chrome) |
| Computer Use | Click, type, screenshot, sandboxed VMs, encrypted Computer History via Cua Driver |
| App Server | JSON-RPC/stdio app server — expose your agent to any app-server client |
| Session Protocol | Canonical wire contract for ask sessions — events, interactions, versioning |
| Terminal | Terminal thin client for the session protocol — the ask TUI |
| ACP Client & Server | Agent Client Protocol — JSON-RPC 2.0 over stdio: drive coding agents or host your own |
| RAG Pipeline | Document loaders, text splitters, vector stores, MMR — full RAG pipeline |
| Token Usage | Token counting, pricing, wallet engine, ledger — usage-based billing |
| Local Development | Stable https://<app>.localhost URLs — zero dependencies, worktree-aware, per-host TLS |
Table of contents
- LLM Providers
- Foundation (ask-core)
- Tools & Execution
- Sandbox Providers
- The Agent Loop
- Skills
- UI Kit
- MCP Client
- Schema & Structured Output
- Credential Resolution
- Web Search
- Web Fetch
- RAG Pipeline
- Workflows & Graphs
- ACP Client & Server
- App Server (JSON-RPC)
- Attachments & file inputs
- Computer Use
- Session Protocol
- Terminal
- Local Development
- Token Usage