SuperAPI AI 工具集

hivemind-goals

办公与效率

查看项目

更新于 10-15 11:25

技能介绍

用途

hivemind-goals 用于在 Deeplake 虚拟文件系统中创建、跟踪和更新团队目标。每个目标以 Markdown 文件形式存储,每个文件对应一个专门的团队共享表中的一行——路径编码结构元数据,文件正文保存人类可读的描述。它还吸收旧的 hivemind tasks CLI,可用于捕获任务和待办事项,不再有单独的任务存储。

何时使用

当用户表达以下任一意图时激活:想跟踪或达成某个目标、询问自己的目标、标记完成或关闭目标、设定可衡量的截止目标(如"周五前发布 X"、"本周 5 个 PR")、创建任务或待办、提醒修复某事项等。

对于"列出我的目标",运行 ls ~/.deeplake/memory/goal/<userName>/opened/ 和 ls ~/.deeplake/memory/goal/<userName>/in_progress/。如果为空,询问用户是否要创建一个。

路径约定

路径格式为:~/.deeplake/memory/goal/<owner>/<status>/<goal_id>.md

  • <owner>:用户标识符(使用 hivemind whoami 或凭据中的 userName)
  • <status>:opened、in_progress、closed 之一
  • <goal_id>:创建时生成的 UUIDv4

路径编码是唯一事实来源。owner、status 和 goal_id 来自路径,而不是文件正文。不要在文件内容中写入 owner/status/goal_id。

文件正文格式

目标文件正文为纯 Markdown、自由格式。第一行是人类可读标签(目标列表和 SessionStart 横幅显示的内容),其余为自由备注。示例:

ship the goals-graph feature

Notes: route every write through the VFS, no separate CLI.
Due: 2026-05-30.

操作

1. 创建新目标:用 hivemind whoami 获取当前 owner;用 uuidgen 生成 UUIDv4(不要用 node -e,VFS 路径下 Node 不可用);通过 Bash 写入目标文件(Write / Edit 在内存路径上被拒绝,只有 Bash 被拦截并路由到 SQL):

cat > ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md <<'EOF'
<goal description here, multiple lines OK>
EOF

单行目标可用 echo '<text>' > ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md。完成后告知用户目标已创建。

1a. 捕获任务以供稍后处理(携带可恢复上下文):当用户在会话中途暂存一个附带任务时使用(如"稍后保存这个"、"提醒我……")。其价值不在于一行摘要,而在于存储足够上下文,以便未来会话冷启动时无需重新解释。通过 CLI(而非 VFS heredoc)写入,行会被标记为 agent: capture:

hivemind goal add --agent capture "Add rate-limiting to the webhook handler

Start here: add a per-IP token bucket on the handler entry path
Files: src/webhook/handler.ts:120-160, src/webhook/limits.ts
Branch: feat/webhook-hardening
Run: pnpm test webhook
Why: bursty clients hammer the endpoint; agreed to defer until the retry-backoff work lands"

第一行是标签,保持简短。从实时对话中填充 Start here / Files / Branch / Run / Why,只填能填的行。Start here 最重要,是具体的第一步行动。整包作为单个双引号参数传入(换行会保留到存储正文)。向用户确认标签及下次会话可干净恢复。

1b. 恢复暂存任务(自动上下文转移):当用户说"处理那个任务/目标"或"开始那个暂存任务"时,将存储的上下文拉回会话并继续,用户无需重新解释。用 hivemind goal list --mine 找到它并按 goal_id 匹配(按标签/主题);如有歧义,显示候选项并询问。用 hivemind goal get <goal_id> 打印完整包(Start here / Files / Branch / Run / Why),作为工作上下文阅读(goal list 只显示第一行,所以始终用 goal get 获取完整正文)。翻转为 in_progress:mv ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md ~/.deeplake/memory/goal/<owner>/in_progress/<uuid>.md。然后处理它:打开 Files、切换到 Branch、从 Start here 开始。完成后关闭(第 5 节)。

2. 列出目标:

ls ~/.deeplake/memory/goal/<owner>/opened/
ls ~/.deeplake/memory/goal/<owner>/in_progress/

然后 cat 每个 <uuid>.md 读取正文。

3. 编辑目标描述:先读取现有正文,再通过 Bash heredoc 覆盖。Edit / Write 工具在 claude-code 的内存路径上被拒绝(钩子只能重写 Bash)。VFS 处理版本递增——每次覆盖都会在 hivemind_goals 表中产生新行。

cat ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md   # read current
cat > ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md <<'EOF'
<new body here>
EOF

4. 将目标移至 in_progress:

mv ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md ~/.deeplake/memory/goal/<owner>/in_progress/<uuid>.md

状态文件夹之间的 mv 是原子版本递增,文件正文原样保留。

5. 关闭目标:两种等价方式

# Explicit mv to closed (recommended — clearest intent)
mv ~/.deeplake/memory/goal/<owner>/in_progress/<uuid>.md ~/.deeplake/memory/goal/<owner>/closed/<uuid>.md

# Or: rm (the VFS interprets rm on a goal path as a soft-close)
rm ~/.deeplake/memory/goal/<owner>/opened/<uuid>.md

重要:rm 不会真正删除目标,而是软关闭——VFS 写入 status=closed 的新版本。目标仍保留在团队共享表中以供审计。v1 没有硬删除。

6. 重新分配目标(转移所有权):

mv ~/.deeplake/memory/goal/<old-owner>/<status>/<uuid>.md ~/.deeplake/memory/goal/<new-owner>/<status>/<uuid>.md

目标所有权存于路径中,文件正文原样保留。

约束——禁止事项

  • 不要在文件正文中放入 owner、status 或 goal_id。路径是唯一事实来源,正文中重复会导致漂移。
  • 不要使用 opened、in_progress、closed 以外的状态值。
  • 不要通过 mv 重命名 goal_id(文件名中的 UUID)。VFS 拒绝 goal_id 重命名。

团队可见性

每次写入都会进入 Deeplake 上的团队共享表(hivemind_goals)。其他团队成员会在自己的 SessionStart 上下文中看到你的目标,也可通过在自己 VFS 中直接 ls / cat 相同路径查看。无需显式共享步骤。