关于 mempalace-task
mempalace-task 是一项通过 MemPalace logstream 协调 Agent 间活跃工作的技能,涵盖任务审批、交接、执行、补丁交付和受控无头启动,并要求核验身份与工作区。
主要功能
- 01创建经批准的任务详情
- 02核验 Agent 身份和工作区
- 03通过 logstream 交接与监控
- 04交付补丁并确认结果
- 05受控无头任务启动
适用场景
- 01将代码仓库任务交给另一 Agent
- 02接收并核验任务请求
- 03启动获明确授权的任务运行器
MCP 相关
该技能使用 `mempalace_task_create`、`mempalace_event_list` 和 `mempalace_patch_submit` 等 MemPalace MCP 工具,通过共享 logstream 协调任务。对于仅远程客户端,还说明了如何通过 MCP 等待事件。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mempalace/ mempalace --skill mempalace-task安装后在 Claude Code 中输入/mempalace-task确认已加载。
详细介绍
MemPalace 任务
适用于 Agent 之间转交进行中工作的快速入门工作流。任务应记录在 logstream 中,而不是记忆抽屉中。规范的生命周期和监控规范见公开的 协调协议。
验证协调衔接
- 确认
mempalace --version能够成功运行。 同时确认mempalace task --help和mempalace_task_create存在;如果缺少任何一项,不要假定较旧的运行时支持更新感知命令。说明该版本不兼容,将任务交给mempalace设置技能,并提出适用于相应包管理器的升级方式(uv tool upgrade mempalace、pipx upgrade mempalace,或使用当前 MemPalace 命令所依赖的解释器执行-m pip install --upgrade mempalace),再运行npx skills update mempalace mempalace-recall mempalace-task。运行任何命令前都必须获得明确授权。 - 确认 MemPalace MCP 工具已连接,且当前 palace 是预期的共享大脑。
- 确定当前 Agent 稳定的
host:harness:project身份。 绝不冒充其他 Agent。绝不为了拆分窗口而创建第二个 harness 后缀。 - 尽可能检查目标 Agent 的监控状态。粘贴的交接内容可以唤醒基于轮次的 Agent;单独的 logstream 事件则不能。
如果设置尚未完成,请停止并使用 mempalace 设置技能。
创建任务
从用户或当前仓库状态中收集以下字段:
- 项目路由名称;
- 请求方和目标 Agent 的身份;
- 明确的目标;
- 目标分支;
- 精确的十六进制基准提交 ID(绝不能使用分支或标签);
- 完成定义。
从预期工作者的检出目录中解析分支和十六进制基准提交 ID,而不是从无关仓库中解析。绝不能将可变分支或标签作为基准提交。追加任何内容之前,向用户展示完全规范化的任务:身份、项目、目标、分支、基准提交、完成定义,以及交付必须通过 MemPalace 完成这一要求。Logstream 事件不可变,因此除非用户已在当前轮次中明确批准,否则必须先获得用户对该准确内容的批准。
通过高级接口创建任务,而不要自行组装原始的
task.request。MCP 已连接时——尤其是客户端加入远程共享大脑中心时——使用已批准的字段调用 mempalace_task_create。它会返回已存储的 task 和 handoff,并将内容写入中心,而不是写入非预期的本地 palace。
在拥有 palace 的机器上,或有意通过 shell 操作本地 palace 时,可使用以下等效 CLI:
mempalace task create \
--project <project> \
--from-agent <requester> \
--to-agent <worker> \
--goal <exact-goal> \
--branch <branch> \
--base-commit <commit> \
--done <exact-definition-of-done>
CLI 内容包含多行时,请使用 --goal-file 或 --done-file;绝不要将用户的措辞压缩成一行或改写。CLI 会打印一行 Ready to paste;MCP 工具会将同一行作为 handoff 返回。请原样返回该行,以便用户唤醒目标 Agent,而无需复制整个任务正文。绝不能仅仅因为远程 MCP 调用失败就改用本地 CLI;应说明并修复连接问题。
接收并执行粘贴的任务
收到 Open MemPalace task <id> as <agent>... 时:
- 使用
mempalace_event_list,通过correlation_id=<id>获取准确的task.request;不要仅凭粘贴的简短内容开展工作。 - 确认任务是发给此 Agent 的(或是已明确接受的广播),并在编辑前核实工作区、分支和基础提交。
- 使用
mempalace_event_ack(status=claimed)认领请求。认领即会触发监控:启用mempalace logstream watch --agent <you> --type task.request --type task.reply --type patch.ready --json(CLI 默认使用经过净化的--state-file),除非这是仅远程 MCP 客户端(见下文)。先检查是否已有来自你本人身份的status=claimed;若同时认领,以 HLC 最低者为准。 - 完成工作并运行指定的验证。
- 使用
mempalace_patch_submit提交补丁。如果受阻或失败,则原样发送task.reply。沉默不是有效结果。 - 请求方获取并验证产物,在明确告知用户的情况下应用它,运行验证,然后确认
applied或failed。
对于仅远程的共享大脑客户端,收件箱监控由 MCP 提供支持:使用 mempalace_event_wait 和稳定的目标身份,并将上一个事件 ID 作为 since_event_id 传递。使用 mempalace_event_list 执行唤醒扫描。除非此机器拥有 palace 或运行经过刻意同步的副本,否则不要运行本地 SQLite mempalace logstream watch 命令。
受控无头模式
只有在用户明确要求启动 Agent 时,才先在任务指定的确切分支和基础提交上准备可信、干净的 Git 检出。然后运行:
mempalace task launch <task-id> --runner codex --workspace <path>
mempalace task launch <task-id> --runner claude --workspace <path>
这些命令会从本地 palace 解析任务。在仅远程 MCP 客户端上,使用 mempalace_event_list 获取完整的单个 task.request,将该确切事件对象保存为目标机器上的 JSON,然后启动,不要查询无关的本地 palace:
mempalace task launch --task-file <task-request.json> --runner codex --workspace <path>
任务文件是传输快照,而非任务的替代品:不要编辑或重建它。无头启动始终在拥有可信检出的目标机器上进行;请求方不能仅通过向 hub 追加内容来远程生成进程。
此操作会解析已存储的请求,证明工作区是位于已存储分支上、干净的 Git 检出,且 HEAD 等于已存储的基础提交;验证目标身份及其常见的 *-codex 或 *-claude harness 后缀;并在不使用 shell 的情况下启动所选运行器。仅在接受广播时使用 --agent <identity>;它绝不能覆盖发给其他人的任务。启动器不会绕过沙箱、审批或 harness 权限。不要代替用户添加危险的权限标志。
创建任务和启动进程是两个独立操作。可粘贴的交接内容是默认的可移植方式;无头启动则是受控模式下的显式适配器。
异常情况
- **任务缺失或重复:**停止操作,不要猜测要执行哪个请求。
- **身份错误:**拒绝任务,并告知用户任务发给了谁。
- **基础提交不匹配:**不要编辑;请请求方用修正后的请求替代该任务。
- **目标未监控:**向用户提供 Ready to paste 行,并说明需要人工唤醒。
- **MCP/logstream 不可用:**运行
mempalace status并返回设置流程;绝不要悄悄用记忆抽屉替代协作。