A complete step-by-step walkthrough of every feature in OpenForge. Whether you're setting up for the first time or exploring advanced capabilities, this guide covers it all.
- Getting Started
- Workspaces
- Knowledge Management
- Chat and Conversations
- Search
- Agents
- Automations
- Deployments
- Missions
- Sinks
- Runs
- Outputs
- Tools and Skills
- MCP Servers
- Approvals (Human-in-the-Loop)
- Settings
- Keyboard Shortcuts
Getting started with OpenForge takes three steps:
OpenForge needs at least one LLM provider to power its AI features. The onboarding wizard guides you through this on first launch. Choose from:
| Provider | What You Need |
|---|---|
| OpenAI | API key from platform.openai.com |
| Anthropic | API key from console.anthropic.com |
| Google Gemini | API key from ai.google.dev |
| Groq | API key from console.groq.com |
| DeepSeek | API key from platform.deepseek.com |
| Mistral | API key from console.mistral.ai |
| OpenRouter | API key from openrouter.ai |
| xAI | API key from console.x.ai |
| Cohere | API key from dashboard.cohere.com |
| ZhipuAI | API key from open.bigmodel.cn |
| HuggingFace | API key from huggingface.co |
| Ollama | Local Ollama instance URL (no API key needed) |
| Custom | Any OpenAI-compatible or Anthropic-compatible API endpoint |
After adding a provider, configure model assignments for different capabilities (chat, vision, embedding, audio, CLIP, PDF).
Tip: Ollama is a great free option for running models locally.
A workspace is your organizational container. Think of it like a project folder that keeps your knowledge, conversations, and settings separate. Enter a name, optionally add a description, and you're ready to go.
Navigate to Chat in your workspace, type a message, and press Enter. The AI agent will search your knowledge base for relevant context and generate a grounded response.
Workspaces are the top-level organizational unit in OpenForge. Each workspace has its own knowledge base, conversations, and settings.
- Go to Settings > Workspaces
- Click Create Workspace
- Enter a name, optional description, and choose an icon
- Click Create
Use the workspace switcher in the sidebar to switch between workspaces. Each workspace maintains its own:
- Knowledge base
- Conversations
- Search index
- Model configuration overrides
Each workspace can override the global model defaults. Navigate to a workspace and its settings to configure workspace-specific model assignments.
If you need to consolidate, you can merge one workspace into another from Settings > Workspaces. This combines all knowledge and conversations from both.
Knowledge is the core of OpenForge. Everything you save becomes searchable and available as context for AI conversations.
OpenForge supports 11 types of knowledge:
| Type | Description | How to Create |
|---|---|---|
| Note | Rich text notes | Click + > Note, write your content |
| Fleeting Note | Quick capture for temporary thoughts | Click + > Fleeting Note |
| Bookmark | Web links with auto-extracted content | Click + > Bookmark, paste URL |
| Gist | Code snippets with syntax highlighting | Click + > Gist, select language |
| Image | JPEG/PNG images with visual search | Click + > Image, upload file |
| Audio | MP3/WAV files with transcription | Click + > Audio, upload file |
| PDF documents with text extraction | Click + > PDF, upload file | |
| Document | Word documents (.docx) | Click + > Document, upload file |
| Sheet | Excel spreadsheets (.xlsx) | Click + > Sheet, upload file |
| Slides | PowerPoint presentations (.pptx) | Click + > Slides, upload file |
- Navigate to your workspace's Knowledge page
- Click the + button or use Cmd/Ctrl+N
- Select the knowledge type
- Fill in the content (or upload a file)
- Add optional tags for organization
- Click Save
When you save knowledge, OpenForge automatically:
- Chunks the content into smaller pieces for search
- Embeds each chunk using vector embeddings
- Indexes everything for semantic search
- Generates intelligence (if enabled): summaries, tags, key insights, and suggested titles
- Pin important items so they appear in the sidebar for quick access
- Archive items you want to keep but hide from the main view
- Tag items for organization and filtering
- Filter the knowledge grid by type, search query, or archive status
- Sort by last modified, date created, or word count
- Reprocess items to regenerate embeddings and intelligence
Each knowledge type has a dedicated editor:
- Notes β Rich text editor with formatting toolbar
- Gists β Code editor with syntax highlighting for multiple languages
- Bookmarks β URL display with extracted content view and re-extraction option
- PDFs/Documents/Sheets/Slides β File preview with extracted text display
- Images β Image viewer with metadata and optional CLIP visual embedding
- Audio β Audio player with transcription display (faster-whisper STT)
- Video β Video player with timestamped transcript, scene keyframes, and deep-link segments
- Journals β Date-anchored journal entries with dedicated creation flow and amber-themed cards
When intelligence generation is enabled, each knowledge item gets:
- Summary β AI-generated overview of the content
- Tags β Suggested categorization tags
- Key Insights β Extracted highlights, todos, deadlines, and important points
You can trigger intelligence generation manually from any knowledge item's metadata panel.
The chat interface is where you interact with AI agents. Chat is workspace-agnostic β you can select any agent from the global agent list, including workspace-specific agents.
- Navigate to Chat (top-level, not workspace-scoped)
- Select an agent from the agent list (includes one workspace agent per workspace)
- Optionally select an LLM model override
- Type your message and press Enter
The system will:
- Analyze your message to extract values for the agent's input parameters
- If required parameters are missing, ask follow-up questions
- Search relevant workspaces for knowledge context
- Generate a response grounded in your knowledge
Responses stream in real-time via WebSocket. You can see the AI thinking and generating as it works.
Each message shows a timeline of what the agent did:
- Model Selection β Which LLM model was chosen
- Thinking β The agent's reasoning process (expandable/collapsible)
- Tool Calls β Any tools the agent used (with parameters and results)
- Context Sources β Which knowledge items were retrieved as context
Attach files directly to messages:
- Click the attachment icon in the chat input
- Select files to upload
- The agent will process and reference them in its response
Record voice messages:
- Click the microphone icon
- Speak your message
- Click stop β the audio is transcribed and sent
Override the default model for a specific message:
- Click the model selector dropdown in the chat input
- Choose a different provider/model
- Your message will be processed by that model
Toggle prompt optimization to have the optimizer agent refine prompts before the main agent processes them.
Mention another workspace with @workspace-name to instruct the agent to delegate cross-workspace queries via the agent.invoke tool.
- Rename β Click the conversation title to rename it
- Archive β Move conversations to archive
- Delete β Move to trash (recoverable)
- Permanently Delete β Remove forever from trash
- Export β Export as JSON, Markdown, or plain text
- Bulk Operations β Select multiple conversations for batch actions
The left sidebar shows:
- Recent Conversations β Your latest chats
- Delegated Conversations β Chats where one agent delegated to another
- Trash β Deleted conversations (recoverable)
OpenForge provides powerful search across all your knowledge.
- Navigate to Search in your workspace
- Enter your query in the search bar
- Results are ranked by semantic relevance (not just keyword matching)
Search uses hybrid retrieval (dense vectors + sparse BM25 + summary vectors) combined via Reciprocal Rank Fusion, with optional cross-encoder reranking.
You can filter results by knowledge type using the filter chips.
- On the Search page, switch to the Visual Search tab
- Upload an image or provide an image URL
- OpenForge finds visually similar images in your knowledge base using CLIP embeddings
For research workflows, the search page supports:
- Evidence Packet Assembly β Collect and organize search results into a structured evidence packet
- Retrieval Tracing β Debug and inspect the retrieval pipeline to understand why certain results appear
Agents are the AI actors in OpenForge. Each agent is a structured definition with explicit fields configured through the UI.
| Field | Purpose |
|---|---|
| Name | Human-readable agent name |
| Slug | Unique identifier (auto-generated from name) |
| Description | What the agent does |
| Tags | Categorization labels (e.g., "chat", "research", "review") |
| System Prompt | Template-driven instructions (see Template Engine below) |
| Input Parameters | Typed inputs the agent accepts (text, enum, number, boolean) |
| Output Definitions | Structured outputs the agent produces (text, json, number, boolean) |
| LLM Config | Provider, model, temperature, max tokens, allow per-run override |
| Tools Config | Per-tool access: allowed (immediate), HITL (requires approval), or disabled |
| Memory Config | History limit, attachment support, auto-bookmark URLs |
- Navigate to Agents (top-level)
- Click Create Agent
- Enter a name (slug auto-generates)
- Add input parameters and output definitions as needed
- Write the system prompt using the template editor
- Configure LLM, tools, memory, and tags in the siderail
- Click Create
System prompts use a template language with three sections. The preamble automatically adapts based on execution context (interactive chat vs automation node):
- Preamble (read-only) β Auto-generated from agent identity, input parameters, and output definitions. In chat mode, guides conversational output. In automation mode, enforces structured JSON output matching output definitions.
- Editable section β Your custom agent instructions
- Postamble (read-only) β Auto-generated application context (workspaces, available agents, skills)
Template syntax available in the editable section:
{{variable}}β Insert a variable value{{system.workspaces}},{{system.tools}},{{system.agents}}β System-provided lists{{output.analysis}}β Reference an output variable inline{% for item in collection %}...{% endfor %}β Loop{% if condition %}...{% endif %}β Conditional{# comment #}β Template comment- 40+ built-in functions (string, array, math, utility, type checking)
The template reference sidebar in the editor lists all available variables, functions, and syntax.
Each parameter has: name, type (text/enum/number/boolean), required flag, description, default value, and options (for enum). Parameters serve as:
- Template variables in the system prompt (e.g.,
{{topic}}) - Input ports when used as automation nodes
- Values extracted from chat messages at runtime
Each output has: key, type (text/json/number/boolean), label, and description. The preamble automatically documents outputs and the structured response format the LLM must follow.
Every save creates an immutable version snapshot. View previous versions from the Timeline section in the siderail. Click any version to see a read-only snapshot of the agent's state at that point.
OpenForge ships with 6 built-in agent templates: Chat Assistant, Deep Researcher, Code Reviewer, Content Builder, Change Watcher, and Team Coordinator. Each workspace also gets a dedicated workspace agent seeded at creation.
- Navigate to Agents (top-level, not workspace-scoped)
- View all agents in the table with tags and timestamps
- Click an agent to see its detail page (view mode)
- Click Edit to modify, Delete to remove
- Changes are saved with version snapshots
Automations are DAG workflows built by wiring agent nodes and sink nodes together on a drag-and-drop canvas.
- Agent nodes are dragged from the available agents list. Each node's interface is defined by its agent's input parameters (input ports) and output definitions (output ports).
- Sink nodes define what happens with agent outputs (chat, article, knowledge create/update, REST API, notification, log).
- Wiring connects output variables of one agent node to input variables of another, or to sink nodes.
- Static values can fill any agent input instead of wiring it.
- Unfilled inputs become mandatory deployment inputs β the user must provide them when deploying.
- Navigate to Automations (top-level)
- Click Create Automation
- Drag agent nodes onto the canvas from the node palette
- Wire outputs to inputs between nodes
- Add sink nodes for output destinations
- Fill static values or leave inputs as deployment parameters
- Click Create
An automation definition is a reusable blueprint. It does nothing until deployed. The definition captures the full DAG, all wiring, static values, and the derived deployment input schema.
A deployment is a live instance of an automation, created when you deploy it with concrete input values and an attached trigger.
- Navigate to the automation detail page
- Click Deploy
- Provide values for all mandatory inputs (unfilled/unwired parameters)
- Select a trigger type and configure it
- Click Deploy
| Type | Description |
|---|---|
| Manual | On-demand β click "Run Now" |
| Schedule (Cron) | Fires on a cron expression (e.g., 0 9 * * 1 for every Monday at 9am) |
| Interval | Fires every N seconds/minutes/hours |
- Navigate to Deployments (top-level)
- View all active and paused deployments
- Pause to temporarily stop a deployment
- Resume to restart a paused deployment
- Tear down to permanently remove a deployment
Missions enable autonomous, long-running goal pursuit. Instead of a single execution, a mission runs an agent over multiple OODA cycles until the goal is achieved or budget is exhausted.
A mission defines:
- Goal β What the agent should achieve
- Directives β Instructions for how to approach the goal
- Constraints β Operational boundaries the agent must respect
- Rubric β Evaluation criteria with target scores and ratchet modes
- Autonomous Agent β The agent assigned to pursue the goal
- Budget β Max cost, max tokens, and max cycles
- Cadence β How often to run cycles (interval in seconds)
Each cycle follows the OODA model:
- Perceive β Observe the current state
- Plan β Decide what to do next
- Act β Execute actions using the agent's tools
- Evaluate β Score results against the rubric
- Reflect β Capture lessons and decide on next steps
- Navigate to Missions (top-level)
- Click Create Mission
- Define the goal, directives, and constraints
- Configure the evaluation rubric with criteria, target scores, and ratchet modes
- Select an autonomous agent
- Set budget limits and execution cadence
- Click Create (creates in draft status)
| Status | Description |
|---|---|
| Draft | Created but not running. Can be edited. |
| Active | Running cycles on the configured cadence. |
| Paused | Temporarily stopped. Can be reactivated. |
| Terminated | Manually stopped. Final state. |
| Completed | All rubric targets met. Final state. |
- Activate a draft or paused mission to start running cycles
- Pause to temporarily stop without losing state
- Terminate to permanently stop the mission
Each mission gets a dedicated owned workspace for its knowledge and artifacts. This workspace can be promoted to a regular user workspace if you want to keep the mission's accumulated knowledge after it ends.
Each rubric criterion has a ratchet mode:
- Strict β Scores must not decrease between cycles (prevents quality regression)
- Relaxed β Scores are allowed to vary between cycles
The mission completes when all criteria meet their target scores.
Sinks define what happens with agent output values. They are reusable output destinations that can be wired into automations.
| Type | Description | Key Inputs |
|---|---|---|
| Log | Records to run history | data, log_level |
| Knowledge Create | Creates a knowledge item in a workspace | content, title, workspace_id, knowledge_type |
| Knowledge Update | Updates an existing knowledge item | content, knowledge_id, workspace_id |
| Article | Writes a document to the filesystem | content, title, output_format, file_path |
| REST API | Calls an external HTTP endpoint | url, body, method, headers |
| Notification | Sends a notification via webhook | message, channel (webhook URL), template |
- Navigate to Sinks (top-level)
- Click Create Sink
- Select a sink type
- Configure the sink's inputs (some can have default values)
- Click Create
Sinks appear as nodes on the automation canvas alongside agent nodes. Wire agent output variables to sink inputs to route results to their destination. Inputs with configured default values become fixed; unfilled inputs become wirable ports on the canvas.
A run is a single execution instance β whether from an interactive chat session, a mission cycle, or an automation trigger.
- Navigate to Runs (top-level)
- Browse the list of all executions
- Filter by status (pending, running, completed, failed)
Note: The runs list auto-refreshes to show real-time status updates.
Click any run to see its full details:
- Steps β Individual steps the run executed
- Outputs β Any artifacts the run produced
- Events β Runtime events and logs
- Cost & Tokens β Token consumption and estimated cost
If a run was paused (e.g., waiting for HITL approval), it resumes automatically once the approval is resolved.
Outputs are the durable results produced by agent runs, automations, or manual creation. They were previously called "artifacts" in the codebase.
An output is any meaningful result β a document, analysis, report, code, or dataset. Outputs are first-class objects with:
- Versioning β Every material change creates a new version
- Lineage β Links back to the run, automation, or agent that created it
- Status Lifecycle β Draft > Active > Superseded or Archived
- Tags β For organization and discovery
- Sinks β Configurable publication destinations
- Navigate to Outputs (top-level)
- Click Create Output
- Enter title, summary, content, and type
- Set status and visibility
- Click Create
Outputs are also automatically created by automation runs that route results through sink nodes.
Each output maintains a full version history. View previous versions and compare changes from the output detail page.
Outputs track their provenance:
- Which run produced them
- Which automation or agent was responsible
- Which knowledge items were referenced
OpenForge comes with 79 built-in tools organized into 12 categories:
| Category | Tools | Purpose |
|---|---|---|
| filesystem | read_file, write_file, list_directory, search_files, file_info, move_file, delete_file | Work with files |
| shell | execute, execute_python | Run shell commands and Python scripts |
| git | status, log, diff, add, commit, init | Version control operations |
| language | parse_ast, find_definition, find_references, apply_diff | Code analysis and modification |
| memory | store, recall, forget | Typed memory (fact, preference, lesson, context, decision, experience) |
| http | get, post | Low-level HTTP requests |
| web | read_page, read_pages, screenshot | Web content extraction (Crawl4AI) and screenshots |
| search | web, news, images | Web search, news search, image search (via SearXNG) |
| browser | open, snapshot, click, type, fill_form, extract_text, evaluate, list_tabs, close_tab | Interactive browser automation (PinchTab) |
| platform | agent., automation., deployment., sink., workspace., chat. | Manage OpenForge entities programmatically |
| task | create_plan, get_plan, update_step | Task and plan management |
| skills | install, list_installed, read, remove, search | Manage custom skills |
Tools are automatically available to agents during conversations. The agent decides which tools to use based on your request. Individual tools can be allowed, blocked, or gated by an agent's tools and confirm_before blueprint fields.
Skills are installable extensions that add new capabilities. Think of them as plugins.
- Go to Settings > Skills
- Search β Find skills from the skills registry
- Install β Click install to add a skill
- Remove β Uninstall skills you no longer need
Skills are script files with a SKILL.md descriptor. When installed, they become available as tools that agents can use during conversations.
Control which tools agents can use from Settings > Tools:
| Permission Level | Behavior |
|---|---|
| Default | Uses the tool's built-in risk level |
| Allowed | Tool executes without any approval |
| Approval | Tool pauses and waits for human approval before executing |
| Blocked | Tool is disabled and cannot be used |
MCP (Model Context Protocol) servers let you connect external tool providers to OpenForge.
- Go to Settings > MCP
- Click Add Server
- Enter the server URL, transport type, and authentication details
- Click Discover to auto-detect available tools
- Configure per-tool overrides (enable/disable, risk level)
MCP servers expose additional tools that agents can use. This lets you:
- Connect to proprietary internal tools
- Integrate with third-party services
- Extend OpenForge without modifying its code
OpenForge supports human-in-the-loop (HITL) approval for high-risk operations.
- An agent encounters a tool call that requires approval (based on risk level or permission config)
- The agent pauses and creates an approval request
- You see a notification in the chat timeline
- Review the request β see what tool, parameters, and context
- Approve to let the agent proceed, or Deny to block the action
- The agent resumes (or adjusts its approach if denied)
On the agent detail page, configure per-tool access in the Tools section of the siderail. Set individual tools to HITL mode to require approval before execution. In Settings, configure global tool permission overrides.
Access settings from the gear icon or navigate to /settings.
Create, edit, merge, and delete workspaces. Configure workspace icons and descriptions.
Configure LLM providers and model assignments:
- Providers β Add, edit, test, and remove LLM providers. Set a default provider.
- Chat β Assign which model handles conversations
- Vision β Assign a vision-capable model for image analysis
- Embedding β Configure the text embedding model (local by default)
- Audio β Configure speech-to-text and text-to-speech models
- CLIP β Configure the visual search model (local by default)
- PDF β Configure the PDF processing model
Manage background task scheduling:
- View scheduled tasks (knowledge embedding, intelligence generation, maintenance)
- Run tasks manually
- Configure automation preferences (auto-intelligence, auto-bookmark extraction)
Install and manage custom skills from the skills registry.
Configure Model Context Protocol servers for external tool integration.
View audit logs:
- Tool call history
- Container logs
- System events
Import data into OpenForge from JSON backups.
Export data from OpenForge:
- Export all data
- Export a specific workspace
- Download as JSON
| Shortcut | Action |
|---|---|
| Cmd/Ctrl + K | Open command palette (search, navigate, quick actions) |
| Cmd/Ctrl + B | Toggle sidebar |
| Cmd/Ctrl + N | Create new knowledge item |
| Enter | Send message in chat |
Press Cmd/Ctrl + K to open the command palette, which lets you:
- Switch workspaces quickly
- Navigate to any page
- Execute common actions
- Search across the application
-
Start with knowledge β The more knowledge you add, the better your AI conversations become. Add notes, bookmarks, documents, and code snippets that are relevant to your work.
-
Use tags β Tag your knowledge items consistently to make filtering and organization easier.
-
Pin frequently used items β Pinned knowledge appears in the sidebar for instant access.
-
Try different models β Use the model override feature in chat to compare responses from different LLMs.
-
Use agent templates as starting points β The built-in templates (researcher, builder, reviewer, etc.) provide good defaults for common tasks. Customize them for your specific needs.
-
Set up automations for repetitive work β If you find yourself doing the same research or analysis regularly, create an automation with appropriate triggers and budgets.
-
Use HITL for safety β Configure
confirm_beforein agent blueprints for high-risk tools to maintain control while still benefiting from automation. -
Monitor costs β Check the runs list to track token usage and costs across providers.
-
Use workspaces for separation β Create different workspaces for different projects to keep knowledge bases focused and search results relevant.
For technical architecture details, see Architecture. For deployment instructions, see Deployment.