Skip to content

CamzCodex/Command-Centre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Studio

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.

Requirements

  • Node.js 20 or newer
  • OPENAI_API_KEY

Optional:

  • OPENAI_MODEL to override the default model
  • PORT to change the local server port
  • AGENT_STUDIO_STATE_ROOT to change where local evolution and Command Centre workspace state is stored

Setup

  1. Copy .env.example to .env.
  2. Set OPENAI_API_KEY.
  3. Install dependencies:
npm install

Run

Start the app:

npm run dev

Open 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

API

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/state returns the headquarters registry, guidance, lessons, mission replay, current command-centre state, and persisted workspace state.
  • POST /api/command-centre/brief streams a Chief of Staff interpretation from the simple idea + optional guidance intake and persists the completed mission so refresh restores the latest canvas.

Evolution routes:

  • GET /api/evolution/state returns the active agent, active version, feedback count, learning signals, and proposals.
  • POST /api/evolution/feedback records local feedback as a learning signal.
  • POST /api/evolution/propose creates a pending versioned improvement proposal.
  • POST /api/evolution/approve approves a proposal and bumps the active local version.

Market Lens route:

  • POST /api/market-report streams 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"]
}

Project Structure

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

How It Works

The Agent Studio orchestrator uses the Agents SDK to:

  1. extract the core agent requirements
  2. assess build readiness
  3. build a team checklist
  4. generate a risk register
  5. draft prompt guidance
  6. suggest specialist roles and handoffs
  7. design a safe evolution loop
  8. propose prompt, tool, eval, and governance improvements
  9. 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.

Command Centre Workspace Model

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.

Self-Learning Model

Agent Studio treats self-learning as a controlled release process:

  1. A run produces streamed output from the active agent.
  2. A reviewer records feedback in the browser UI.
  3. Feedback becomes a local learning signal.
  4. The app creates a pending improvement proposal with changes, eval checks, and rollback notes.
  5. 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.

Tracing

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.

Tests

Run the tests with:

npm test

Run a local configuration check with:

npm run validate

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors