Memdoor 编码工作流

用可检查的编码步骤和工作流,让小模型也能完成复杂开发任务。

Star 数
★ 363
最近更新
今天
License
Apache-2.0
主语言
Go

30 秒速览

运行形态
命令行工具IDE 插件自托管服务
可在哪里用
通用 · 跨平台OpenAI API · Claude APIChatGPT(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Go 1.25模型提供商 API 密钥(可选)本地模型运行时(可选:janis、Ollama、llama.cpp、LM Studio、vLLM)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
需要在本地代码库中修复故障并运行测试的开发者,可用终端代理完成一次编码任务。
不适合
  • 要求代码始终留在本机、又不运行本地模型的团队
  • 需要聊天式界面而非终端或受支持 IDE 的用户

这个 Agent 能做什么,适合哪些场景?

Memdoor 是一个用 Go 编写的编码代理和工作流运行器,既可在终端交互,也可通过 CLI 以无界面方式运行。编码代理能读取项目文件、编辑代码并运行检查;YAML 工作流则把任务拆成有检查条件的步骤,可并行执行独立步骤,并在审批门暂停。它通过本地 gateway 调用模型,支持 OpenRouter、Anthropic、OpenAI、Gemini 等提供商,也可连接 janis、Ollama、llama.cpp、LM Studio 或 vLLM 等本地运行时。Memdoor 可作为 ACP 服务接入 Zed、JetBrains 和 VS Code,也能在 GitHub Actions 中运行工作流。文件、会话和命令保留在运行机器上,但发送给模型的内容会到达所选模型提供商。

在项目目录中运行 memdoor 后,代理会根据任务读取文件、调用工具、修改代码并运行检查;终端会显示执行过程和检查结果。脚本可用 memdoor run 启动无界面回合,并通过 --json 获取事件输出。对于重复任务,工作流把步骤写在 YAML 文件中,由 mario 执行依赖图;步骤可声明 requires 条件、target 检查、超时和审批门,失败后可从失败步骤恢复。用户还可用 memdoor workflow run 执行工作流、用 memdoor acp 向编辑器提供代理会话,或在 GitHub Actions 调用现成工作流。

  1. 需要在本地代码库中修复故障并运行测试的开发者,可用终端代理完成一次编码任务。
  2. 维护重复发布或审查流程的团队,可将步骤、检查条件和审批门写成 YAML 工作流。
  3. 希望在 CI 中自动审查拉取请求的团队,可在 GitHub Actions 使用 pr-review 或 security-review。
  4. 使用 Zed、JetBrains 或 VS Code 的开发者,可通过 ACP 在编辑器工作区调用 Memdoor。
  5. 想在自己的机器或 SSH 可达主机上运行开源模型的团队,可连接 janis、Ollama、llama.cpp、LM Studio 或 vLLM。

如何安装或部署这个 Agent?

安装脚本适用于 macOS、Linux 和 Windows;README 的终端示例如下。使用模型提供商时,设置相应 API 密钥;也可连接本地模型而不使用密钥。若从源码构建,需要 Go 1.25。

curl -fsSL https://memdoor.ai/install.sh | bash
export OPENROUTER_API_KEY=sk-or-...
cd your-project && memdoor

本地模型路径:

memdoor connect local

从源码构建:

git clone https://github.com/guregodevo/memdoor && cd memdoor
make build
cp memdoor ~/.local/bin/

如何使用这个 Agent?

在项目目录启动交互式代理:

cd your-project && memdoor

无界面运行任务,或将 diff 通过标准输入交给代理:

memdoor run "make the retry wait configurable and add a test"
git diff | memdoor run "review this diff; one line per finding"

运行工作流:

memdoor workflow run release --wait

工作流文件放在 .memdoor/workflows/<name>/;可在终端中用 /workflow:<name> [the task] 启动。要连接编辑器,可配置 ACP 客户端:

{
  "acp.agents": {
    "Memdoor": { "command": "memdoor", "args": ["acp"] }
  }
}

这个 Agent 有哪些优点和局限?

优点
  • 可在多个模型提供商之间选择,也支持本地运行时;工作流 YAML 不指定具体模型。
  • 工作流包含步骤检查、并行任务、审批门和失败步骤恢复,适合重复执行的开发任务。
  • 提供终端、无界面 CLI、ACP 编辑器接入和 GitHub Actions 工作流等使用路径。
  • 文档说明文件、会话和命令留在运行机器上,并列出 OpenRouter 请求的数据收集设置。
局限
  • 使用托管模型时,模型读取的代码和提示内容会发送给相应提供商;免费模型主机可能会用提交内容训练。
  • 代理实际可用性和费用取决于模型提供商账户、密钥或本地模型运行时。
  • 编辑器接入需要 ACP 客户端配置;工作流则需要编写并维护 YAML 步骤。
  • README 给出了 Go 1.25 源码构建要求,但没有说明安装脚本对各系统的具体前置条件。

这个 Agent 与同类方案有什么区别?

Memdoor 将编码代理和可恢复的 YAML 工作流结合起来。与一次性代理任务相比,工作流可声明检查、并行步骤和审批门;README 将这种方式与 skills 区分。它也能使用 Ollama、llama.cpp、LM Studio 和 vLLM 等本地运行时,或连接多家托管模型提供商。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Memdoor 编码工作流 当前 70 · 存在缺口 命令行工具免费 + 模型费 ★ 363 今天 Go OpenAI API · Claude API
Poolside pool 67 · 存在缺口 命令行工具免费 + 模型费 ★ 441 2 个月前 — OpenAI API
TAKT 工作流编排器 57 · 缺口较多 命令行工具免费 + 模型费 ★ 1.4k 今天 TypeScript Codex · Claude Code · OpenAI API · Claude API
pigo 68 · 存在缺口 命令行工具免费 + 模型费 ★ 489 1 个月前 Go OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
70/ 100 五分制 3.5 / 5
本评测基于 2026年11月4日 的源码;此后该项目发布了 2 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 18/29
可靠稳定 8/14
适用触发 15/18
规范维护 15/18
有效结果 10/13
证据核验 4/8
查看各维度的扣分理由
信任安全18 / 29 · 3.1/5

文档列出工具白名单、写入根目录、破坏性命令拦截、可选逐次审批及密钥加密和脱敏,因此最小权限与确认机制有实质措施;但默认始终自动批准,编码代理的读取可越出工作目录,bash 也不能构成隔离。数据去向和外部主机说明较细,并称主机清单由测试约束;但依赖安全证据仅是版本清单,未提供漏洞审查或缓解记录。安装、升级、网络访问及遥控分享会产生外部影响;安装有校验和签名选项,但签名缺失时默认仍可仅凭校验和安装。未见通用回滚机制。项目和上游工作流有归属说明,发布者身份仍未知。

可靠稳定8 / 14 · 2.9/5

文档对 A2A 默认策略说法冲突:沙箱安全架构称默认允许所有代理对,授权参考称默认拒绝所有;配置说明又称缺省策略适用,降低自洽性。Go 模块固定依赖版本,安装文档说明多个运行环境,但未证明上游服务可用性。失败状态、退出码、审批超时和工具拒绝有说明,然而配置加载错误会回退默认配置,且并非每种故障都有清楚的诊断路径。

适用触发15 / 18 · 4.2/5

README 覆盖交互终端、脚本、CI、编辑器、远程主机、工作流及本地模型等场景。工具配置、代理作用域、写入边界和明确的非沙箱限制描述了能力边界;但默认工具集合可开放全部工具,审批默认关闭,触发条件和权限控制仍需使用者主动配置。环境选择包括 macOS、Linux、Windows、SSH、多个模型供应商及本地运行时,适配说明充分。

规范维护15 / 18 · 4.2/5

文档分层清楚,包含快速开始、CLI、架构、安全、配置和示例。安装、源码构建、密钥设置、退出码和平台有具体说明。产品名称和组件命名整体清晰,但配置、旧认证流程及授权文档存在过时或彼此冲突的迹象。示例丰富,未见常见问答式故障排查。已列出工具沙箱缺口和未实现配置功能等限制。Apache-2.0 有完整许可证文本。文档带日期,依赖和构建信息固定,但未提供连贯的版本变更日志。维护责任可通过仓库和问题入口追踪,发布者的企业登记身份未验证,且没有明确维护团队承诺。

有效结果10 / 13 · 3.8/5

终端、JSON 事件、工作流结果、退出码及文件差异等输出便于脚本和人工使用。代理、检查门、并行步骤和本地模型构成明确的工作流价值;基准和节省 token 的效果主要由项目文档自述,未在提供材料中独立佐证。成本说明涵盖本地与供应商模型及用量视图,但运行成本和部署成本缺少系统比较。

证据核验4 / 8 · 2.5/5

文档大量指向具体实现文件、配置项及日志,并给出若干可检查的命令;但本次材料没有这些实现文件,关键说明无法跨源核对。README、架构和授权文档仅部分相互支持,A2A 缺省行为还存在直接冲突。基准、测试覆盖和安全机制多为文档陈述;部分段落指出其实现位置或校验方式,但事实与宣传性结论没有始终清楚地区分。

风险与缓解建议
  • 默认自动执行命令和写入;编码代理的读取可能访问工作目录外,bash 与浏览器自动化也不受完整沙箱约束。涉及敏感代码时应审查工具配置并启用审批。
  • 提供的架构与授权文档对代理间通信的默认策略相互矛盾;应在采用前核对目标修订的实际实现和有效配置。
  • 免费模型请求可能发送给会训练输入的主机;安装脚本在缺少签名时可仅依赖校验和。
证据充分度:低 评估于 2026年11月4日 审查版本 e66b32074107 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.790.0 Memdoor v1.790.0
    发布说明摘录
    One binary per platform; curl -fsSL https://memdoor.ai/install.sh | bash installs the right one from this release and checks it against SHA256SUMS.
    在 GitHub 查看 ↗
  2. v1.789.0 Memdoor v1.789.0
    发布说明摘录
    One binary per platform; curl -fsSL https://memdoor.ai/install.sh | bash installs the right one from this release and checks it against SHA256SUMS.
    在 GitHub 查看 ↗
  3. v1.788.0 Memdoor v1.788.0
    发布说明摘录
    One binary per platform; curl -fsSL https://memdoor.ai/install.sh | bash installs the right one from this release and checks it against SHA256SUMS.
    在 GitHub 查看 ↗

常见问题

必须付费使用模型吗?
软件采用 Apache 2.0 许可。可连接本地模型而不使用 API 密钥;托管模型的费用取决于提供商和账户。README 还说明,无余额时可通过 OpenRouter 使用每日 50 次请求的免费模型,并提示这些模型主机可能使用提交内容训练。
代码会离开我的机器吗?
文件、会话和命令保留在运行机器上,但发送给模型读取的内容会到达提供商。使用本地运行时可让模型请求留在本地;SSH 方式则可让任务在远程主机上运行。
代理会自动执行所有命令和写入吗?
代理可读写项目文件并运行检查。可设置 MEMDOOR_APPROVE=changes,让每条命令和每次写入都先请求批准;工作流也支持带差异内容的审批门。
检查失败或工作流中断时会怎样?
CLI 会以状态码区分已检查、未验证或检查失败、未回答问题、错误和中断。工作流失败后可从失败步骤恢复;交互会话可通过 memdoor resume 重新打开。
Memdoor 支持哪些编辑器和模型接入方式?
README 明确说明 ACP 可供 Zed 和 JetBrains 原生承载,并给出 VS Code ACP 客户端配置。模型可连接 OpenRouter、Anthropic、OpenAI、Gemini 等提供商,或使用 janis、Ollama、llama.cpp、LM Studio、vLLM。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents