mirror of
https://git.openapi.site/https://github.com/desirecore/registry.git
synced 2026-10-21 07:13:28 +08:00
feat: 以原生应用上架 DesireCore Control 1.4.0 (#6)
This commit is contained in:
116
entries/desirecore-control/catalog-metadata.v1.json
Normal file
116
entries/desirecore-control/catalog-metadata.v1.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"$schema": "../../schemas/catalog-metadata.v1.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"identity": {
|
||||
"kind": "app",
|
||||
"id": "desirecore-control"
|
||||
},
|
||||
"presentation": {
|
||||
"defaultLocale": "zh-CN",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"name": "DesireCore Control",
|
||||
"summary": "供外部智能体控制本机多个 DesireCore 实例的独立应用,内置 ChatGPT 隧道管理。",
|
||||
"description": "DesireCore Control 是独立开源的宿主机应用:自动识别本机实例、展示管理页面,并通过对外 MCP 提供窗口、截图与 CDP 操作。1.4.0 支持管理官方 ChatGPT tunnel-client。默认只读,不随 DesireCore 启停,不向内部智能体注册 MCP。应用市场安装需要支持 native-app 的客户端及应用安装管理技能 1.4.0;隧道客户端另行安装,真实账户凭据由用户在本机提供。"
|
||||
},
|
||||
"en-US": {
|
||||
"name": "DesireCore Control",
|
||||
"summary": "Independent application for external agents to control local DesireCore instances, with ChatGPT tunnel management.",
|
||||
"description": "Runs natively on the host and discovers multiple local CDP instances. Version 1.4.0 manages the official ChatGPT tunnel client. Readonly by default, no internal MCP registration or DesireCore lifecycle coupling. Requires a native-app-aware client and installation skill 1.4.0; tunnel installation and credentials are separate."
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"DesireCore",
|
||||
"external-agents",
|
||||
"ChatGPT",
|
||||
"CDP",
|
||||
"control"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"state": "known",
|
||||
"version": "1.4.0",
|
||||
"versionScheme": "semver"
|
||||
},
|
||||
"timestamps": {
|
||||
"catalogUpdatedAt": {
|
||||
"state": "known",
|
||||
"value": "2026-09-18",
|
||||
"precision": "day"
|
||||
},
|
||||
"releasePublishedAt": {
|
||||
"state": "known",
|
||||
"value": "2026-09-18",
|
||||
"precision": "day"
|
||||
},
|
||||
"reviewedAt": {
|
||||
"state": "known",
|
||||
"value": "2026-09-18",
|
||||
"precision": "day"
|
||||
},
|
||||
"upstreamObservedAt": {
|
||||
"state": "known",
|
||||
"value": "2026-09-18",
|
||||
"precision": "day"
|
||||
}
|
||||
},
|
||||
"provenance": {
|
||||
"content": {
|
||||
"kind": "release",
|
||||
"url": "https://github.com/desirecore-agent/desirecore-cdp-mcp/releases/download/v1.4.0/desirecore-cdp-mcp-1.4.0.tgz",
|
||||
"ref": "38184fbb01f82d4dd850b67366cdac048a09474b",
|
||||
"sha256": "ecfd6e770cd1854d7368ec89852b5e798cc04f6e19bbb59fedae52a56bacbee0"
|
||||
}
|
||||
},
|
||||
"governance": {
|
||||
"stewardship": "community",
|
||||
"availability": "installable",
|
||||
"redistribution": "allowed",
|
||||
"listingMaintainer": {
|
||||
"name": "DesireCore Registry maintainers",
|
||||
"url": "https://github.com/desirecore/registry"
|
||||
},
|
||||
"upstreamMaintainer": {
|
||||
"name": "desirecore-agent",
|
||||
"url": "https://github.com/desirecore-agent/desirecore-cdp-mcp"
|
||||
},
|
||||
"branding": {
|
||||
"relationship": "independent-listing",
|
||||
"nameUsage": "nominative",
|
||||
"logoStatus": "not-used"
|
||||
},
|
||||
"compliance": {
|
||||
"licenseEvidencePath": "LICENSE",
|
||||
"noticePath": "NOTICE",
|
||||
"reviewedRef": "38184fbb01f82d4dd850b67366cdac048a09474b",
|
||||
"reviewedAt": "2026-09-18",
|
||||
"reviewedBy": "release-and-package-validation (see review.md)",
|
||||
"upstreamEndorsed": false
|
||||
},
|
||||
"license": {
|
||||
"state": "known",
|
||||
"value": "MIT",
|
||||
"evidencePath": "LICENSE"
|
||||
}
|
||||
},
|
||||
"compatibility": {
|
||||
"platforms": {
|
||||
"state": "known",
|
||||
"values": [
|
||||
"windows",
|
||||
"macos",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"requiredClientVersion": "10.0.169"
|
||||
},
|
||||
"spec": {
|
||||
"kind": "app",
|
||||
"category": "tools",
|
||||
"placementPolicy": {
|
||||
"showInMyApps": true,
|
||||
"allowNavPin": true,
|
||||
"allowAgentBinding": false
|
||||
}
|
||||
}
|
||||
}
|
||||
72
entries/desirecore-control/install.md
Normal file
72
entries/desirecore-control/install.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# 安装、升级与卸载 DesireCore Control
|
||||
|
||||
这是供外部智能体使用的**独立应用**,不是给 DesireCore 内部智能体安装的 MCP。只接受 resolver 已复核的 `kind=app`、`manifest.type=native-app` 和本指南。需要支持原生应用的客户端(目录最低版本 10.0.169)及 app-install-manager >=1.4.0;旧版拒绝时停止,不改成 Docker/MCP,不绕过收据与 operationId。
|
||||
|
||||
## 安装前确认
|
||||
|
||||
向用户确认目标设备与独立应用安装目录。Node.js >=22.22.2,npm 可用;512 MB 内存/磁盘为建议预留,不是实测峰值。安装阶段不需要 DesireCore 实例在线,不读取用户实例、截图或凭据。默认管理页面端口 9333;启动前被占用则说明并停止,不终止占用进程、不偷偷改端口。
|
||||
|
||||
固定制品:`https://github.com/desirecore-agent/desirecore-cdp-mcp/releases/download/v1.4.0/desirecore-cdp-mcp-1.4.0.tgz`
|
||||
|
||||
SHA-256:`ecfd6e770cd1854d7368ec89852b5e798cc04f6e19bbb59fedae52a56bacbee0`
|
||||
|
||||
源码提交:`38184fbb01f82d4dd850b67366cdac048a09474b`。下载后先比对 resolver manifest.source 与本指南的版本、URL、ref、摘要;不一致立即停止。只从该固定 Release 安装,依赖通过 npm 正常解析;摘要针对应用 tgz,不声称覆盖全部传递依赖。
|
||||
|
||||
## Windows PowerShell
|
||||
|
||||
默认独立安装根为当前用户 `%LOCALAPPDATA%\DesireCoreControl`,不得混用 DesireCore 数据 home。明确存在旧版本或自定义安装目录时先确认实际路径,不能覆盖未知目录。
|
||||
|
||||
```powershell
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$Root = Join-Path $env:LOCALAPPDATA 'DesireCoreControl'
|
||||
$Prefix = Join-Path $Root 'versions\1.4.0'
|
||||
$Temp = Join-Path ([IO.Path]::GetTempPath()) ('dc-control-install-' + [guid]::NewGuid())
|
||||
New-Item -ItemType Directory -Path $Temp | Out-Null
|
||||
$Archive = Join-Path $Temp 'desirecore-cdp-mcp-1.4.0.tgz'
|
||||
Invoke-WebRequest -Uri 'https://github.com/desirecore-agent/desirecore-cdp-mcp/releases/download/v1.4.0/desirecore-cdp-mcp-1.4.0.tgz' -OutFile $Archive
|
||||
if ((Get-FileHash -LiteralPath $Archive -Algorithm SHA256).Hash.ToLowerInvariant() -ne 'ecfd6e770cd1854d7368ec89852b5e798cc04f6e19bbb59fedae52a56bacbee0') { throw '制品校验失败,不安装' }
|
||||
npm install --prefix "$Prefix" --omit=dev --ignore-scripts --no-audit --no-fund "$Archive"
|
||||
if ($LASTEXITCODE -ne 0) { throw '安装失败' }
|
||||
$Package = Join-Path $Prefix 'node_modules\desirecore-cdp-mcp'
|
||||
$Meta = Get-Content -Raw -LiteralPath (Join-Path $Package 'package.json') | ConvertFrom-Json
|
||||
if ($Meta.name -ne 'desirecore-cdp-mcp' -or $Meta.version -ne '1.4.0') { throw '已安装版本不符' }
|
||||
node (Join-Path $Package 'bin\desirecore-control.cjs') --help
|
||||
if ($LASTEXITCODE -ne 0) { throw '应用入口自检失败' }
|
||||
$Empty = Join-Path $Temp 'empty-registry.json'
|
||||
[IO.File]::WriteAllText($Empty, '{"version":1,"instances":[]}', [Text.UTF8Encoding]::new($false))
|
||||
node (Join-Path $Package 'bin\desirecore-cdp-mcp.cjs') list --registry "$Empty"
|
||||
if ($LASTEXITCODE -ne 0) { throw '隔离实例发现自检失败' }
|
||||
# 仅移除本次随机创建的临时目录;应用包、用户数据和凭据保留。
|
||||
Remove-Item -LiteralPath $Temp -Recurse
|
||||
```
|
||||
|
||||
安装入口与空名录自检通过才能回写 installed。保持 resolver 的原生 App lifecycle receipt,不添加 runtimeServerId;使用同一 sourceId、entryId、deviceId、operationId,按 app-install-manager 的 build-receipt-patch 回写,不直接编辑 installed-entries.json。installed 只表示安装通过,不代表应用/隧道正在运行。
|
||||
|
||||
## macOS / Linux
|
||||
|
||||
使用用户确认的独立前缀(默认 `$HOME/.local/share/desirecore-control/versions/1.4.0`),无需 sudo。不支持时不要自动升级 Node 或更改系统配置。用 `mktemp -d` 创建本次下载目录,`curl --fail --location` 下载上述固定 URL,分别用 `shasum -a 256`(macOS)或 `sha256sum`(Linux)核对**上述完整摘要**后再执行:
|
||||
|
||||
```sh
|
||||
npm install --prefix "$PREFIX" --omit=dev --ignore-scripts --no-audit --no-fund "$ARCHIVE"
|
||||
node "$PREFIX/node_modules/desirecore-cdp-mcp/bin/desirecore-control.cjs" --help
|
||||
# REGISTRY 是本次临时目录内写入 {"version":1,"instances":[]} 的 UTF-8 文件。
|
||||
node "$PREFIX/node_modules/desirecore-cdp-mcp/bin/desirecore-cdp-mcp.cjs" list --registry "$REGISTRY"
|
||||
```
|
||||
|
||||
同时读取该前缀的 package.json 核对 name/version。任何一步失败立即停止,不能仅凭下载成功或 npm 退出码 0 回写 installed。只清理本次创建的临时目录。
|
||||
|
||||
## 独立启动与 ChatGPT 隧道
|
||||
|
||||
安装完成后向用户提供准确的启动命令。用户另行批准启动时,在独立终端运行 `node <Prefix>/node_modules/desirecore-cdp-mcp/bin/desirecore-control.cjs`。访问 `http://127.0.0.1:9333/`;系统浏览器打开,不嵌入 DesireCore 窗口,不创建登录/开机自启动项,不把进程生命周期绑定到 DesireCore。
|
||||
|
||||
默认只读,不追加 `--allow-control` 或 `--chatgpt-tunnel`。官方 tunnel-client 是可选的独立依赖,安装需要另行确认;账户 key 由用户在本机管理页输入,不发到聊天、日志、Git 或安装收据。市场安装本身不创建 Platform Tunnel、不连接 ChatGPT、不开放公网 CDP。操作说明见 usage.md。
|
||||
|
||||
## 升级、重装和回滚
|
||||
|
||||
只按用户批准的精确安装身份操作。新版本安装到独立版本目录并校验成功后才切换启动入口和 catalogReceipt;不得覆盖运行中的包目录。旧版仍可用时升级失败恢复 installed 并保留原 receipt/version;首装失败或已不可用时按协议回 failed。不要删除用户凭据、旧实例数据或其它版本以“修复”安装。版本切换后要求用户重新扫描外部客户端工具定义。
|
||||
|
||||
## 卸载
|
||||
|
||||
先由 resolver 按原 installed ownership + lifecycle receipt 返回本指南,再获得用户确认。仅停止明确由此安装启动的 Control 进程及其自有隧道,不执行按名称批量 kill Node/tunnel-client,不停止 DesireCore。对准确安装前缀运行 `npm uninstall --prefix <Prefix> desirecore-cdp-mcp`,并确认该包入口已不存在,再回写 uninstalled。卸载失败但原应用仍可用时回 installed,不能遗留 uninstalling。
|
||||
|
||||
默认保留 `%LOCALAPPDATA%\DesireCoreMcp` 或 `$HOME/.desirecore-mcp` 的用户凭据,以及其它版本与用户配置;删除这些材料必须另行获得明确同意。不得清理 DesireCore 的任何 home、用户数据、实例名录或内部 MCP 配置。
|
||||
32
entries/desirecore-control/manifest.json
Normal file
32
entries/desirecore-control/manifest.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"id": "desirecore-control",
|
||||
"name": "DesireCore Control",
|
||||
"type": "native-app",
|
||||
"version": "1.4.0",
|
||||
"author": "desirecore-agent",
|
||||
"description": "供外部智能体控制本机多个 DesireCore 实例的独立应用,内置 ChatGPT 隧道管理。",
|
||||
"shortDesc": "供外部智能体控制本机多个 DesireCore 实例的独立应用,内置 ChatGPT 隧道管理。",
|
||||
"fullDesc": "DesireCore Control 是独立开源的宿主机应用:自动识别本机实例、展示管理页面,并通过对外 MCP 提供窗口、截图与 CDP 操作。1.4.0 支持管理官方 ChatGPT tunnel-client。默认只读,不随 DesireCore 启停,不向内部智能体注册 MCP。应用市场安装需要支持 native-app 的客户端及应用安装管理技能 1.4.0;隧道客户端另行安装,真实账户凭据由用户在本机提供。",
|
||||
"tags": ["DesireCore", "external-agents", "ChatGPT", "CDP", "control"],
|
||||
"icon": "monitor",
|
||||
"iconLetter": "DC",
|
||||
"platformSupport": ["windows", "macos", "linux"],
|
||||
"category": "tools",
|
||||
"githubUrl": "https://github.com/desirecore-agent/desirecore-cdp-mcp",
|
||||
"requiredClientVersion": "10.0.169",
|
||||
"install": {
|
||||
"method": "native-node",
|
||||
"requirements": { "docker": false, "node": ">=22.22.2", "minMemory": "512MB(安装建议预留,非实测峰值)", "minDisk": "512MB(建议预留)", "ports": [9333] },
|
||||
"configNeeded": ["宿主机 Node.js >=22.22.2 与 npm", "应用安装管理技能 >=1.4.0", "ChatGPT 隧道为可选功能,需独立安装官方 tunnel-client 并由用户提供凭据"]
|
||||
},
|
||||
"placementPolicy": { "showInMyApps": true, "allowNavPin": true, "allowAgentBinding": false },
|
||||
"source": { "kind": "release", "url": "https://github.com/desirecore-agent/desirecore-cdp-mcp/releases/download/v1.4.0/desirecore-cdp-mcp-1.4.0.tgz", "ref": "38184fbb01f82d4dd850b67366cdac048a09474b", "sha256": "ecfd6e770cd1854d7368ec89852b5e798cc04f6e19bbb59fedae52a56bacbee0" },
|
||||
"stewardship": "community",
|
||||
"availability": "installable",
|
||||
"license": "MIT",
|
||||
"redistribution": "allowed",
|
||||
"listingMaintainer": { "name": "DesireCore Registry maintainers", "url": "https://github.com/desirecore/registry" },
|
||||
"upstreamMaintainer": { "name": "desirecore-agent", "url": "https://github.com/desirecore-agent/desirecore-cdp-mcp" },
|
||||
"branding": { "relationship": "independent-listing", "nameUsage": "nominative", "logoStatus": "not-used" },
|
||||
"compliance": { "licenseEvidencePath": "LICENSE", "noticePath": "NOTICE", "reviewedRef": "38184fbb01f82d4dd850b67366cdac048a09474b", "reviewedAt": "2026-09-18", "reviewedBy": "release-and-package-validation (see review.md)", "upstreamEndorsed": false }
|
||||
}
|
||||
11
entries/desirecore-control/review.md
Normal file
11
entries/desirecore-control/review.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 1.4.0 目录发布核验
|
||||
|
||||
日期:2026-09-18。产品是面向外部智能体的独立宿主机应用,不是内部 MCP。
|
||||
|
||||
上游:desirecore-agent/desirecore-cdp-mcp,固定源码 38184fbb01f82d4dd850b67366cdac048a09474b,GitHub Release v1.4.0。
|
||||
制品:desirecore-cdp-mcp-1.4.0.tgz;SHA-256 ecfd6e770cd1854d7368ec89852b5e798cc04f6e19bbb59fedae52a56bacbee0。
|
||||
MIT 仅涵盖独立应用仓库;制品保留 LICENSE、NOTICE;第三方依赖遵循各自许可。不转载 DesireCore 主工程,不使用其图标或声明上游背书。
|
||||
|
||||
上游 PR #2 的 Windows/Linux/macOS CI 均通过;Release workflow 35326965105 完成构建、测试和 package smoke。源码侧包验证覆盖隔离安装、零实例启动、管理页和对外 SDK 调用,不读取真实实例或运行账户密钥。未完成用户的实际 ChatGPT 工作区及真实 DesireCore 操作验收,不能把 ready 或 CI 提升为该验收。
|
||||
|
||||
目录要求支持 native-app 的客户端(最低 10.0.169)与安装技能 1.4.0。catalog 为 installable 只表示满足此兼容条件时可按审核后的指南获取,不表示旧版客户端能安装、已安装或正在运行。发布应用目录不等于发布新版桌面客户端。
|
||||
27
entries/desirecore-control/usage.md
Normal file
27
entries/desirecore-control/usage.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 使用 DesireCore Control 1.4.0
|
||||
|
||||
这是一款独立应用。先启动已安装的 Control,再在系统浏览器打开终端显示的本机管理页(默认 http://127.0.0.1:9333/)。关闭 DesireCore 不应关闭 Control;退出 Control 也不关闭 DesireCore。安装完成不等于正在运行,必要时在应用资源中发起启动请求。
|
||||
|
||||
## 本机实例
|
||||
|
||||
在管理页输入 Control 自己的本机 token。应用自动列出各实例实际端口,不扫固定端口段,不替实例开启 CDP。先核对实例,再将 instanceId 与该实例的 targetId 提供给外部客户端。截图和 DOM 可能含隐私。实例重启后重新选择 ID,不重放超时操作。
|
||||
|
||||
## ChatGPT 安全隧道
|
||||
|
||||
1. 用户另行安装官方 native tunnel-client,在 OpenAI Platform 创建 Tunnel 并关联目标工作区,准备具有 Tunnels Read + Use 的运行 key。不要把 key 交给市场安装智能体或发到聊天。
|
||||
2. 使用 `desirecore-control --tunnel-client <绝对路径>`(本地前缀安装则通过 Node 加载该前缀 bin 入口)。在管理页的“ChatGPT 安全隧道”输入本次启动终端所示 admin-token,再填 Tunnel ID 和运行 key。
|
||||
3. 点击启动后,应用自动接线实际 MCP 端点、调用与初始化认证头。ChatGPT 开发者连接选择 Tunnel 和对应 ID;采用本机认证头注入时选择认证 None,不配置覆盖 Authorization 的同名头。
|
||||
4. state=running 只表示子进程运行,ready=true 只表示客户端就绪。必须在 ChatGPT 实际调用 desirecore_list_instances,再核对实例并截图,才是端到端验收。
|
||||
|
||||
MCP token、隧道 admin-token、OpenAI key 用途不同,不可互换。普通安装和启动不会自动开放隧道;停止隧道只停止本应用拥有的客户端,不删除 Platform Tunnel。
|
||||
|
||||
## 控制权限
|
||||
|
||||
默认只读。用户明确授予控制权后,可在本机终端以 `--allow-control` 重启。此权限可执行主世界 JavaScript 并访问完整 IPC,不是沙箱。不能通过市场分类或内部 Agent 绕过 DesireCore 自身的受治理 GUI 工具。
|
||||
|
||||
## 更新与客户端要求
|
||||
|
||||
在市场“应用”而非“MCP 服务”中管理此产品。市场应用类型为 native-app,要求支持该类型的客户端(最低 10.0.169)和 app-install-manager >=1.4.0;旧版不支持时应显示升级要求或不显示该条目,不能改成 Docker/MCP 安装。同步市场目录不会自动升级桌面客户端或智能体技能。
|
||||
|
||||
上游固定版说明:https://github.com/desirecore-agent/desirecore-cdp-mcp/tree/v1.4.0
|
||||
官方隧道指南:https://developers.openai.com/api/docs/guides/secure-mcp-tunnels
|
||||
Reference in New Issue
Block a user