Files
oc_session/README.md
T

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