How collabs-inc/collab-public works
Collaborator is a local-first desktop workspace for building with AI agents: users select files in a workspace navigator, open them in a viewer or place them beside persistent terminals on an infinite canvas, then edit and run work in context. The architecture separates Electron’s main-process services from webview interfaces, with preload APIs bridging UI actions to filesystem, workspace, canvas, and PTY operations. Documented capabilities also include graph visualization and replay, settings, and agent integrations. README claims guide unsampled subsystems; source excerpts confirm selected UI, tile, replay, and sidecar behavior.
Main entry points: universal.ts Preload API · App.tsx Workspace navigator · ItemDetailView.tsx Item detail view · tile-manager.js Tile manager
Components 28
Workspace navigation
- Workspace navigator
collab-electron/src/windows/nav/src/App.tsx - File tree
collab-electron/packages/components/src/TreeView/WorkspaceTree.tsx
Canvas workspace
- Canvas shell
collab-electron/src/windows/shell/src/renderer.js - Tile manager
collab-electron/src/windows/shell/src/tile-manager.js - Canvas persistence
collab-electron/src/main/canvas-persistence.ts - Canvas IPC
collab-electron/src/main/ipc-canvas.ts - Workspace graph
collab-electron/src/main/workspace-graph.ts - Graph and replay UI
collab-electron/packages/components/src/WorkspaceGraph/WorkspaceGraph.tsx - Git replay service
collab-electron/src/main/git-replay.ts
File viewing
- File viewer
collab-electron/src/windows/viewer/src/App.tsx - Item detail view
collab-electron/packages/components/src/ItemDetailView/ItemDetailView.tsx - Markdown editor
collab-electron/packages/components/src/Editor/Editor.tsx - Code editor
collab-electron/packages/components/src/CodeEditorView/CodeEditorView.tsx - Image viewer
collab-electron/packages/components/src/ImageView/ImageView.tsx
Terminal and agents
- Terminal tile
collab-electron/src/windows/terminal-tile/src/App.tsx - Terminal interface
collab-electron/packages/components/src/Terminal/TerminalTab.tsx - PTY service
collab-electron/src/main/pty.ts - PTY sidecar
collab-electron/src/main/sidecar/server.ts - Agent runtime
collab-electron/src/main/acp-agent.ts
Local services
- Electron main
collab-electron/src/main/index.ts - Preload API
collab-electron/src/preload/universal.ts - Filesystem service
collab-electron/src/main/ipc-filesystem.ts - Workspace service
collab-electron/src/main/ipc-workspace.ts - File watcher
collab-electron/src/main/watcher.ts - App configuration
collab-electron/src/main/config.ts - Local state and files
- Settings interface
collab-electron/src/windows/settings/src/App.tsx
Other components
- User
Connections 34
- User → Workspace navigator: selects files
- Workspace navigator → File tree: shows workspace
- Workspace navigator → File viewer: opens selection
- Workspace navigator → Canvas shell: drops file
- Workspace navigator → Preload API: requests file actions
- Preload API → Filesystem service: invokes
- Preload API → Workspace service: manages workspaces
- Filesystem service → Local state and files: reads and writes
- Workspace service → App configuration: updates
- App configuration → Local state and files: persists state
- File watcher → Local state and files: watches changes
- File viewer → Preload API: loads and saves
- File viewer → Item detail view: renders item
- Item detail view → Markdown editor: edits markdown
- Item detail view → Code editor: edits code
- Item detail view → Image viewer: displays image
- User → Canvas shell: arranges canvas
- Canvas shell → Tile manager: manages tiles
- Tile manager → Canvas IPC: requests canvas actions
- Canvas IPC → Canvas persistence: persists canvas
- Canvas persistence → Local state and files: stores layout
- Tile manager → Terminal tile: creates terminal tile
- Terminal tile → Terminal interface: renders session
- Terminal tile → Preload API: creates or reconnects PTY
- Preload API → PTY service: dispatches terminal calls
- PTY service → PTY sidecar: controls sessions
- User → Agent runtime: runs agent
- Terminal interface → Agent runtime: hosts agent workflow
- User → Graph and replay UI: explores workspace graph
- Graph and replay UI → Preload API: requests graph and replay
- Preload API → Workspace graph: fetches graph data
- Preload API → Git replay service: controls replay
- User → Settings interface: configures app
- Settings interface → Preload API: reads and changes preferences