modeldock
让所有AI工具协同工作的本地网关,聚合多模型、视觉、语音、搜索、记忆与视频能力于Codex之中
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让所有AI工具协同工作的本地网关,聚合多模型、视觉、语音、搜索、记忆与视频能力于Codex之中
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
程序员小李最近同时用上了 DeepSeek 做代码生成、用 Codex 做代码补全、用 Ollama 跑本地模型。但每次想要让 AI「看图说话」或「联网搜索」时,就得在多个应用之间来回切换——复制 prompt、粘贴结果、再复制、再粘贴。这不是效率工具,这是一场跨应用的「搬家运动」。
ModelDock 解决的就是这个问题:它是一个运行在本地(127.0.0.1:4097)的轻量网关,架在 Codex 和各种 AI 后端之间,让用户在 Codex 里就能调用 DeepSeek、Qwen、Grok,甚至本地的 Ollama、llama.cpp、vLLM,而且自带视觉、语音、搜索、记忆、视频生成等工具加成。
ModelDock 由社区开发者 architectds 创建,遵循 Apache-2.0 开源协议。它不依附于任何一家 AI 公司,却在设计上与 OpenCode Go(opencode.ai)深度集成——Codex 是它默认的交互前端,用户在 Codex 里完成的每一轮对话,都经过 ModelDock 的网关路由到选定的 AI 提供商。
这种「协议桥接」思路的本质,是用 MCP(Model Context Protocol) 来标准化 AI 工具之间的通信。ModelDock 在 Codex 侧暴露 MCP 接口,同时支持 OpenAI 兼容的 Responses 端点,这意味着只要符合标准的 AI 服务,都可以在不做任何代码改动的情况下接入。
![]()
ModelDock 支持同时接入多个 AI 提供商:
用户不需要切换应用——在 Codex 的模型选择器里就能切换主模型,ModelDock 自动处理不同模型的 API 差异,包括上下文窗口差异、超时处理、CPU 压缩等。
ModelDock 不是简单的 API 转发,它为 AI 补全了原生的能力缺口:
| 工具名称 | 功能描述 | 依赖服务 |
|---|---|---|
vision_inspect | 视觉理解,支持粘贴图片或文件 | 需配置视觉模型 |
speak | 文字转语音(TTS),生成本地音频文件 | msedge-tts |
hear | 语音转文字(STT),转写音频文件 | 需 STT 配置 |
web_search_exa | 网络搜索,通过 Exa 实时查询 | Exa API key |
image_gen | AI 图像生成,走 Codex 的 ChatGPT 后端 | Codex 账号 |
store_memory / recall_memory | 三层跨会话记忆(项目级/全局级/专家级) | SQLite 本地存储 |
content-to-video | 从 prompt 制作 MP4 视频 | 需 ffmpeg |
三层记忆是 ModelDock 的一个亮点:项目级记忆存储当前任务的上下文,全局级记忆跨项目共享,专家级记忆可以导入外部知识库。官方数据显示,合理使用记忆后,同类任务的时间消耗从 4 小时 15 分钟缩短到 2 小时 24 分钟(提升约 40%)。

对于注重隐私或想要离线使用的用户,ModelDock 提供了完善的本地模型支持:

Node.js >= 24(使用 node:sqlite 原生模块)
├── Express.js 5.x — Web 仪表盘与 HTTP 网关
├── @modelcontextprotocol — MCP 协议实现
│ ├── node / express / server / client — 完整 MCP 2.0 实现
├── zod 4.x — Schema 验证
├── fzstd — Zstd 压缩(上下文压缩)
└── msedge-tts — Edge 语音合成
构建工具:esbuild
测试框架:Node.js 原生 test runner
src/
├── server.mjs — 主入口,Express 服务器
├── config.mjs — 配置加载(支持 TOML)
├── catalog.mjs — 模型目录
├── engine-processes.mjs — 本地引擎管理
├── custom-endpoints.mjs — 自定义端点路由
├── context-overrides.mjs — 上下文压缩(compaction)
├── compress.mjs — Zstd 压缩
├── codex-*.mjs — Codex 认证与通信
├── autostart.mjs — 开机自启
└── doctor.mjs — 诊断工具
skills/
└── content-to-video/ — 视频生成技能
config/
└── codex.example.toml — 配置示例
ModelDock 使用 Model Context Protocol(MCP)实现跨 AI 工具的标准化通信。MCP 是 Anthropic 提出的开放协议,充当「适配器层」:上游是 Codex 的对话接口,下游是各家 AI 提供商的原生 API,MCP 在中间做协议转换和上下文管理。开发者如果想接入新的 AI 服务,只需实现对应的 MCP Server,无需修改 ModelDock 核心代码。
ModelDock 实现了上下文压缩机制(Compaction):当对话长度超过阈值时,使用 Zstd 算法压缩历史上下文,移除冗余 token,同时保留关键决策和工具调用结果。这对于本地模型场景尤为重要——本地模型的上下文窗口通常比云端小得多,压缩机制直接决定了长会话的可行性。
安装高度自动化:Windows 一行 PowerShell,macOS/Linux 一行 curl | sh,自动下载到 ~/.modeldock、配置开机自启、启动网关、打开仪表盘。
http://127.0.0.1:4097ModelDock 完全围绕 Codex 展开。如果不使用 Codex,这个工具毫无意义——它不是独立的 AI 对话界面,只是一个 Codex 的「增强插件」。
项目要求 Node.js >= 24,较为激进,很多用户需要专门安装新版本。
Ollama/llama.cpp 推理速度远不及云端 API,对于需要低延迟的场景(如实时补全),体验较差。
store_memory 调用会将内容发送给 AI 提供商处理。对于高度敏感的代码或商业机密,需要评估 AI 提供商的数据处理政策。
ModelDock 代表了一种新兴的 AI 工具链思路:不是做一个更好的 AI,而是做一个更好的 AI 路由器。在 2025-2026 年的 AI 生态中,单一模型已经很难满足复杂任务的需求,多模型协作才是趋势。而多模型协作最大的障碍,不是模型本身的能力,而是工具之间的连接成本。
ModelDock 通过 MCP 协议和本地网关,把连接成本降到接近零。对于已经在使用 Codex 的用户,ModelDock 是一个几乎零成本的升级。
# macOS / Linux 安装
curl -fsSL https://raw.githubusercontent.com/architectds/modeldock/main/scripts/install.sh | sh
# Windows 安装
$installer = Join-Path $env:TEMP "modeldock-install.ps1"
Invoke-WebRequest -UseBasicParsing "https://github.com/architectds/modeldock/releases/latest/download/install.ps1" -OutFile $installer
powershell -NoProfile -ExecutionPolicy Bypass -File $installer
# 本地开发
git clone https://github.com/architectds/modeldock.git
cd modeldock && npm ci && npm test
# 手动启动网关
npm start
# 开发模式(热重载)
npm run dev
# 手动恢复(网关挂了)
sh ~/.modeldock/scripts/recover.sh # Linux/macOS
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.modeldock\scripts\recover.ps1" # Windows

ModelDock 三层记忆系统:项目级、全局级、专家级,支持跨会话持续学习