Skills skill-im

apiVersion: skill.ooder.net/v1

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

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

metadata: id: skill-im name: 鍗虫椂閫氳鏈嶅姟 version: "3.0.1" description: 鍗虫椂閫氳鏈嶅姟锛屾敮鎸佸疄鏃舵秷鎭€佺兢鑱娿€佸湪绾跨姸鎬? author: ooder Team license: Apache-2.0 homepage: https://gitee.com/ooderCN/skills keywords: - im - chat - realtime - websocket

spec: skillForm: PROVIDER

ownership: independent

capability: address: 0x54 category: msg code: COMM_IM operations: [send, receive, presence, group]

providerType: communication

runtime: language: java javaVersion: "8" framework: spring-boot

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

supportedSceneTypes: - collaboration - customer-service - social

dynamicSceneTypes: true

autoStart: enabled: true delay: 2s

autoJoin: enabled: true matchSceneTypes: true maxSceneGroups: 20

dependencies: - id: skill-msg version: ">=0.7.0" required: true description: "娑堟伅鏈嶅姟渚濊禆"

providedInterfaces: - id: im-service version: "1.0" description: "鍗虫椂閫氳鎺ュ彛"

capabilities: - id: send name: 鍙戦€佹秷鎭? description: 鍙戦€佸嵆鏃舵秷鎭? category: service - id: receive name: 鎺ユ敹娑堟伅 description: 鎺ユ敹鍗虫椂娑堟伅 category: service - id: presence name: 鍦ㄧ嚎鐘舵€? description: 绠$悊鍦ㄧ嚎鐘舵€? category: service - id: group name: 缇よ亰 description: 缇ょ粍鑱婂ぉ category: service

endpoints: - path: /api/im/send method: POST description: 鍙戦€佹秷鎭? capability: send - path: /api/im/presence method: PUT description: 鏇存柊鐘舵€? capability: presence - path: /api/im/groups method: GET description: 鑾峰彇缇ょ粍 capability: group - path: /ws/im method: GET description: WebSocket杩炴帴 capability: receive

config: optional: - name: WS_PORT type: integer default: 8080 description: WebSocket绔彛 - name: MAX_CONNECTIONS type: integer default: 1000 description: 鏈€澶ц繛鎺ユ暟 - name: HEARTBEAT_INTERVAL type: integer default: 30 description: 蹇冭烦闂撮殧(绉?

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

offline: enabled: false

knowledge: documents: - id: overview name: 鍔熻兘姒傝堪 path: README.md type: guide language: zh priority: high ragConfig: enabled: true indexName: "skill-im-knowledge" embeddingModel: text-embedding-3-small chunkSize: 1000 chunkOverlap: 200 searchStrategy: hybrid topK: 5 threshold: 0.7