How n8n-io/nod works
Nod is a personal AI agent that runs locally or on a server, connects to work apps and websites, and can ask for approval before acting. The main workflow is a user request entering through chat, being managed as a thread and turn, then handled by the agent runtime using models, integrations, and a computer/browser; results and approval requests return through the server to the user interface. Memory, scheduled/proactive work, trust controls, and usage visibility are important product branches. Some subsystem links are documented by the README but their implementation was not sampled.
Main entry points: index.ts Agent runtime · app.ts Server API · thread.ts Threads and turns · tasks.ts Tasks and schedules
Components 20
User experience
- Chat and workspace UI
src/web/app.tsx - App connections
src/web/pages/apps.tsx - Desktop host
desktop/main/main.mjs
Agent orchestration
- Server API
src/server/app.ts - Threads and turns
src/server/thread.ts - Tasks and schedules
src/server/tasks.ts - Agent runtime
src/runtime/index.ts
Agent capabilities
- Agent port
src/ports/agent.ts - Computer port
src/ports/computer.ts - Browser automation
src/providers/container-browser/client.ts - App integrations
src/ports/integrations.ts - Model providers
src/providers/pi/models.ts
Trust and memory
- Trust review
src/server/trust-review.ts - Memory and skills
src/providers/pi/memory-curator.ts - Private credentials
src/shared/contracts.ts
Platform services
- Application database
src/server/db.ts - Private object storage
src/server/object-storage.ts - Usage and analytics
src/server/analytics.ts
Other components
- User
- Connected apps and web
Connections 25
- User → Chat and workspace UI: requests work
README.md - Chat and workspace UI → Server API: sends requests
- App connections → Server API: configures connections
src/web/pages/apps.tsx - Desktop host → Server API: hosts engine
- Server API → Threads and turns: routes chat
src/server/app.ts - Server API → Tasks and schedules: routes tasks
src/server/app.ts - Threads and turns → Agent runtime: runs turns
src/server/thread.ts - Tasks and schedules → Threads and turns: manages task turns
src/server/tasks.ts - Agent runtime → Agent port: invokes agent
src/runtime/index.ts - Agent runtime → Computer port: uses computer
src/runtime/index.ts - Browser automation → Computer port: implements browser
src/providers/container-browser/client.ts - Agent runtime → App integrations: uses app tools
- Agent runtime → Model providers: requests inference
- Threads and turns → Application database: persists thread state
src/server/thread.ts - Tasks and schedules → Application database: persists tasks
src/server/tasks.ts - Server API → Trust review: checks actions
- Agent runtime → Memory and skills: uses memory
- Agent runtime → Private credentials: uses private credentials
README.md - Server API → Private object storage: serves private files
src/server/app.ts - Private object storage → Application database: stores private objects
src/server/object-storage.ts - Agent runtime → Usage and analytics: records usage
- App integrations → Connected apps and web: connects to
README.md - Browser automation → Connected apps and web: operates websites
README.md - Threads and turns → Chat and workspace UI: returns results
- Trust review → User: requests approval
README.md