【免费下载链接】hope-agent A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手也可服务化常驻 NAS / 云端项目地址https://gitcode.com/gh_mirrors/ho/hope-agent点击查看免费下载Hope Agent 是一款会记忆、能持续推进目标的跨端桌面 AI 助手。借助ACP 协议Agent Client Protocol只需一条hope-agent acp命令就能把它变成 Zed、VS Code 等IDE 的 AI 后端编辑器通过 stdio NDJSON 直连会话与桌面端实时互通内置工具、记忆空间和模型降级能力全部可用。本文带你完成从首次配置到故障排查的完整接入。1️⃣ 什么是ACP协议为什么IDE需要它ACPAgent Client Protocol是一套让代码编辑器直接和 AI Agent 对话的标准协议谱系上与 LSPLanguage Server Protocol一脉相承对比项ACP 的做法通信方式编辑器 fork 一个子进程双方走stdio上的JSON-RPC 2.0消息消息编码NDJSON每行一条 JSON无端口、无握手、无额外依赖流式输出服务端连续发送session/update通知文本、思维链、工具调用边跑边推典型客户端Zed、VS Code 等支持 ACP 的编辑器Hope Agent 用纯 Rust 原生实现了 ACP 服务端没有 Node.js 中间层、没有桥接进程请求进入同一进程内的共享对话内核直接执行。完整协议设计见官方文档 docs/architecture/integration/acp.md。2️⃣ 接入前准备一次配置三种入口共享Hope Agent 只编译出一个二进制hope-agent扮演三种角色桌面 GUI默认启动、server常驻服务、acp协议服务。三者共用同一套核心与数据目录~/.hope-agent/配置、会话、记忆、Agent 定义都在这里。因此接入 ACP 前只需做一件事先完成首次配置选模型 Provider → 填 API Key → 完成一次对话。ACP 模式启动时会检查 onboarding 状态——如果没配好进程会直接以退出码2结束并提示你先去桌面应用或hope-agent server setup完成配置。这是因为 stdio 本身就是协议通道没法再弹窗问你问题。安装与启动方式详见 docs/user-guide/01-快速上手.md支持 Homebrew、Scoop、AUR、Docker 等多种方式也可git clone https://gitcode.com/gh_mirrors/ho/hope-agent从源码构建。3️⃣ 快速启动ACP服务hope-agent acp 命令速查在编辑器启动 ACP 之前你可以先在终端手动验证服务是否能正常拉起加--verbose观察启动 banner日志走 stderr不污染协议通道hope-agent acp # 基本启动stdio 即协议通道 hope-agent acp --verbose # -v 详细日志写 stderr hope-agent acp --agent-id coder # -a 指定 Agent默认 ha-main hope-agent acp --dangerously-skip-all-approvals # 跳过所有审批危险仅本次启动 hope-agent acp --version / --help # 版本 / 帮助各参数说明完整 CLI 文档见 docs/architecture/system/cli.md参数说明--verbose/-vstderr 打印启动 banner版本 / agent id / 协议--agent-id/-a指定使用哪个 Agent默认ha-mainID 不存在时不会兜底会在会话内报错误--dangerously-skip-all-approvals跳过所有工具审批仅影响本次启动不写配置4️⃣ 在编辑器中接入Zed 与 VS Code 配置要点接入的思路只有一句话让编辑器把外部 agent 的命令指向hope-agent acp。以 Zed 为例在其 agent 配置中声明命令与参数即可示意字段以你所用编辑器的 ACP 配置为准// Zed settings 示意把 agent 命令指向 hope-agent acp { agents: { hope-agent: { command: hope-agent, args: [acp, --agent-id, ha-main] } } }编辑器保存该配置后就会 forkhope-agent acp子进程并完成握手。协议层的关键方法一览类型定义在 crates/ha-acp/src/acp/types.rs核心分发逻辑在 crates/ha-acp/src/acp/agent.rs方法方向作用initializeIDE → 服务握手 能力协商session/newIDE → 服务创建新会话session/loadIDE → 服务加载已有会话自动重放历史消息session/promptIDE → 服务执行对话阻塞至本轮完成session/setModeIDE → 服务切换 Agent 路由所有 Agent 都可作为 modesession/close/session/cancelIDE → 服务关闭会话 / 取消进行中的对话session/update服务 → IDE流式推送文本、思维、工具调用与结果5️⃣ 会话互通IDE 里的对话桌面端接着聊这是 Hope Agent 接入 IDE 后最爽的一点ACP 端与桌面 App 是同一份数据。两端共享sessions.dbSQLiteWAL 模式Provider 配置、模型降级链、Agent 定义也全部复用。在 Zed 里创建的会话回到桌面 App 能直接看到并继续对话反过来也一样。会话在~/.hope-agent/下持久化ACP 进程重启不丢历史用session/load拉回即自动重建对话视图。编辑器里调用的是 Hope Agent 的全部内置工具exec / 读写文件 / 浏览器 / 记忆检索等清单见 docs/user-guide/07-工具与权限.md不是桥接层的能力子集。模型侧同样完整复用桌面端的 Failover 链同模型限频重试 跨模型自动降级。6️⃣ 把IDE现场带给Agent上下文快照当前文件/选区/报错session/new、session/load、session/prompt都支持在_meta.ideContext里携带一份「编辑器现在在看什么」的快照服务端会解析后写入 IDE 上下文表结构定义见 crates/ha-core/src/session/ide_context.rs快照字段内容currentFile当前打开的文件selection选区路径与起止行、选中文本openTabs打开的标签页最多 24 个activeDiagnostic当前报错文件、行号、级别、信息activeSymbol光标所在符号名与位置这样你可以直接在 IDE 里问「这段选中的代码为什么报这个错」Agent 会拿到文件、选区与诊断信息作为上下文写入失败只告警、绝不让对话失败该快照是面向本人的信号不升级为 system 指令。记忆与知识空间同样跨端共享——桌面端积累的记忆在 IDE 会话中同样可被检索使用。7️⃣ 权限与审批无人值守时的安全边界⚠️ 这是新手最容易踩的坑ACP 目前没有把审批弹窗转发给编辑器的通道。当工具调用需要人工审批而编辑器无法响应时默认策略是fail-closed直接拒绝而不是把对话挂死到超时。三种应对方式per-agent auto-approve给对应 Agent 配置自动批准精细可控设置 → 权限 → 无人值守审批把默认「阻止执行」改为「放行」适合受信的自动化场景--dangerously-skip-all-approvals启动级跳过所有审批仅本次启动风险最高。其他安全边界单条 prompt 上限 2MB、活跃会话上限 32、工具结果超 8192 字节自动截断、单会话同一时刻只允许一个活跃 prompt新 prompt 会被拒可发session/cancel取消当前轮。审批红线的集成测试见 crates/ha-acp/tests/approval_fail_closed.rs。8️⃣ 常见问题排查清单FAQ接入后可以先打开桌面端 Dashboard 验证效果会话数、消息数、工具调用与 Token 用量都会统计进来。现象原因解决启动即退出退出码 2Provider 未完成首次配置用桌面 App 或hope-agent server setup完成 onboarding连上后报 agent 相关错误--agent-id指定的 Agent 不存在去掉参数用默认ha-main或改填已存在的 Agent工具调用被自动拒绝审批 fail-closed无人可审批按第 7 节配置 auto-approve 或放行策略对话进行中新 prompt 被拒单会话单活跃 prompt等待当前轮结束或发送session/cancel编辑器看不到历史对话未走加载流程让编辑器调用session/load历史会自动重放停止原因stopReason共四种end_turn正常完成、cancelled被取消、refusal预检阻断、error全模型链失败排查时可据此快速定位。9️⃣ 进阶玩法让 Hope Agent 反向驱动其他 Agentha-acp这个 crate 里其实装了两套方向相反的能力上面讲的是 Hope Agent作为服务端被编辑器连接另一半是ACP 控制面——让 Hope Agent 反过来作为客户端通过acp_spawn工具去启动并管理 Claude Code、Codex CLI、Gemini CLI 等外部 ACP Agent 子进程支持spawn/list/kill/steer等动作工具实现在 crates/ha-acp/src/tool.rs。也就是说编辑器驱动 Hope AgentHope Agent 又能驱动其他 Agent组成一条完整的 AI 后端链路。 相关文档与源码官方架构文档docs/architecture/integration/acp.md协议、并发模型、持久化、取消语义全解CLI 参考docs/architecture/system/cli.mdACP 服务端源码目录crates/ha-acp/src/acp/启动入口server.rs · NDJSON 传输protocol.rs · 事件映射event_mapper.rsacp子命令入口src-tauri/src/main.rsonboarding 门 精简后台任务集新手入门docs/user-guide/01-快速上手.md · 工具与权限docs/user-guide/07-工具与权限.md一行命令把你的编辑器接到一个有记忆、会降级、能自主推进目标的 AI 后端上——这就是 Hope Agent 的 ACP 模式。赞分享【免费下载链接】hope-agent A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手也可服务化常驻 NAS / 云端项目地址https://gitcode.com/gh_mirrors/ho/hope-agent点击查看免费下载相关推荐Grok Agent 模式ACP完整接入指南stdio 与 WebSocket 服务端、IDE 集成与扩展协议Grok Agent 模式ACP完整接入指南stdio 与 WebSocket 服务端、IDE 集成与扩展协议 Grok 的 Agent 模式ACP人工智能大模型AI Agent代码智能体CLI工具调用MCP ClientsOpenClaw 中文版 acp 命令完全指南用 Agent Client Protocol 把 IDE 接入 Clawdbot GatewayOpenClaw 中文版 acp 命令完全指南用 Agent Client Protocol 把 IDE 接入 Clawdbot Gateway clawdb人工智能AI Agent即时通讯后端本地部署语音cognee-mcp 完全指南用 MCP 协议把 cognee 记忆引擎接入你的 Agent 与 IDEcognee mcp 完全指南用 MCP 协议把 cognee 记忆引擎接入你的 Agent 与 IDE cognee mcp 是 cognee 开源 AI人工智能AI AgentRAG知识图谱后端MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考