Some checks are pending
CI / validate (push) Waiting to run
mana.how-Domain abgeschaltet. Alle hardcoded URLs (Manifest, CORS, User-Agent in PlantNet+GBIF-Clients, Compose-Defaults, cloudflared- Snippet) auf herbatrium.com / api.herbatrium.com umgestellt. isProd-Check der Web-App erkennt nur noch herbatrium.com als Prod. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
90 lines
2.9 KiB
JSON
90 lines
2.9 KiB
JSON
{
|
|
"$schema": "https://pkg.mana.how/@mana/shared-share-protocol/0.1/manifest.json",
|
|
"schema_version": "0.1",
|
|
"id": "herbatrium",
|
|
"name": "Herbatrium",
|
|
"version": "0.0.1",
|
|
"homepage": "https://herbatrium.com",
|
|
"icon": "https://herbatrium.com/icon-512.png",
|
|
"description": "Citizen-Science observations of plants in the wild. Photo, GPS, AI classification, collaborative specimen history.",
|
|
"description_de": "Botanische Beobachtungen in freier Natur. Foto, Standort, KI-Klassifikation, kollaborative Specimen-Historie. Datensouverän und Open-Source.",
|
|
"ownership": { "kind": "verein" },
|
|
"tier_required": "public",
|
|
"endpoints": {
|
|
"base_url": "https://api.herbatrium.com",
|
|
"app_url": "https://herbatrium.com",
|
|
"health": "/healthz",
|
|
"dsgvo_export": "/api/v1/dsgvo/export",
|
|
"search": "/api/v1/search",
|
|
"share_receive": "/api/v1/share/receive",
|
|
"tool_invoke": "/api/v1/tools/:name",
|
|
"deep_link_scheme": "herbatrium://",
|
|
"link_patterns": [
|
|
{
|
|
"pattern": "specimen/(?<id>[a-z0-9_-]+)",
|
|
"template": "https://herbatrium.com/specimens/{id}"
|
|
},
|
|
{
|
|
"pattern": "observation/(?<id>[a-z0-9_-]+)",
|
|
"template": "https://herbatrium.com/my/observations/{id}"
|
|
},
|
|
{
|
|
"pattern": "species/(?<id>[a-z0-9_-]+)",
|
|
"template": "https://herbatrium.com/species/{id}"
|
|
}
|
|
]
|
|
},
|
|
"shares": [
|
|
{
|
|
"type": "mana/plant-observation",
|
|
"schema_ref": "/payload-schemas/plant-observation.json"
|
|
},
|
|
{
|
|
"type": "mana/plant-specimen",
|
|
"schema_ref": "/payload-schemas/plant-specimen.json"
|
|
}
|
|
],
|
|
"accepts": [
|
|
{
|
|
"type": "mana/photo",
|
|
"handler": "save_photo_as_observation"
|
|
},
|
|
{
|
|
"type": "mana/geo-point",
|
|
"handler": "save_geo_as_specimen_anchor"
|
|
}
|
|
],
|
|
"tools": [
|
|
{
|
|
"name": "herbatrium.identify_plant",
|
|
"description": "Klassifiziert eine Pflanze aus einem Foto. Sendet display-Layer (EXIF-stripped) an mana-llm Vision primär; bei niedrigem Confidence oder Sensitivity-Verdacht Pl@ntNet als Verifier. Antwort: Top-3 Species + Confidence + Phenology-Annotation.",
|
|
"auth": "user_token"
|
|
},
|
|
{
|
|
"name": "herbatrium.list_my_observations",
|
|
"description": "Listet eigene Pflanzen-Beobachtungen mit Filter (Datum, Species, Visibility-Stufe). Liefert exakte GPS-Koordinaten nur für Owner; respektiert specimen.geo_visibility.",
|
|
"auth": "user_token"
|
|
},
|
|
{
|
|
"name": "herbatrium.search_specimens_near",
|
|
"description": "PostGIS-Suche nach Pflanzen-Exemplaren in einer Umgebung (lat/lng + Radius). Public-Specimens auf rounded_100m oder region_only. Sensitive species werden nur als Region-Cluster zurückgeliefert.",
|
|
"auth": "user_token"
|
|
}
|
|
],
|
|
"search": {
|
|
"types": ["specimen", "species", "observation"],
|
|
"languages": ["de", "en", "fr", "es", "it"],
|
|
"max_results": 30,
|
|
"timeout_ms": 3000
|
|
},
|
|
"data": {
|
|
"personal_data_categories": [
|
|
"observation_photos",
|
|
"geo_coordinates",
|
|
"field_notes",
|
|
"device_metadata_exif"
|
|
],
|
|
"encrypted_at_rest": false,
|
|
"storage_location": "EU"
|
|
}
|
|
}
|