Nexus is a visual workflow editor for designing, composing, and exporting AI workflows. You build workflows on a drag-and-drop canvas, connect agents and control-flow nodes, then generate runnable command files for tools such as OpenCode, PI, and Claude Code.
- Drag-and-drop workflow editing on an infinite canvas
- Auto-layout for quick graph cleanup
- Multi-select, copy/paste, and keyboard shortcuts
- Nested sub-workflows with breadcrumb navigation
- AI workflow generation from natural-language descriptions
- AI prompt generation and prompt editing for agent nodes
- Dynamic model discovery from connected providers
- Dynamic tool discovery from the connected OpenCode server
- Save workflows locally and reload them later
- Save reusable node configurations to the library
- Import and export workflow JSON files
- Generate runnable workflow artifacts for
OpenCode,PI, andClaude Code - Export generated files as a ZIP or write them directly into a target folder
- Fullscreen editing for prompts and documents
- Skill, document, and script attachments for richer agent behavior
- Variable mapping and positional parameter mapping for generated workflows
- Agent configuration for model, memory, tools, and temperature
Nexus currently supports 13 workflow node types.
| Node | Purpose |
|---|---|
Start |
Entry point of the workflow |
Prompt |
Plain natural-language instruction block used in generated workflow output |
Script |
Attaches custom script content for skill execution |
Agent |
Delegates work to an AI agent with model, memory, tools, variables, and parameter mappings |
Parallel Agent |
Fans work out across multiple downstream agent branches in parallel |
Skill |
Reusable skill definition that can be attached to agents |
Document |
Attaches inline or linked documents to agents |
Sub Workflow |
Embeds a nested workflow, either in same-context mode or agent mode |
MCP Tool |
Represents an MCP tool call in the workflow |
End |
Terminal node of the workflow |
| Node | Purpose |
|---|---|
If / Else |
Conditional branching |
Switch |
Multi-way branching |
Ask User Question |
Human-in-the-loop branch selection |
- Node.js
>= 18.18
npm install
npm run devOpen the app in your browser at the local Next.js URL shown in the terminal, usually:
http://localhost:3000
npm run build
npm run start
npm run lint
npm run typecheck- Create or rename your workflow in the header.
- Drag nodes from the palette onto the canvas.
- Connect the nodes to define execution flow.
- Select a node to edit its properties in the properties panel.
- Use auto-layout to organize larger graphs.
- Attach
Skillnodes to agents for reusable capabilities. - Attach
Documentnodes to agents for reference material. - Attach
Scriptnodes to skills when the generated skill should include runnable script files. - Use parameter mappings when an agent should receive positional arguments such as
$1,$2, and$3.
AI features require a running OpenCode server.
npm i -g opencode-ai
opencode serve --cors http://localhost:3000Then connect from the Nexus header.
OpenCode is only required for AI-powered features such as:
- AI workflow generation
- AI prompt generation and editing
- Dynamic model discovery
- Dynamic tool discovery
The editor itself still works offline for workflow design and export.
When your canvas is ready, open the generate/export flow from the app and choose a target:
OpenCodePIClaude Code
Nexus generates files based on your workflow name and node connections.
Depending on the selected target, Nexus writes files under one of these root folders:
.opencode.pi.claude
Typical generated files include:
commands/<workflow-name>.mdagents/<agent-name>.mdskills/<skill-name>/SKILL.mdskills/<skill-name>/scripts/<script-file>docs/<document-file>
You can also:
- import workflow JSON back into Nexus for editing
- save workflow layouts and reusable nodes into the library
- preview generated output before exporting
The workflow command name is generated from the workflow title by:
- converting it to lowercase
- replacing spaces with
- - removing unsupported characters
So a workflow named:
My Workflow
becomes:
my-workflow
After exporting the generated files into the target tool's command directory, run the workflow by its generated command name:
/my-workflow [params]
Examples:
/my-workflow
/my-workflow customer-123
/my-workflow customer-123, high-priority, en
Workflow parameters are comma-separated and trimmed.
For example:
/my-workflow 2, 5, 10
maps to:
$1 = 2$2 = 5$3 = 10
These positional values can then be passed through agent parameter mappings inside the workflow.
- Create the main execution path from
StarttoEnd - Add
Agent,Prompt, and control-flow nodes - Attach
Skill,Document, andScriptnodes where needed - Save reusable pieces to the library when they can be reused
- Generate files for your target environment
- Run the generated command using
/<workflow-name> [params]
| Shortcut | Action |
|---|---|
Ctrl/Cmd + S |
Save workflow |
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Shift + Z |
Redo |
Ctrl/Cmd + A |
Select all |
Ctrl/Cmd + D |
Duplicate |
Ctrl/Cmd + Alt + E |
Export workflow JSON |
Ctrl/Cmd + Alt + G |
Open generate/export dialog |
Ctrl/Cmd + Alt + A |
AI generate workflow |
Ctrl/Cmd + Alt + P |
Preview generated output |
H / V |
Hand tool / Selection tool |
? |
View all shortcuts |
Delete / Backspace |
Delete selected |
Escape |
Close panel |
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
MIT Β© Nexus Workflow Studio Contributors