How thedeepakreddy/e.c.h.o-mac works
Echo Mac is a macOS voice and desktop assistant. A user speaks or types a goal; the configured model interprets it, routes tool work or a supervised task, and Echo exposes progress, checks, and results for review. Distinct capabilities include coding, research, desktop control, memory, background work, voice, and phone interaction. The graph combines README-described product stages with source-index evidence for selected internal links; many subsystem internals were not sampled, so their detailed call paths are intentionally omitted.
Main entry points: main.ts App runtime · runtime.ts Recorded agent loop · index.ts Model selection · tool-router.ts Tool routing
Components 27
Interaction and runtime
- App runtime
src/main.ts - Voice input/output
src/voice/listener.ts - Configuration
src/config.ts - Progress and results
src/control-panel.ts
Agent execution
- Model selection
src/brain/index.ts - Tool routing
src/brain/tool-router.ts - Recorded agent loop
src/agent-replay/runtime.ts - Loop log
src/agent-replay/loop-log.ts - Run recorder
src/agent-replay/recorder.ts - Run recovery
src/agent-replay/recovery.ts
Task capabilities
- Supervised tasks
src/tasks/supervisor.ts - Coding workflow
src/coding/session.ts - Managed processes
src/coding/processes.ts - Research
src/frontier/research.ts - Desktop controls
src/tools/computer-actions.ts - Phone companion
src/control-companion.ts
Memory and evidence
- Memory service
src/memory/service.ts - Task state
src/memory/task-state.ts - Episodic cognition
src/cognition/episodic.ts - Data paths
src/memory/paths.ts - Voice log
src/voice/voice-log.ts - Storage budget
src/diagnostics/storage-budget.ts - Secret redaction
src/safety/redact.ts
External integrations
- Model providers
- macOS apps
- Companion phone
Other components
- User
Connections 29
- User → Voice input/output: speaks to
- User → App runtime: types request
- Voice input/output → App runtime: submits request
src/main.ts - App runtime → Model selection: creates brain
src/main.ts - Model selection → Model providers: queries provider
src/brain/index.ts - App runtime → Tool routing: routes tools
src/main.ts - Model selection → Recorded agent loop: wraps provider
src/brain/index.ts - Recorded agent loop → Run recorder: records runs
src/agent-replay/runtime.ts - Recorded agent loop → Loop log: logs iterations
src/agent-replay/runtime.ts - Recorded agent loop → Run recovery: uses recovery
src/agent-replay/runtime.ts - Tool routing → Coding workflow: selects coding tools
src/brain/tool-router.ts - App runtime → Supervised tasks: starts tasks
src/main.ts - Coding workflow → Managed processes: manages commands
src/coding/processes.ts - Tool routing → Desktop controls: dispatches controls
- Tool routing → Research: routes research
src/brain/tool-router.ts - App runtime → Phone companion: wires companion
src/main.ts - Phone companion → Companion phone: sends updates
- App runtime → Configuration: loads settings
src/main.ts - Recorded agent loop → Task state: persists task state
src/agent-replay/runtime.ts - Model selection → Episodic cognition: loads prompt facts
- Memory service → Data paths: uses data paths
src/memory/service.ts - App runtime → Memory service: wires memory
src/main.ts - Run recorder → Secret redaction: redacts records
src/agent-replay/recorder.ts - Run recorder → Storage budget: checks write budget
src/agent-replay/recorder.ts - Voice input/output → Voice log: logs voice
- Voice log → Storage budget: checks budget
src/voice/voice-log.ts - App runtime → Progress and results: exposes progress
- Progress and results → User: presents results
- Desktop controls → macOS apps: acts on apps