[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82196":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":12,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":12,"stars7d":14,"stars30d":14,"stars90d":12,"forks30d":12,"starsTrendScore":12,"compositeScore":12,"rankGlobal":9,"rankLanguage":9,"license":15,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":12,"starSnapshotCount":12,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},82196,"Meridian","Wangzx233\u002FMeridian","Wangzx233","Save your context switching costs",null,"Go",25,0,21,4,"MIT License",false,"main",true,[],"2026-06-12 02:04:24","# Meridian\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"frontend\u002Fpublic\u002Ffavicon.svg\" alt=\"Meridian icon\" width=\"96\" height=\"96\">\n\u003C\u002Fp>\n\n[English](README.en.md) | 中文\n\n![Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo-1.25+-00ADD8?logo=go&logoColor=white)\n![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-20.19%2B-339933?logo=nodedotjs&logoColor=white)\n![React](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-19-61DAFB?logo=react&logoColor=111)\n![PostgreSQL](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-16%2B-4169E1?logo=postgresql&logoColor=white)\n![CI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCI-GitHub_Actions-2088FF?logo=githubactions&logoColor=white)\n[![linux.do](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flinux.do-2D8F6F)](https:\u002F\u002Flinux.do\u002F)\n\nMeridian 是一个通过 Web 管理任务的控制台。它把多台设备、多个项目、多个任务放到一个界面里，让你随时打开浏览器，一键切换设备、项目和任务。自动提炼任务摘要，需要时可手动选择传入其他设备、项目、任务上下文。\n\nMeridian 不替代 Codex，也不重新实现 agent。真正执行任务的仍然是目标设备上的 Codex CLI。\n\nMeridian 所做的是在每台设备上运行一个设备代理，在控制台来管理多个设备上的 Codex。\n\n## 适用场景\n\n- 在不止一台设备上使用 Codex CLI，需要统一入口。\n- 维护多个项目，需要快速切换到对应设备上的项目和任务。\n- 希望手动选择其他任务和过往上下文，后续任务不用从头开始。\n- 同时把多个工作交给 Codex，只需在任务完成或失败时回到控制台查看结果。\n- 不放心把复杂任务一股脑推给 Hermes\u002FOpenClaw。亲手把关各个任务。\n\n## 和常见方案的区别\n\n| 方案 | 主要体验 | Meridian 的差异 |\n| --- | --- | --- |\n| Hermes \u002F OpenClaw | 通用 agent、个人自动化、跨工具编排。 | 不做新的 agent runtime，亲自把关 Codex CLI。 |\n| IDE + AI | 在编辑器里写代码，也可以通过远程开发连接服务器。 | 用 Web 在不同设备、项目、任务之间切换，不需要为每个任务反复打开窗口、连接服务器、启动 Codex。 |\n| Codex App \u002F CLI | 直接和 Codex 交互，APP 也可以连接服务器运行。 | 服务器无需拥有公网 IP 也可被控制，工作台保存在 Meridian，不依赖相同的 APP 登录环境。 |\n\nMeridian 的重点不是“更聪明”，而是“更好管理”：Web 可访问、设备可切换、项目可切换、任务可继续。\n\n## 界面预览\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"UI.png\" alt=\"Meridian Web 控制台界面预览\">\n\u003C\u002Fp>\n\n## 快速开始\n\nDocker Compose 是推荐的部署方式。它会启动 PostgreSQL、启动后端、自动应用数据库迁移、构建设备代理文件，并服务 Web UI。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FWangzx233\u002FMeridian.git\ncd Meridian\ndocker compose up -d --build\n```\n\n浏览器打开：\n\n```text\nhttp:\u002F\u002F\u003Cserver-ip>:18080\n```\n\n如果只在本机试用，也可以打开 `http:\u002F\u002F127.0.0.1:18080`。Compose 默认监听所有地址，部署到服务器后通常可以直接通过服务器 IP 访问。第一次浏览器访问会进入初始化管理员账号流程。\n\n需要修改端口、数据库密码、外部数据库或认证配置时：\n\n```bash\ncp .env.example .env\nvi .env\ndocker compose up -d --build\n```\n\n面向公网或多人使用时，建议放到 HTTPS 反向代理后面。如果 Meridian 只需要被本机反向代理访问，可以在 `.env` 中设置 `MERIDIAN_HTTP_BIND=127.0.0.1`。\n\n## 源码部署\n[部署指南](docs\u002Fdeployment.md)\n\n## 连接第一台设备\n\n每台执行任务的设备都需要先安装 Codex CLI。随后直接使用 Meridian 页面里的安装脚本：\n\n1. 打开 Web UI，点击右上角的 Runner 安装按钮。\n2. 将 Control URL 设置为目标设备能访问到的 Meridian 地址。\n3. 复制 UI 里给出的 Linux、macOS 或 Windows 命令，并在目标设备上运行。\n4. 安装成功后左侧服务器列表自动出现设备。\n\n远程设备不要使用 `127.0.0.1`，除非 Meridian 也运行在同一台设备上。Docker Compose 和源码部署都会提供安装端点所需的设备代理文件，通常不需要手写下载命令。\n\n## 常用流程\n\n1. 打开 Web UI。\n2. 在设备下创建项目，并设置真实 `workdir`。\n3. 创建任务。\n4. 每次发送一条用户指令。\n5. 在 Output、Terminal 和 Files 中查看项目与运行状态。\n6. 持续追加 turn，直到工作完成。\n7. 如果需要将这次任务纳入长期记忆，在“总结入库”生成草稿并入库。\n8. 手动将任务标记为 done。\n\n## 其他部署方式\n\n不使用 Docker Compose 时，可以采用源码部署。后端默认在启动时自动应用数据库迁移，首次部署不需要额外执行迁移命令；设备代理仍然通过页面右上角提供的安装脚本连接。\n\n源码部署、外部数据库、环境变量、反向代理和 Windows 备注见 [部署指南](docs\u002Fdeployment.md)。\n\n## 核心能力\n\n| 能力 | 说明 |\n| --- | --- |\n| 多设备 | 管理安装了设备代理的机器，并跟踪在线状态。 |\n| 真实项目目录 | 每个项目绑定到某台设备上的真实工作目录。 |\n| 长任务 | 一个任务可以包含多次 Codex turn，成功运行不等于任务完成。 |\n| Codex 会话恢复 | 保存 Codex CLI session id，后续 turn 可继续同一任务上下文。 |\n| 显式上下文 | 用户手动选择少量、可见的上下文项。 |\n| 实时输出 | 设备代理将 Codex run event 流式传回控制台。 |\n| 项目工具 | 支持项目文件浏览、轻量编辑和项目目录内终端命令。 |\n| 设备代理分发 | 后端提供 Linux、macOS、Windows 设备代理安装端点。 |\n| 及时通知 | 任务完成后可选择UI、游览器、邮件三种提醒方式 |\n\n## 架构速览\n\n```text\nBrowser UI\n  -> Go backend control plane\n  -> PostgreSQL task\u002Frun\u002Fevent store\n\nGo backend control plane\n  \u003C-> device agent WebSocket\n  \u003C-> target device agent\n  -> local Codex CLI in the project workdir\n```\n\n## 当前限制\n\n- 认证是简单登录门禁，没有自助注册或细粒度权限模型。\n- 设备代理安装端点面向可信环境。\n- 设备代理 artifacts 暂未签名。\n- Codex CLI 需要在执行任务的设备上单独安装。\n- 目前只支持手动上下文选择，不做自动推荐或注入。\n- 成功的 Codex run 不会自动完成任务，必须由用户手动标记 done。\n\n## 相关文档\n\n- [部署指南](docs\u002Fdeployment.md)：源码部署、外部数据库、环境变量和反向代理。\n- [贡献指南](CONTRIBUTING.md)：本地开发环境、检查和 PR 约定。\n- [安全策略](SECURITY.md)：安全边界、漏洞报告和部署建议。\n- [变更日志](CHANGELOG.md)：版本发布记录。\n- [需求文档](docs\u002Frequirements.md)：产品需求和范围。\n- [架构文档](docs\u002Farchitecture.md)：控制平面、设备代理和数据模型。\n- [API Contract](docs\u002Fapi-contract.md)：HTTP、SSE 和 WebSocket 协议。\n- [发布清单](docs\u002Frelease-checklist.md)：发布前检查项。\n","Meridian 是一个通过 Web 管理多台设备上任务的控制台。其核心功能包括在一个界面内管理多台设备、多个项目和多个任务，自动提炼任务摘要，并支持手动选择上下文传递。Meridian 使用 Go 语言开发，结合了 Node.js、React 和 PostgreSQL 等技术栈，提供了便捷的任务管理和切换体验。适用于需要在多台设备上使用 Codex CLI 并统一管理入口的场景，特别适合维护多个项目的开发者，以及希望高效切换任务并继续工作的用户。此外，Meridian 还支持 Docker Compose 快速部署，简化了安装和配置过程。",2,"2026-06-11 04:08:02","CREATED_QUERY"]