How hp17695/zeron works
Zeron is a local-first coding-agent control app with an optional multi-device workspace. A user opens or creates a session, selects an agent, sends prompts, and follows its live transcript and workspace changes; the engine owns agent runs and local session data. The desktop UI also provides file browsing/editing, Markdown previews, comments, and composition. Optional sign-in enables remote access and sync through the edge Worker and Durable Objects. The graph emphasizes documented runtime boundaries; several larger subsystems are represented from the source index or README rather than inspected source excerpts.
Main entry points: sessions.rs Session runs · index.ts Edge router · state.rs App state · main.rs Zeron app
Components 27
Client experience
- Zeron app
apps/zeron/src/main.rs - App state
crates/ui/src/state.rs - Prompt composer
crates/ui/src/composer.rs - Live transcript
crates/ui/src/transcript.rs - File workspace
crates/ui/src/files/preview.rs - Markdown preview
crates/ui/src/files/markdown_preview.rs - Comments
crates/ui/src/comments.rs - Comment UI
crates/ui/src/comment_ui.rs - Themes
crates/ui/src/theme.rs
Local engine
- Engine RPC
crates/engine/src/rpc.rs - Session runs
crates/engine/src/sessions.rs - Session documents
crates/engine/src/doc_host.rs - Repositories
crates/engine/src/repos.rs - Workspace access
crates/engine/src/workspace_host.rs - Attachments
crates/engine/src/uploads.rs
Agent runtime
- Agent adapters
crates/harness/src/lib.rs
Remote sync
- Chat sync client
crates/sync/src/chat_client.rs
Edge services
- Edge router
edge/src/index.ts - Auth routes
edge/src/auth-routes.ts - Session room
edge/src/session-room.ts - Chat room
edge/src/chat-room.ts - Device relay
edge/src/device-room.ts - Preview room
edge/src/preview-room.ts - Attachment storage
edge/src/blobs.ts
Other components
- User
- Other devices
- Coding agent
Connections 29
- User → Zeron app: uses
README.md - Zeron app → Session runs: starts engine
apps/zeron/src/main.rs - App state → Engine RPC: calls
crates/ui/src/state.rs - Prompt composer → App state: submits prompts
- App state → Live transcript: updates view
crates/ui/src/state.rs - App state → File workspace: loads files
crates/ui/src/files/preview.rs - File workspace → Markdown preview: renders Markdown
crates/ui/src/files/preview.rs - Markdown preview → Comments: uses comments
crates/ui/src/files/markdown_preview.rs - Markdown preview → Comment UI: uses comment UI
crates/ui/src/files/markdown_preview.rs - App state → Comments: manages
crates/ui/src/state.rs - App state → Themes: configures
- Engine RPC → Session runs: dispatches
- Session runs → Session documents: streams updates
crates/engine/src/sessions.rs - Session runs → Repositories: uses
crates/engine/src/sessions.rs - Session runs → Workspace access: uses
crates/engine/src/sessions.rs - Session runs → Attachments: uses
crates/engine/src/sessions.rs - Session runs → Agent adapters: runs agents
- Coding agent → Session runs: sends events
- Session runs → Live transcript: publishes events
- Zeron app → Edge router: optional sync
README.md - Edge router → Auth routes: routes auth
edge/src/index.ts - Edge router → Session room: forwards requests
edge/src/index.ts - Edge router → Chat room: forwards chat
edge/src/index.ts - Edge router → Device relay: forwards device
edge/src/index.ts - Edge router → Preview room: routes preview
edge/src/index.ts - Edge router → Attachment storage: serves attachments
edge/src/index.ts - Chat sync client → Chat room: syncs chat
- Other devices → Chat sync client: follows sessions
README.md - Other devices → Workspace access: accesses workspace
README.md