Kapitel 5: Entdeckungsmechanismus

5.1 Überblick

Der Discovery Mechanism definiert, wie Skill-Konsumenten Skill Descriptors in einem dezentralen Netzwerk lokalisieren und abrufen. Das Protokoll bietet drei komplementäre Entdeckungspfade, um Flexibilität und Erweiterbarkeit zu gewährleisten.

5.2 Well-Known URI-Entdeckung

Pfadspezifikation

Skill-Anbieter exponieren einen standardisierten Pfad unter ihrer Domain:

GET https://{domain}/.well-known/skill-sharing

Antwortformat: Skill-Index

{
  "protocol": {
    "version": "1.0.0"
  },
  "provider": {
    "name": "Example Corp",
    "url": "https://example.com"
  },
  "skills": [
    {
      "id": "com.example.translate-v1",
      "name": "Universal Translator",
      "capability_type": "api",
      "description": "Hochwertiger Textübersetzungsdienst mit Unterstützung für 100+ Sprachen",
      "descriptor_url": "https://example.com/skills/translate/descriptor.json",
      "access": "restricted",
      "version": "2.1.0"
    },
    {
      "id": "com.example.sentiment-v1",
      "name": "Sentiment Analyzer",
      "capability_type": "api",
      "description": "Text-Sentimentanalyse-Dienst",
      "descriptor_url": "https://example.com/skills/sentiment/descriptor.json",
      "access": "public",
      "version": "1.0.0"
    }
  ]
}

Skill-Index-Felder

FeldTypPflichtBeschreibung
protocolProtocolVersionJaProtokollversion
providerobjectJaAnbieterinformation
provider.namestringJaAnbietername
provider.urlstringNeinAnbieter-Website
skillsSkillIndexEntry[]JaSkill-Liste

Skill-Index-Eintragsfelder

FeldTypPflichtBeschreibung
idstringJaEindeutiger Skill-Bezeichner
namestringJaSkill-Name
capability_typeCapabilityTypeJaFähigkeitstyp
descriptionstringJaKurzbeschreibung
descriptor_urlstringJaVollständige Descriptor-URL
accessAccessPolicyJaZugriffskontrollrichtlinie
versionstringJaSkill-Version

5.3 Direkte URL-Entdeckung

Wenn ein Konsument die vollständige URL eines Skill Descriptors bereits kennt, kann er direkt abgerufen werden:

GET https://example.com/skills/translate/descriptor.json

Die Antwort ist ein vollständiges Skill Descriptor JSON-Dokument.

5.4 Registry-Entdeckung (Optional)

Eine Skill Registry ist ein optionaler Indexdienst zur Beschleunigung der domainübergreifenden Skill-Entdeckung. Die Registry ist keine Voraussetzung für den Protokollbetrieb.

Abfrageschnittstelle

GET {registry_url}/skills?type={capability_type}

Antwortformat

Gibt eine Liste übereinstimmender Skill Descriptor-Referenzen im gleichen Format wie Skill-Index-Einträge zurück.

5.5 Zugriffskontrolle und Entdeckung

Der Entdeckungsmechanismus ist eng mit Zugriffskontrollrichtlinien verknüpft:

ZugriffsrichtlinieNicht-authentifizierte EntdeckungAuthentifizierte EntdeckungAufruf
public✓ Sichtbar✓ SichtbarKeine Authentifizierung erforderlich
restricted✓ Sichtbar✓ SichtbarAuthentifizierung erforderlich
private✗ Nicht sichtbar✓ SichtbarAuthentifizierung erforderlich

Schlüsselregeln:

  • Wenn eine nicht-authentifizierte Anfrage auf die Well-Known URI zugreift, enthält der zurückgegebene Skill-Index keine Skills mit access gleich private
  • Authentifizierte Anfragen können alle Skills sehen (einschließlich private)

5.6 Fähigkeitstyp-Filterung

Konsumenten können Skills nach Fähigkeitstyp filtern:

GET /.well-known/skill-sharing?type=api

Filterregeln:

  • Jeder Skill in der Ergebnismenge hat einen capability_type gleich dem Filterwert
  • Alle Skills des entsprechenden Typs aus der Originalmenge erscheinen in den Ergebnissen
  • Filterung beeinflusst nicht die Zugriffskontrollregeln (private Skills bleiben für nicht-authentifizierte Anfragen unsichtbar)

5.7 Skill-Bezeichner-Eindeutigkeit

Innerhalb desselben Skill-Index müssen alle Skills eindeutige id-Feldwerte haben. Das empfohlene ID-Format ist:

{reverse_domain}.{skill_name}-v{major_version}

Beispiele:

  • com.example.translate-v1
  • org.openai.gpt4-v1
  • io.github.user.code-review-v2