跳到正文
cccskills
免费在 GitHub 公开

screenpipe-health

Check Screenpipe's process, API, screen capture, and audio transcription status. Inspect logs, storage, resource usage, and processing metrics to identify problems, then report the findings with relevant errors and suggested fixes.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Check Screenpipe health status, process state, and diagnose common issues

查看安装方法

适用场景

  • Check whether Screenpipe is running
  • Investigate missing screen captures
  • Diagnose missing audio transcriptions
  • Investigate high CPU, memory, or storage usage
  • Check database integrity and locking issues

包含的文件(1)

  • SKILL.md6.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Screenpipe Health Agent

You are a specialized agent for checking Screenpipe's health status and diagnosing issues.

Quick Health Check

1. Check if Screenpipe is Running

# Check for screenpipe processes
pgrep -fl screenpipe

# Check if API is responding
curl -s http://localhost:3030/health | head -100

2. Check Recording Status

# Get health with recording info
curl -s http://localhost:3030/health | jq '.frame_status, .audio_status' 2>/dev/null || curl -s http://localhost:3030/health

3. Check Disk Usage

# Screenpipe data directory size
du -sh ~/.screenpipe/

# Database size
ls -lh ~/.screenpipe/db.sqlite* 2>/dev/null

# Video/audio cache
du -sh ~/.screenpipe/data/ 2>/dev/null

4. Check Recent Logs for Errors

# Last 10 errors from today
grep -i "error" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log 2>/dev/null | tail -10

Detailed Diagnostics

Process Information

# Detailed process info
ps aux | grep -i screenpipe | grep -v grep

# Memory usage
ps aux | grep -i screenpipe | grep -v grep | awk '{sum+=$6} END {print "Total Memory: " sum/1024 " MB"}'

# Check if app or CLI
pgrep -fl "screenpipe-app" && echo "Desktop app running"
pgrep -fl "screenpipe$" && echo "CLI running"

API Endpoints Check

# Health endpoint (includes vision + audio pipeline stats)
curl -s http://localhost:3030/health

# Search endpoint (test query)
curl -s "http://localhost:3030/search?limit=1" | head -50

# List audio devices
curl -s http://localhost:3030/audio/list

# List monitors
curl -s http://localhost:3030/vision/list

# Vision pipeline metrics (raw counters)
curl -s http://localhost:3030/vision/metrics

# Audio pipeline metrics (raw counters)
curl -s http://localhost:3030/audio/metrics

Audio Pipeline Diagnostics

# Quick audio pipeline health — is transcription actually working?
curl -s http://localhost:3030/audio/metrics | python3 -c "
import sys,json
m = json.load(sys.stdin)
total_vad = m['vad_passed'] + m['vad_rejected']
print(f'Uptime: {m[\"uptime_secs\"]/60:.0f} min')
print(f'Chunks sent to engine: {m[\"chunks_sent\"]}')
print(f'  Channel full drops:  {m[\"chunks_channel_full\"]}')
print(f'  Stream timeouts:     {m[\"stream_timeouts\"]}')
print(f'VAD passed/rejected:   {m[\"vad_passed\"]}/{m[\"vad_rejected\"]} ({m[\"vad_passthrough_rate\"]*100:.0f}% passthrough)')
print(f'  Avg speech ratio:    {m[\"avg_speech_ratio\"]:.3f}')
print(f'Transcriptions:        {m[\"transcriptions_completed\"]} ok, {m[\"transcriptions_empty\"]} empty, {m[\"transcription_errors\"]} errors')
print(f'DB inserted:           {m[\"db_inserted\"]} ({m[\"total_words\"]} words, {m[\"words_per_minute\"]:.0f} wpm)')
print()
if m['chunks_channel_full'] > 0: print('⚠️  Channel full — transcription engine too slow, audio being dropped')
if total_vad > 0 and m['vad_passthrough_rate'] < 0.1: print('⚠️  Very low VAD passthrough — may be dropping real speech')
if m['transcription_errors'] > 0: print('⚠️  Transcription errors detected')
if m['chunks_sent'] > 0 and m['db_inserted'] == 0: print('🔴 Chunks sent but nothing stored — pipeline is broken')
if m['chunks_sent'] == 0 and m['uptime_secs'] > 120: print('🔴 No chunks sent after 2min — audio capture not working')
"

# Audio pipeline info from /health (summary view)
curl -s http://localhost:3030/health | python3 -c "
import sys,json
h = json.load(sys.stdin)
print(f'Audio status: {h[\"audio_status\"]}')
if 'audio_pipeline' in h and h['audio_pipeline']:
    p = h['audio_pipeline']
    print(f'  VAD passthrough: {p[\"vad_passthrough_rate\"]*100:.0f}%')
    print(f'  Words/min:       {p[\"words_per_minute\"]:.0f}')
    print(f'  DB inserted:     {p[\"db_inserted\"]}')
"

Database Health

# Check database integrity
sqlite3 ~/.screenpipe/db.sqlite "PRAGMA integrity_check;" 2>/dev/null

# Database size and tables
sqlite3 ~/.screenpipe/db.sqlite "SELECT name, (SELECT COUNT(*) FROM main WHERE name=t.name) FROM sqlite_master t WHERE type='table';" 2>/dev/null

# Recent frame count
sqlite3 ~/.screenpipe/db.sqlite "SELECT COUNT(*) as frames_today FROM frames WHERE timestamp > datetime('now', '-1 day');" 2>/dev/null

Permissions Check (macOS)

# Check screen recording permission
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT client,allowed FROM access WHERE service='kTCCServiceScreenCapture';" 2>/dev/null | grep -i screenpipe

# Check microphone permission
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT client,allowed FROM access WHERE service='kTCCServiceMicrophone';" 2>/dev/null | grep -i screenpipe

# Or use tccutil (if available)
echo "Check System Preferences > Privacy & Security > Screen Recording and Microphone for screenpipe permissions"

Common Issues & Fixes

Issue: Screenpipe not running

# Start CLI
screenpipe

# Or start app
open /Applications/screenpipe.app

Issue: No frames being captured

  1. Check screen recording permission in System Preferences
  2. Check logs for permission errors:
grep -i "permission\|denied\|cg\|capture" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20

Issue: No audio transcription

  1. Check microphone permission
  2. Check audio pipeline metrics:
# Is audio being captured at all?
curl -s http://localhost:3030/audio/metrics | python3 -c "
import sys,json; m=json.load(sys.stdin)
print(f'chunks_sent={m[\"chunks_sent\"]}, vad_passed={m[\"vad_passed\"]}, vad_rejected={m[\"vad_rejected\"]}, db_inserted={m[\"db_inserted\"]}')
if m['chunks_sent']==0: print('→ No audio reaching engine. Check device/permissions.')
elif m['vad_passed']==0: print('→ VAD rejecting everything. Check mic input level or lower vad_sensitivity.')
elif m['db_inserted']==0: print('→ Transcription failing. Check engine config or logs.')
"
  1. Check audio device selection:
curl -s http://localhost:3030/audio/list
grep -i "audio\|device\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20

Issue: High CPU/Memory

# Check current usage
top -l 1 -s 0 | grep -i screenpipe

# Check for memory leaks in logs
grep -i "memory\|oom" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log

Issue: Database locked

# Check for lock
fuser ~/.screenpipe/db.sqlite 2>/dev/null

# Check for multiple processes
pgrep -c screenpipe

Response Format

When reporting health status:

  1. Start with overall status (healthy/unhealthy)
  2. List any issues found
  3. Provide specific error messages if relevant
  4. Suggest fixes for identified issues

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Develop and test Windows-specific Screenpipe changes on a disposable Azure virtual machine. The workflow verifies native behavior, preserves logs and desktop video, and handles branch and pull request delivery when authorized.

中文简介正在准备中。当前显示英语简介。

  • Test Windows-specific capture and permission behavior
  • Investigate compiler, process, or service issues
  • Preserve desktop video and logs for a pull request
screenpipe/screenpipe2.2万2026年10月19日 更新

release

免费

Prepare screenpipe component releases by updating versions and dependency lock files, running required build checks, and triggering GitHub Actions. Verify build results and release artifacts, then hand public app publication over to a person.

中文简介正在准备中。当前显示英语简介。

  • Preparing a desktop app release
  • Checking whether Rust changes require a CLI release
  • Updating MCP versions and checking publication
screenpipe/screenpipe2.2万2026年10月19日 更新

Create charts, dashboards, scorecards, and styled summaries as standalone HTML reports for the screenpipe viewer. Keep styles, scripts, and images inside the file so the report renders in a sandbox with no network access.

中文简介正在准备中。当前显示英语简介。

  • Create a visual report of daily work time
  • Present key metrics in a dashboard
  • Summarize results with charts and scorecards
screenpipe/screenpipe2.2万2026年10月19日 更新

Search Screenpipe recordings, screen text, audio transcripts, and synced-device history through its local API. Use the evidence to review activity, find meeting details, and inspect saved workflows, including recorded steps that can inform automation.

中文简介正在准备中。当前显示英语简介。

  • Review activity from a specific day or time range
  • Find recorded meeting remarks and screen text
  • Search work history on another synced device
screenpipe/screenpipe2.2万2026年10月19日 更新

Use Screenpipe’s local REST API, an interface for programmatic requests, to search screen and meeting history, review app activity and active time, retrieve synced-device records, export recordings, and rerun audio transcription.

中文简介正在准备中。当前显示英语简介。

  • Reviewing daily app use and active screen time
  • Finding decisions in recorded meetings
  • Searching history from a synced device
screenpipe/screenpipe2.2万2026年10月19日 更新

Turn a recorded software failure into a draft bug report with timestamps, reproduction steps, expected and actual behavior, and relevant evidence. Separate visible symptoms from possible causes and remove sensitive details from shareable evidence.

中文简介正在准备中。当前显示英语简介。

  • Drafting a bug report from recorded activity
  • Recovering steps taken before and after a failure
  • Comparing expected behavior with observed results
screenpipe/screenpipe2.2万2026年10月19日 更新

查看 screenpipe 的全部技能

报告此技能的问题