Mohamed Boudra b1956cffb7 refactor(app): remove legacy stream buffer adapter
Removed the deprecated  and  compatibility API from . Runtime app code already uses the canonical head/tail reducer, so this dead path added maintenance overhead and duplicated behavior.\n\nReplaced the mixed compatibility test suite with a focused  that verifies the canonical  flow (head accumulation, flush on non-streamable events, completion flushing, and no-op reference stability).\n\nVerification:\n- npm run test --workspace=@getpaseo/app -- src/types/stream.test.ts src/types/stream-event.test.ts src/types/stream.harness.test.ts\n- npm run typecheck\n\nFor next agent:\n- Accomplished: removed legacy stream buffer migration shim and aligned tests to the canonical model only.\n- Challenge/Watchout: if any external consumer still imports removed symbols, it will now fail at compile-time; current repo has no remaining references.
2026-02-14 09:25:18 +07:00
2026-01-26 18:03:51 +07:00
2026-02-13 09:09:39 +00:00
2026-02-05 14:27:26 +07:00
2026-02-08 21:12:40 +07:00
2026-02-05 15:08:41 +07:00

Paseo logo

Paseo

Manage coding agents from your phone and desktop.

Paseo app screenshot


Warning

Early development — Features may break or change without notice. Use at your own risk.

Paseo is a self-hosted daemon for Claude Code, Codex, and OpenCode. Agents run on your machine with your full dev environment. Connect from phone, desktop, or web.

Features

  • Self-hosted: The daemon runs on your laptop, home server, or VPS
  • Multi-provider: Works with Claude Code, Codex, and OpenCode from one interface
  • Multi-host: Connect to multiple daemons and see all your agents in one place
  • Voice input: Dictate prompts when you're away from your keyboard
  • Optional relay: Use the hosted end-to-end encrypted relay, or connect directly
  • Cross-device: iOS, Android, desktop, web, and CLI
  • Git integration: Manage agents in isolated worktrees, review diffs, ship from the app
  • Open source: Free and open source under MIT license

Quick Start

npm install -g @getpaseo/cli && paseo

Then open the app and connect to your daemon.

Local speech (STT/TTS)

Paseo can run dictation + voice mode STT/TTS fully locally via sherpa-onnx.

When the daemon starts with a local speech provider selected, it will download any missing model files automatically (unless PASEO_SHERPA_ONNX_AUTO_DOWNLOAD=0).

npm run speech:download --workspace=@getpaseo/server

Optional configuration:

  • PASEO_SHERPA_ONNX_MODELS_DIR (defaults to ~/.paseo/models/sherpa-onnx)
  • PASEO_SHERPA_ONNX_AUTO_DOWNLOAD (1 by default; set 0 to disable automatic downloads on daemon start)
  • PASEO_SHERPA_STT_PRESET (zipformer, paraformer, or parakeet for NVIDIA Parakeet TDT v3)
  • PASEO_SHERPA_TTS_PRESET (pocket-tts (Kyutai Pocket TTS), kitten, or kokoro)
  • PASEO_DICTATION_STT_PROVIDER, PASEO_VOICE_STT_PROVIDER, PASEO_VOICE_TTS_PROVIDER (sherpa or openai)

To see all supported local model IDs:

npm run speech:models --workspace=@getpaseo/server

Optional: run an end-to-end test that downloads real models and exercises streaming STT + streaming TTS:

PASEO_SPEECH_E2E_DOWNLOAD=1 PASEO_SPEECH_E2E_MODEL_SET=parakeet-pocket \
  npx vitest run --workspace=@getpaseo/server src/server/speech/sherpa/speech-download.e2e.test.ts

Documentation

See paseo.sh/docs for full documentation.

Desktop releases

Desktop app binaries are built and attached to a GitHub Release when you push a version tag (for example v0.1.0 or desktop-v0.1.0).

npm run version:all:patch
npm run release:push

For the full package release flow, use:

npm run release:patch

This triggers the Desktop Release workflow (.github/workflows/desktop-release.yml).

License

MIT

Languages
TypeScript 98.1%
JavaScript 1.3%
Shell 0.1%
Swift 0.1%