herbatrium/app-manifest.json
Till JS c266387ff3
Some checks are pending
CI / validate (push) Waiting to run
feat: Primary-Switch auf herbatrium.com
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>
2026-05-20 16:30:42 +02:00

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"
}
}