| Name | Kind | Description | Capability | Actions |
|---|
route_to_* tools.
Core agents run a deterministic ingestion pipeline first (Excel, PDF, …) before the LLM step.
route_to_<slug> tool the supervisor can call.| Name | Status | Approach | Description | Actions |
|---|
| Name | Source | Description | Parameters | Actions |
|---|
Entities + relations extracted from your documents and stored in Neo4j. Click any node or edge to inspect properties and provenance.
| From | Relation | To | Confidence | Source document |
|---|
Supported: .pdf (text + tables + images), .txt, .md, .csv,
.json, and other text-like formats. Max 10MB per file.
Pick one or many; each file is indexed twice: legacy TF-IDF (keyword) and the agentic
vector store (semantic chunking + multi-modal + Chroma embeddings).
ChromaDB + ONNX MiniLM-L6-v2 embeddings. Multi-modal ingestion via PyMuPDF
extracts text, tables, and images (with caption-text proximity).
The Knowledge Researcher agent uses agentic_rag_search for hybrid retrieval.
Every uploaded document is automatically mined for entities (companies, people,
places, treaties, policies…) and relations (PARTY_TO, OWNS, CEDES_TO,
REGULATED_BY…) which are persisted into the Neo4j graph at
bolt://localhost:7687.
Agents enrich agentic_rag_search results with a 1-hop graph context
when a query matches known entities.
| Document | Entities | Relations | Top kinds | |
|---|---|---|---|---|
| no extractions yet | ||||
| Name | Type / Size | Stored in | Status | Actions |
|---|
recall_memory at turn start and remember_fact when the user fixes a decision.
| Document | Uploaded | Size | Chunks | Graph | Context | Cost |
|---|
| User | Threads | Turns | Cost | Last activity |
|---|
Compose agents, verifiers, branches and tools on a horizontal canvas — like Langflow / Agent Builder.
Every run streams reasoning, tool calls and tool results in real time. Step through old runs node-by-node.
Add yes/no gates, JSON-schema validation, and "no-data" routing so chains don't blindly continue.
Track wall time and cost per node. Save assertions; run regression tests across all of your workflows.
| Name | Nodes | Last run | Last cost | Runs | Actions |
|---|
Pick one from the switcher or create a new workflow.
{ok, reasons}. If ok=false, the run halts and the failure is recorded.text — free text (default).yes_no — must contain yes or no.enum: a,b,c — must be one of the listed values.json — must parse as JSON.json_schema: {...} — must match the given JSON schema.Currently the builder is a structured list editor (every node has a numbered position; connections reference other node IDs). A visual canvas with drag-and-drop is on the v2.x roadmap and will read/write the same JSON.
http://localhost:8200/mcp.
| Display name | Role | Department | Dept admin | Last login |
|---|
Saved profiles let you flip between providers (Claude / gpt-4o / gpt-5.x …) with one click. Pick a profile in the list, click Set active, then restart pulse-web — the dispatcher picks up the active profile at boot. Empty key fields preserve the previously-saved secret.
| Label | Provider | Deployment / endpoint | Keys | Actions | |
|---|---|---|---|---|---|
| loading… | |||||
The web_search MCP tool dispatches to whichever backend is marked active.
DuckDuckGo needs no key. Perplexity needs an API key from
perplexity.ai/settings/api.
Changes take effect immediately — no restart needed.
| Label | Type | Model | Key | Actions | |
|---|---|---|---|---|---|
| loading… | |||||
Live runtime status of the database and Neo4j connections.
Edits are persisted to web/data/.env.local; real environment variables
set in the launching shell always win. A restart is required for changes to take effect.
python3 web/app.py) so the new values are loaded.