opencode-prompt-recorder
v1.6.0
Published
OpenCode plugin for recording user prompts. Automatically saves user messages to a local file system with organized directory structure.
Maintainers
Readme
opencode-prompt-recorder
一个用于记录用户提示词的 OpenCode 插件。自动将用户消息保存到本地文件系统,并按目录结构组织。
功能特性
- ✨ 自动捕获聊天对话中的用户提示词
- 📁 有组织的文件存储:
.agent/prompts/yyyy/MM/dd/目录结构 - 🏷️ 基于会话的组织:每个对话会话单独跟踪
- 📝 丰富的元数据:包含时间戳、会话 ID 和提示词主题
- 🔄 会话持久化:追加到现有文件以继续对话
- 🛡️ 安全的文件名处理:清理文件名以防止文件系统错误
安装
npm install -g opencode-prompt-recorder
# 或
bun add -g opencode-prompt-recorder使用方法
将插件添加到你的 opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-prompt-recorder"],
}工作原理
- 插件监听 OpenCode 消息事件(
message.updated和message.part.updated) - 每次用户消息时,提取提示词文本和会话 ID
- 提示词保存到
.agent/prompts/目录,按日期组织 - 每个提示词保存为带有时间戳和会话信息的 markdown 文件
文件结构
插件创建有组织的目录结构:
.agent/
└── prompts/
└── 2026/
└── 03/
└── 04/
├── 20260304-0943-ses_abc123-什么是AI.md
├── 20260304-1005-ses_def456-如何编程.md
└── 20260304-1120-ses_ghi789-复制README.md文件格式
每个提示词文件遵循以下格式:
============ 10:05 ============
什么是 AI?
============ 10:50 ============
如何编写 hello world 程序?配置
无需额外配置。插件将自动:
- 保存到项目根目录的
.agent/prompts/目录 - 使用当前工作目录作为基础路径
- 根据需要创建目录
会话管理
- 每个唯一的
sessionId获得自己的文件 - 相同的会话 ID 追加到现有文件
- 不同的会话 ID 创建新文件
- 会话 ID 来自
message.part.updated事件输入 - 跨天合并:无论何时,只要 sessionId 相同,都会追加到同一文件(自动搜索所有日期目录)
使用场景
- ✅ LLM 交互的审计跟踪
- ✅ 训练数据收集和标注
- ✅ 会话历史和对话回放
- ✅ 质量保证和监控
- ✅ 研发洞察
依赖要求
- OpenCode v0.15.0 或更高版本
- Node.js 或 Bun 运行时
- 项目目录的文件系统写入权限
故障排除
提示词未被记录
- 确保插件已列入
opencode.json配置 - 检查项目目录的写入权限
- 验证
.agent/prompts/目录正在创建
文件名包含特殊字符
- 插件会自动清理文件名,移除非法字符
- 文件名截断至最多 50 个字符
- 如果提示词过长,文件名只使用前 50 个字符
许可证
MIT
