How lsszz2100/nuri works
Nuri is a Windows desktop AI browser: a user starts a task in the app, the browser agent observes pages and requests one action at a time from a local AI engine, then automation performs the action and returns results for display or export. Separate branches support desktop-app control, multi-step autopilot, sub-agents, scripts, schedules, and assistant mode. The README documents these capabilities, while the excerpts and source index show only selected call relationships; unverified wiring is omitted.
Main entry points: agent.js Browser agent · main.js App host · server.ts Local API server · autopilot.js Autopilot planner
Components 23
Desktop app
- App host
apps/desktop/main.js - App interface
apps/desktop/ui/js - Settings and policy
apps/desktop/src/settings.js
Browser work
- Browser agent
apps/desktop/src/agent/agent.js - Page observation
apps/desktop/src/automation/observer.js - Browser actions
apps/desktop/src/automation/actions.js - Playwright bridge
apps/desktop/src/automation/playwright-bridge.js - Attachments and documents
apps/desktop/src/attachments.js - Sub-agents
apps/desktop/src/agent/subagents.js - Automation scripts
apps/desktop/src/automation/script.js - Browser tabs
apps/desktop/src/tabs.js
Computer and workflows
- Autopilot planner
apps/desktop/src/workflow/autopilot.js - Desktop automation
apps/desktop/src/desktop/runner.js - Task schedules
apps/desktop/src/schedules.js
Local AI engine
- Engine client
apps/desktop/src/server-client.js - Local API server
packages/anb-orchestrator/src/server.ts - LLM routes
packages/anb-orchestrator/src/routes/llm.ts - AI CLI sessions
packages/anb-orchestrator/src/llm/claudeSession.ts - CLI process layer
packages/anb-orchestrator/src/llm/process.ts - Skills
packages/anb-orchestrator/src/skills/skillManager.ts
Policy and results
- Approval policy
packages/anb-core/src/policy.ts - Task and result storage
packages/anb-orchestrator/src/storage.ts
Other components
- User
Connections 25
- User → App interface: enters task
README.md - App interface → App host: sends requests
apps/desktop/ui/js/app.js - App host → Browser agent: starts agent
apps/desktop/main.js - App host → Engine client: manages engine
apps/desktop/main.js - App host → Browser tabs: manages tabs
apps/desktop/main.js - App host → Autopilot planner: starts workflow
apps/desktop/main.js - App host → Task schedules: manages schedules
apps/desktop/main.js - Browser agent → Page observation: observes pages
apps/desktop/src/agent/agent.js - Browser agent → Browser actions: executes actions
apps/desktop/src/agent/agent.js - Browser agent → Engine client: requests AI decisions
README.md - Browser agent → Desktop automation: controls apps
apps/desktop/src/agent/agent.js - Browser agent → Attachments and documents: reads attachments
apps/desktop/src/agent/agent.js - Browser agent → Sub-agents: delegates research
apps/desktop/src/agent/agent.js - Browser agent → Automation scripts: runs scripts
apps/desktop/src/agent/agent.js - Browser actions → Playwright bridge: uses bridge
- Autopilot planner → Browser agent: runs task steps
apps/desktop/src/workflow/autopilot.js - Autopilot planner → Attachments and documents: creates documents
apps/desktop/src/workflow/autopilot.js - Engine client → Local API server: sends requests
apps/desktop/src/server-client.js - Local API server → LLM routes: dispatches LLM requests
packages/anb-orchestrator/src/server.ts - LLM routes → AI CLI sessions: calls provider sessions
packages/anb-orchestrator/src/routes/llm.ts - AI CLI sessions → CLI process layer: spawns CLI
packages/anb-orchestrator/src/llm/claudeSession.ts - Browser agent → Approval policy: checks risky actions
- Local API server → Task and result storage: uses task records
- Local API server → Skills: uses skills
- App host → Settings and policy: loads preferences
apps/desktop/main.js