Skills skill-mqtt

apiVersion: skill.ooder.net/v1

install
source · Clone the upstream repo
git clone https://github.com/oodercn/skills
manifest: skills/capabilities/communication/skill-mqtt/skill.yaml
source content

apiVersion: skill.ooder.net/v1 kind: Skill

metadata: id: skill-mqtt name: MQTT Service version: "3.0.1" description: MQTT鏈嶅姟鎶€鑳?- 鎻愪緵杞婚噺绾QTT Broker鑳藉姏鍜屽鎻愪緵鍟嗘敮鎸? author: Ooder Team license: Apache-2.0 homepage: https://gitee.com/ooderCN/skills/tree/main/skills/skill-mqtt repository: https://gitee.com/ooderCN/skills.git keywords: - mqtt - broker - iot - messaging - lightweight

spec: skillForm: PROVIDER type: service-skill

ownership: independent

capability: address: 0x48 category: msg code: COMM_MSG operations: [publish, subscribe, command]

supportedSceneTypes: - iot-device - smart-home - industrial-monitor - recruitment

dynamicSceneTypes: true

autoStart: enabled: true delay: 5s

autoJoin: enabled: true matchSceneTypes: true maxSceneGroups: 10

runtime: language: java javaVersion: "8" framework: spring-boot mainClass: net.ooder.skill.mqtt.MqttSkillApplication

llmConfig: required: false defaultProvider: "deepseek" defaultModel: "deepseek-chat" capabilities: - chat - streaming - function-calling modelSelection: allowUserOverride: true availableProviders: - deepseek - openai - qianwen - volcengine - ollama functionCalling: enabled: true tools: - name: query_skill_capability description: "鏌ヨ褰撳墠鎶€鑳界殑鑳藉姏鍜屼娇鐢ㄦ柟锟? parameters: type: object properties: capability: type: string description: "鑳藉姏鍚嶇О" detail: type: string enum: [brief, detailed, examples] default: "brief" - name: execute_mvel_action description: "閫氳繃MVEL琛ㄨ揪寮忔墽琛屽悗鍙版搷锟? parameters: type: object properties: expression: type: string description: "MVEL琛ㄨ揪锟? context: type: object - name: generate_ui_form description: "鐢熸垚UI琛ㄥ崟渚涚敤鎴峰~锟? parameters: type: object properties: formType: type: string fields: type: array items: type: object - name: execute_batch_operation description: "鎵ц鎵归噺鎿嶄綔" parameters: type: object properties: operation: type: string items: type: array items: type: object - name: convert_to_javascript description: "杞崲涓篔avaScript浠g爜渚涚敤鎴蜂娇锟? parameters: type: object properties: action: type: string parameters: type: object toolChoice: auto rateLimits: requestsPerMinute: 60 tokensPerMinute: 100000

capabilities: - id: mqtt-broker name: MQTT Broker description: MQTT浠g悊鏈嶅姟 category: messaging - id: mqtt-publish name: MQTT Publish description: 娑堟伅鍙戝竷 category: messaging - id: mqtt-subscribe name: MQTT Subscribe description: 娑堟伅璁㈤槄 category: messaging - id: mqtt-p2p name: MQTT P2P description: 鐐瑰鐐规秷锟? category: messaging - id: mqtt-topic name: MQTT Topic description: 涓婚绠$悊 category: messaging - id: mqtt-command name: MQTT Command description: 鍛戒护鎵ц category: messaging

scenes: - name: mqtt-messaging description: MQTT娑堟伅鍦烘櫙 capabilities: - mqtt-broker - mqtt-publish - mqtt-subscribe - name: iot-device description: IoT璁惧鍦烘櫙 capabilities: - mqtt-p2p - mqtt-topic - mqtt-command

dependencies: []

config: optional: - name: MQTT_PORT type: number default: 1883 description: MQTT鏈嶅姟绔彛 - name: MQTT_WS_PORT type: number default: 8083 description: WebSocket绔彛 - name: MQTT_MAX_CONNECTIONS type: number default: 10000 description: 鏈€澶ц繛鎺ユ暟 - name: MQTT_ALLOW_ANONYMOUS type: boolean default: false description: 鏄惁鍏佽鍖垮悕杩炴帴

endpoints: - path: /api/mqtt/publish method: POST description: 鍙戝竷娑堟伅 capability: mqtt-publish - path: /api/mqtt/subscribe method: POST description: 璁㈤槄涓婚 capability: mqtt-subscribe - path: /api/mqtt/topics method: GET description: 鑾峰彇涓婚鍒楄〃 capability: mqtt-topic - path: /api/mqtt/command method: POST description: 鎵ц鍛戒护 capability: mqtt-command - path: /api/health method: GET description: 鍋ュ悍妫€锟?

resources: cpu: "200m" memory: "256Mi" storage: "100Mi"

offline: enabled: true cacheStrategy: local syncOnReconnect: true