Skills skill-scenes
apiVersion: skill.ooder.net/v1
git clone https://github.com/oodercn/skills
skills/_business/skill-scenes/skill.yamlapiVersion: skill.ooder.net/v1 kind: Skill
metadata: id: skill-scenes name: Scene Management version: 1.0.0 description: Scene and Scene Group management skill author: ooder Team type: system-service
spec: skillForm: PROVIDER type: system-skill ownership: platform runtime: language: java javaVersion: "21" framework: spring-boot
requires: - interface: net.ooder.skill.common.spi.storage.SceneGroupStorage name: sceneGroupStorage required: true
services: - name: sceneService interface: net.ooder.skill.scenes.service.SceneService implementation: net.ooder.skill.scenes.service.impl.SceneServiceImpl - name: sceneGroupService interface: net.ooder.skill.scenes.service.SceneGroupService implementation: net.ooder.skill.scenes.service.impl.SceneGroupServiceSEImpl endpoints: - path: /api/v1/scenes/list method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: listScenes - path: /api/v1/scenes/create method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: createScene - path: /api/v1/scenes/get method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: getScene - path: /api/v1/scenes/delete method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: deleteScene - path: /api/v1/scenes/activate method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: activateScene - path: /api/v1/scenes/deactivate method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: deactivateScene - path: /api/v1/scenes/capabilities/list method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: listCapabilities - path: /api/v1/scenes/capabilities/add method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: addCapability - path: /api/v1/scenes/capabilities/remove method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: removeCapability - path: /api/v1/scenes/collaborative/list method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: listCollaborators - path: /api/v1/scenes/collaborative/add method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: addCollaborator - path: /api/v1/scenes/collaborative/remove method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: removeCollaborator - path: /api/v1/scenes/snapshot/create method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: createSnapshot - path: /api/v1/scenes/snapshot/list method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: listSnapshots - path: /api/v1/scenes/snapshot/restore method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: restoreSnapshot - path: /api/v1/scenes/logs method: POST controllerClass: net.ooder.skill.scenes.controller.SceneController methodName: getLogs - path: /api/v1/scene-groups/my/created method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getMyCreatedGroups - path: /api/v1/scene-groups/my/led method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getMyLedGroups - path: /api/v1/scene-groups/my/participated method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getMyParticipatedGroups - path: /api/v1/scene-groups method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getAllGroups - path: /api/v1/scene-groups method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: createGroup - path: /api/v1/scene-groups/{id} method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getGroup - path: /api/v1/scene-groups/{id} method: PUT controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: updateGroup - path: /api/v1/scene-groups/{id} method: DELETE controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: deleteGroup - path: /api/v1/scene-groups/{id}/activate method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: activateGroup - path: /api/v1/scene-groups/{id}/deactivate method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: deactivateGroup - path: /api/v1/scene-groups/{id}/capabilities method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getGroupCapabilities - path: /api/v1/scene-groups/{id}/capabilities method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: addCapability - path: /api/v1/scene-groups/{id}/capabilities/{capId} method: DELETE controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: removeCapability - path: /api/v1/scene-groups/{id}/participants method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getParticipants - path: /api/v1/scene-groups/{id}/participants method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: addParticipant - path: /api/v1/scene-groups/{id}/participants/{participantId}/role method: PUT controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: updateParticipantRole - path: /api/v1/scene-groups/{id}/participants/{participantId} method: DELETE controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: removeParticipant - path: /api/v1/scene-groups/{id}/snapshots method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getSnapshots - path: /api/v1/scene-groups/{id}/snapshots method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: createSnapshot - path: /api/v1/scene-groups/{id}/snapshots/{snapshotId}/restore method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: restoreSnapshot - path: /api/v1/scene-groups/{id}/snapshots/{snapshotId} method: DELETE controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: deleteSnapshot - path: /api/v1/scene-groups/{id}/knowledge method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getKnowledgeBases - path: /api/v1/scene-groups/{id}/knowledge method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: addKnowledgeBase - path: /api/v1/scene-groups/{id}/knowledge/{kbId} method: DELETE controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: removeKnowledgeBase - path: /api/v1/scene-groups/{id}/llm/config method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getLlmConfig - path: /api/v1/scene-groups/{id}/llm/config method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: updateLlmConfig - path: /api/v1/scene-groups/{id}/event-log method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getEventLog - path: /api/v1/scene-groups/{id}/workflow/start method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: startWorkflow - path: /api/v1/scene-groups/from-fusion method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: createFromFusion - path: /api/v1/scene-groups/{id}/capabilities/{capId} method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getCapability - path: /api/v1/scene-groups/{id}/knowledge/config method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getKnowledgeConfig - path: /api/v1/scene-groups/{id}/knowledge/config method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: updateKnowledgeConfig - path: /api/v1/scene-groups/{id}/llm/providers/{providerId}/models method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getLlmProviderModels - path: /api/v1/scene-groups/{id}/llm/config/reset method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: resetLlmConfig - path: /api/v1/scene-groups/{id}/{action} method: POST controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: executeAction - path: /api/v1/scene-groups/my/led/members method: GET controllerClass: net.ooder.skill.scenes.controller.SceneGroupController methodName: getMyLedMembers