feat: 完善 entries/ 格式 — 补全结构化字段、更新 README 和 Schema

- 所有 20 个 manifest.json 补全旧格式中的结构化字段
  - docker-app: category, fullDesc, stars, githubUrl, install
  - mcp: capabilities, toolCount, install, connection
  - http-api: endpoint, capabilities
- README 全面重写:entries/ 目录结构、manifest 字段说明、三种类型的添加示例
- SCHEMA_VERSION 升级 2.0.0 → 3.0.0
- 根 manifest.json 简化为 entries 统一统计
This commit is contained in:
Johnson
2026-03-08 20:11:54 +08:00
parent f6042a0f56
commit f6091d21c4
23 changed files with 636 additions and 78 deletions

298
README.md
View File

@@ -1,78 +1,286 @@
# DesireCore Registry
DesireCore 官方应用商店与服务注册表数据仓库
DesireCore 官方注册表仓库包含所有可安装的应用、MCP 服务和 HTTP API 服务
DesireCore 客户端启动时会克隆此仓库,并定期同步更新。用户在应用商店中看到的所有条目均来自此仓库。
## 目录结构
```
.
├── README.md # 本文件
├── SCHEMA_VERSION # 数据格式版本2.0.0
├── manifest.json # 仓库元数据
├── apps/
── <app-id>/
── index.json # StoreApp 单个应用配置(含 install 字段
├── mcp/
│ └── <service-id>/
└── index.json # RegisteredService 单个 MCP 服务(含 install + connection
├── services/
└── <service-id>/
└── index.json # RegisteredService 单个 HTTP 服务
├── models/
├── descriptors.json # ServiceDescriptor[] 模型能力描述符
└── categories.json # ServiceCategoryDescriptor[] 模型分类
── ui-config/
├── app-categories.json # 应用分类配置
└── service-status.json # 服务状态 UI 配置
├── README.md # 本文件
├── SCHEMA_VERSION # 数据格式版本号(当前 3.0.0
├── manifest.json # 仓库元数据(版本、统计、维护者)
├── entries/ # 🔑 所有注册表条目(统一格式)
── n8n/ # 示例Docker 应用
── manifest.json # 条目元数据(必需
│ │ ├── install.md # 安装说明Agent 使用,可选)
│ └── usage.md # 使用说明Agent 使用,可选)
├── playwright-mcp/ # 示例MCP 服务
│ │ ├── manifest.json
│ ├── install.md
└── usage.md
│ └── baidu-map/ # 示例HTTP API无需安装
├── manifest.json
└── usage.md
── models/ # 模型能力描述符与分类
├── descriptors.json
└── categories.json
└── ui-config/ # UI 展示配置
├── app-categories.json
└── service-status.json
```
## 数据格式
## 条目格式
每个应用/服务为独立目录,目录名即 ID,包含 `index.json` 单对象文件:
每个条目是 `entries/<id>/` 下的一个目录,目录名即条目 ID
- `apps/<id>/index.json``StoreApp` schema`install`
- `mcp/<id>/index.json``RegisteredService` schema`install` + `connection`
- `services/<id>/index.json``RegisteredService` schema
- `models/descriptors.json``ServiceDescriptor[]` 数组
- `models/categories.json``ServiceCategoryDescriptor[]` 数组
### manifest.json必需
条目元数据,供客户端渲染商店列表和详情页。
**公共字段(所有类型):**
| 字段 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `id` | string | ✅ | 唯一标识,与目录名一致 |
| `name` | string | ✅ | 显示名称 |
| `type` | string | ✅ | 条目类型:`docker-app` / `mcp` / `http-api` |
| `version` | string | ✅ | 语义版本号 |
| `description` | string | ✅ | 一行功能摘要 |
| `author` | string | | 作者或组织 |
| `tags` | string[] | | 搜索标签 |
| `icon` | string | | 图标CSS 渐变或 Lucide icon 名) |
| `platformSupport` | string[] | | 支持平台:`macos` / `windows` / `linux` |
**Docker 应用专属字段(`type: "docker-app"`**
| 字段 | 类型 | 说明 |
|------|------|------|
| `iconLetter` | string | 图标上显示的字母 |
| `category` | string | 应用分类:`ai-platform` / `chat` / `workflow` / `rag` / `tools` |
| `shortDesc` | string | 简短描述(列表页) |
| `fullDesc` | string | 详细描述(详情页) |
| `stars` | number | GitHub Stars 数量 |
| `githubUrl` | string | GitHub 仓库地址 |
| `install` | object | 安装配置(见下方) |
Docker 应用 `install` 结构:
```json
{
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "2GB",
"minDisk": "5GB",
"ports": [5678]
},
"configNeeded": ["Docker 运行环境", "数据库SQLite / PostgreSQL"]
}
```
**MCP 服务专属字段(`type: "mcp"`**
| 字段 | 类型 | 说明 |
|------|------|------|
| `capabilities` | string[] | 能力标签列表 |
| `toolCount` | number | 提供的工具数量 |
| `install` | object | 安装配置:`{ method, packageName, command, args, postInstall?, env? }` |
| `connection` | object | 连接配置:`{ transport, command?, args?, url? }` |
| `sourceAppId` | string | 关联的应用 ID如 dify-mcp 关联 dify |
| `sourceAppName` | string | 关联的应用名称 |
MCP `connection.transport` 取值:`stdio` / `streamable-http` / `sse`
**HTTP API 专属字段(`type: "http-api"`**
| 字段 | 类型 | 说明 |
|------|------|------|
| `endpoint` | string | API 基础 URL |
| `capabilities` | string[] | 能力标签列表 |
| `sourceAppId` | string | 关联的应用 ID |
| `sourceAppName` | string | 关联的应用名称 |
### install.md可选
自然语言安装说明,供 DesireCore Agent 读取并执行安装流程。
内容应包含:
- 环境要求Node.js 版本、Python 等)
- 安装步骤(可直接执行的命令)
- 验证方式
**不需要 install.md 的情况**:纯 HTTP API 服务(无需在本地安装)、通过关联应用附带安装的服务(如 dify-mcp 随 Dify 一起可用)。
### usage.md可选
使用说明,描述安装后如何连接和使用此服务。
内容应包含:
- 连接配置transport、command、URL 等)
- 配置示例JSON 格式,可直接使用)
- 注意事项
## 添加新条目
以添加 MCP 服务为例:
### 添加 Docker 应用
```bash
mkdir mcp/my-service
cat > mcp/my-service/index.json << 'EOF'
mkdir entries/my-app
# 1. 创建 manifest.json
cat > entries/my-app/manifest.json << 'EOF'
{
"id": "my-service",
"name": "My Service",
"description": "服务描述",
"protocol": "mcp",
"status": "offline",
"origin": "registry",
...
"id": "my-app",
"name": "My App",
"type": "docker-app",
"version": "1.0.0",
"author": "Author",
"description": "一行功能描述",
"category": "tools",
"tags": ["tag1", "tag2"],
"icon": "linear-gradient(135deg, #3B82F6, #1D4ED8)",
"iconLetter": "M",
"platformSupport": ["macos", "windows", "linux"],
"fullDesc": "详细描述...",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "2GB",
"minDisk": "5GB",
"ports": [8080]
},
"configNeeded": ["Docker 运行环境"]
}
}
EOF
# 2. 创建 install.md安装说明
cat > entries/my-app/install.md << 'EOF'
# 安装 My App
## 环境要求
- Docker >= 20.10
## 安装步骤
1. 拉取镜像并启动容器:
```bash
docker run -d -p 8080:8080 --name my-app my-app:latest
```
## 验证
访问 http://localhost:8080 确认服务已启动。
EOF
# 3. 创建 usage.md使用说明
cat > entries/my-app/usage.md << 'EOF'
# 使用 My App
## 访问方式
浏览器打开 http://localhost:8080
EOF
```
### 添加 MCP 服务
```bash
mkdir entries/my-mcp
cat > entries/my-mcp/manifest.json << 'EOF'
{
"id": "my-mcp",
"name": "My MCP",
"type": "mcp",
"version": "1.0.0",
"author": "Author",
"description": "一行功能描述",
"tags": ["tag1"],
"icon": "terminal",
"platformSupport": ["macos", "windows", "linux"],
"capabilities": ["capability_1", "capability_2"],
"toolCount": 5,
"install": {
"method": "npx",
"packageName": "@my-org/my-mcp",
"command": "npx",
"args": ["-y", "@my-org/my-mcp"]
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@my-org/my-mcp"]
}
}
EOF
```
## 同步策略
### 添加 HTTP API 服务
DesireCore 客户端会:
```bash
mkdir entries/my-api
cat > entries/my-api/manifest.json << 'EOF'
{
"id": "my-api",
"name": "My API",
"type": "http-api",
"version": "1.0",
"author": "Author",
"description": "一行功能描述",
"tags": ["tag1"],
"icon": "globe",
"endpoint": "https://api.example.com/v1",
"capabilities": ["capability_1"]
}
EOF
```
HTTP API 通常不需要 install.md只需 usage.md 说明如何调用。
## 修改现有条目
1. 编辑 `entries/<id>/manifest.json` 中的字段
2. 如有安装/使用流程变更,同步更新 `install.md` / `usage.md`
3. **务必更新 `version` 字段**(客户端通过版本号判断是否有更新)
4. 提交并创建 PR
## 版本规范
- `SCHEMA_VERSION`:数据格式版本,格式不兼容时递增主版本号
- `manifest.json#version`:仓库元数据版本
- `entries/<id>/manifest.json#version`:条目自身版本
**Schema 版本历史:**
| 版本 | 说明 |
|------|------|
| 1.0.0 | 初始格式 — 单文件 JSON 数组 |
| 2.0.0 | 分散式目录 — apps/mcp/services 三目录,每个条目 `<id>/index.json` |
| 3.0.0 | **当前** — 统一 entries/ 目录manifest.json + install.md + usage.md |
## 同步机制
DesireCore 客户端的同步流程:
1. 启动时检查本地缓存2 分钟 TTL
2. 缓存过期时 `git fetch` 检查更新
3.新时 `git pull` 并重建索引
3. 有新 commit `git pull` 并重建本地索引
4. 离线时使用本地缓存或内置 fallback 数据
客户端读取 `entries/` 目录下所有 `manifest.json`,按 `type` 字段分类为应用、MCP 服务和 HTTP 服务展示在商店中。`install.md``usage.md` 供 AI Agent 执行安装和配置时使用。
## 贡献指南
1. Fork 本仓库
2.对应类型目录下创建以 ID 命名的子目录
3. 添加 `index.json`(单对象,遵循对应 Schema
4. 提交 PR 并描述变更内容
5. 等待审核合并
2. `entries/` 下创建以 ID 命名的子目录
3. 按上述格式添加 `manifest.json`,按需添加 `install.md``usage.md`
4. 更新根目录 `manifest.json` 中的 `stats` 统计
5. 提交 PR 并描述变更内容
6. 等待审核合并
## 镜像
- GitHub: https://github.com/desirecore/registry.git
- git.hxr.so镜像: https://git.hxr.so/desirecore/registry.git
- GitHubhttps://github.com/desirecore/registry.git
- git.hxr.so镜像https://git.hxr.so/desirecore/registry.git

View File

@@ -1 +1 @@
2.0.0
3.0.0

View File

@@ -16,5 +16,25 @@
"macos",
"windows",
"linux"
]
],
"category": "tools",
"fullDesc": "AnythingLLM 是一个全能型 AI 应用,可以将任何文档、资源或内容转化为上下文,供任何 LLM 在聊天中使用。支持多用户管理、权限控制和嵌入式对话。",
"stars": 30200,
"githubUrl": "https://github.com/Mintplex-Labs/anything-llm",
"shortDesc": "全能型 AI 桌面应用,支持 RAG、Agent 和文档对话",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "2GB",
"minDisk": "5GB",
"ports": [
3001
]
},
"configNeeded": [
"Docker 运行环境",
"LLM API Key"
]
}
}

View File

@@ -15,5 +15,12 @@
"macos",
"windows",
"linux"
],
"endpoint": "https://api.map.baidu.com/v3",
"capabilities": [
"geocoding",
"route_plan",
"poi_search",
"distance_calc"
]
}

View File

@@ -16,5 +16,25 @@
"macos",
"windows",
"linux"
]
],
"category": "ai-platform",
"fullDesc": "Coze 是一个 AI 聊天机器人和应用开发平台,提供 LLM、知识库、插件和工作流等能力。支持快速构建、测试和部署 AI Bot无需编程经验。",
"stars": 12300,
"githubUrl": "https://github.com/coze-dev/coze",
"shortDesc": "字节跳动 AI Bot 开发平台(开源社区版)",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "4GB",
"minDisk": "8GB",
"ports": [
8800
]
},
"configNeeded": [
"Docker 运行环境",
"API Key 配置"
]
}
}

View File

@@ -15,5 +15,30 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"sql_query",
"schema_browse",
"data_export"
],
"toolCount": 8,
"install": {
"method": "npx",
"packageName": "@modelcontextprotocol/server-postgres",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
}
}

View File

@@ -15,5 +15,11 @@
"macos",
"windows",
"linux"
],
"endpoint": "https://api-free.deepl.com/v2",
"capabilities": [
"text_translate",
"doc_translate",
"language_detect"
]
}

View File

@@ -15,5 +15,16 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"tool_invoke",
"workflow_trigger",
"knowledge_query"
],
"connection": {
"transport": "streamable-http",
"url": "http://localhost:3000/mcp"
},
"sourceAppId": "dify",
"sourceAppName": "Dify"
}

View File

@@ -15,5 +15,13 @@
"macos",
"windows",
"linux"
]
],
"endpoint": "http://localhost:3000/api/v1/datasets",
"capabilities": [
"semantic_search",
"multi_dataset",
"relevance_ranking"
],
"sourceAppId": "dify",
"sourceAppName": "Dify"
}

View File

@@ -17,5 +17,26 @@
"macos",
"windows",
"linux"
]
],
"category": "ai-platform",
"fullDesc": "Dify 是一个开源的 LLM 应用开发平台,提供从 Agent 构建到 AI Workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。支持数百种模型接入。",
"stars": 56200,
"githubUrl": "https://github.com/langgenius/dify",
"shortDesc": "开源 AI 应用开发平台,支持 RAG、Agent、工作流编排",
"install": {
"method": "docker-compose",
"requirements": {
"docker": true,
"minMemory": "4GB",
"minDisk": "10GB",
"ports": [
3000,
5001
]
},
"configNeeded": [
"Docker 运行环境",
"OpenAI API Key可选"
]
}
}

View File

@@ -15,5 +15,26 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"url_fetch",
"html_to_markdown",
"content_extract"
],
"toolCount": 2,
"install": {
"method": "uvx",
"packageName": "mcp-server-fetch",
"command": "uvx",
"args": [
"mcp-server-fetch"
]
},
"connection": {
"transport": "stdio",
"command": "uvx",
"args": [
"mcp-server-fetch"
]
}
}

View File

@@ -14,5 +14,31 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"file_read",
"file_write",
"file_search",
"file_watch"
],
"toolCount": 11,
"install": {
"method": "npx",
"packageName": "@modelcontextprotocol/server-filesystem",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/dir"
]
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/dir"
]
}
}

View File

@@ -15,5 +15,32 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"repo_read",
"pr_manage",
"issue_manage",
"code_search"
],
"toolCount": 35,
"install": {
"method": "npx",
"packageName": "@modelcontextprotocol/server-github",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-token>"
}
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
]
}
}

View File

@@ -16,5 +16,25 @@
"macos",
"windows",
"linux"
]
],
"category": "chat",
"fullDesc": "LobeChat 是一个开源的现代设计 ChatGPT/LLM UI 框架支持多模型服务提供商OpenAI / Claude / Gemini / Ollama 等),多模态和可扩展的插件系统。一键免费部署私有 ChatGPT/Claude 应用。",
"stars": 48900,
"githubUrl": "https://github.com/lobehub/lobe-chat",
"shortDesc": "开源高性能聊天机器人框架,支持多模型和插件",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "1GB",
"minDisk": "3GB",
"ports": [
3210
]
},
"configNeeded": [
"Docker 运行环境",
"OpenAI API Key可选"
]
}
}

View File

@@ -15,5 +15,28 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"entity_store",
"relation_store",
"graph_query"
],
"toolCount": 7,
"install": {
"method": "npx",
"packageName": "@modelcontextprotocol/server-memory",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}

View File

@@ -16,5 +16,25 @@
"macos",
"windows",
"linux"
]
],
"category": "workflow",
"fullDesc": "n8n 是一个可扩展的工作流自动化工具。使用公平代码许可,拥有原生 AI 能力,可以连接任何东西。支持自托管,提供丰富的第三方服务集成节点。",
"stars": 50600,
"githubUrl": "https://github.com/n8n-io/n8n",
"shortDesc": "可视化工作流自动化平台,支持 400+ 集成",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "2GB",
"minDisk": "5GB",
"ports": [
5678
]
},
"configNeeded": [
"Docker 运行环境",
"数据库SQLite / PostgreSQL"
]
}
}

View File

@@ -16,5 +16,25 @@
"macos",
"windows",
"linux"
]
],
"category": "chat",
"fullDesc": "Open WebUI 是一个可扩展的自托管 AI 界面,支持完全离线操作。支持多种 LLM 运行器,包括 Ollama 和 OpenAI 兼容 API内置 RAG 集成、网页浏览、代码执行等功能。",
"stars": 52800,
"githubUrl": "https://github.com/open-webui/open-webui",
"shortDesc": "自托管的 AI 对话界面,支持 Ollama 和 OpenAI 兼容 API",
"install": {
"method": "docker",
"requirements": {
"docker": true,
"minMemory": "2GB",
"minDisk": "5GB",
"ports": [
8080
]
},
"configNeeded": [
"Docker 运行环境",
"Ollama 或 OpenAI API Key"
]
}
}

View File

@@ -17,5 +17,27 @@
"macos",
"windows",
"linux"
]
],
"category": "ai-platform",
"fullDesc": "OpenClaw 是一个开源的 Agent 运行时平台,提供嵌入式运行时、会话管理、工具策略控制、多 Agent 编排、Sandbox 隔离执行等能力。支持流式输出、对话压缩、队列管理和 hooks 扩展,适合构建企业级 AI 应用。",
"stars": 8500,
"githubUrl": "https://github.com/openclaw/openclaw",
"shortDesc": "开源 Agent 运行时平台,支持多 Agent 编排和工具策略",
"install": {
"method": "docker-compose",
"requirements": {
"docker": true,
"minMemory": "4GB",
"minDisk": "10GB",
"ports": [
8080,
3000
]
},
"configNeeded": [
"Docker 运行环境",
"Node.js 18+",
"API Key 配置"
]
}
}

View File

@@ -15,5 +15,32 @@
"macos",
"windows",
"linux"
]
],
"capabilities": [
"page_navigate",
"screenshot",
"dom_query",
"form_fill",
"pdf_generate",
"content_extract"
],
"toolCount": 33,
"install": {
"method": "npx",
"packageName": "@playwright/mcp",
"command": "npx",
"args": [
"@playwright/mcp@latest"
],
"postInstall": [
"npx playwright install chromium"
]
},
"connection": {
"transport": "stdio",
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}

View File

@@ -15,5 +15,13 @@
"macos",
"windows",
"linux"
]
],
"endpoint": "http://localhost:9380/api/v1",
"capabilities": [
"doc_parsing",
"deep_retrieval",
"citation"
],
"sourceAppId": "ragflow",
"sourceAppName": "RagFlow"
}

View File

@@ -16,5 +16,27 @@
"macos",
"windows",
"linux"
]
],
"category": "rag",
"fullDesc": "RagFlow 是一款基于深度文档理解构建的开源 RAG 引擎。可以为各种规模的企业及个人提供流畅的 RAG 工作流结合大语言模型LLM针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。",
"stars": 28400,
"githubUrl": "https://github.com/infiniflow/ragflow",
"shortDesc": "基于深度文档理解的开源 RAG 引擎",
"install": {
"method": "docker-compose",
"requirements": {
"docker": true,
"minMemory": "8GB",
"minDisk": "20GB",
"ports": [
9380,
443,
80
]
},
"configNeeded": [
"Docker 运行环境",
"Elasticsearch / Infinity 数据库"
]
}
}

View File

@@ -15,5 +15,11 @@
"macos",
"windows",
"linux"
],
"endpoint": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send",
"capabilities": [
"text_message",
"markdown_message",
"card_message"
]
}

View File

@@ -3,25 +3,15 @@
"id": "desirecore-registry-manifest",
"version": "3.0.0",
"name": "DesireCore Registry",
"description": "DesireCore 官方应用商店与服务注册表",
"description": "DesireCore 官方注册表 — 应用、MCP 服务和 HTTP API 的统一仓库",
"maintainer": "DesireCore Team",
"repository": "https://github.com/desirecore/registry",
"lastUpdated": "2026-03-08",
"stats": {
"apps": 8,
"totalEntries": 20,
"dockerApps": 8,
"mcpServices": 7,
"httpServices": 5,
"descriptors": 18,
"serviceCategories": 6,
"appCategories": 5,
"entries": 20
"httpApis": 5
},
"dataVersion": {
"apps": "2.0.0",
"mcp": "2.0.0",
"services": "2.0.0",
"descriptors": "1.1.0",
"categories": "1.1.0",
"entries": "1.0.0"
}
"dataVersion": "3.0.0"
}