How nhzallen/noureon works
Noureon is a local-first AI workspace: a user starts a conversation, chooses a model or collaboration workflow, and receives a rendered response, optionally informed by search or attachments. The workspace also supports reusable Nouras, image generation, history recall, document creation, and optional signed-in cloud sync. The graph groups the major product areas and highlights local persistence and application startup. README capabilities guide the feature map; sampled source confirms selected bootstrap, storage, memory, and document-layout behavior, but not every feature’s wiring.
Main entry points: submit-input-council-lifecycle.js Model chat · main.js Startup entry · app-data-store.js Local workspace store · runtime-entry.js App runtime
Components 22
Application startup
- Startup entry
src/main.js - App runtime
src/app/runtime-entry.js - Legacy app
src/app/legacy-app.js
Chat and collaboration
- Model chat
src/app/runtime/legacy-core/submit-input-council-lifecycle.js - Model Council
src/app/legacy-runtime/features/council-response-lifecycle.js - Web search
src/app/runtime/features/auto-web-search.js - Response rendering
src/app/legacy-runtime/features/conversation-view-renderer.js - Attachments
src/app/legacy-runtime/features/media-attachment-renderer.js
Workspace and memory
- Local workspace store
src/app/runtime/kernel/app-data-store.js - IndexedDB adapter
src/app/runtime/kernel/storage-adapter.js - Reusable Nouras
src/data/astras-data/index.js - History recall
src/app/runtime/memory/history-retrieval-service.js - History index
src/app/runtime/memory/history-index-store.js
Creation and output
- Image generation
src/app/legacy-runtime/features/image-generation-response-lifecycle.js - Document authoring
src/app/ui/files/file-generators.js - Slide layout
src/app/ui/files/design/slide-engine.js
Cloud and PWA
- Cloud workspace sync
src/app/sync/cloud-workspace-sync.js - Offline shell
public/service-worker.js
Other components
- User
- Model providers
- Tavily
- Supabase
Connections 22
- User → Startup entry: opens workspace
- Startup entry → App runtime: starts runtime
- Startup entry → Legacy app: loads app
- App runtime → Local workspace store: uses workspace data
- Local workspace store → IndexedDB adapter: persists locally
- User → Model chat: submits prompt
- Model chat → Model providers: requests response
- Model chat → Model Council: runs collaboration
- Model Council → Model providers: queries models
- Model chat → Web search: may augment request
- Web search → Tavily: searches web
- Model chat → Attachments: uses attachments
- Model chat → Response rendering: renders response
- User → Reusable Nouras: selects assistant
- Model chat → Image generation: may generate images
- Model chat → History recall: may recall history
- History recall → History index: queries index
- User → Document authoring: creates files
- Document authoring → Slide layout: lays out slides
- Local workspace store → Cloud workspace sync: syncs workspace
- Cloud workspace sync → Supabase: stores remote data
- Startup entry → Offline shell: registers offline support