Oxagen Docs

Web App Walkthrough

The Oxagen platform UI — where you configure data sources, inspect your workspace knowledge graph, and run agents against workspace data.

The Oxagen web app at app.oxagen.ai is the platform UI for your workspace ontology. Every action you take here — ingesting data, querying the graph, connecting sources — maps directly to the same API and MCP tools your agents use. The UI is a reference implementation, not a separate product.

Workspaces

A workspace is an isolated, typed knowledge graph. Every node, edge, and type is workspace-scoped — nothing leaks between workspaces, and no manual WHERE workspace_id = filters are needed by agents or API callers. PostgreSQL RLS enforces isolation at the database layer.

Your account starts with one default workspace. Additional workspaces can be created from the workspace switcher in the sidebar.

Each workspace has:

  • Nodes — typed entities in your graph (Person, code.function, Deal, etc.)
  • Edges — typed, directed relationships between nodes
  • Types — the schema vocabulary your graph has accumulated
  • Connections — live data sources feeding the graph (GitHub repos, Google Drive, etc.)

The Prompt Box

The prompt box is the primary interface for adding and querying data. It accepts natural-language text, markdown, pasted notes, and structured content.

The chat agent behind the prompt box runs against the same tool registry as the MCP server and the REST API — the in-app chat is one of three call sites for the same set of capabilities. See Agent Overview for the model and Agent Tools for the canonical catalog.

Oxagen classifies every submission into one of three intents:

IntentWhat happens
updateText is parsed by the Markdown Refiner. Nodes and edges are extracted and persisted.
queryThe Question Answerer runs hybrid semantic + structural retrieval and returns a grounded narrative with node citations.
bothUpdate runs first, then query over the freshly-updated graph.

Intent is inferred automatically. You can force it via the API with force_intent.

What Oxagen does with your text: The raw prompt is never stored. A SHA-256 hash is kept for deduplication and audit. Only the extracted nodes, edges, and embeddings are persisted. This is documented in Security.

Reading the answer

When you ask a question, the response includes:

  • Narrative — a 1–3 sentence grounded answer
  • Citations — the specific nodes the answer is drawn from, each linkable to the graph
  • Trace panel — a collapsible chain-of-thought showing embedding time, candidate retrieval count, LLM call duration, and citation extraction. Expand "Show verbose" for candidate node scores, token counts, and the raw model response. Use the Download JSON button to export the full trace for debugging.

If the answer says "I don't have anything in your ontology about that yet" — the graph is empty or the query didn't match any nodes. Add data first via the prompt box or a connection.

Confirmation cards

When the agent wants to run a tool whose policy is confirm or confirm_maybe — destructive ontology writes (ontology.delete_node, ontology.merge_nodes, ontology.rename_type), code.apply_patch, schedule create / delete — an inline approve/decline card appears in the thread. The card summarizes the pending action; nothing runs until you click Approve. Read Tool policies for which tools fall into which policy and how to opt a workspace into auto execution for non-destructive writes.

Graph Visualization

The graph view renders your workspace ontology as an interactive Cytoscape network. Access it from the workspace sidebar under Graph.

  • Pan — click and drag the canvas
  • Zoom — scroll wheel or pinch
  • Reset — double-click the canvas to fit the graph to screen

Type filter

The filter panel (top-left) lists every node type in your workspace. Toggle types on and off to reduce visual noise. The graph re-renders immediately — no reload.

Clicking nodes and edges

Click any node to open a properties panel on the right showing:

  • Node ID, type, and name
  • All properties extracted during ingestion (e.g. file_path, line_count, is_exported, signature for code nodes)
  • A "Node" badge indicating element kind

Click any edge to inspect the relationship:

  • Edge type (e.g. calls, imports, defines)
  • Source and target node references
  • Properties including confidence and condition for LLM-inferred semantic edges
  • An "Edge" badge

Click the canvas background to clear the selection.

Merge review

When the graph contains candidate duplicate nodes (same name, similar embeddings, different IDs), a Review merges button appears. The merge drawer shows each candidate pair side-by-side with a confidence score. Approving a merge collapses the two nodes into one and repoints all edges.

Connections

Connections feed external data into your workspace graph on an ongoing basis. Access them from Connections in the sidebar.

Connecting a GitHub repository

  1. Click Add connectionGitHub
  2. If your repo is private, install the Oxagen GitHub App on your org or repo first — see GitHub Private Repos
  3. Enter the repo owner/name (e.g. acmecorp/backend-api)
  4. Choose a refresh trigger:
    • Manual only — sync on demand via the Sync now button or MCP ontology.refresh_repo
    • On every push to branch — enter a branch name (e.g. main); the graph updates within seconds of each push
    • On a schedule — set an interval in hours (1–168)
  5. Toggle Semantic edge inference to enable the LLM pass that infers reads, writes, throws, returns, and modifies relationships between functions and symbols (~5 credits per file)

After connection, the worker ingests every supported source file and builds a typed code graph. The default parser set is configured per repository on the GitHub connection — see Code Graph.

Other connection types

ProviderNode types produced
Google DriveDocument, Spreadsheet, Folder
Google GmailEmail, Person, Thread
Google CalendarEvent, Person, Organization

Conversations

The Conversations panel (left sidebar) lists all past prompt sessions in the current workspace. Each conversation is a thread of user prompts and agent responses, including the chain-of-thought trace for each query.

Click any conversation to re-open it. The full message history is preserved. You can continue asking questions in a resumed conversation — each new query runs against the current state of the graph, not a snapshot from when the conversation started.

Workspace Settings

Access settings from the workspace sidebar → Settings.

Agent memory

Toggle Enable agent memory to activate the _mem:* subgraph for this workspace. When enabled, agent actions, sequences, and learned patterns are stored as Neo4j nodes anchored to the relevant workspace nodes. The memory evaluator runs asynchronously and improves agent performance over time without blocking any individual query.

See Agent Memory for the full reference.

Search configuration

  • Default top-k — number of candidate nodes retrieved per query (default: 20)
  • Retrieval modehybrid (semantic + structural), vector (embedding-only), or structural (graph traversal only)

Get started free · Read the API docs

On this page