SuperAPI AI 工具集

opencode-memory

智能体与模型

查看项目

更新于 10-15 19:53

技能介绍

用途:只读访问本机 OpenCode 历史记录,用于恢复项目上下文、查找过往会话、计划与决策。仅针对本地 OpenCode 数据,不涉及 ChatGPT、Claude 云端历史或通用浏览器历史。

主要能力:查询项目、会话、消息与文本片段;列出已保存计划;查看提示历史;跨全部对话搜索关键词。数据存于本地 SQLite 数据库和纯文本文件,通过 bash 中的 sqlite3 直接查询,无捆绑脚本或外部依赖。

存储位置:数据库 ${XDG_DATA_HOME:-$HOME/.local/share}/opencode/opencode.db;计划 ${XDG_DATA_HOME:-$HOME/.local/share}/opencode/plans/*.md;会话差异 ${XDG_DATA_HOME:-$HOME/.local/share}/opencode/storage/session_diff/<session-id>.json;提示历史 ${XDG_STATE_HOME:-$HOME/.local/state}/opencode/prompt-history.jsonl。

使用方式:先设置 DATA_ROOT、STATE_ROOT、DB、DB_URI 变量,再以只读模式运行 sqlite3 查询。常用操作包括汇总统计、列出项目、列出最近会话、按项目查会话、读取会话消息、跨对话搜索、列出计划(ls -lt "$DATA_ROOT"/plans/*.md)和查看提示历史(tail -20 "$STATE_ROOT"/prompt-history.jsonl)。时间戳为 Unix 毫秒,可用 datetime(col/1000, 'unixepoch', 'localtime') 显示。

适用场景:恢复项目工作时怀疑存在先前会话;用户提及“上次”“之前那个计划”;排查重复出现的问题;需要当前会话之外的上下文;用户明确要求查看历史、计划或搜索某话题。

限制:严格只读,不得写入或修改数据库及 OpenCode 文件;不要用 Read 工具读取二进制 opencode.db,必须用 bash + sqlite3;查询需加 LIMIT 和 LIKE 避免输出过多;检索后应向用户总结而非粘贴原始输出;注意会话历史可能含敏感数据,仅呈现与当前任务相关的内容。若需可视化界面,可检查 OpenCode web 是否运行(curl -s http://127.0.0.1:4096/api/health),运行则访问 http://127.0.0.1:4096,否则建议 opencode web;opencode.local 仅在启用 mDNS(opencode web --mdns)时可用。完整存储布局与更多查询示例见 references/storage-format.md。