讲师中心 微信公众号
AI工具推荐 视频效率加速

Demo Slap

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 Demo‑Slap API 将 Demo 转换为 CS2 高光片段和 Fragmovie,支持可选的Leetify 集成,若无记录则回退使用 Demo‑Slap 赛史进行选择

Demo-Slap Highlight Skill.

功能概述

Demo-Slap Highlight Skill.是一项面向实际任务的技能,主要用于Generate MP4 演示中的亮点和 fragmovies. 此技能是为OpenClaw 环境设计的,其中背景工作,本地助手脚本,以及聊天意识。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Demo-Slap 高光片段生成技能

从 CS2 录像(demo)中生成 MP4 高光片段与精彩集锦(fragmovie)。

该技能专为 OpenClaw 环境设计,支持后台任务、本地辅助脚本及上下文感知的聊天消息交付。使用 Python 3 编写的脚本,并通过 requests 包调用 HTTP API。

预期运行时输入参数:

  • 必需:DEMOSLAP_API_KEY
  • 可选:LEETIFY_API_KEY
  • 可选部署辅助参数:DEMO_SLAP_WATCHDOG_JOB_ID

脚本说明

所有脚本均需相对于技能根目录执行,通常位于 scripts/ 目录下。

Demo-Slap

脚本 用途
demo_slap_matches.py 列出 Demo-Slap /public-api/matches 接口返回的近期对局
demo_slap_resolve.py 根据索引尝试从 Demo-Slap 对局历史中解析回放/录像 URL;若 API 仅返回 jobId 则明确报错
demo_slap_match_pick.py 按索引选取一条 Demo-Slap 对局,返回结构化对局信息(含 jobId)
demo_slap_analyze.py 提交 demo 进行分析,轮询直至完成,输出高光片段 JSON 数据
demo_slap_render.py 渲染一个或多个高光片段,轮询直至完成,输出视频片段 URL
demo_slap_common.py 共享工具模块(配置管理、API 调用、状态维护等)

Leetify

脚本 用途
leetify/leetify_matches.py 列出近期对局
leetify/leetify_resolve.py 根据用户名 + 对局索引解析回放 URL
leetify/leetify_save_id.py 保存用户名 → Steam64 ID 映射关系
leetify/leetify_common.py Leetify 共享工具模块

对局数据源选择策略

  • 当 LEETIFY_API_KEY 可用时,优先使用 Leetify 发现近期对局。
  • 若未配置 LEETIFY_API_KEY,但 DEMOSLAP_API_KEY 可用,则使用 Demo-Slap 的 /public-api/matches 接口获取对局历史。
  • Swagger 文档地址:https://api-doc.demo-slap.net/
  • 将 Demo-Slap 对局历史视为兜底发现路径:用于列举对局、在分析/渲染前选定已分析过的对局或回放上下文。

运行时文件

以下文件可作为可选的本地运行时状态,在执行过程中使用:

  • data/state.json
  • data/highlights.json
  • data/history.log
  • data/steam_ids.json
  • data/config.json

这些文件仅为本地运行提供辅助支持,非理解或检查技能包本身所必需。

state.json 用于追踪当前操作状态:

{
  "status": "idle|analyzing|rendering|done|error",
  "job_id": "...",
  "render_job_id": "...",
  "chat_id": "telegram:182314856",
  "clip_urls": {"highlight_id": "https://..."},
  "progress": "polling 3/30",
  "last_completed_op": "analyze|render",
  "notification": {
    "sent": false,
    "sent_at": null,
    "last_attempt_at": null,
    "error": null
  },
  "updated_at": "ISO timestamp"
}

工作流

1. 查找目标对局

当 LEETIFY_API_KEY 可用时的首选路径:

python3 scripts/leetify/leetify_matches.py  [--limit 10]

当缺少 LEETIFY_API_KEY 但 DEMOSLAP_API_KEY 可用时的兜底路径:

python3 scripts/demo_slap_matches.py [] [--limit 10]
  • 调用 Demo-Slap /public-api/matches 接口
  • 如需查阅接口 Schema 细节,请参考 Demo-Slap Swagger 文档:https://api-doc.demo-slap.net/
  • 若提供了 且已建立映射,则尽可能按该玩家的 Steam ID 过滤对局
  • 用户选定对局后,执行:
python3 scripts/demo_slap_match_pick.py [] --match-index 
  • 将返回的 jobId 视为后续所有 Demo-Slap 操作的主要标识符

2. 解析回放 URL

使用 Leetify 时的首选路径:

python3 scripts/leetify/leetify_resolve.py  --match-index 

使用 Demo-Slap 兜底路径时:

python3 scripts/demo_slap_match_pick.py [] --match-index 
  • 以返回的 jobId 作为选定对局的唯一标识
  • 若返回结果中包含 demoUrl,仍可继续使用基于 URL 的分析流程
  • 若无 demoUrl 字段,则跳过 URL 解析步骤,直接调用支持已有 jobId 的分析接口
  • 可通过 GET /public-api/analyze/{jobId}/status 和 GET /public-api/analyze/{jobId}/data 查询已存在的高光片段
  • 若用户所需高光片段和剪辑已存在,可直接基于该 jobId 启动渲染

3. 后台分析

python3 -u scripts/demo_slap_analyze.py --url '' --username  --chat-id 

需配合 exec(background: true) 执行,并保留返回的进程/会话 ID。

OpenClaw 环境中可选的、部署特定的看门狗(watchdog)模式:

  • 仅当后台分析/渲染任务能从周期性交付检查中获益时,才启用看门狗。
  • 若已有可用的部署级看门狗,应复用而非默认新建持久化调度任务。
  • 若部署方选择通过内置 cron 工具创建或启用看门狗,须将其作用域限定于当前运行周期,并在终端交付完成后立即禁用。
  • 2 分钟为合理的默认轮询间隔。
  • scripts/demo_slap_watchdog.sh status|tail|job 仅作为本地辅助工具,用于检查运行时状态、日志或部署特定的任务引用。
  • 运行期间,以 data/state.json 和 data/highlights.json 为准作为事实来源。

智能体(Agent)工作流:

  1. 选择对局数据源:
    • 若存在 LEETIFY_API_KEY,则选用 Leetify
    • 若缺失 LEETIFY_API_KEY 但存在 DEMOSLAP_API_KEY,则选用 Demo-Slap /public-api/matches
  2. 若使用 Leetify,先解析回放 URL,再执行分析
  3. 若使用 Demo-Slap 兜底路径,先选取对局并检查返回的 jobId
  4. 若所选 Demo-Slap 对局已存在分析数据,则直接基于 jobId 继续流程,无需强制执行基于 URL 的分析
  5. 仅当长时间运行的分析/渲染任务确实受益于看门狗机制时,才启用或创建部署级看门狗
  6. 启动分析或渲染任务,并在适用时保存返回的进程/会话 ID
  7. 若部署中启用了看门狗,则由其负责结果交付
  8. 终端交付完成后,再次禁用看门狗

4. 后台渲染

# 单个高光片段
python3 -u scripts/demo_slap_render.py   --chat-id 

# 精彩集锦(fragmovie)
python3 -u scripts/demo_slap_render.py    ... --fragmovie --chat-id 

需配合 exec(background: true) 执行,并保留返回的进程/会话 ID。

OpenClaw 环境中可选的、部署特定的看门狗(watchdog)模式:

  • 仅当后台分析/渲染任务能从周期性交付检查中获益时,才启用看门狗。
  • 若已有可用的部署级看门狗,应复用而非默认新建持久化调度任务。
  • 若部署方选择通过内置 cron 工具创建或启用看门狗,须将其作用域限定于当前运行周期,并在终端交付完成后立即禁用。
  • 2 分钟为合理的默认轮询间隔。
  • scripts/demo_slap_watchdog.sh status|tail|job 仅作为本地辅助工具,用于检查运行时状态、日志或部署特定的任务引用。
  • 运行期间,以 data/state.json 和 data/highlights.json 为准作为事实来源。

智能体(Agent)工作流:

  1. 仅在当前运行需要时,启用或复用部署级看门狗
  2. 启动渲染任务,并保存返回的进程/会话 ID
  3. 轮询进程输出,提取 Estimated finish: 行内容;若存在,向用户告知预估完成时间(ETA)
  4. 若启用了看门狗,则由其负责结果交付
  5. 终端交付完成后,再次禁用看门狗

关键提示:请从原始请求的入站元数据中提取 。硬编码的聊天标识符仅作本地示例参考,不可作为可复用的默认值。

5. 查询状态

读取 data/state.json 文件即可。

初始化配置

将用户名映射至 Steam ID

python3 scripts/leetify/leetify_save_id.py  

配置 API 密钥

推荐使用环境变量方式配置:

  • DEMOSLAP_API_KEY — 必需
  • LEETIFY_API_KEY — 可选,仅用于 Leetify 支持的对局发现
  • DEMO_SLAP_WATCHDOG_JOB_ID — 可选,仅用于部署级看门狗检测脚本的辅助参数

数据源选择规则:

  • 若存在 LEETIFY_API_KEY,则使用 Leetify 发现对局。
  • 若缺失 LEETIFY_API_KEY 但存在 DEMOSLAP_API_KEY,则使用 Demo-Slap /public-api/matches 发现对局。
  • DEMOSLAP_API_KEY 始终为分析/渲染所必需。

对于受控的自托管部署,可选的本地兜底方案:将密钥写入 data/config.json 文件。

技术支持

如需访问权限或技术支持,请加入我们的 Discord 社区:https://discord.gg/8nfh26W9wQ

目录

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn