Skip to main content

libtv-skill

agent-im 会话技能 - 通过 OpenAPI 创建会话、发送生图/生视频等消息、上传图片/视频文件,并查询会话进展。当用户需要生图、生视频、上传文件或查询当前会话消息时激活此技能。

소스 정보

저장소
SpaceZephyr/myskill
최근 소스 활동
2026년 3월 20일 10:38
감지된 SKILL.md 언어
중국어
스타
341
포크
84

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
7 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
libtv-skill
description
agent-im 会话技能 - 通过 OpenAPI 创建会话、发送生图/生视频等消息、上传图片/视频文件,并查询会话进展。当用户需要生图、生视频、上传文件或查询当前会话消息时激活此技能。
user-invocable
true
metadata
{"openclaw":{"emoji":"💬","requires":{"bins":"[Truncated]","env":"[Truncated]"},"primaryEnv":"LIBTV_ACCESS_KEY"}}
# agent-im 会话(生图 / 生视频) 通过 agent-im 的 OpenAPI 创建会话、发送消息(生图、生视频等)、上传图片/视频文件,并查询会话消息进展。 ## 功能 1. **创建会话 / 发消息** - 创建新会话或向已有会话发送一条消息(如「生一个动漫视频」) 2. **查询会话进展** - 根据 sessionId 拉取该会话的消息列表,用于轮询生图/生视频结果 3. **切换项目** - 将当前 accessKey 绑定的项目切换到新项目,后续 create_session 将使用新 projectUuid 4. **上传文件** - 上传图片或视频文件到 OSS,返回可访问的 OSS 地址 ## 前置要求 ```bash export LIBTV_ACCESS_KEY="your-access-key" ``` 可选:`OPENAPI_IM_BASE` 或 `IM_BASE_URL`,默认 `https://im.liblib.tv`。 无需安装额外依赖,仅使用 Python 标准库。 ## 使用方法 ### 1. 创建会话 / 发送消息 ```bash # 创建新会话并发送「生一个动漫视频」 python3 {baseDir}/scripts/create_session.py "生一个动漫视频" # 向已有会话发送消息 python3 {baseDir}/scripts/create_session.py "再生成一张风景图" --session-id SESSION_ID # 只创建/绑定会话,不发消息 python3 {baseDir}/scripts/create_session.py ``` ### 2. 查询会话进展 ```bash # 查询会话消息列表 python3 {baseDir}/scripts/query_session.py SESSION_ID # 增量拉取(只返回 seq 大于 N 的消息) python3 {baseDir}/scripts/query_session.py SESSION_ID --after-seq 5 # 附带项目地址(传入 create_session 返回的 projectUuid,结果中带 projectUrl) python3 {baseDir}/scripts/query_session.py SESSION_ID --project-id PROJECT_UUID ``` ### 3. 切换项目 ```bash # 切换当前 accessKey 绑定的项目(后续创建会话将使用新项目) python3 {baseDir}/scripts/change_project.py ``` ### 4. 上传文件 当用户提供了参考的文件地址时,进行上传,仅支持图片、视频,文件大小必须在200M以下。 ```bash # 上传图片 python3 {baseDir}/scripts/upload_file.py /path/to/image.png # 上传视频 python3 {baseDir}/scripts/upload_file.py /path/to/video.mp4 ``` ## 输出格式 **create_session** 返回: ```json { "projectUuid": "aa3ba04c5044477cb7a00a9e5bf3b4d0", "sessionId": "90f05e0c-...", "projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0" } ``` **query_session** 返回: ```json { "messages": [ {"id": "msg-xxx", "role": "user", "content": "生一个动漫视频"}, {"id": "msg-yyy", "role": "assistant", "content": "..."} ], "projectUrl": "https://www.liblib.tv/canvas?projectId=..." } ``` (`projectUrl` 仅在传入 `--project-id` 时存在) **change_project** 返回: ```json { "projectUuid": "新项目UUID", "projectUrl": "https://www.liblib.tv/canvas?projectId=新项目UUID" } ``` **upload_file** 返回: ```json { "url": "https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}.png" } ``` ## 最终向用户展示时(OpenClaw) - **视频地址**:来自 `query_session` 返回的 `messages` 中 assistant 消息的 content 或结果里的视频/图片 URL,即「返回的结果」。 - **项目地址**:使用 `create_session` 返回的 `projectUrl`,或自行拼接 `https://www.liblib.tv/canvas?projectId=` + `projectUuid`。查询进展时若传入 `--project-id PROJECT_UUID`,`query_session` 会直接返回 `projectUrl`,便于一并展示。 在任务完成时,同时给出:**视频/图片结果链接** + **项目画布链接(projectUrl)**。 过程中,不要给出 **项目画布链接(projectUrl)**。 ## 注意事项 - 鉴权方式为请求头 `Authorization: Bearer <LIBTV_ACCESS_KEY>` - 创建会话时若不传 `message`,仅创建/绑定会话,不会调用 SendMessage - 查询会话时可用 `--after-seq` 做增量拉取,便于轮询新消息(含 assistant 回复与生图/生视频结果) - 项目画布地址固定为:`https://www.liblib.tv/canvas?projectId=` + projectUuid - 切换项目后,Redis 缓存会更新,下次 create_session 将使用新的 projectUuid - 上传文件仅支持图片(image/*)和视频(video/*)类型,其他类型会被拒绝 - 上传返回的 OSS 地址格式为 `https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}{ext}` - 注意要把生成的视频和图片,及时的返回并呈现给用户 - 注意要把用户的需求信息,及时的传递给agent
GitHub에서 보기