From b49809d4b09560aec60c9d9335b3d5ea98940183 Mon Sep 17 00:00:00 2001 From: yi-ge Date: Mon, 16 Feb 2026 21:57:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=20DesireCor?= =?UTF-8?q?e=20Registry=20=E6=95=B0=E6=8D=AE=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加应用商店数据(Dify, RagFlow, Open WebUI) - 添加服务注册表数据(Filesystem MCP, GitHub MCP) - 添加服务描述符(chat, reasoning, embedding) - 添加服务分类(language, voice, vision, vector) - 添加 UI 配置文件 - 添加仓库元数据和说明文档 Co-Authored-By: Claude Opus 4.6 --- README.md | 51 +++++++++++++++++++++++++ SCHEMA_VERSION | 1 + apps/apps.json | 71 +++++++++++++++++++++++++++++++++++ manifest.json | 16 ++++++++ services/categories.json | 34 +++++++++++++++++ services/descriptors.json | 47 +++++++++++++++++++++++ services/services.json | 26 +++++++++++++ ui-config/app-categories.json | 33 ++++++++++++++++ ui-config/service-status.json | 39 +++++++++++++++++++ 9 files changed, 318 insertions(+) create mode 100644 README.md create mode 100644 SCHEMA_VERSION create mode 100644 apps/apps.json create mode 100644 manifest.json create mode 100644 services/categories.json create mode 100644 services/descriptors.json create mode 100644 services/services.json create mode 100644 ui-config/app-categories.json create mode 100644 ui-config/service-status.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..13a8fb3 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# DesireCore Registry + +DesireCore 官方应用商店与服务注册表数据仓库。 + +## 目录结构 + +``` +. +├── README.md # 本文件 +├── SCHEMA_VERSION # 数据格式版本 +├── manifest.json # 仓库元数据 +├── apps/ +│ └── apps.json # StoreApp[] 应用列表 +├── services/ +│ ├── services.json # RegisteredService[] 服务列表 +│ ├── descriptors.json # ServiceDescriptor[] 服务描述符 +│ └── categories.json # ServiceCategoryDescriptor[] 服务分类 +└── ui-config/ + ├── app-categories.json # 应用分类配置 + └── service-status.json # 服务状态 UI 配置 +``` + +## 数据格式 + +所有 JSON 文件遵循 DesireCore 定义的 JSON Schema: + +- `apps/apps.json` → `StoreApp` schema +- `services/services.json` → `RegisteredService` schema +- `services/descriptors.json` → `ServiceDescriptor` schema +- `services/categories.json` → `ServiceCategoryDescriptor` schema + +## 同步策略 + +DesireCore 客户端会: + +1. 启动时检查本地缓存(2 分钟 TTL) +2. 缓存过期时 `git fetch` 检查更新 +3. 有更新时 `git pull` 并重建索引 +4. 离线时使用本地缓存或内置 fallback 数据 + +## 贡献指南 + +1. Fork 本仓库 +2. 修改相应的 JSON 文件 +3. 提交 PR 并描述变更内容 +4. 等待审核合并 + +## 镜像 + +- GitHub(主): https://github.com/desirecore/registry.git +- git.hxr.so(镜像): https://git.hxr.so/desirecore/registry.git diff --git a/SCHEMA_VERSION b/SCHEMA_VERSION new file mode 100644 index 0000000..3eefcb9 --- /dev/null +++ b/SCHEMA_VERSION @@ -0,0 +1 @@ +1.0.0 diff --git a/apps/apps.json b/apps/apps.json new file mode 100644 index 0000000..62de46e --- /dev/null +++ b/apps/apps.json @@ -0,0 +1,71 @@ +[ + { + "id": "dify", + "name": "Dify", + "icon": "linear-gradient(135deg, #1C64F2, #7C3AED)", + "iconLetter": "D", + "shortDesc": "开源 AI 应用开发平台", + "fullDesc": "Dify 是一个开源的 LLM 应用开发平台,支持可视化编排 AI 工作流、RAG 管道、Agent 智能体等功能。", + "category": "ai-platform", + "tags": ["LLM", "RAG", "Agent", "Workflow"], + "version": "0.8.3", + "latestVersion": "0.8.3", + "author": "Dify.AI", + "githubUrl": "https://github.com/langgenius/dify", + "stars": 56200, + "installStatus": "not_installed", + "requirements": { + "docker": true, + "minMemory": "4GB", + "minDisk": "10GB", + "ports": [3000, 5001] + }, + "configNeeded": ["Docker 运行环境", "OpenAI API Key(可选)"] + }, + { + "id": "ragflow", + "name": "RagFlow", + "icon": "linear-gradient(135deg, #34C759, #30D158)", + "iconLetter": "R", + "shortDesc": "深度文档理解的 RAG 引擎", + "fullDesc": "RagFlow 是一款基于深度文档理解的开源 RAG 引擎,支持复杂格式文档解析和多级检索。", + "category": "rag", + "tags": ["RAG", "文档理解", "检索", "DeepDoc"], + "version": "0.15.0", + "latestVersion": "0.15.0", + "author": "InfiniFlow", + "githubUrl": "https://github.com/infiniflow/ragflow", + "stars": 35800, + "installStatus": "not_installed", + "requirements": { + "docker": true, + "minMemory": "8GB", + "minDisk": "20GB", + "ports": [9380] + }, + "configNeeded": ["Docker 运行环境"] + }, + { + "id": "open-webui", + "name": "Open WebUI", + "icon": "linear-gradient(135deg, #FF9500, #FF6B00)", + "iconLetter": "O", + "shortDesc": "OpenAI 兼容的 Web 界面", + "fullDesc": "Open WebUI 是一个功能丰富的自托管 WebUI,支持 Ollama 和 OpenAI 兼容 API。", + "category": "chat", + "tags": ["Chat", "WebUI", "Ollama", "OpenAI"], + "version": "0.3.35", + "latestVersion": "0.3.35", + "author": "Open WebUI", + "githubUrl": "https://github.com/open-webui/open-webui", + "stars": 48500, + "installStatus": "not_installed", + "requirements": { + "docker": true, + "minMemory": "2GB", + "minDisk": "5GB", + "ports": [8080] + }, + "configNeeded": ["Docker 运行环境", "Ollama 或 OpenAI API"] + } +] diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..e104c65 --- /dev/null +++ b/manifest.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "id": "desirecore-registry-manifest", + "version": "1.0.0", + "name": "DesireCore Registry", + "description": "DesireCore 官方应用商店与服务注册表", + "maintainer": "DesireCore Team", + "repository": "https://github.com/desirecore/registry", + "lastUpdated": "2026-02-16", + "dataVersion": { + "apps": "1.0.0", + "services": "1.0.0", + "descriptors": "1.0.0", + "categories": "1.0.0" + } +} diff --git a/services/categories.json b/services/categories.json new file mode 100644 index 0000000..442ecad --- /dev/null +++ b/services/categories.json @@ -0,0 +1,34 @@ +[ + { + "id": "language", + "label": "语言模型", + "icon": "message-circle", + "order": 1, + "description": "文本对话、推理、翻译等语言处理服务", + "origin": "builtin" + }, + { + "id": "voice", + "label": "语音模型", + "icon": "volume-2", + "order": 2, + "description": "语音合成、识别、复刻等语音处理服务", + "origin": "builtin" + }, + { + "id": "vision", + "label": "视觉模型", + "icon": "eye", + "order": 3, + "description": "图像理解、OCR、图像/视频生成等视觉处理服务", + "origin": "builtin" + }, + { + "id": "vector", + "label": "向量模型", + "icon": "bar-chart-3", + "order": 4, + "description": "文本向量化和检索重排序", + "origin": "builtin" + } +] diff --git a/services/descriptors.json b/services/descriptors.json new file mode 100644 index 0000000..5602ed6 --- /dev/null +++ b/services/descriptors.json @@ -0,0 +1,47 @@ +[ + { + "id": "chat", + "version": "1.0.0", + "category": "language", + "display": { + "label": "主对话", + "shortLabel": "Chat", + "groupLabel": "Chat 模型", + "icon": "message-circle", + "description": "通用对话服务,Agent 核心交互能力" + }, + "modelFields": [], + "origin": "builtin", + "mutable": false + }, + { + "id": "reasoning", + "version": "1.0.0", + "category": "language", + "display": { + "label": "推理", + "shortLabel": "Reason", + "groupLabel": "推理模型", + "icon": "brain", + "description": "复杂推理服务,适合深度思考和分析任务" + }, + "modelFields": [], + "origin": "builtin", + "mutable": false + }, + { + "id": "embedding", + "version": "1.0.0", + "category": "vector", + "display": { + "label": "向量化", + "shortLabel": "Embed", + "groupLabel": "Embedding", + "icon": "bar-chart-3", + "description": "文本向量化,用于语义搜索和检索" + }, + "modelFields": [], + "origin": "builtin", + "mutable": false + } +] diff --git a/services/services.json b/services/services.json new file mode 100644 index 0000000..a598801 --- /dev/null +++ b/services/services.json @@ -0,0 +1,26 @@ +[ + { + "id": "fs-mcp", + "name": "Filesystem MCP", + "description": "本地文件系统操作,支持读写、搜索、监控文件变化", + "protocol": "mcp", + "status": "offline", + "origin": "manual", + "endpoint": "stdio:///usr/local/bin/fs-mcp", + "transport": "stdio", + "capabilities": ["file_read", "file_write", "file_search", "file_watch"], + "tags": ["文件系统", "本地"] + }, + { + "id": "github-mcp", + "name": "GitHub MCP", + "description": "代码仓库操作,支持 PR、Issue、代码搜索和仓库管理", + "protocol": "mcp", + "status": "offline", + "origin": "manual", + "endpoint": "stdio:///usr/local/bin/github-mcp", + "transport": "stdio", + "capabilities": ["repo_read", "pr_manage", "issue_manage", "code_search"], + "tags": ["代码", "Git", "PR"] + } +] diff --git a/ui-config/app-categories.json b/ui-config/app-categories.json new file mode 100644 index 0000000..ad1c071 --- /dev/null +++ b/ui-config/app-categories.json @@ -0,0 +1,33 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "categories": [ + { + "id": "ai-platform", + "label": "AI 平台", + "icon": "cpu", + "order": 1, + "description": "AI 应用开发与编排平台" + }, + { + "id": "rag", + "label": "RAG", + "icon": "database", + "order": 2, + "description": "检索增强生成系统" + }, + { + "id": "chat", + "label": "对话", + "icon": "message-circle", + "order": 3, + "description": "对话界面与聊天工具" + }, + { + "id": "tools", + "label": "工具", + "icon": "wrench", + "order": 4, + "description": "实用工具与辅助软件" + } + ] +} diff --git a/ui-config/service-status.json b/ui-config/service-status.json new file mode 100644 index 0000000..0b0ac0b --- /dev/null +++ b/ui-config/service-status.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "statusConfig": { + "online": { + "label": "在线", + "color": "green", + "icon": "check-circle" + }, + "offline": { + "label": "离线", + "color": "gray", + "icon": "minus-circle" + }, + "error": { + "label": "错误", + "color": "red", + "icon": "alert-circle" + }, + "starting": { + "label": "启动中", + "color": "blue", + "icon": "loader" + } + }, + "protocolConfig": { + "mcp": { + "label": "MCP", + "description": "Model Context Protocol" + }, + "http": { + "label": "HTTP", + "description": "RESTful HTTP API" + }, + "websocket": { + "label": "WebSocket", + "description": "WebSocket 实时通信" + } + } +}