Skip to content

hashicorp-forge/hermes

⭐ 1,883  ·  TypeScript  ·  GitHub 仓库

一个文档管理系统

emberjs golang

一句话总结

HashiCorp 开源的企业级文档管理系统,通过直接集成 Google Workspace 或 Microsoft 365,实现规模化团队写作。

🔥 核心能力与独特卖点

  • 双企业后端支持:原生支持 Google Workspace(Drive、Docs、Gmail)或 SharePoint/Microsoft 365 作为文档存储层。解决了团队已有企业云投入却被迫采用孤立文档工具的痛点。

  • 结构化文档生命周期:强制采用三层文件夹体系——草稿、已发布文档、快捷方式——将进行中的工作与最终内容清晰分离。终结了共享驱动器中已发布文档与粗糙草稿混存的混乱局面。

  • 可选的 Jira 集成:将 Hermes 项目直接与 Jira 问题关联,实现工作流追踪。弥合了文档创建与项目管理之间的鸿沟,这对工程和产品团队至关重要。

  • 基于组的审批:支持 Microsoft 通讯组列表或 Google Groups 作为文档审批人(可选)。无需额外审批工具即可提供治理层。

  • Algolia 驱动的全文搜索:必选集成提供企业级跨文档搜索,解决了共享驱动器普遍存在的"我知道它存在但找不到"的痛点。

独特卖点:与通用文档门户不同,Hermes 旨在扩展您现有的云基础设施而非替代它,使其成为已深度融入 Google 或 Microsoft 生态系统的组织的自然之选。

技术架构

组件技术栈职责
后端Go 1.18API 服务器、业务逻辑、后端抽象层
前端Ember.js(Node.js 20、Yarn ~3.3.0)Web 应用界面
数据库PostgreSQL应用状态、元数据、用户/组映射
搜索Algolia文档索引与全文搜索
认证(Google)OAuth2Google Workspace 身份验证
认证(Microsoft)Microsoft Entra ID / OIDCSharePoint/M365 身份验证
可选认证ALB 前置 OIDC负载均衡部署的替代认证方案

架构亮点

  • 后端抽象模式:Go 服务器使用可配置的后端驱动(Google vs. Microsoft),同一代码库即可服务两大生态系统。
  • 双进程架构server 进程处理 API 请求,独立的 indexer 进程管理 Algolia 搜索索引——支持独立扩展。
  • Alpha 阶段复杂度:需要多个外部服务(Algolia、PostgreSQL、云 API 配置),这既是优势(模块化),也是部署负担。

快速入门指南

sh
# 1. 复制并编辑配置模板
cp configs/config.hcl ./
# 编辑 config.hcl,填入后端凭据(Google 或 Microsoft)

# 2. 构建 Hermes 二进制文件
make build

# 3. 通过 Docker 启动本地 PostgreSQL 实例
make docker/postgres/start

# 4. 启动 Hermes 服务器(API + 前端)
./hermes server -config=config.hcl

# 5. 在另一个终端中启动搜索索引器
./hermes indexer -config=config.hcl

设置逻辑:所有配置由单个 config.hcl 文件驱动。在运行服务器之前,您必须预置外部服务(Algolia、PostgreSQL、Google Cloud 或 Azure 应用注册)。

优点、缺点与用例

优点

  • 拥有企业血统的开源项目:由 HashiCorp 的工程实践背书,绝非业余项目。
  • 充分利用现有投入:无需将文档从 Google Drive 或 SharePoint 迁移出来。
  • 结构化工作流:草稿 → 已发布管道无需繁重流程即可强制执行文档成熟度。
  • 可扩展:后端抽象模式意味着未来可添加更多云存储提供商。

缺点

  • Alpha 阶段成熟度:尚未达到生产就绪状态;预计会有破坏性变更、功能不完整和文档有限。
  • 高部署复杂度:需要配置 Algolia、PostgreSQL、OAuth2/OIDC 以及云 API 权限——绝非五分钟即可完成部署。
  • 外部服务依赖:没有 Algolia(搜索)以及 Google Cloud 或 Azure(认证/存储),就无法运行 Hermes。
  • 非 HashiCorp 官方产品:无支持 SLA、无商业背书、社区驱动维护。

谁不适合使用?

  • 小型团队或个人开发者:对于少于约 20 人的团队,基础设施开销(Algolia、PostgreSQL、云 API)超过收益。
  • 没有 Google Workspace 或 Microsoft 365 的组织:没有这些后端之一,Hermes 毫无用处。
  • 需要快速、自包含解决方案的团队:如果您想要一个"开箱即用"的 Docker 容器,请另寻他处。
  • 当前需要生产级文档工作流的团队:Alpha 软件意味着不稳定;切勿将其用于合规或审计追踪。

理想用例

  • 已使用 Google Workspace 或 M365 的中大型企业工程团队,需要结构化文档生命周期(RFC、设计文档、操作手册)。
  • 已使用 HashiCorp 工具链(Terraform、Vault、Consul)的组织,希望为文档管理采用一致的操作模型。
  • 需要 Jira 集成以将文档与工单关联并追踪审批的团队。
  • 概念验证评估,用于将临时共享驱动器替换为受治理的文档系统。

社区与活跃度

拥有 1,883 颗星且仓库活跃(最后更新于 2026 年 5 月),Hermes 作为 Alpha 阶段项目展现了强大的社区关注度。HashiCorp forge 的背书增添了可信度,并暗示着持续投入,即便它并非官方产品。Go + Ember.js + 企业级集成的组合吸引了小众但活跃的受众——那些欣赏其架构选择的平台工程师。虽然问题追踪器和贡献活动需要直接验证,但星标数和近期更新表明这绝非废弃项目——这是一个值得关注的生命力项目,尤其适合符合其特定定位的团队。

热点项目数据来自 GitHub API,实时更新