## 中文 补齐已有 owner 与已锁定上游内容可证明的许可证、技能类型和收录版本。保留 Anthropic Source Available 和其他附加条件,不把所有内容统一标为 MIT,不提升 listing-only 的安装准入。 README 保留最新的双语结构及以 manifest 为准的数量口径,增加静态目录不存访问量、下载量、评分或 Stars 的边界。 发布兼容性:**本 PR 不包含**两支团队新增的本地化字段,也不包含微信支付 `latestVersion: 1.0`;旧客户端会拒绝这些新字段,另以待发布 PR 保留,等匹配客户端发布后再合并。 验证:47 项目录校验测试、19 项 i18n 测试、5 项合集生成测试通过;完整目录/i18n/翻译新鲜度检查通过,6 个固定来源合集的生成检查通过,2 个浮动来源按既有规则明确跳过。发现并修复了生成器在 Windows 使用反斜杠造成的误报:输出改为 POSIX 路径,比较规则不放宽、不重写合集数据。 ## English Fill only license, type and listed-release facts supported by existing owners or pinned upstream content. Preserve custom license restrictions and acquisition eligibility. Keep the current bilingual README and manifest-derived inventory; do not author usage analytics. This PR deliberately excludes localized team fields and the two-part WeChat Pay version that older clients reject. Those changes remain pending a compatible client release. Validation passes: 47 catalog-validator tests, 19 i18n tests, five collection-generator tests, complete catalog and translation checks, and generated inventory checks for six pinned collections. Two mutable sources remain explicitly skipped. Fix Windows-generated path separators without weakening comparison or changing declared children.
6.4 KiB
license, name, description, version, type, risk_level, status, disable-model-invocation, tags, metadata, market
| license | name | description | version | type | risk_level | status | disable-model-invocation | tags | metadata | market | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | configuring-compute | Configure DesireCore compute providers through governed tools: inspect, enable or disable providers, sync models, and set API keys without reading them back. Use the dedicated DesireCore GUI tool for fields not yet covered by ManageCompute. Never call renderer-only /api/compute management endpoints from Bash or HttpRequest. 用户要求配置算力、同步模型或设置 API Key 时使用。 | 1.1.0 | meta | medium | enabled | true |
|
|
|
Configure Compute
Configure DesireCore compute through governed tools. Do not call the local
/api/compute/* management endpoints from Bash, HttpRequest, or scripts: those
endpoints intentionally require a trusted renderer Origin and instance token.
Security contract
- API keys are write-only for agents. Never read
secrets.json, requestComputeCredential(action='get', raw=true), or repeat a key in tool results or chat. - Use
ComputeCredential(action='set')to create or replace the key of an existing user-managed provider. If the provider has no credential reference, the tool creates and attaches one without returning the plaintext. This path is approval-gated and audited; approval cards, tool events, receipts, and session history redact the sensitive value. System-managed credentials are not writable. - Pass a value to
ComputeCredential(action='set')only when the user already supplied the replacement key in the current request. If the agent must never handle the plaintext, use the GUI to focus the password field, let the user type into it directly, then continue the save flow. Never ask for the key in ordinary chat or read the masked field back into the model. credentialMode=nonemeans the provider needs no key. Ollama is treated asnoneeven when an older config does not declare the field.- If the user asks for the current key, explain that the agent can replace it but cannot read it back. The human-only UI reveal flow remains separate.
Workflow for an existing provider
First confirm ManageCompute is available through the current tool catalog. If
it is absent (for example on an older installed client), use the governed GUI
workflow below for the whole task; do not fall back to local HTTP.
- Call
ManageCompute(action='list'). Record the exact provider ID, enabled state, credential mode, status, and model count. - If credential mode is
requiredand the user supplied a new key in the current request, callComputeCredential(action='set', providerId=..., value=...). Do not echo the value. If the agent must not handle plaintext, use the human-entry GUI flow below. Fornone, skip this step. - Call
ManageCompute(action='set_enabled', providerId=..., enabled=true). - Call
ManageCompute(action='sync_models', providerId=...). For Ollama this discovers locally installed models; for supported cloud providers it merges the built-in model list. - Call
InspectModelsto verify the intended model is selectable. When the user asked for a real test, run one short fixed-model conversation and verify the run receipt names the requested provider/model.
Mutating ManageCompute and ComputeCredential operations use the platform's approval policy. Do not add a second confirmation in prose unless information is missing or the user requested a destructive replacement.
Fields not yet covered by ManageCompute
Creating a new custom provider, changing base URL/API format, deleting a
provider, and interactive key verification currently remain GUI operations.
Use ControlDesireCoreGui, not a generic browser/CUA tool:
list_instances, thenbegin(instance=<id>, mode=control, reason=...)for the intended DesireCore instance. The defaultobservemode is read-only and cannot modify compute settings.- Use the governed CDP methods to open Resources → Compute and make the change.
- Finish with
end. IfManageComputeexists, callManageCompute(action='list'); on an older client, verify the saved state in the GUI instead. CallInspectModelswhen available to confirm model selection.
If the installed version includes ControlDesireCoreGui but reports that GUI
control is disabled, the owner must set
config/security.json#desktopGuiControl.enabled=true and restart that instance.
If the tool is absent from the catalog entirely, the client is too old and must
be upgraded; changing the switch cannot add a missing tool. Do not bypass the
renderer HTTP boundary.
Completion report
Report the provider ID, enabled state, synchronized model count, and model test result. Never include the key, its encrypted storage, or a plaintext fingerprint.