Agent workbench topology
One core loop coordinates model calls, context, tools, memory, execution, and media production.
- @nebutra/agent-runtimedurable turns, tools, commands, hooks, subagents
- @nebutra/knowledge-ragretrieval, chunking, local embeddings, content-store
- @nebutra/mcptool catalog and protocol bridge
- @nebutra/reeltyped media graph and storyboard execution
- @nebutra/sandbox-runtimeexecution providers behind one router
- @nebutra/ai-providersmetadata only; runtime remains in agents
What it owns
- @nebutra/agents as the canonical model execution surface
- RAG, code indexing, knowledge graph, content store, and tool registry
- Image, video, audio, voice, sandbox, and browser automation pipelines
Where it stops
- Apps consume stable package APIs; they do not own provider routing.
- Media workflows depend on injected adapters instead of hardcoded vendors.
How we know it works
- package-local tests for agents, knowledge-rag, reel, and agent-runtime
- architecture tests for AI primitive ownership and runtime dependencies
In code
1import { generateText, streamText, embed } from "@nebutra/agents";
2
3// One unified surface — providers swap via env / config.
4const { text } = await generateText({
5 model: "anthropic/claude-sonnet-5",
6 prompt: "Summarize this support ticket in 3 bullets.",
7 system: "You are a senior support engineer.",
8});
9
10const { embedding } = await embed({
11 model: "openai/text-embedding-3-large",
12 value: ticket.body,
13});Packages
42 packages in packages/ai.
3D asset generation + render — text-to-mesh + USD export + Three.js preview, with GPU-pool routing on the backend.
Lower-level agent execution — message reducer, tool invocation, streaming state machine. The kernel @nebutra/agents wraps.
generateText({ model, prompt }) → { text }streamText({ model, prompt }) → AsyncIterableembed({ model, value }) → { embedding }
Multi-step agent runtime — Vercel AI SDK foundation, tool registry, streaming UI, MCP integration. The skeleton for every Sailor agentic feature.
Shared helpers used across all AI packages — token counting, prompt templating, stream-parser, retry-with-backoff. No provider dependency.
Provider metadata — pricing per million tokens, context windows, modalities. Drives model selection and cost estimates.
Infinite design canvas — multiplayer cursors, layer panel, frame export. The drawing surface every atelier play renders into.
Audio processing chain — voice clone, denoise, transcribe, summarize. Streams through one async iterator per stage.
- p1
- p2
- p3
- p4
- p5
- Make work flow
- Calm power
AI brand kit · 5 variations
Brand creation flow — pick palette, type pair, motion preset; ships a synced @nebutra/brand override and a Figma preview link.
Headless browser drive for agents — Vercel Agent Browser primary, Playwright fallback. Screenshot, click, type, evaluate.
Atelier cinema mode — distraction-free fullscreen with timed scene playback, perfect for demoing a play or rehearsing a pitch.
const total = orders
.filter(o => o.status === 'paid')
.reduce((s, o) => s + o.amount, 0)Sandboxed code execution for agents — JS / Python / shell — short-lived containers, network-isolated, capability-gated by @nebutra/permissions.
- packages/iam/auth/src/handler.ts:420.91
export async function handler(req: Request) - packages/iam/auth/src/middleware.ts:180.84
const auth = await handler.verify(token) - backends/gateway/src/auth.ts:70.78
import { handler } from "@nebutra/auth"
Repository code index for agents — symbol graph, embedding, file watcher. Lets the agent answer "where is X defined" without grep'ing.
Skill-and-stage cofounder matching — answers a small intake, surfaces ranked candidates with shared interest and warm intros.
Headless CMS adapter — Sanity / Strapi / Notion behind one ContentEntry'<T>' read API. Drives marketing pages and product copy.
Ingestion for PDF / docx / markdown — chunk, table-aware extract, embed, route to @nebutra/knowledge-base. OCR fallback for image-only pages.
Pre-flight safety check — license sweep, dep-vuln audit, prohibited-content scan. Surfaces blockers before a play ships to marketplace.
General-purpose event log primitive — append, query, time-window aggregate. Sits below audit, analytics, and trace-store as their record.
Policy rules that route agent tasks to compute backends — render → Vercel Sandbox, long → Lambda, internal → local-runner.
- idea·"Acme SaaS"2024-08no PMF
- idea·"VR Yoga"2024-12pivot needed
- idea·"AI Chef"2025-02competitor moved fast
Failed-startup memorial — anonymized post-mortems with cause tags. Read-only catalog, source of the recurring failure pattern dashboard.
Token-budgeted context window manager — system prompt, RAG, user history, scratchpad. Picks what to drop when the window fills.
Public idea board — submit, upvote, comment; the seed pool atelier plays draw from when a founder asks "what should I build".
Image generation + transform pipeline — provider-routed, watermark + safety filter, cached output, per-tenant quota.
Document store + indexer for RAG. Watches sources (S3, Notion, GitHub), schedules re-embed, surfaces freshness in the agent answer.
Entity + relationship store on top of @nebutra/graph-model. Lets agents traverse "customer → invoice → product" without a SQL detour.
Retrieval-augmented generation pipeline — chunk, embed, store, retrieve, rerank — pluggable per vector store.
Block-based landing page builder — drag pre-styled sections, edit copy in place, publish to a subdomain with one click.
On-device embedding via ONNX / WebGPU. Avoids the round-trip when the embed is short, private, or rate-limited at the provider.
search_docs · query corpus247msread_file · fs.read at path12msrun_query · SQL on tenant DB84msfetch_url · HTTP get URL412ms
Model Context Protocol server primitives — register tools, expose resources, stream subscriptions. Run inside Sailor or stand-alone.
Cold-outreach orchestrator — list dedupe, persona-aware drafting, send via SES/Resend, reply detection. Routes hot replies back into @nebutra/agents.
Hot-reload loader for atelier plays — sandboxed iframe, message bridge, persistence on save.
- Creem Onboarding2.4k★ 4.8
- Slack Recap1.2k★ 4.7
- Notion Sync847★ 4.6
- Linear Triage412★ 4.5
Marketplace shell for shareable atelier plays — discovery, ratings, install, attribution.
Short-form vertical video primitive — captures atelier moments, auto-captions via TTS pipeline, publishes to social channels.
Vercel Sandbox + Lambda + local runner adapter under one execute() call. Picks the runner from a policy rule list.
Inline AI support layer — answers from your docs + past tickets before a human is needed. Hands off cleanly with full transcript.
Project history scrubber — snapshot every save, branch a play from any past frame, diff two snapshots side by side.
Runtime tool catalog — schemas, descriptions, safety levels. Hot-swap tools between agents without re-deploying.
Long-form video pipeline — split, caption, b-roll, render. Distributes the long stages to backends/python via queue.
Realtime voice loop — input ASR, model stream, output TTS — sub-300ms end-to-end. Bridges OpenAI Realtime + Deepgram + ElevenLabs.
- forge-dns-leakAn authoritative DNS zone for real leak tests: probe names resolved by the visitor's recursive resolver are logged by source IP. Work in progress — needs a delegated zone.
- forge-runtimeThe capability registry and invoke pipeline behind Nebutra Forge: pure tools, one invoke path for the page and the API, charged against the credit ledger.
- startup-osTyped contracts for Startup OS: company context, founder conversation streaming, run state, generated files and rollout gates. Work in progress — no production app uses it yet.
- workflow-runtimeTenant-written workflows — agent(), parallel(), phase() — run only inside a fail-closed sandbox. Untrusted script source never reaches eval, new Function or node:vm.