Back to home@bloodtmai-cmyk

dsh-ai-hub

面向企业内部 Harness 工作台的轻量控制面

Stars
0
Language
Java
Created
Aug 20, 2026
Updated
Aug 20, 2026
GitHub repo

Introduction

DSH AI Hub

面向企业内部 Harness 工作台的轻量控制面。
集中维护身份接入、模型访问、能力授权、受管指令和审计记录。

独立社区项目,基于 DeepSeek Harness 的企业托管需求构建,与 DeepSeek AI 不存在隶属、合作、授权或背书关系。

项目定位

DSH AI Hub 配合 Harness Enterprise Desktop 使用,为企业提供一个统一的内部智能工作台入口。Hub 负责配置和授权,不代理正常的模型请求或 MCP Tool 调用,也不替代 LDAP、SSO、业务系统和数据源自身的权限控制。

当前代码覆盖以下范围:

  • 管理员登录、Session/CSRF 防护和管理操作审计。
  • 对话审计接入与按身份、时间、状态查询。
  • MCP/Tool、Skill、Bundle 和客户端插件的准入、发布、申请与授权。
  • 只读、版本化、全员生效的企业 AGENTS.md 指令。
  • 桌面版本元数据与受管制品分发接口。
  • 模型访问申请、管理员录入和一次性领取。

项目保留清晰边界:身份由可替换的 Enterprise Gateway 验证;Gateway 在 tools/listtools/call 阶段执行 Hub 当前授权;下游业务系统继续负责最终的数据权限。

目录

backend/         Spring Boot 3、Java 21、Spring Security、JPA、Flyway
frontend/        React、TypeScript、Vite 管理界面
extension-host/  受控 Cordis Provider/Connector 宿主
artifacts/       可公开审查的示例插件与企业指令
docs/            架构、API 和安全边界
deploy/          通用构建与部署示例

模型访问

企业托管桌面不允许用户手工填写模型凭据。管理员批准时,Hub 将以下内容保存为同一份授权:

  • Provider 标识;
  • OpenAI 兼容模型网关地址;
  • API Key。

Key 加密保存并只允许领取一次;Provider 和网关地址可在授权有效期间持续读取。旧授权缺少地址元数据时默认拒绝,必须重新签发,不会猜测默认地址。模型、预算和有效期由上游 Provider 管理。LiteLLM 可以作为网关实现,但不是系统依赖。

标准 Harness 仍保留第三方模型配置,该限制只适用于企业托管桌面。

本地运行

需要 Java 21、Maven、Node.js 22+ 和 npm。

cd extension-host
npm ci
npm test
npm run build

cd ../frontend
npm ci
npm run build

cd ../backend
mvn spring-boot:run

默认后端地址为 http://127.0.0.1:8090,本地 profile 使用 H2。管理前端开发服务器可单独运行:

cd frontend
npm run dev

PostgreSQL、生产环境变量和反向代理示例见 .env.example部署脚本架构说明。生产接入必须使用受信 HTTPS 地址,并通过 Secret 管理系统注入密钥。

验证

cd backend && mvn test
cd ../frontend && npm run build
cd ../extension-host && npm test && npm run build
cd .. && node --test artifacts/*/tests/*.test.mjs
./scripts/verify-community-sanitization.sh

本仓库只发布源码,不提供 Harness 的 macOS 或 Windows 安装包。客户端构建、签名和分发由具体部署者负责。

文档与维护

项目由 clanie 维护。安全问题请不要提交公开 Issue,应按 SECURITY.md 发送私密报告。

License

项目采用 MIT License。第三方依赖和示例制品仍遵循各自的许可证与服务条款,详见 THIRD_PARTY_NOTICES.md