pickuplisted
Install: claude install-skill x0c/pickup
# pickup:本地编程会话数据接口
`pickup` 扫描本机 `~/.claude/projects/`、`~/.codex/sessions/`、`~/.kimi-code/sessions/`、`~/.cursor/chats/` 和 OpenCode 的
SQLite 数据库(`~/.local/share/opencode/opencode.db`,只读打开)下的会话历史,为大模型 Agent
提供结构化查询命令。**这些命令只读、无副作用**:不会拉起新会话、不会自动接续任务、不会修改
任何历史文件。拿到数据之后要做什么(继续任务、汇总给用户、转发给另一个 Agent)由调用方决定。
所有命令输出统一 JSON envelope,写到 stdout:
```json
{"ok": true, "data": {...}, "error": null, "meta": {"version": 1}}
```
失败时 `ok` 为 `false`,`data` 为 `null`,`error` 包含:
- `code`:程序可判断的错误分类(`usage_error` / `not_found` / `ambiguous` / `history_unavailable`)
- `message`:人类可读的错误说明
- `hint`:建议的排查方向
- `next_commands`:可以直接执行的后续命令列表
退出码:`0` 成功、`1` 一般失败、`2` 用法错误(参数不对)、`3` 会话不存在、`5` 会话标识有歧义。
不要只看 stdout 是否有内容来判断成功,检查退出码或 `ok` 字段。
## 命令
跑 `pickup describe` 获取全部命令的机器可读参数说明(与实现同源,不会漂移);
`pickup describe <command>` 看单个命令的完整参数和输出字段。
| 命令 | 用途 |
| --- | --- |
| `pickup list [--runtime R] [--limit N] [--top N] [--compact] [--status S] [--cwd 子串] [--live] [--fields a,b]` | 结构化列出会话 |
| `pickup search <关键词...> [--deep] [--runtime R] [--limit N] [--top N] [--compact] [--live] [--fields a,b]` | 按主题找会话 |
| `pickup show <会话> [--messages N \| --full] [--compact] [--out 路径] [--fields a,b]` | 会话详情 + 对话内容 |
| `pickup export [--since T] [--until T] [--runtime R] [--status S] [--cwd 子串] [--limit N] [--out 路径] [--compact]` | 导出某时间范围内所有会话的完整对话,合并为一个 JSON |
| `pickup context <会话>` | 生成接续该会话所需的上下文数据包 |
| `pickup plan continue <会话> --instruction <文本>` | 生成带新指令的非交互式原生续接计划;只返回数据,不执行 |
| `pickup describe [command]`