Memdoor 编码工作流
用可检查的编码步骤和工作流,让小模型也能完成复杂开发任务。
- Star 数
- ★ 363
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Go
- FA 评分
- 70/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude APIChatGPT(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要在本地代码库中修复故障并运行测试的开发者,可用终端代理完成一次编码任务。
- 不适合
- 要求代码始终留在本机、又不运行本地模型的团队
- 需要聊天式界面而非终端或受支持 IDE 的用户
- 源码审查
- 70/100 · 存在缺口
这个 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 调用现成工作流。
- 需要在本地代码库中修复故障并运行测试的开发者,可用终端代理完成一次编码任务。
- 维护重复发布或审查流程的团队,可将步骤、检查条件和审批门写成 YAML 工作流。
- 希望在 CI 中自动审查拉取请求的团队,可在 GitHub Actions 使用
pr-review或security-review。 - 使用 Zed、JetBrains 或 VS Code 的开发者,可通过 ACP 在编辑器工作区调用 Memdoor。
- 想在自己的机器或 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?
查看各维度的扣分理由
文档列出工具白名单、写入根目录、破坏性命令拦截、可选逐次审批及密钥加密和脱敏,因此最小权限与确认机制有实质措施;但默认始终自动批准,编码代理的读取可越出工作目录,bash 也不能构成隔离。数据去向和外部主机说明较细,并称主机清单由测试约束;但依赖安全证据仅是版本清单,未提供漏洞审查或缓解记录。安装、升级、网络访问及遥控分享会产生外部影响;安装有校验和签名选项,但签名缺失时默认仍可仅凭校验和安装。未见通用回滚机制。项目和上游工作流有归属说明,发布者身份仍未知。
文档对 A2A 默认策略说法冲突:沙箱安全架构称默认允许所有代理对,授权参考称默认拒绝所有;配置说明又称缺省策略适用,降低自洽性。Go 模块固定依赖版本,安装文档说明多个运行环境,但未证明上游服务可用性。失败状态、退出码、审批超时和工具拒绝有说明,然而配置加载错误会回退默认配置,且并非每种故障都有清楚的诊断路径。
README 覆盖交互终端、脚本、CI、编辑器、远程主机、工作流及本地模型等场景。工具配置、代理作用域、写入边界和明确的非沙箱限制描述了能力边界;但默认工具集合可开放全部工具,审批默认关闭,触发条件和权限控制仍需使用者主动配置。环境选择包括 macOS、Linux、Windows、SSH、多个模型供应商及本地运行时,适配说明充分。
文档分层清楚,包含快速开始、CLI、架构、安全、配置和示例。安装、源码构建、密钥设置、退出码和平台有具体说明。产品名称和组件命名整体清晰,但配置、旧认证流程及授权文档存在过时或彼此冲突的迹象。示例丰富,未见常见问答式故障排查。已列出工具沙箱缺口和未实现配置功能等限制。Apache-2.0 有完整许可证文本。文档带日期,依赖和构建信息固定,但未提供连贯的版本变更日志。维护责任可通过仓库和问题入口追踪,发布者的企业登记身份未验证,且没有明确维护团队承诺。
终端、JSON 事件、工作流结果、退出码及文件差异等输出便于脚本和人工使用。代理、检查门、并行步骤和本地模型构成明确的工作流价值;基准和节省 token 的效果主要由项目文档自述,未在提供材料中独立佐证。成本说明涵盖本地与供应商模型及用量视图,但运行成本和部署成本缺少系统比较。
文档大量指向具体实现文件、配置项及日志,并给出若干可检查的命令;但本次材料没有这些实现文件,关键说明无法跨源核对。README、架构和授权文档仅部分相互支持,A2A 缺省行为还存在直接冲突。基准、测试覆盖和安全机制多为文档陈述;部分段落指出其实现位置或校验方式,但事实与宣传性结论没有始终清楚地区分。
- 默认自动执行命令和写入;编码代理的读取可能访问工作目录外,bash 与浏览器自动化也不受完整沙箱约束。涉及敏感代码时应审查工具配置并启用审批。
- 提供的架构与授权文档对代理间通信的默认策略相互矛盾;应在采用前核对目标修订的实际实现和有效配置。
- 免费模型请求可能发送给会训练输入的主机;安装脚本在缺少签名时可仅依赖校验和。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
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 查看 ↗ -
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 查看 ↗ -
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 查看 ↗
常见问题
必须付费使用模型吗?
代码会离开我的机器吗?
代理会自动执行所有命令和写入吗?
MEMDOOR_APPROVE=changes,让每条命令和每次写入都先请求批准;工作流也支持带差异内容的审批门。检查失败或工作流中断时会怎样?
memdoor resume 重新打开。