mcpField
P
pair-programmer

pair-programmer

github.com/video-db开发131109 次安装28 周前更新
代码仓库

关于 pair-programmer

VideoDB Pair Programmer 是结合屏幕与音频上下文进行 AI 协作编程的技能,可实时记录并索引视觉和音频事件,以便搜索或依据口头指令执行操作。

主要功能

  1. 01录制屏幕和音频
  2. 02实时索引视觉与音频事件
  3. 03搜索录制上下文
  4. 04总结近期活动
  5. 05根据口头指令执行操作

适用场景

  1. 01回顾编程时近期的屏幕活动
  2. 02按语音内容或屏幕上下文搜索录制
  3. 03根据口头指令触发操作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/video-db/pair-programmer --skill pair-programmer

安装后在 Claude Code 中输入/pair-programmer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package.json
recorder-app.js
search-rtstream.js
verify-connection.js
commands/
act.md
config.md
record.md
search.md
setup.md
stop.md
what-happened.md
ui/
picker.html
widget.html

详细介绍

VideoDB 配对编程助手

基于实时屏幕和音频上下文的 AI 配对编程。录制屏幕和音频,并通过 AI 驱动的索引实时记录视觉和音频事件。

命令

用户请求某个命令时,请阅读对应文件中的说明:

命令描述参考
/pair-programmer record开始录制屏幕/音频请参阅 commands/record.md
/pair-programmer stop停止正在运行的录制请参阅 commands/stop.md
/pair-programmer search搜索录制上下文(屏幕、麦克风、音频)请参阅 commands/search.md
/pair-programmer act根据麦克风收到的语音指令执行操作请参阅 commands/act.md
/pair-programmer what-happened总结近期活动请参阅 commands/what-happened.md
/pair-programmer setup安装依赖项并配置 API 密钥请参阅 commands/setup.md
/pair-programmer config更改索引和其他设置请参阅 commands/config.md

工作原理

  1. 用户运行 /pair-programmer setup 安装依赖项并设置 VIDEO_DB_API_KEY 环境变量
  2. 用户运行 /pair-programmer record 开始录制
  3. 系统会显示选择器 UI,用于选择屏幕和音频来源
  4. 开始录制,并将事件记录到 /tmp/videodb_pp_events.jsonl
  5. 用户可以通过托盘图标停止录制(🔴 PP → 停止录制)

输出文件

路径内容
/tmp/videodb_pp_pid录制器的进程 ID
/tmp/videodb_pp_events.jsonl所有 WebSocket 事件(JSONL 格式)
/tmp/videodb_pp_info.json当前会话信息(session_id、rtstream_ids)

事件文件格式

事件以 JSONL 格式写入(每行一个 JSON 对象):

{"ts": "2026-03-05T10:15:30.123Z", "unix_ts": 1709374530.12, "channel": "visual_index", "data": {"text": "User is viewing VS Code with auth.ts open"}}
{"ts": "2026-03-05T10:15:31.456Z", "unix_ts": 1709374531.45, "channel": "transcript", "data": {"text": "Let me check the login flow", "is_final": true}}

环境变量

录制器会从环境变量中读取以下变量:

变量必需描述
VIDEO_DB_API_KEY是VideoDB API 密钥
VIDEO_DB_BASE_URL否API 端点(默认值:https://api.videodb.io)

读取上下文

事件位于 /tmp/videodb_pp_events.jsonl。使用 CLI 工具进行筛选,切勿读取整个文件。

通道内容密度
visual_index屏幕描述密集(约每 2 秒 1 条)
transcript麦克风语音稀疏(句子)
audio_index系统音频摘要稀疏(句子)

通道筛选 — 使用 grep 按通道筛选,并通过管道传给 tail 获取近期事件:

grep '"channel":"visual_index"' /tmp/videodb_pp_events.jsonl | tail -10

关键词搜索 — 使用 grep 搜索所有通道:

grep -i 'keyword' /tmp/videodb_pp_events.jsonl

时间范围筛选 — 筛选最近 N 分钟内的事件:

  1. 获取当前时间戳:$(date +%s)
  2. 计算截止时间:epoch - N*60
  3. 筛选 unix_ts JSON 字段大于截止时间的行
  4. 通过管道传给 grep,按通道进一步筛选

根据复杂程度生成合适的筛选命令(grep、awk、python3、jq)。

如需对已索引内容进行语义搜索,请使用 search-rtstream.js:

node search-rtstream.js --query="your query" --cwd=<PROJECT_ROOT>

<PROJECT_ROOT> 是用户项目目录的绝对路径。它不是技能目录 — 运行命令前请先解析该路径。

完整的搜索策略和 CLI 模式请参阅 commands/search.md。

评论

支持 Markdown