96 lines
2.2 KiB
Markdown
96 lines
2.2 KiB
Markdown
# oc-session-all
|
|
|
|
OpenCode 插件:在任意目录下显示所有会话记录,绕过目录过滤限制。
|
|
|
|
## 功能
|
|
|
|
- 拦截 `/session` 命令,显示所有项目的会话记录,而不仅仅是当前目录的
|
|
- 提供 `/sessions-all` 命令作为替代方案
|
|
- 按更新时间倒序显示会话列表
|
|
|
|
## 安装
|
|
|
|
### 方法 1:全局安装(推荐)
|
|
|
|
1. 将 `src/index.ts` 复制到全局插件目录:
|
|
```bash
|
|
# Windows
|
|
mkdir -p %USERPROFILE%\.config\opencode\plugins
|
|
copy src\index.ts %USERPROFILE%\.config\opencode\plugins\oc-session-all.ts
|
|
|
|
# Linux/macOS
|
|
mkdir -p ~/.config/opencode/plugins
|
|
cp src/index.ts ~/.config/opencode/plugins/oc-session-all.ts
|
|
```
|
|
|
|
2. 重启 OpenCode
|
|
|
|
### 方法 2:项目级安装
|
|
|
|
1. 将 `src/index.ts` 复制到项目目录:
|
|
```bash
|
|
mkdir -p .opencode/plugins
|
|
cp src/index.ts .opencode/plugins/oc-session-all.ts
|
|
```
|
|
|
|
2. 重启 OpenCode
|
|
|
|
## 使用方法
|
|
|
|
### 方法 1:拦截 /session 命令
|
|
|
|
插件会自动拦截 `/session` 命令,显示所有会话记录。
|
|
|
|
### 方法 2:使用新命令
|
|
|
|
运行 `/sessions-all` 命令来显示所有会话记录。
|
|
|
|
## 输出示例
|
|
|
|
```
|
|
=== All Sessions (across all projects) ===
|
|
|
|
ID: ses_12af0b69cffeAMR3VcfAdp94Hi
|
|
Title: OpenCode WSL 迁移
|
|
Directory: C:/Users/ypshidifu
|
|
Created: 2026/9/20 10:00:00
|
|
Updated: 2026/9/20 15:30:00
|
|
---
|
|
ID: ses_12aeb915effez1zEjjIqf6yl1c
|
|
Title: Session 2
|
|
Directory: D:/桌面/源码/mc_plugn/windowmsgbot
|
|
Created: 2026/9/20 09:00:00
|
|
Updated: 2026/9/20 14:00:00
|
|
---
|
|
|
|
Total: 68 sessions
|
|
```
|
|
|
|
## 工作原理
|
|
|
|
插件通过两种方式获取所有会话:
|
|
|
|
1. **OpenCode Client API**:尝试使用 OpenCode 的客户端 API 获取会话列表
|
|
2. **数据库直接查询**:如果 API 不可用,直接查询 SQLite 数据库
|
|
|
|
## 配置
|
|
|
|
插件无需额外配置,安装后即可使用。
|
|
|
|
## 故障排除
|
|
|
|
如果插件不工作:
|
|
|
|
1. 确保插件文件已正确放置在插件目录
|
|
2. 重启 OpenCode
|
|
3. 检查控制台日志是否有错误信息
|
|
4. 确保 SQLite3 命令行工具可用(用于数据库查询回退方案)
|
|
|
|
## 依赖
|
|
|
|
- OpenCode 1.18.11 或更新版本
|
|
- SQLite3 命令行工具(可选,用于数据库查询回退方案)
|
|
|
|
## 许可证
|
|
|
|
MIT |