mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-25 00:23:53 +08:00
- Add Live2D action tools (smile, wave, generic actions) as MCP tools - Implement microphone availability detection - Handle HTTP non-localhost access scenarios - Update UI to reflect microphone availability state - Translate all comments and messages to proper Chinese/English - Add test files for new functionality
104 lines
3.6 KiB
JSON
104 lines
3.6 KiB
JSON
[
|
|
{
|
|
"name": "self.get_device_status",
|
|
"description": "Provides the real-time information of the device, including the current status of the audio speaker, screen, battery, network, etc.\nUse this tool for: \n1. Answering questions about current condition (e.g. what is the current volume of the audio speaker?)\n2. As the first step to control the device (e.g. turn up / down the volume of the audio speaker, etc.)",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {}
|
|
},
|
|
"mockResponse": {
|
|
"audio_speaker": {
|
|
"volume": 50,
|
|
"muted": false
|
|
},
|
|
"screen": {
|
|
"brightness": 80,
|
|
"theme": "light"
|
|
},
|
|
"battery": {
|
|
"level": 85,
|
|
"charging": false
|
|
},
|
|
"network": {
|
|
"connected": true,
|
|
"type": "wifi"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "self.audio_speaker.set_volume",
|
|
"description": "Set the volume of the audio speaker. If the current volume is unknown, you must call `self.get_device_status` tool first and then call this tool.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"volume": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"volume"
|
|
]
|
|
},
|
|
"mockResponse": {
|
|
"success": true,
|
|
"volume": "${volume}",
|
|
"message": "音量已设置为 ${volume}"
|
|
}
|
|
},
|
|
{
|
|
"name": "self.screen.set_brightness",
|
|
"description": "Set the brightness of the screen.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"brightness": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"brightness"
|
|
]
|
|
},
|
|
"mockResponse": {
|
|
"success": true,
|
|
"brightness": "${brightness}",
|
|
"message": "亮度已设置为 ${brightness}"
|
|
}
|
|
},
|
|
{
|
|
"name": "live2d.smile",
|
|
"description": "Make the virtual human perform a smiling action. Call this tool when the user says 'smile', 'smile once', 'give me a smile', 'smile please', etc.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
{
|
|
"name": "live2d.wave",
|
|
"description": "Make the virtual human perform a waving action. Call this tool when the user says 'wave to me', 'wave', 'say hello', 'wave please', etc.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
{
|
|
"name": "live2d.action",
|
|
"description": "Trigger a specified action for the virtual human. Supported actions include: FlickUp (swipe up), FlickDown (swipe down), Tap (tap), Tap@Body (body tap), Flick (swipe), Flick@Body (body swipe), etc. Call this tool when the user requests a specific virtual human action.",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"description": "Action name, such as: FlickUp, FlickDown, Tap, Tap@Body, Flick, Flick@Body"
|
|
}
|
|
},
|
|
"required": [
|
|
"action"
|
|
]
|
|
}
|
|
}
|
|
] |