Harness Mate Plat MCP Server

by liaosiliangCodeLife• 29•• Scanned•Claim this listing•Request removal
Developer Toolsai agentai agentsautonomous agentschatbotdeepseek

端到端智能体平台:把本机的 AI Agent 变成人人可用的 Web 产品(Vue 3 + Flask + Go WS 网关 + Docker 部署)

Harness Mate Plat is an open-source mcp server by liaosiliangCodeLife, written mainly in Python, with 29 GitHub stars and the MIT license. Its code was last updated Oct 30, 2026.

<p align="center"> <img src="assets/logo.png" alt="Harness Mate" width="120" /> </p>

Harness Mate

<p align="center"> [![M8ven Score](https://m8ven.ai/badge/mcp/liaosiliangcodelife-harness-mate-plat-1itulf?v=0887b014a0d75805a646306ac5a034c7)](https://m8ven.ai/mcp/liaosiliangcodelife-harness-mate-plat-1itulf?s=readme) [![awesome-dsh-plugin](https://img.shields.io/badge/awesome--dsh--plugin-listed-blue)](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) </p>

端到端智能体平台 —— 把你自己电脑上的 AI Agent 变成一个人人可用的 Web 产品。

End-to-end agent platform: turn the AI agent running on your own machine into a multi-user web product — chat, files, and open APIs included.

跑在你本机的 AI Agent 很强,但只有你能用:终端、脚本、本机文件,别人碰不到。Harness Mate 补的是这最后一公里 —— 同事和客户打开浏览器就能跟它对话、互传文件,而你不需要把 Agent 搬到云上,也不用写接入代码。

目前默认对接 Hermes Agent,通道协议是开放的,接别的 Agent 只需要实现一个适配器。

<p align="center"> <img src="assets/demo.gif" alt="Harness Mate 端到端演示:主页 → 个人空间 → 与本地智能体对话" width="880" /> </p> <p align="center"> <img src="assets/screenshot-home.png" width="270" alt="主页" /> <img src="assets/screenshot-space.png" width="270" alt="个人空间" /> <img src="assets/screenshot-chat.png" width="270" alt="智能体对话" /> </p>

Quickstart

把本机 Hermes Agent 接入平台 —— 5 步搞定,实际只要一条命令 + 两个值。

1)拿身份

打开 https://harness.alltman.com → 登录 → 「个人空间」→ 智能体卡片右下角「⋯」→「配对 Hermes」。弹窗里的 bot_id 与 bot_key 就是这两个值;也可以直接点弹窗里的「一键复制安装指令」,把已经填好凭据的脚本整段复制走。

2)装插件(插件在本仓库的 plugin/hermes/ 子目录)

hermes plugins install liaosiliangCodeLife/harness-mate-plat/plugin/hermes --yes-deps --enable

3)写入身份(把 <bot_id> / <bot_key> 换成第 1 步复制的值)

cat >> ~/.hermes/.env <<'EOF'
HARNESS_MATE_BOT_ID=<bot_id>
HARNESS_MATE_BOT_KEY=<bot_key>
EOF

4)确认网关地址

打开 ~/.hermes/plugins/HarnessMate/adapter.py 第 62 行 WS_GATEWAY_WS_URL,确认它指向你的网关(形如 wss://<域名>:<端口>/ws)。接入本仓库部署的网关时无需修改。

5)重启并验证

hermes gateway restart

日志里出现 harness_mate 已连接 WS 网关: bot_id=… 即连上;回到平台进入智能体、发一条消息,能收到回复就代表端到端打通。

完整步骤、依赖安装、配置项与排障表见 plugin/hermes/INSTALL.md。


目录


它解决什么问题

本机 Agent 的现状Harness Mate 之后
只有本机能用,换个设备就断了浏览器打开就能用,手机也行
没有账号体系,谁用都是同一个"我"邮箱注册登录、GitHub 登录、单会话登录
会话记录散在本地文件里会话/消息落库、分页回看、多设备一致
图片、文档只能靠你手动拷双向传文件:用户上传给 Agent,Agent 回传给你
想接进现有业务系统得自己造轮子开放接口(OpenAPI)直接调
不知道 Agent 到底在不在线在线状态全平台一致,一眼可见

核心能力

  • 智能体管理 —— 创建、编辑、删除智能体;每个智能体一个网关身份(bot_id + 密钥),可以指向不同的机器和不同的 Agent。
  • 实时会话 —— 浏览器通过 WebSocket 直连网关,与 Agent 点对点收发消息;支持流式输出(含思考中状态)与消息落库。
  • 中断生成 —— 生成过程中可一键停止(向 Agent 发送停止指令),不会卡在"生成中"。
  • 文件与图片(双向) —— 用户上传图片/文档给 Agent;Agent 回传本地文件时先上传到平台,聊天里直接渲染缩略图(点击放大)或文件卡片。
  • 在线状态 —— 列表页、详情页、会话卡片共用一套判定口径,不会出现"外面在线、进去离线"。
  • 账号体系 —— 邮箱密码登录、邮箱验证码注册、GitHub OAuth;单会话登录(同一账号同一时刻只允许一个网页端在线,后登录踢掉先登录,Redis 记录会话标识)。
  • 开放接口 —— API Key 管理、服务器与智能体信息、免授权文件上传,方便接进你自己的系统。
  • 一键部署 —— Docker Compose 起 ui / api / postgres / redis / nginx / certbot,Nginx 自动签发并续期 Let's Encrypt 证书。

架构

flowchart LR
  B["浏览器<br/>Vue 3 SPA"]

  subgraph server["平台侧(一台服务器 / Docker Compose)"]
    N["Nginx<br/>80 / 443 + TLS"]
    A["api · Flask<br/>账号 / 智能体 / 会话 / OpenAPI"]
    DB[("PostgreSQL<br/>账号·智能体·会话·消息")]
    R[("Redis<br/>会话标识·验证码·映射")]
    U["ui · 静态站点"]
  end

  G["WS 网关 · Go<br/>JWT 鉴权 + 点对点转发"]

  subgraph home["你的机器(Agent 侧)"]
    P["plugin · Hermes 插件"]
    H["Hermes Agent<br/>以及它在本地能做的一切"]
  end

  B -- "HTTPS /api" --> N
  N --> A
  N --> U
  A --> DB
  A --> R

  B -- "WSS 直连" --> G
  G <-- "WSS" --> P
  P <--> H
  P -. "上传本地文件" .-> N

两条链路的分工:

  • HTTP 链路(浏览器 → Nginx → api):账号、智能体、会话与消息的增删改查、文件上传、开放接口。
  • WebSocket 链路(浏览器 ⇄ 网关 ⇄ 插件 ⇄ Agent):实时消息与流式回复。网关只做鉴权和点对点转发(按 ws_session_id 精确投递),不解析业务内容;Agent 侧插件负责和本机 Agent 打交道。

本地开发

1. 准备

  • 一台跑平台的机器(Linux 推荐,macOS 亦可)
  • PostgreSQL 与 Redis(生产用下面的 Compose 一键起)
  • 本机已安装 Hermes Agent
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

2. 起各服务

后端(api)

cd api
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple/
cp .env.example .env          # 按需填写数据库、Redis、上传、邮件等配置
FLASK_APP=app.http.app flask run --port 5001 --host 127.0.0.1

前端(ui)

cd ui
npm install                   # 或 yarn
cp .env.example .env.development.local   # VITE_API_PREFIX 指向本地后端
npm run dev                   # http://localhost:5173

WS 网关(gateway)

cd gateway
go build -o gateway .
WS_GATEWAY_PORT=8765 ./gateway   # 默认监听 8765,可用环境变量覆盖;JWT 密钥与智能体配置保持一致

Agent 侧插件(plugin):一条命令装进 Hermes —— hermes plugins install liaosiliangCodeLife/harness-mate-plat/plugin/hermes --yes-deps --enable,再填网关地址、bot_id 与 bot_key 即可连通;完整步骤见 plugin/hermes/INSTALL.md。它同时负责把 Agent 的本机文件上传到平台再随回复回传。

3. 跑通第一条消息

  1. 浏览器打开前端 → 注册账号 → 登录
  2. 「个人空间」→ 创建智能体 → 填网关地址与密钥
  3. 进入智能体 → 新建会话 → 发一条消息,看 Agent 是否回复
  4. (可选)让它发张本地图片,验证文件回传链路

生产部署

docker/ 下是一套单机 Compose(ui / api / postgres / redis / nginx / certbot),配置全部走同目录的 .env:

cd docker
cp .env.example .env      # 填域名、数据库口令、上传与邮件配置等
docker compose build ui api
docker compose up -d

首次需要签发证书(仓库里的 docker-compose.yaml 顶部写了完整步骤):先临时注释掉 Nginx 的 443 段起容器,用 certbot 的 webroot 模式签发,再恢复并 reload。之后由 certbot 容器每 12 小时自动续期。

生产环境请务必:使用强口令、把 .env 排除在版本库外(仓库已默认忽略)、按需限制免授权上传接口。

配置说明

位置用途
api/.env后端:数据库连接、Redis、JWT 密钥、对象存储、邮件 SMTP
docker/.env部署:Compose 各服务参数、域名与证书邮箱
ui/.env.development.local本地联调:VITE_API_PREFIX 指向本地后端
ui/.env.production生产构建:走 Nginx 反代时填 /api

仓库只提交 .env.example;真实的 .env 一律不入库。

仓库结构

api/       后端(Flask):账号、智能体、会话、消息、开放接口
ui/        前端(Vue 3 + Vite):主页、智能体空间、会话卡片、开放接口
gateway/   WS 网关(Go):JWT 鉴权、会话映射、点对点转发
plugin/    Agent 侧插件(Python):对接本机 Agent,支持文件与图片回传
docker/    Docker Compose 部署:nginx、certbot、postgres、redis

协议文档

两份协议都是独立可实现的:换一个 Agent、换一个前端,只要遵守它们就能互通。

技术栈

模块主要技术
前端Vue 3、TypeScript、Vite、Pinia、Arco Design Vue、TailwindCSS
后端Python、Flask、SQLAlchemy、Flask-Login、Marshmallow、Alembic、Gunicorn
存储PostgreSQL、Redis、对象存储(腾讯云 COS)
网关Go、gorilla/websocket、JWT(golang-jwt)、go-redis、viper
插件Python、WebSocket 客户端
部署Docker Compose、Nginx、Certbot(Let's Encrypt)

安全与边界

  • 真实配置(.env)、证书私钥、上传目录都不进版本库。
  • 登录使用 JWT;单会话登录:Redis 记录每个账号当前有效的会话标识,新登录会让旧 token 立即失效。
  • 网关连接需要 JWT 鉴权,密钥由平台侧的智能体配置签发。
  • POST /open-api/upload-file 是免授权上传入口(供 Agent 侧回传文件使用),默认限制文件大小与类型;公网部署建议再加一层网关限流或来源校验。
  • Agent 侧插件以 bot_id / bot_key 标识身份,dm_policy 控制谁可以给它发消息。

License

本项目采用 MIT 许可协议,Copyright (c) 2026 liaosiliangCodeLife。

致谢

  • Hermes Agent:默认对接的本地 Agent 运行时
  • 所有让这套链路跑起来的上游开源项目

问题交流群

<img src="assets/harnessmate-group.png" alt="HarnessMate 交流群(企业微信)" width="260" />

使用微信或企业微信扫码加入交流群 —— 提问、反馈、聊用法都欢迎。

问题提交:liaosiliang1234@126.com (AI 每天会自动修复)。

Bug 上报格式

提交问题时按这三条写,定位最快:

1、现象:
2、复现路径:
3、是否必现:

社区收录

Harness Mate Plat alternatives

View more →

Similar mcp servers in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Harness Mate Plat (this page)
liaosiliangCodeLife
29MITOct 30, 2026Scanned, no flagged issues
MCP Use
mcp-use
11kMITOct 30, 2026Scanned, no flagged issues
MobileBuildMCP
getsentry
6.5kMITNov 1, 2026Scanned, no flagged issues
Gemini Notebook MCP CLI
jacob-bd
6.4kMITOct 27, 2026Scanned, no flagged issues
Mcporter
openclaw
5.1kMITOct 27, 2026Scanned, no flagged issues
Flint Chart
microsoft
4.5kMITNov 1, 2026Scanned, no flagged issues