Agent Studio is a browser-first interface for your AI agent creation team. It helps the team turn a rough agent idea into a build-ready plan with:
- a team build plan
- a specialist map
- a build checklist
- a risk register
- a prompt pack
- follow-up questions when key details are missing
- a visible active agent and version
- a human-approved evolution loop for learning from feedback
The app includes:
- a polished frontend
- a streaming API route
- a dedicated agent setup
- reusable planning tools
- local feedback memory and versioned improvement proposals
- tests and validation checks
- tracing hooks through the Agents SDK
The same local server also includes a separate Odysseus Command Centre at /command-centre and Market Lens at /market.
- Node.js 20 or newer
OPENAI_API_KEY
Optional:
OPENAI_MODELto override the default modelPORTto change the local server portAGENT_STUDIO_STATE_ROOTto change where local evolution and Command Centre workspace state is stored
- Copy
.env.exampleto.env. - Set
OPENAI_API_KEY. - Install dependencies:
npm installStart the app:
npm run devOpen the local URL printed in the terminal.
Open the command-centre interface at:
http://localhost:3000/command-centre
Open the stock research interface at:
http://localhost:3000/market
The main streaming route is:
POST /api/agent-plan
For backward compatibility, POST /api/launch-plan still works.
Command Centre routes:
GET /api/command-centre/statereturns the headquarters registry, guidance, lessons, mission replay, current command-centre state, and persisted workspace state.POST /api/command-centre/briefstreams a Chief of Staff interpretation from the simpleidea+ optionalguidanceintake and persists the completed mission so refresh restores the latest canvas.
Evolution routes:
GET /api/evolution/statereturns the active agent, active version, feedback count, learning signals, and proposals.POST /api/evolution/feedbackrecords local feedback as a learning signal.POST /api/evolution/proposecreates a pending versioned improvement proposal.POST /api/evolution/approveapproves a proposal and bumps the active local version.
Market Lens route:
POST /api/market-reportstreams a single-ticker research-support report with freshness warnings, bullish/base/bearish scenarios, confidence notes, research checklist, and financial-safety language.
Command Centre intake accepts JSON like:
{
"idea": "Build a clean headquarters interface for multiple AI teams.",
"guidance": "Keep the intake simple, show the active agent, and make the team registry visible."
}It accepts JSON like:
{
"agentIdea": "Build an internal support triage agent.",
"targetUser": "Support team",
"desiredOutcome": "Draft helpful first responses and escalate edge cases",
"tasks": "Classify inbound tickets, summarize context, suggest next steps",
"tools": "Zendesk API, knowledge base, Slack",
"constraints": "No customer data should leave approved systems.",
"assets": "Ticket taxonomy, tone guide, sample replies",
"integrations": "Slack, Zendesk, knowledge base",
"teamStyle": "Practical, fast, safety-first",
"outputs": "Suggested reply, confidence, escalation reason",
"channels": ["slack", "docs", "team review"]
}launch-desk/
agent.mjs
command-centre/
agent.mjs
schema.mjs
state.mjs
tools.mjs
workspace-state.mjs
public/
app.js
index.html
styles.css
evolution.mjs
schema.mjs
server.mjs
tools.mjs
public/
app.js
index.html
styles.css
test/
launch-desk.test.mjs
command-centre.test.mjs
command-centre-workspace.test.mjs
market-desk.test.mjs
validation-checklist.md
market-desk/
agent.mjs
schema.mjs
tools.mjs
public/
app.js
index.html
styles.css
The Agent Studio orchestrator uses the Agents SDK to:
- extract the core agent requirements
- assess build readiness
- build a team checklist
- generate a risk register
- draft prompt guidance
- suggest specialist roles and handoffs
- design a safe evolution loop
- propose prompt, tool, eval, and governance improvements
- generate a self-learning implementation backlog
The main director agent is backed by a prompt-architecture specialist agent via handoffs, so extending the system with new specialists is straightforward.
Odysseus Command Centre now follows the same product shape as Claude Design: a persistent project workspace with chat on one side, a durable operational canvas on the other, design-system guidance, replay, and code handoff readiness.
A mission brief is no longer just streamed into the browser. On completion, the server records the latest mission, request, final output, run metadata, live event, project status, and design-system notes in local workspace state. When the page refreshes, /api/command-centre/state reloads that workspace and the frontend restores the latest mission output instead of falling back to static defaults.
By default, Command Centre workspace state is stored at:
launch-desk/data/command-centre-workspace-state.json
That folder is git-ignored because it can contain local mission notes. Use AGENT_STUDIO_STATE_ROOT to point both evolution state and Command Centre workspace state at another local folder during tests or experiments.
Agent Studio treats self-learning as a controlled release process:
- A run produces streamed output from the active agent.
- A reviewer records feedback in the browser UI.
- Feedback becomes a local learning signal.
- The app creates a pending improvement proposal with changes, eval checks, and rollback notes.
- A human approves the proposal before the active version changes.
This keeps the agents evolving without silently rewriting production behavior.
By default, local evolution state is stored at:
launch-desk/data/evolution-state.json
That folder is git-ignored because it can contain team review notes. Use AGENT_STUDIO_STATE_ROOT if you want to point state at another local folder during tests or experiments.
The server wraps each request in an OpenAI trace span and starts the SDK trace export loop. If tracing is enabled in your environment, the run is visible through the standard OpenAI observability path.
Run the tests with:
npm testRun a local configuration check with:
npm run validate