Skip to content

remoun/screenpipe-ui

Repository files navigation

screenpipe-ui

A community-built, open-source UI for screenpipe — the AI screen & audio memory tool.

Three interfaces, one codebase:

  • CLI — quick terminal commands (screenpipe-ui search "meeting notes")
  • TUI — interactive terminal app with keyboard navigation
  • Web — browser-based SPA

Quick start

bunx (no install needed)

# CLI — search, health, activity
bunx @screenpipe-ui/cli search "your query"
bunx @screenpipe-ui/cli health

# TUI — interactive terminal app
bunx @screenpipe-ui/tui

Also works with npx if you prefer.

From source

git clone https://github.com/remoun/screenpipe-ui
cd screenpipe-ui
bun install

# CLI
bun cli search "your query"
bun cli health
bun cli activity --today

# TUI
bun tui

# Web UI
bun web

Requires screenpipe running locally on port 3030.

Packages

Package npm Description
@screenpipe-ui/core npm Framework-agnostic business logic, state stores, formatters
@screenpipe-ui/react npm React hooks bridging core stores (shared by TUI + Web)
@screenpipe-ui/cli npm CLI commands — bunx @screenpipe-ui/cli
@screenpipe-ui/tui npm Interactive terminal app — bunx @screenpipe-ui/tui
@screenpipe-ui/web Vite + React + Tailwind SPA (run from source)

Architecture

packages/
  core/      Framework-agnostic business logic, state stores, formatters
  react/     React hooks bridging core stores (shared by TUI + Web)
  cli/       Commander.js commands — no React, instant startup
  tui/       Ink-based interactive terminal app
  web/       Vite + React + Tailwind SPA

All packages share core for data fetching, state management, and formatting. The CLI calls core functions directly for speed. The TUI and Web both use React (Ink is a React renderer for terminals) and share hooks via react. Config persistence uses a PreferenceStorage adapter — Web uses localStorage, TUI uses ~/.config/screenpipe-ui/preferences.json.

Features

  • Search — full-text search across screen captures (OCR) and audio transcriptions
  • Timeline — browse activity chronologically, filter by app
  • Meetings — view detected meetings and transcripts
  • Health — check screenpipe server status
  • Date range presets — Today, Yesterday, Last 7 days, All (Web dropdown; TUI: press d to cycle)
  • Config persistence — date range preference is saved (Web: localStorage; TUI: ~/.config/screenpipe-ui/preferences.json)

CLI usage

screenpipe-ui search "meeting notes" --type audio --limit 10
screenpipe-ui search "github" --app Chrome
screenpipe-ui health
screenpipe-ui activity --today
screenpipe-ui activity --app "VS Code"

# Custom server: --url or SCREENPIPE_BASE_URL
screenpipe-ui search "query" --url http://custom:3030
SCREENPIPE_BASE_URL=http://custom:3030 screenpipe-ui health

TUI keyboard shortcuts

Key Action
Tab Switch between Search / Timeline / Meetings
j / k or ↑ / ↓ Navigate up / down
n / p or → / ← Next / prev (page in Search list; item in detail view)
/ Focus search input
Enter Expand / select item
t Cycle content type (Search: all / ocr / audio / ui)
d Cycle date range preset (Today → Yesterday → Last 7 days → All)
q Quit

Development

# Run all tests (98 tests across packages)
bun test --recursive

# Run tests for a specific package
bun test packages/core/

# Dev server for web UI
bun web

PRs must include tests for new behavior, bug fixes, or refactors. Run bun test --recursive and ensure all tests pass before submitting.

Publishing

Publishing is automated via GitHub Actions: push to main with updated packages/*/package.json versions, or run the workflow manually. When bumping versions, run bun update and commit the updated bun.lock so workspace dependencies resolve correctly in published packages.

Setup: (1) Use npm Trusted Publishing (OIDC). No tokens needed. On npmjs.com, go to each package’s Settings → Trusted publishing, add a GitHub Actions publisher, and set workflow filename to publish.yml. Configure for: @screenpipe-ui/core, @screenpipe-ui/react, @screenpipe-ui/cli, @screenpipe-ui/tui. (2) In GitHub repo Settings → Environments, create an npm environment and add required reviewers if desired.

Manual publish:

bun run build && \
cd packages/core && bun publish && \
cd ../react && bun publish && \
cd ../cli && bun publish && \
cd ../tui && bun publish

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages