Skip to main content
Glama
hyperion-wei

Ontology Hub

by hyperion-wei

Ontology Hub

AI Agent 本体管理中心

一个基于 MCP (Model Context Protocol) 的 AI Native 本体管理系统,让 AI Agent 能够发现、学习和执行 Skill。

License Python React MCP


什么是 Ontology Hub?

Ontology Hub 是一个 AI Native 的本体管理中心,它将 Skill(技能)作为本体(Ontology)进行建模和管理,通过 MCP 协议向 AI Agent 暴露工具,实现:

  • Skill 发现:Agent 可以搜索和浏览可用的 Skill

  • Skill 执行:Agent 根据 Skill 的 prompt 指导执行任务

  • Workspace 隔离:不同项目/领域的 Skill 完全隔离

  • 千人千面:每个 Token 可以有独立的工具权限

Related MCP server: OpenCode LLM Wiki MCP Server

核心概念

┌─────────────────────────────────────────────────────────────┐
│                        AI Agents                            │
│              (Claude, Codex, Cursor, etc.)                  │
└─────────────────────┬───────────────────────────────────────┘
                      │ MCP Protocol (HTTP POST)
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                    Ontology Hub                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ MCP Server  │  │ Admin Tools │  │   Business Tools    │  │
│  │             │  │ (ontology_*)│  │ (function:/action:) │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ SchemaStore │  │ ObjectStore │  │    TokenStore       │  │
│  │ (workspace) │  │ (workspace) │  │    (MCP Token)      │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
                      │ HTTP API
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                    Web Panel (React)                        │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │  图谱   │ │  结构   │ │  实例   │ │  工具   │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
└─────────────────────────────────────────────────────────────┘

本体(Ontology)

本体是知识的结构化表示,包含:

概念

说明

示例

Object Type

定义实体的属性和关系

Skill, Workspace, SkillExecution

Instance

对象类型的具体实例

一个具体的 Skill

Function

只读查询逻辑,无副作用

searchSkills, listSkillsByWorkspace

Action

数据变更操作

createSkill, updateSkill, deleteSkill

Skill(技能)

Skill 是 AI Agent 的能力定义:

Skill:
  skillId: SKI-001           # 唯一标识
  name: 代码审查              # 技能名称
  trigger: 当需要审查代码质量时  # 触发条件
  prompt: 请审查以下代码...    # 提示词模板
  tools: []                  # 依赖的工具
  workspace: default         # 所属工作空间
  status: active             # 状态

Workspace(工作空间)

  • 每个 Workspace 是独立的本体空间

  • 不同 Workspace 的数据完全隔离

  • 可以按项目、领域或团队划分

界面预览:本体图谱

力导向图谱页。三种视图模式 × 四种着色方式,所有图分析(邻接表、BFS 跳数、最短路径、连通分量、度数中心性)都在浏览器内基于 /api/graph 完成,不依赖后端改动,也没有引入 Canvas/WebGL 等新依赖。

视图模式

作用

全图

展示工作空间内全部实例与关系

类型聚合

同类实例压成超节点(Model × 22),边聚合为 22 条 · belongsToProvider,直接看本体骨架;点击超节点下钻到该类型

聚焦

只保留选中节点的关系子图(双击节点即进入)

着色方式

语义

类型

按 Object Type 着色

跳数热力

以选中节点为热源,按关系跳数分环着色(锚点红 → 1跳橙 → 2跳黄 → 远端蓝)

属性热力

自动筛出离散字段(如 status)按其取值着色,图例带数量

度数热力

按连接数着色,暴露枢纽资产

全图 · 按类型着色

本体图谱全图

跳数热力 · 某个 Provider 的影响面

选中 AIXJ 后切到跳数热力:顶部 HUD 给出 1 锚点 · 20 1跳 · 3 2跳 · 0 ≥3跳 · 13 范围外,无关实例自动淡化,右侧详情抽屉列出全部 20 条反向引用。

跳数热力

类型聚合 · 本体骨架

37 个实例压成 7 个超节点,关系聚合成带计数的边标签。

类型聚合

度数热力 + 图谱总览

右侧总览面板给出节点/边/密度、类型分布、关系分布、连接数 TOP(含类型与度数)、连通分量数量。

度数热力与统计

属性热力

按 status 着色,图例直接显示 active 36 / deprecated 1,一眼定位异常资产。

属性热力

聚焦 · 只看相关节点

双击任意节点即隔离出它的关系子图,配合「距离」滑杆(1~8 跳)控制关系半径。

聚焦视图

最短关系链追踪

选中起点 → 点「追踪路径」→ 点终点,用紫色流动线高亮两者之间的最短关系链,详情抽屉给出逐跳步骤与方向语义(含 (反向) 标注)。跨孤岛时会如实提示不可达。

最短关系链

选中一个节点后可以做什么

操作

说明

只看相关

隔离出该节点的关系子图

居中

平移缩放至该节点

固定位置

钉住节点坐标,再次点击解除(Shift+点击为快捷方式)

隐藏

从当前视图移除,底部可一键全部恢复

追踪路径

以此为起点,再点击另一节点求最短关系链

复制查询参数

直接复制 ontology_get_instance 的 arguments,粘给 Agent 调用

关系列表按外键方向拆成**「它引用(出边)」与「被谁引用(入边)」**两组,点击任意一条即跳转选中;没有入边的实例会被标注为可能的孤儿数据。

其它交互

  • 搜索定位:输入即出建议(Top 6,含名称/类型/ID),回车选中并居中

  • 图例筛选:单击类型隐藏、双击只看该类型

  • 显示开关:边标签、淡化无关、按度数放大节点半径

  • 性能护栏:可见集合裁剪、背景边超 320 条等步长抽稀、标签按缩放档给预算(2/12/40)、大图提前收敛

  • URL 深链:?view=focused&color=hop&select=Provider:PRV-aixj&depth=2&stats=1&from=A&to=B,可把当前视图直接分享给别人

  • 快捷键:Esc 取消选择/退出聚焦、F 聚焦、H 跳数热力、D 度数热力、L 边标签、R 适应视图、/ 聚焦搜索框

快速开始

环境要求

  • Python 3.10+

  • Node.js 18+

  • Windows / Linux / macOS

安装

# 克隆项目
git clone https://github.com/your-username/ontology-hub.git
cd ontology-hub

# 安装后端依赖
pip install -r requirements.txt

# 安装前端依赖
cd frontend
npm install
cd ..

启动服务

# 启动后端(端口 8100)
python -m uvicorn ontohub.main:app --host 0.0.0.0 --port 8100

# 启动前端(端口 5175)
cd frontend
npm run dev

访问

MCP 接入

1. 生成 MCP Token

在 Web 面板中:

  1. 进入 工具管理 → MCP Token

  2. 点击 新建 Token

  3. 选择 Workspace 和角色

  4. (可选)自定义工具权限

  5. 点击 生成 Token

  6. 点击 一键复制 复制配置

2. 配置到 Agent

Claude Desktop

编辑配置文件:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ontohub-default": {
      "url": "http://localhost:5175/mcp/message",
      "headers": {
        "Authorization": "Bearer mcp_default_admin_xxx",
        "X-Workspace": "default",
        "X-Role": "admin"
      }
    }
  }
}

Qoder / Cursor

编辑 ~/.qoder/mcp.json 或 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ontohub-default": {
      "url": "http://localhost:5175/mcp/message",
      "headers": {
        "Authorization": "Bearer mcp_default_admin_xxx",
        "X-Workspace": "default",
        "X-Role": "admin"
      }
    }
  }
}

3. 验证连接

重启 Agent 后,你应该能看到 Ontology Hub 的工具列表。

工具说明

工具命名规则

前缀

类型

说明

ontology_*

Admin Tool

本体管理工具(创建类型、实例等)

function:*

Function

只读查询函数

action:*

Action

数据变更操作

Admin Tools(25个)

工具

说明

ontology_create_workspace

创建工作空间

ontology_delete_workspace

删除工作空间

ontology_list_workspaces

列出所有工作空间

ontology_switch_workspace

切换工作空间

ontology_get_current_workspace

获取当前工作空间

ontology_create_type

创建对象类型

ontology_update_type

更新对象类型

ontology_delete_type

删除对象类型

ontology_create_instance

创建实例

ontology_update_instance

更新实例

ontology_delete_instance

删除实例

ontology_get_instance

获取实例

ontology_query_instances

查询实例

ontology_traverse

关系遍历

ontology_register_function

注册函数

ontology_unregister_function

注销函数

ontology_list_functions

列出函数

ontology_register_action

注册 Action(自动暴露为 action:* 工具)

ontology_unregister_action

注销 Action

ontology_get_schema

获取本体结构

ontology_list_types

列出类型

ontology_get_graph

获取图数据

ontology_assign_tools

分配工具权限

ontology_revoke_tools

撤销工具权限

ontology_list_roles

列出角色

Functions(5个)

函数

说明

function:searchSkills

搜索 Skill

function:listSkillsByWorkspace

列出工作空间中的 Skill

function:getSkillDetail

获取 Skill 详情

function:getSkillExecutionHistory

获取 Skill 执行历史

function:findSkillByTrigger

根据触发条件查找 Skill

Actions(5个,默认模板)

操作

说明

action:createSkill

创建 Skill

action:updateSkill

更新 Skill

action:deleteSkill

删除 Skill

action:activateSkill

激活 Skill

action:recordExecution

记录执行结果

治理约定:Workspace 的创建/删除属于基础设施管理,由 Admin Tool ontology_create_workspace / ontology_delete_workspace 承担,不作为业务 Action 暴露。各空间可通过 ontology_register_action 按需注册领域运维 Action(如 llm 空间的 revokeApiKey、rotateApiKey 相关操作)。

使用示例

Agent 对话示例

用户:帮我查看一下有哪些可用的 Skill

Agent:我来帮你查看可用的 Skill。

[调用 function:searchSkills]

目前有以下 Skill:
1. 代码审查 - 当需要审查代码质量时使用
2. 文档生成 - 当需要生成技术文档时使用

你想了解哪个 Skill 的详情?

API 调用示例

# 获取本体结构
curl -X POST http://localhost:5175/mcp/message \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mcp_default_admin_xxx" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "ontology_get_schema",
      "arguments": {}
    }
  }'

# 创建 Skill
curl -X POST http://localhost:5175/mcp/message \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mcp_default_admin_xxx" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "action:createSkill",
      "arguments": {
        "name": "代码审查",
        "trigger": "当需要审查代码质量时",
        "prompt": "请审查以下代码...",
        "workspace": "default"
      }
    }
  }'

部署

本地开发

# 后端
python -m uvicorn ontohub.main:app --host 0.0.0.0 --port 8100 --reload

# 前端
cd frontend && npm run dev

生产部署(Nginx)

server {
    listen 443 ssl;
    server_name onto.example.com;
    
    location / {
        proxy_pass http://localhost:5175;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    
    location /api/ {
        proxy_pass http://localhost:8100;
    }
    
    location /mcp/ {
        proxy_pass http://localhost:8100;
    }
}

环境变量

变量

说明

默认值

ONTOHUB_DB

数据库文件路径

.ontohub.db

ONTOHUB_CONFIG

配置文件目录

config/

ONTOHUB_MCP_URL

MCP 服务地址

自动检测

项目结构

ontohub/
├── core/                   # 核心模块
│   ├── store.py           # 实例存储(支持 workspace 隔离)
│   ├── schema_store.py    # Schema 存储(支持 workspace 隔离)
│   ├── token_store.py     # MCP Token 存储
│   └── audit.py           # 审计日志
├── frontend/              # React 前端
│   ├── src/
│   │   ├── components/
│   │   │   ├── GraphPanel.tsx        # 图谱页容器(视图/着色/交互编排)
│   │   │   └── graph/                # 图谱交互层
│   │   │       ├── graphAnalytics.ts # 纯函数图分析(BFS/最短路/分量/中心性)
│   │   │       ├── typePalette.ts    # 类型色与热力色阶
│   │   │       ├── GraphToolbar.tsx  # 视图/着色/距离/搜索工具栏
│   │   │       ├── DistanceHud.tsx   # 距离情报条与图例
│   │   │       ├── NodeInspector.tsx # 节点详情抽屉与操作
│   │   │       ├── GraphStats.tsx    # 图谱总览面板
│   │   │       └── types.ts          # 数据契约
│   │   └── App.tsx        # 主应用
│   └── vite.config.ts     # Vite 配置
├── docs/screenshots/      # 界面截图
├── config/                # 配置文件
│   └── skill_ontology.yaml # Skill 本体定义
├── admin_tools.py         # Admin 工具
├── business_tools.py      # 业务工具
├── mcp_server.py          # MCP 服务器
├── main.py                # FastAPI 入口
└── requirements.txt       # Python 依赖

技术栈

  • 后端: FastAPI, SQLite, Python 3.10+

  • 前端: React 18, TypeScript, Tailwind CSS, D3.js(d3-force 力导向 + d3-zoom,SVG 渲染)

  • 协议: MCP (Model Context Protocol)

  • 数据库: SQLite(支持 workspace 隔离)

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License


让 AI Agent 拥有可发现、可学习、可执行的 Skill

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with ontologies through the Ontology Access Kit, providing ontology querying and management capabilities.
    5
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Agent-first knowledge graph MCP server that provides 25 tools for managing a knowledge graph with nodes and edges, plus a human-readable dashboard for LLMs and AI agents.
    459 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI clients to interact with a LightRAG knowledge graph server via MCP, providing 30 tools for queries, document management, and graph operations.
    119 npm
    MIT