docs: consolidate English documentation under root docs

This commit is contained in:
2026-10-05 10:11:35 -03:00
parent b91762a927
commit 6b8c27fd76
38 changed files with 2261 additions and 5594 deletions
+16
View File
@@ -0,0 +1,16 @@
# Examples
- [agent-profile.json](agent-profile.json) is an illustrative agent-profile
response with a dynamic tool catalog. Its model instructions are written in
English and request Spanish speech through both instructions and `language`.
Tool names and schemas illustrate the original API response; this file is not
loaded by the application and is not a live API contract.
- [reference-audio.wav](reference-audio.wav) is the existing optional
voice-cloning sample, moved out of the implementation directory. CustomVoice
models do not require it. When testing a compatible Base/voice-cloning model,
supply its path explicitly with `--qwen3_tts_ref_audio
docs/examples/reference-audio.wav` from the project root and use the matching
transcription required by that model. See [the TTS guide](../speech/tts.md).
These examples contain no deployment credentials and are not default runtime
configuration. Use an authorized reference voice for your own deployment.
+572
View File
@@ -0,0 +1,572 @@
{
"agent": {
"name": "Aquachile Voice Agent",
"description": "Aquachile voice assistant for support, operational information, and real-time conversational guidance.",
"model": "gpt-realtime",
"voice": "alloy",
"language": "es",
"enabled": true,
"interruptible": true,
"tools": [
{
"name": "describe_copernicus_marine_catalogue",
"description": "Describe the Copernicus Marine catalogue with optional contains, dataset and product filters.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"contains": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"product_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"show_all_versions": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"tags": []
},
{
"name": "get_api_info",
"description": "Return basic AquaPortal API and MCP runtime metadata.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "get_copernicus_marine_status",
"description": "Return Copernicus Marine toolbox installation and credential status.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "get_copernicus_marine_subset",
"description": "Open and summarize a Copernicus Marine dataset subset, defaulting to an allowed zone when bounds are omitted.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"dataset_id": {
"type": "string"
},
"zone_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"variables": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"dataset_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"dataset_part": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"minimum_longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"maximum_longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"minimum_latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"maximum_latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"minimum_depth": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"maximum_depth": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null
},
"start_datetime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"end_datetime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"coordinates_selection_method": {
"default": "nearest",
"type": "string"
},
"max_values_per_variable": {
"default": 8,
"type": "integer"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"tags": []
},
{
"name": "get_public_day_report",
"description": "Return the public day report payload for a business role.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"role": {
"default": "CEO",
"type": "string"
}
},
"type": "object"
},
"tags": []
},
{
"name": "get_report_detail",
"description": "Return one report with linked metrics and insights.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"report_id": {
"type": "string"
}
},
"required": [
"report_id"
],
"type": "object"
},
"tags": []
},
{
"name": "get_today_podcast",
"description": "Return today's AquaPortal podcast metadata and URLs.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "get_user_by_phone",
"description": "Resolve an AquaPortal user from an E.164 or WhatsApp phone number.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"phone_number": {
"type": "string"
}
},
"required": [
"phone_number"
],
"type": "object"
},
"tags": []
},
{
"name": "list_business_roles",
"description": "List configured business role definitions.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "list_insights",
"description": "List insights with optional center, priority, role and date filters.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"center": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"report_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"tags": []
},
{
"name": "list_metrics",
"description": "List extracted metrics with optional filters.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"center": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"jaula": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"metric": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"report_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"tags": []
},
{
"name": "list_recent_reports",
"description": "List the most recent uploaded reports stored by AquaPortal.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 5,
"type": "integer"
}
},
"type": "object"
},
"tags": []
},
{
"name": "list_recent_whatsapp_deliveries",
"description": "List recent WhatsApp delivery records, optionally filtered by recipient.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 10,
"type": "integer"
},
"recipient": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"tags": []
},
{
"name": "list_users",
"description": "List AquaPortal users.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "list_whatsapp_mappings",
"description": "List active and inactive WhatsApp user mappings.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"tags": []
},
{
"name": "ping",
"description": "Echo a message to verify AquaPortal MCP connectivity.",
"enabled": true,
"parameters": {
"additionalProperties": false,
"properties": {
"message": {
"default": "hello",
"type": "string"
}
},
"type": "object"
},
"tags": []
}
],
"workflowId": "aquachile-spanish-support-flow",
"status": "ready",
"tags": [
"aquachile",
"spanish",
"support",
"operations",
"voice"
],
"instructions": "You are Aquachile's official voice assistant. Always speak Spanish in a professional, clear, friendly, and confident tone. Keep replies brief and useful. Ask one question per turn when clarification is needed. Do not invent data, prices, dates, availability, or policies. Use the available tools first when you need verifiable information. If an action requires user confirmation, ask before proceeding. Summarize the action or conclusion at the end of each reply. If the user changes the subject, adapt the context while staying clear. If you lack sufficient information, say so explicitly and suggest the most useful next step. Never reply in Italian or English unless the user explicitly asks.",
"turnDetection": {
"type": "server_vad"
}
}
}
Binary file not shown.