每个人都在养自己的 AI lobster。并不是每个人都有服务器来运行它。
Source: Dev.to
Agenvoy 是一个纯 Go 的代理后端 —— 没有框架开销,也没有臃肿的运行时。已在仅配备 512 MB RAM 的 Raspberry Pi Zero 2W 上验证运行。
多提供商 LLM 与智能路由
Agenvoy 将七个 AI 后端——GitHub Copilot、Claude、OpenAI、Gemini、Nvidia NIM 以及任何兼容 OpenAI 的端点(Compat/Ollama)——整合在统一的 Agent 接口后面。专用的规划器 LLM 会自动为每个请求选择最合适的提供商,免去手动切换模型的需求。命名为 compat[{name}] 的实例允许多个本地模型端点共存,每个端点都有独立的 URL 和凭证配置。
基于技能的自主执行
Skills 是声明式的 Markdown 文件(SKILL.md),用于定义任务的系统提示和工具白名单。运行时,Selector LLM 会在九条标准扫描路径中挑选最匹配的技能,然后驱动一个最多 128 次迭代的工具调用循环,直至任务完成。当达到迭代上限时,引擎会自动触发摘要,而不是返回错误。Skill 扩展会在启动时通过 SyncSkills 自动从 GitHub 同步。
25+ 内置工具,覆盖六大类
执行器提供了完整的工具链:
- 文件系统操作:
read_file,write_file,patch_edit,glob_files,search_content - 网页访问:
search_web,fetch_page,download_page,fetch_google_rss - 调度:
add_task,add_cron,write_script - 错误记忆:
remember_error,search_errors,get_tool_error - 数学计算器
- 任意 HTTP 请求
所有 rm 操作都会被重定向到 .Trash,所有写入均采用原子临时文件‑随后重命名的方式,以防止文件部分损坏。
JSON-驱动的 API 扩展架构
外部 REST API 以 JSON 文件的形式放在 extensions/apis/ 目录下,并通过 API 适配器在运行时加载——无需编写 Go 代码。开箱即带十三个公共领域的 API:
- Yahoo Finance
- CoinGecko
- Wikipedia
- World Bank
- USGS Earthquake
- Nominatim
- Open‑Meteo
- HackerNews
- REST Countries
- TheMealDB
- IP‑API
- Exchange rates
自定义端点遵循相同的模式,使工具能够在不重新编译的情况下实现任意扩展。
Discord 机器人模式与任务调度器
cmd/server 启动一个持久化的 Discord 机器人,能够处理私信和斜杠指令,并为每个频道维护会话状态。集成的调度器支持一次性任务(通过 +5m 或绝对时间戳)以及周期性 cron 作业(使用 go-scheduler 验证的标准 5 字段表达式)。每个任务都关联到一个 Discord 频道 ID:当脚本执行完毕后,规划代理会处理 stdout 并将结果回传到原始频道。schedule-task 技能会自动将自然语言的时间意图路由到调度器。
跨会话持久记忆
在每个回合结束时,代理会生成一个结构化的 JSON 摘要,并使用字段级去重与之前的会话摘要进行深度合并,然后存储在 ~/.config/agenvoy/。后续会话会将此摘要与最近的 N 条对话一起注入,使代理能够在不重新播放完整历史的情况下回忆起决策、约束和结论。工具执行错误会使用 SHA‑256 键进行持久化,以便代理在重试前查找过去的根本原因。
OS 密钥链凭证管理
API 密钥存储在操作系统原生的密钥链中(macOS Keychain、Linux Secret Service),而不是普通的环境变量。GitHub Copilot 使用 OAuth 设备代码流并具备自动令牌刷新功能。交互式的 agenvoy add / agenvoy remove 命令在所有六个提供商之间管理凭证,并内置模型注册表以便引导选择。多层路径黑名单阻止对 SSH 密钥、Shell 配置、云凭证(.aws、.gcloud、.docker)、.env 文件以及所有文件和命令工具中的私钥格式的访问。