How witnesstodark/mr-mak-workspace works
Mr. Mak combines CLI-agent chats, a project Workspace, and a paired-phone interface. The main workflow is a user starting or continuing an agent session in Chats, monitoring its terminal or transcript, then reviewing project reports and files in Workspace; the phone can follow conversations and send input while agents continue on the computer. The graph keeps these product stages and supporting session, project, and API layers distinct. Edges are limited to relationships shown in the excerpts, source index, or README; several feature nodes use exact directories because their implementations were not sampled.
Main entry points: server.mjs Service API · App.tsx Workspace UI · client.ts Desktop API client · sessions.mjs Agent sessions
Components 20
Desktop chats
- Desktop UI
src/desktop/DesktopApp.tsx - Chat views
src/desktop/Conversation.tsx - CLI terminal
src/desktop/TerminalPane.tsx - Desktop API client
src/desktop/client.ts
Agent service
- Agent sessions
desktop/service/sessions.mjs - Agent adapters
desktop/service/agents.mjs - Voice coordinator
desktop/service/coordinator.mjs - Service API
desktop/service/server.mjs - Service state
desktop/service/util.mjs
Project workspace
- Workspace UI
src/App.tsx - Workspace data
src/lib/workspace.ts - Card editor
src/components/EditableCard.tsx - Report viewer
src/components/ReportViewer.tsx - Project files
desktop/service/files.mjs
Phone access
- Mobile app
src/mobile/MobileApp.tsx - Mobile API client
src/mobile/client.ts - Mobile access
desktop/service/mobile.mjs - Mobile dictation
desktop/service/mobile-dictation.mjs - Tailscale
Other components
- User
Connections 24
- User → Desktop UI: uses
- Desktop UI → Chat views: shows
- User → Chat views: sends tasks
- Chat views → Desktop API client: sends requests
- CLI terminal → Agent sessions: runs sessions
- Agent sessions → Agent adapters: uses
desktop/service/sessions.mjs - Desktop API client → Service API: calls API
src/desktop/client.ts - Service API → Agent sessions: routes to
desktop/service/server.mjs - Service API → Voice coordinator: dispatches
desktop/service/server.mjs - Voice coordinator → Agent adapters: executes agents
desktop/service/coordinator.mjs - Service API → Service state: reads and writes
desktop/service/server.mjs - User → Workspace UI: reviews results
- Workspace UI → Workspace data: loads
src/App.tsx - Workspace data → Desktop API client: requests data
src/lib/workspace.ts - Workspace UI → Report viewer: renders
src/App.tsx - Workspace UI → Card editor: edits cards
src/App.tsx - Card editor → Desktop API client: saves via
src/components/EditableCard.tsx - Service API → Project files: routes file work
desktop/service/server.mjs - User → Mobile app: uses phone
- Mobile app → Mobile API client: requests data
- Mobile API client → Mobile access: calls API
src/mobile/client.ts - Mobile access → Agent sessions: shares chats
- Mobile access → Mobile dictation: supports dictation
- Mobile app → Tailscale: connects through