Configuration
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
PORT | No | 3004 | Server port |
MONGODB_URI | Yes | — | MongoDB connection string |
NORMAN_ENGINE_URL | No | http://localhost:3001 | Norman Engine service URL |
NORMAN_LIBRARY_URL | No | http://localhost:3002 | Norman Library service URL |
NORMAN_SEARCH_URL | No | http://localhost:3003 | Norman Search service URL |
AGENT_MODE | No | v0.1 | Agent mode: v0.1 (simple chat) or v1 (task agent) |
CONVERSATION_HISTORY_LIMIT | No | 50 | Max conversation messages loaded as context |
LOG_LEVEL | No | info | Logging level |
Agent Modes
v0.1 Mode
Simple conversational agent with memory and tools. All endpoints work except /api/tasks/*.
v1 Mode
Full task agent with step decomposition and parallel execution. Set:
AGENT_MODE=v1This enables the task endpoints. The chat endpoint continues to work normally.
Tool Configuration
Tools are enabled/disabled via the API:
# Disable a tool
curl -X PATCH http://localhost:3004/api/tools/web_search \
-H "Content-Type: application/json" \
-d '{"enabled": false}'Service Dependencies
Norman Agent requires:
- Norman Engine — All LLM calls route through Engine
- MongoDB — Memory, conversations, and task state storage
- Norman Library (optional) — File access tool
- Norman Search (optional) — Knowledge base search tool