资讯动态

Memoh扩展开发教程:从零打造自定义工具提供商与渠道适配器

发布时间:2026/10/4 4:13:49 来源:尧图企业网站定制
Memoh扩展开发教程从零打造自定义工具提供商与渠道适配器【免费下载链接】Memoh✨ The open-source multi-agent platform. Every agent gets its own computer, desktop, network, and long-term memory. You can bring your own key, or host your coding agent like Claude Code, Codex and so on.项目地址: https://gitcode.com/gh_mirrors/me/MemohMemoh 是一个开源多智能体平台open-source multi-agent platform每个 Agent 都拥有自己的计算机、桌面、网络与长期记忆。除了开箱即用Memoh 还支持三类扩展接入自定义模型提供商Provider、挂载自定义工具MCP/App、以及编写渠道适配器Channel Adapter让机器人出现在任意聊天平台上。本文将按「模型提供商 → 工具提供商 → 渠道适配器」的顺序带你从零完成 Memoh 扩展开发。一、先看清全局Memoh 的三大扩展入口Memoh 的扩展体系分为三层每一层都有明确的代码位置新手只要找到对应目录就能下手扩展类型解决什么问题核心代码位置配置/示例位置模型提供商 Provider接入任意 LLM自带 Key 或托管internal/providers/conf/providers/工具提供商 Tool / MCP给 Agent 加新能力搜索、绘图、MCP 服务internal/agent/tool/、internal/mcp/Bot 设置 → MCP渠道适配器 Channel Adapter把 Agent 接入 Telegram、飞书、钉钉等平台internal/channel/adapters/internal/channel/官方开发文档可参考 docs/configuration.md 与 docs/development.md它们覆盖了配置项与环境搭建细节。二、接入自定义模型提供商一个 YAML 文件搞定Memoh 的模型提供商是声明式的在 conf/providers/ 下放一个 YAML 文件即可无需写 Go 代码。以 conf/providers/openrouter.yaml 为模板最小可用的自定义提供商长这样name: MyProvider client_type: openai-completions base_url: https://api.example.com/v1 models: - model_id: my-model-1 name: My Model 1 type: chat config: compatibilities: [tool-call] context_window: 128000只需要关注 4 个关键字段name / icon显示名与图标用于前端 Provider 列表client_type协议类型如openai-completions、openai-responses决定使用哪种 HTTP 协议base_url你的推理服务地址models模型清单compatibilities声明能力tool-call、reasoning等context_window声明上下文长度。保存后在 Web 端「Providers」页面即可看到新提供商填入 API Key 并点击Test Connection验证连通性添加完成后这些模型会出现在所有需要选择模型的场景中例如创建定时任务时挑选执行模型 小技巧如果你的服务兼容 OpenAI 协议优先复用client_type: openai-completions需要 OAuth 登录而非 API Key的场景可参考 conf/providers/anthropic.yaml 的写法。提供商的凭据与 OAuth 逻辑集中在 internal/providers/credentials.go。三、集成自定义工具通过 MCP 与能力市场Memoh 中工具提供商有两种姿势由简入繁1. 挂载外部 MCP 服务推荐新手MCPModel Context Protocol服务是 Memoh 最重要的工具来源相关实现位于 internal/mcp/。在 Bot 设置 → MCP 页面填写 Endpoint 即可连接远程服务支持Stdio (Local)与Remote (HTTP/SSE)两种传输方式并可一键Test Connection验证2. 利用能力市场Supermarket分发工具 AppMemoh 内置 Supermarket 能力市场Agent 可以直接调用app_search工具检索并安装技能应用无需人工干预3. 内置工具的源码参考如果你想给 Memoh 贡献一个内置工具所有内置工具都实现在 internal/agent/tool/ 下每个工具一个文件例如webfetch.go网页抓取、image_gen.go绘图、schedule.go定时任务。新增工具时建议仿照现有工具文件结构实现工具描述、参数 Schema 与执行逻辑在 internal/agent/tool/names.go 中登记工具名为关键路径补充_test.go单元测试参照webfetch_test.go的写法。四、渠道适配器开发四步走渠道适配器是 Memoh 扩展中最有工程感的部分——它决定 Agent 能在哪些聊天平台收发消息。目前官方已内置 Telegram、飞书、钉钉、Slack、Discord、Matrix、企业微信等 13 个适配器全部位于 internal/channel/adapters/。渠道层的扩展机制基于「一个基础接口 一组可选接口」所有适配器必须实现 internal/channel/adapter.go 中的Adapter接口type Adapter interface { Type() ChannelType Descriptor() Descriptor }Descriptor声明渠道的元数据显示名、配置 Schema、能力矩阵等而收发消息、流式输出、Webhook 等行为则通过Receiver、Sender、WebhookReceiver、MessageEditor等可选接口逐步增强——平台不支持的能力不实现即可。开发一个适配器只需 4 步建包并声明类型在internal/channel/adapters/下新建目录仿照 internal/channel/adapters/telegram/descriptor.go定义const Type channel.ChannelType myplatform实现 Descriptor配置好DisplayName、ConfigSchemaAPI Token 等配置项与Capabilities实现收发能力长连接平台实现Receiver参考adapters/telegram/telegram.goWebhook 平台实现WebhookReceiver回复消息实现Sender需要打字中…状态可实现ProcessingStatusNotifier注册到 Registry调用 internal/channel/registry.go 的Registry.Register()完成注册注册后即可被 internal/channel/manager.go 的生命周期管理自动接管。验证与测试渠道层提供了接口契约测试 internal/channel/adapters/interface_contract_test.go新适配器应遵循同样的契约约束测试工具包 internal/channel/channeltest/ 可帮助模拟入站消息运行go test ./internal/channel/...确认全部通过后再到 Web 端 Bot 设置 → Platforms 中绑定你的机器人 Token 做端到端验证。五、常见问题速查问题排查方向新提供商保存后模型不出现检查client_type拼写与base_url结尾斜杠前端代码在 apps/web/MCP 连接失败先Test Connection确认 HTTP/SSE 端口与请求头Advanced Settings 可加 Header渠道收不到消息长连接看Receiver.Connect是否返回有效ConnectionWebhook 检查回调地址是否公网可达工具未对 Agent 暴露确认工具 Schema 与能力开关参见 internal/agent/tool/capability.go六、总结Memoh 的扩展开发遵循一条清晰的路径模型提供商改一个 YAML工具提供商挂一个 MCP渠道适配器实现一个接口。掌握这三层入口你就掌握了从能用到好用的全部定制空间。建议从 docs/development.md 搭建开发环境开始克隆仓库后依次通读本文涉及的三个目录从最简单的 OpenAI 兼容提供商练手再挑战自己的第一个渠道适配器——这是上手 Memoh 二次开发最快的方式。【免费下载链接】Memoh✨ The open-source multi-agent platform. Every agent gets its own computer, desktop, network, and long-term memory. You can bring your own key, or host your coding agent like Claude Code, Codex and so on.项目地址: https://gitcode.com/gh_mirrors/me/Memoh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑