Skip to content

Hermes Workspace - AI Agent 的 Web 前端工作台

[!info] 基本信息 - 仓库: https://github.com/outsourc-e/hermes-workspace - Stars 916 / Forks 92 / Open Issues 9 - 作者: @outsourc-e (Eric) - 协议: MIT - 版本: 0.1.0 - 创建时间: 2026-03-16(约 25 天前) - 主要语言: TypeScript (98%+) - 关联项目: hermes-agent (Python 后端网关)


一句话定位

Hermes Agent 的官方 Web 前端 -- 把 AI agent 的 chat、文件、记忆、技能、终端整合到一个 Web workspace 里,PWA 支持移动端。


核心解决的问题

提供一个完整的 AI Agent 操作界面,不是简单的 chat wrapper,而是一个集成化的 workspace。对比 OpenAI ChatGPT / Claude Web 的区别在于:它面向自部署的 agent 后端,支持本地模型(Ollama/vLLM),并提供了记忆管理、技能浏览、终端访问等 agent-specific 功能。


主要功能

模块 功能
Chat SSE 实时流式输出、多 session 管理、Markdown + 代码高亮、tool call 渲染、Inspector 面板
Files 完整的文件浏览器、目录导航、Monaco Editor 编辑器
Terminal 完整 PTY 终端、跨平台支持、持久化 shell session
Memory 浏览/编辑 agent 记忆文件、搜索、Markdown 实时预览
Skills 浏览 2000+ 技能注册表、查看详情/分类/文档、session 级管理
Settings 8 套主题(Official/Classic/Slate/Mono,各含 light/dark)、模型切换、provider 配置
Security Auth 中间件、CSP headers、路径遍历防护、Rate limiting、可选密码保护
PWA 移动端全功能支持、可安装为桌面/手机 App、Tailscale 远程访问

技术栈

层面 技术
框架 React 19 + TypeScript
路由 TanStack Router + TanStack Start (SSR)
状态管理 Zustand
数据请求 TanStack React Query
构建 Vite 7 + pnpm
UI Tailwind CSS 4 + Base UI + Motion (动画)
代码编辑 Monaco Editor
终端 xterm.js
Markdown react-markdown + shiki (语法高亮) + remark-gfm
图表 Recharts
图标 HugeIcons + Lobehub Icons
测试 Vitest + Testing Library + Playwright
后端对接 OpenAI-compatible API + Hermes Gateway SSE
容器化 Docker Compose (agent + workspace)

仓库结构

src/
├── components/          # UI 组件(50+)
│   ├── agent-chat/      # 聊天面板、流式渲染、工具调用
│   ├── file-explorer/   # 文件浏览器
│   ├── terminal/        # 终端组件
│   ├── memory-viewer/   # 记忆查看器
│   ├── settings-dialog/ # 设置弹窗
│   ├── onboarding/      # 引导流程
│   ├── prompt-kit/      # 提示词工具
│   ├── inspector/       # Inspector 面板
│   ├── usage-meter/     # 用量统计
│   ├── ui/              # 通用 UI 组件
│   └── ...
├── hooks/               # 自定义 hooks (20+)
├── routes/              # 页面路由
├── screens/             # 页面组件
│   ├── chat/
│   ├── dashboard/
│   ├── files/
│   ├── terminal/
│   ├── memory/
│   ├── skills/
│   ├── settings/
│   └── jobs/
├── server/              # 后端逻辑(SSR/API)
│   ├── hermes-api.ts    # Hermes Agent API 对接
│   ├── openai-compat-api.ts  # OpenAI 兼容 API
│   ├── terminal-sessions.ts  # 终端 session 管理
│   ├── memory-browser.ts     # 记忆浏览器后端
│   ├── chat-mode.ts          # 聊天模式
│   └── auth-middleware.ts    # 认证中间件
├── stores/              # Zustand 状态
└── utils/               # 工具函数

架构要点

双模式运行: 1. Portable 模式 -- 直接对接任何 OpenAI-compatible 后端(Ollama/LM Studio/vLLM),仅 chat 可用 2. Enhanced 模式 -- 通过 Hermes Agent 网关,解锁全部功能(session、记忆、技能、任务、工具调用)

通信方式: - Chat: SSE (Server-Sent Events) 实时流式 - Gateway API: HTTP REST - Terminal: WebSocket (xterm.js)


与 hermes-agent 的关系

hermes-workspace 是 hermes-agent 的前端。hermes-agent 是 Python 编写的 AI Agent 框架/网关(基于 NousResearch/hermes-agent 的 fork),提供: - OpenAI-compatible /v1/chat/completions 接口 - 扩展 API:sessions、memory、skills、config、jobs - hermes --gateway 命令启动 FastAPI 网关(端口 8642)

workspace 检测网关能力后自动启用/隐藏对应功能。


Roadmap

功能 状态
Chat + SSE Streaming 已发布
Files + Terminal 已发布
Memory Browser 已发布
Skills Browser 已发布
Mobile PWA + Tailscale 已发布
8-Theme System 已发布
Native Desktop App (Electron) 开发中
Model Switching & Config 开发中
Chat Abort / Cancel 开发中
Cloud / Hosted Version 计划中
Team Collaboration 计划中

部署方式

# 本地开发
git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
pnpm install
cp .env.example .env
# 编辑 .env 设置 HERMES_API_URL
pnpm dev  # http://localhost:3000

# Docker
docker compose up  # agent(:8642) + workspace(:3000)

环境变量: - HERMES_API_URL -- 后端 API 地址(必填) - ANTHROPIC_API_KEY -- Anthropic API key(gateway 需要) - HERMES_PASSWORD -- Web UI 密码保护(可选)