mcpField
O
obelisk

obelisk

github.com/tommy0103Agent 工作流1392 次安装1 周前更新
代码仓库

关于 obelisk

obelisk 是通过 obelisk CLI 检索本地编码 Agent 历史记录的技能。它指导 Agent 按范围搜索、核实会话证据,并整理历史结论与已保存记忆。

主要功能

  1. 01按范围检索历史记录
  2. 02搜索会话和消息
  3. 03查找并核验已保存记忆
  4. 04使用受限 JavaScript 查询
  5. 05基于证据整理结果

适用场景

  1. 01查找编码会话中的既往决策
  2. 02依据消息核验记忆中的结论
  3. 03回顾指定项目或时间段的工作
  4. 04编写简洁的历史记录摘要

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tommy0103/obelisk-skill --skill obelisk

安装后在 Claude Code 中输入/obelisk确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package.json
references/
advanced-helpers.md
api-reference.md
memory-workflow.md
pitfalls.md
query-patterns.md
recap-patterns.md
recap-writing.md
retrieval-semantics.md
schema.md
references/recap/
overview.md
pattern1-cover.md
pattern2-thinking.md
pattern3-vibe.md
pattern4-workflow.md
pattern5-closing.md
writing1-cover.md
writing2-thinking.md
writing3-vibe.md
writing4-workflow.md
writing5-closing.md

详细介绍

obelisk

通过已安装的 obelisk CLI 检索本地编码 Agent 历史记录。 编写范围受限的 JS 查询,读取其 JSON 结果,然后依据证据作答。

检索工作流

  1. 选择范围最窄的项目、文件、会话、时间范围或主题。 编写查询前,先阅读下方匹配的参考内容。
  2. 通常从新任务开始时调用 overview({ limit: 6 });如果已有确切的会话 ID、消息 UUID 或绝对文件路径,则跳过初步了解。Overview 是导航图,不是证据。
  3. 使用 memories() 回想之前的结论,并通过 search() 或限定范围的辅助函数对照会话证据进行核实。使用英文记忆查询词。 使用 messages() 展开选中的命中项,而不是加载整个会话。
  4. 在查询中进行分组、去重和投影。返回稳定 ID 和简短 片段;尽量将综合结果的 JSON 控制在约 10k–12k 个字符。
  5. 根据简洁的证据作答。若先前的记忆对答案有影响,请自然地说明。可以提议保存持久的新结论;写入记忆文件或更改记忆记录前,先等待批准。

将 is_invoking: true 视为当前会话,而不是独立的历史证据。普通对话证据使用可见的非元文本; 思考内容和工具输出具有不同的证据作用。查询这些内容或已被取代的分支前,请先阅读检索语义。

运行查询

使用唯一的临时目录,避免查询路径冲突:

qdir=$(mktemp -d /tmp/obq.XXXXXX 2>/dev/null || { d="/tmp/obq.$$.$RANDOM"; mkdir "$d"; echo "$d"; })
qfile="$qdir/query.mjs"
cat > "$qfile" <<'JS'
const hits = search('auth fix', { limit: 5 });
return hits.map(h => ({
  session_id: h.session.id, uuid: h.message.uuid,
  content_type: h.message.content_type,
  snippet: h.message.text?.slice(0, 240),
}));
JS
obelisk --query "$qfile"

CLI 会在异步包装器中运行该文件;return 会输出 JSON。查询为只读,脚本内无法访问文件系统或网络。对于广泛的历史记录,请参考查询模式中的首轮检索示例进行调整,而不是使用这个简短的关键词示例。

快速进行关键词查找:

obelisk --search "keyword" --nonce "obq-<unique-token-you-invent>"

输入唯一的字面随机数:Shell 替换无法识别转录中的调用。查询文件的身份通过记录的路径或脚本内容解析。

最新索引与权限

必须成功调用 CLI:它会在检索前刷新 ~/.obelisk/obelisk.sqlite。刷新失败时,绝不要退而使用过时的只读索引。

如果命令因 ~/.obelisk 的写入权限错误而失败(例如 SQLITE_READONLY、EACCES 或 EPERM),请使用 sandbox_permissions: "require_escalated" 重新运行相同命令,或使用宿主环境提供的等效写入权限机制。如果无法访问或访问被拒绝,请停止并报告阻碍因素。直接读取 SQLite 或 JSONL 不能替代成功刷新索引。

选择辅助函数

默认的检索方式如下:

辅助函数用途
overview了解项目和近期入口点。
sessions根据结构化筛选条件查找会话。
search按主题查找消息证据。
messages读取单条消息、限定范围的窗口或会话区间(CLI 0.3.0+)。
memories回想先前保存的结论。
summaries读取已记录的会话摘要。
sql执行其他辅助函数无法完成的联接或聚合。

专业辅助函数和旧版辅助函数仍可调用;需要时请阅读其 API 约定。依赖不确定的选项名称和行字段前,请先核实。

按任务加载参考资料

仅加载当前任务所需的参考资料。每份参考资料都说明了自己的约定或操作步骤;不要预加载整个目录。

执行此操作前阅读
综合性总结、设计历史、进度摘要、常规周报/月报,或用户做过、学到、决定、尝试或放弃的事情查询模式和检索语义。
有范围限制的项目/文件/会话搜索、多步骤检索、关联分析或证据分类检索语义。
选择辅助工具选项、字段、分页方式或专用/旧版辅助工具API 参考;展开消息时,阅读 messages 约定。
编写原始 SQL执行前阅读架构。
保存、归档或更新记忆写入文件或运行变更操作前阅读记忆工作流。
特定工作流的检索高级辅助工具。
从错误中恢复,或解决 FTS、排序、行结构或原始记录方面的意外情况常见问题。
显式使用 /obelisk recap ...首次查询前阅读回顾概述,然后按卡片逐项披露。

仅当 /obelisk 后的第一个词是 recap 时,才路由到回顾流程;常规周报/月报不会选择该流程。

经批准的记忆变更通过单独的变更入口在本地执行: obelisk --attune /tmp/register-memory.mjs。先通过 --query 检索所需 ID;--attune 仅开放 remember() 和 forget()。

评论

支持 Markdown