motorhead
Motorhead 是一款专为大语言模型(LLM)设计的记忆与信息检索服务器,旨在帮助开发者轻松构建具备长期记忆能力的聊天应用。在开发基于 LLM 的对话系统时,如何让模型“记住”历史上下文往往需要重复造轮子,而 Motorhead 通过提供简洁的 API 接口解决了这一痛点。
它主要服务于 AI 应用开发者,特别是那些希望快速实现会话状态管理、避免上下文丢失的技术人员。Motorhead 的核心亮点在于其智能的窗口管理机制:当对话消息超过预设的最大窗口限制时,它会自动对旧消息进行增量摘要处理,既保留了关键语境,又有效控制了 Token 消耗。此外,它还集成了向量语义搜索(VSS)功能,允许用户通过自然语言查询快速检索历史对话中的特定信息。
尽管该项目目前标记为不再维护(DEPRECATED),但其设计理念——将会话存储、自动摘要和语义检索标准化为独立服务——为理解如何构建有状态的 AI 应用提供了极佳的参考范例。如果你正在探索如何让 AI 助手拥有更连贯的长期记忆,了解 Motorhead 的工作机制将大有裨益。
使用场景
某初创团队正在开发一款基于大模型的“个人旅行规划助手”,需要让 AI 在长达数周的对话中记住用户的偏好、预算及已讨论过的景点。
没有 motorhead 时
- 开发者需重复编写复杂的会话状态管理代码,每次启动新对话都要重新构建记忆逻辑。
- 随着对话轮数增加,上下文窗口迅速爆满,早期关键信息(如用户指定的“不吃辣”)被强制截断丢失。
- 缺乏自动摘要机制,长对话导致 Token 消耗激增,推理成本高昂且响应速度变慢。
- 无法通过语义搜索历史对话,当用户问“我上次说想去哪个城市?”时,AI 只能基于当前有限窗口瞎猜。
使用 motorhead 后
- 直接调用 Motorhead 的简单 API 即可自动创建和管理会话,无需从零构建记忆服务器。
- 内置滑动窗口与增量摘要功能,自动将旧对话压缩为精炼上下文,既保留核心记忆又控制 Token 用量。
- 利用向量语义搜索(VSS)接口,AI 能精准检索历史细节,准确回答关于过往偏好的追问。
- 支持按需加载外部上下文,轻松整合用户档案或第三方数据,增强回答的个性化程度。
Motorhead 将繁琐的记忆工程转化为标准化服务,让开发者能专注于提升 AI 的对话智能而非底层数据存储。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
🧠 Motorhead(已弃用)
该项目已不再提供支持。
Motorhead 是一个用于大语言模型的记忆与信息检索服务器。
为什么使用 Motorhead?
在使用大语言模型构建聊天应用时,记忆管理往往需要从头开发。Motorhead 是一个专门为此设计的服务器,它提供了三个简单的 API:
- GET
/sessions/:id/memory返回最多MAX_WINDOW_SIZE条消息。
{
"messages": [
{
"role": "AI",
"content": "电子音乐和萨尔萨舞是两种截然不同的音乐类型,人们跳这两种舞的方式也大不相同。"
},
{
"role": "Human",
"content": "那它和萨尔萨舞相比如何呢?"
},
{
"role": "AI",
"content": "电子音乐是一个涵盖多种风格的广泛流派,因此并没有一种‘正确’的跳舞方式。"
},
{
"role": "Human",
"content": "那电子音乐该怎么跳呢?"
},
{
"role": "AI",
"content": "哥伦比亚拥有充满活力的电子音乐场景,许多才华横溢的DJ和制作人已经获得了国际认可。"
},
{
"role": "Human",
"content": "哥伦比亚有哪些著名的DJ呢?"
},
{
"role": "AI",
"content": "Baum俱乐部于2014年开业,很快就成为波哥大最受欢迎的电子音乐俱乐部之一。"
}
],
"context": "本次对话涵盖了波哥大电子音乐俱乐部、该市热门旅游景点以及哥伦比亚的基本情况等内容。AI提到了诸如Baum和Video Club等知名电子音乐俱乐部,还有在波哥大举办的电子音乐节。此外,AI还推荐了拉坎德拉里亚区、蒙塞拉特山和锡帕基拉盐教堂等旅游景点,并介绍了哥伦比亚多元的文化、地貌及野生动物等信息。",
"tokens": 744 // 用于增量摘要的token数量
}
- POST
/sessions/:id/memory- 向 Motorhead 发送消息数组以进行存储。
curl --location 'localhost:8080/sessions/${SESSION_ID}/memory' \
--header 'Content-Type: application/json' \
--data '{
"messages": [{ "role": "Human", "content": "ping" }, { "role": "AI", "content": "pong" }]
}'
存储消息时可以使用现有的或新的 SESSION_ID,如果会话尚不存在,则会自动创建。
可选地,如果需要从其他数据存储加载上下文,也可以一并发送 context。
- DELETE
/sessions/:id/memory- 删除该会话的消息列表。
为便于大语言模型跟踪对话,设置了最大窗口大小。一旦达到此限制,Motorhead 将处理其中的一半消息并生成摘要。随着消息数量的增加,后续的摘要将以增量方式进行更新。
- POST
/sessions/:id/retrieval- 使用向量相似性搜索(VSS)按文本查询进行检索。
curl --location 'localhost:8080/sessions/${SESSION_ID}/retrieval' \
--header 'Content-Type: application/json' \
--data '{
"text": "将军们如黑弥撒中的女巫般集结成群"
}'
搜索会根据提供的会话ID自动进行分段(过滤)。
配置
MOTORHEAD_MAX_WINDOW_SIZE(默认:12)- 服务器返回的最大消息数。当达到此数量时,系统会触发任务将其减半。MOTORHEAD_LONG_TERM_MEMORY(默认:false)- 启用基于 Redisearch VSS 的长期记忆功能。MOTORHEAD_MODEL(默认:gpt-3.5-turbo)- 用于执行增量摘要的大语言模型。请使用gpt-3.5-turbo或gpt-4,否则可能会出现异常情况。PORT(默认:8000)- Motorhead 服务器端口。OPENAI_API_KEY- 您的 OpenAI API 密钥,用于连接 OpenAI。REDIS_URL(必填)- 连接 Redis 的 URL。OPENAI_API_BASE(默认:https://api.openai.com/v1)- OpenAI API 的基础 URL。
Azure 部署
Azure 部署还需要以下环境变量:
AZURE_DEPLOYMENT_IDAZURE_DEPLOYMENT_ID_ADAAZURE_API_BASEAZURE_API_KEY
如何运行
使用 docker-compose:
docker-compose build && docker-compose up
或者您可以直接使用镜像 docker pull ghcr.io/getmetal/motorhead:latest:
docker run --name motorhead -p 8080:8080 -e PORT=8080 -e REDIS_URL='redis://redis:6379' -d ghcr.io/getmetal/motorhead:latest
示例
版本历史
v3.0.22023/12/19v3.0.12023/11/14v3.0.1rc12023/11/14v3.0.02023/11/14v2.0.42023/08/23v2.0.4rc32023/08/23v2.0.4rc22023/08/23v2.0.4rc12023/08/23v2.0.3rc12023/08/23v2.0.32023/08/23v2.0.22023/07/16v2.0.12023/05/16v2.0.02023/05/16v1.0.22023/04/29v1.0.12023/04/27v1.0.02023/04/20v0.0.22023/04/18v0.0.12023/04/18常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器