opencode-memory
Browse local OpenCode history: sessions, messages, plans, prompt history, and prior decisions. Use when the user says history, previous session, last time, remember, recall, plans, prior work, or when resuming/debugging repeated work where earlier OpenCode context may help. Do not use for fresh tasks or when current files/git already answer the question.
DeepseekModel
官方收录技能
质量 优秀 · 78
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=carson2222-skills-opencode-memory-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name opencode-memory description Browse local OpenCode history: sessions, messages, plans, prompt history, and prior decisions. Use when the user says history, previous session, last time, remember, recall, plans, prior work, or when resuming/debugging repeated work where earlier OpenCode context may help. Do not use for fresh tasks or when current files/git already answer the question. license Apache-2.0 compatibility opencode OpenCode Memory Browser Read-only lookup for local OpenCode history. Use it only when prior sessions, plans, or decisions would help. Do not inject history by default. Use When User asks for history, previous sessions, last time, plans, recall, or memory. Resuming a project where prior OpenCode context may matter. Debugging a repeat issue that may have appeared earlier. Do not use when repo files/git already answer the question or the task is new. Rules Read-only. Never modify OpenCode DB/files. Use sqlite3 with read-only URI. Do not read the DB with file-read tools. Keep results small with LIMIT and targeted LIKE . Summarize relevant findings; do not dump raw history. Avoid auth/provider tables: account , credential , control_account , account_state . Setup Run this first in bash: DATA_ROOT= " ${XDG_DATA_HOME:- $HOME /.local/share} /opencode" STATE_ROOT= " ${XDG_STATE_HOME:- $HOME /.local/state} /opencode" DB= " $(opencode db path 2>/dev/null || true) " [ -n " $DB " ] || DB= " ${OPENCODE_DB:- $DATA_ROOT /opencode.db} " case " $DB " in :memory:|/*) ;; *) DB= " $DATA_ROOT / $DB " ;; esac if [ ! -f " $DB " ]; then for candidate in " $DATA_ROOT " /opencode*.db; do [ -f " $candidate " ] && DB= " $candidate " && break done fi DB_URI= "file: ${DB} ?mode=ro" Useful files: Plans: $DATA_ROOT/plans/*.md Prompt history: $STATE_ROOT/prompt-history.jsonl Session diffs: $DATA_ROOT/storage/session_diff/<session-id>.json Queries Summary sqlite3 " $DB_URI " " SELECT 'projects', COUNT(*) FROM project UNION ALL SELECT 'main sessions', COUNT(*) FROM session WHERE parent_id IS NULL UNION ALL SELECT 'messages', COUNT(*) FROM message UNION ALL SELECT 'parts', COUNT(*) FROM part UNION ALL SELECT 'todos', COUNT(*) FROM todo; " Recent sessions sqlite3 " $DB_URI " " SELECT s.id, COALESCE(s.title, 'untitled') AS title, COALESCE(p.name, p.worktree, '') AS project, datetime(s.time_updated/1000, 'unixepoch', 'localtime') AS updated, (SELECT COUNT(*) FROM message m WHERE m.session_id = s.id) AS messages FROM session s LEFT JOIN project p ON p.id = s.project_id WHERE s.parent_id IS NULL ORDER BY s.time_updated DESC LIMIT 10; " Search text Replace SEARCH_TERM first. sqlite3 " $DB_URI " " SELECT s.id, COALESCE(s.title, 'untitled') AS title, json_extract(m.data, '$.role') AS role, datetime(m.time_created/1000, 'unixepoch', 'localtime') AS time, substr(json_extract(p.data, '$.text'), 1, 200) AS snippet FROM part p JOIN message m ON m.id = p.message_id JOIN session s ON s.id = m.session_id WHERE s.parent_id IS NULL AND json_extract(p.data, '$.type') = 'text' AND json_extract(p.data, '$.text') LIKE '%SEARCH_TERM%' ORDER BY m.time_created DESC LIMIT 10; " Read session text Replace SESSION_ID_HERE first. Text parts only; use the reference for tool, patch, file, reasoning, or V2 internals. sqlite3 " $DB_URI " " SELECT json_extract(m.data, '$.role') AS role, datetime(m.time_created/1000, 'unixepoch', 'localtime') AS time, GROUP_CONCAT(json_extract(p.data, '$.text'), char(10)) AS text FROM message m LEFT JOIN part p ON p.message_id = m.id AND json_extract(p.data, '$.type') = 'text' WHERE m.session_id = 'SESSION_ID_HERE' GROUP BY m.id ORDER BY m.time_created ASC LIMIT 50; " Plans And Prompt History ls -lt " $DATA_ROOT " /plans/*.md 2>/dev/null | head -20 tail -20 " $STATE_ROOT " /prompt-history.jsonl 2>/dev/null Prompt history entries currently use input , mode , and parts[] ; do not assume root text . Deep Reference Use references/storage-format.md only when you need table details, part/tool shapes, legacy JSON paths, or debug queries.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |