Agent skill

Jlivertool Plugin

by Xinrea in Xinrea/JLiverTool

开发、修改或调试 JLiverTool 插件(应用数据目录 plugins/ 下的浏览器端 HTML/JS 扩展,通过自动注入的 jliverAPI 接收弹幕、礼物、舰长、醒目留言和直播间状态事件)。默认直接写入用户数据目录。当用户要求为 JLiverTool 写插件、编写或检查 meta.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build…

MITAuto-check passed

Install Jlivertool Plugin

skills CLI
$ npx skills add Xinrea/JLiverTool --skill jlivertool-plugin -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Xinrea/JLiverTool jlivertool-plugin --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Xinrea/JLiverTool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jlivertool-plugin .claude/skills/jlivertool-plugin && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jlivertool-plugin
GitHub stars
111
Token cost
~1k tokens
SKILL.md length
192 words
Files
4 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

开发、修改或调试 JLiverTool 插件(应用数据目录 plugins/ 下的浏览器端 HTML/JS 扩展,通过自动注入的 jliverAPI 接收弹幕、礼物、舰长、醒目留言和直播间状态事件)。默认直接写入用户数据目录。当用户要求为 JLiverTool 写插件、编写或检查 meta.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build…

  • Works in 4 steps: 先定清楚三件事再写代码:插件要展示或记录什么;需要哪些事件(频道名 + 字段,见… → 建目录:在数据目录的 plugins// 下创建。 用纯 ASCII +… → 从模板起步:复制 template/ 的两个文件,改 meta.json 的… → …
  • SKILL.md covers 插件写到哪里, 参考资料, 工作流程 and 本地调试, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Jlivertool Plugin is an agent skill from Xinrea/JLiverTool. 开发、修改或调试 JLiverTool 插件(应用数据目录 plugins/ 下的浏览器端 HTML/JS 扩展,通过自动注入的 jliverAPI 接收弹幕、礼物、舰长、醒目留言和直播间状态事件)。默认直接写入用户数据目录。当用户要求为 JLiverTool 写插件、编写或检查 meta.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build, modify, or debug JLiverTool plugins.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/api.md` and `template/meta.json`).

It works with Rust and Bilibili. The licence is MIT.

Example prompts

  • “/jlivertool-plugin”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. 先定清楚三件事再写代码:插件要展示或记录什么;需要哪些事件(频道名 + 字段,见 references/api.md);是否需要观众用弹幕命令交互(例如 #draw 3 4 #ff0000)。
  2. 建目录:在数据目录的 plugins// 下创建。 用纯 ASCII + 短横线(如 my-plugin`),因为它会成为 URL 路径段。修改已安装插件时,同样改数据目录里的那份。
  3. 从模板起步:复制 template/ 的两个文件,改 meta.json 的 id/name/desc/version,再改 index.html。
  4. 本地跑通,按下文步骤和验收清单确认,不要只交代码。

What it can do on your machine

Read from SKILL.md and the folder at commit 32a7f45. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • xinrea.github.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jlivertool Plugin loads about 1k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 63 tokens; SKILL.md has 192 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Xinrea/JLiverTool at commit 32a7f45, republished under its MIT licence (© Xinrea). 192 words, ~1,045 tokens.

Download SKILL.mdSave it as .claude/skills/jlivertool-plugin/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
jlivertool-plugin
description
开发、修改或调试 JLiverTool 插件(应用数据目录 plugins/ 下的浏览器端 HTML/JS 扩展,通过自动注入的 jliverAPI 接收弹幕、礼物、舰长、醒目留言和直播间状态事件)。默认直接写入用户数据目录。当用户要求为 JLiverTool 写插件、编写或检查 meta.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build, modify, or debug JLiverTool plugins.

JLiverTool 插件开发

JLiverTool 插件就是一个静态网页:没有构建步骤、不引入 npm 依赖、也不运行在应用内嵌的 webview 中。插件目录由应用内置的 HTTP 服务器(默认 http://127.0.0.1:8080)提供,页面在系统默认浏览器里打开,jliver-api.js 由服务器自动注入,它连上应用的 WebSocket 服务器(默认 ws://127.0.0.1:8081)并把直播事件转发给 window.jliverAPI。

所以插件的全部能力边界就是本文档记录的 API:接收事件、打开 URL、查询服务器信息。没有发送弹幕、读写应用配置、访问文件系统之类的接口;需要新能力必须改应用(crates/jlivertool-plugin)。

插件写到哪里

应用只扫描用户数据目录下的 plugins/。

默认写作目录(按操作系统):

  • macOS:~/Library/Application Support/com.jlivertool.JLiverTool/plugins/
  • Windows:%APPDATA%\jlivertool\JLiverTool\config\plugins\
  • Linux:~/.config/jlivertool/plugins/

不确定实际路径时,让用户在应用里点「设置 → 插件管理 → 插件说明 → 打开插件目录」,以打开的位置为准。

参考资料

需要什么去哪里看
meta.json 字段、jliverAPI 全部方法、事件频道与字段、底层 WebSocket 协议references/api.md
可直接复制的最小插件template/meta.json、template/index.html
在线文档https://xinrea.github.io/JLiverTool/plugin-document.html

工作流程

  1. 先定清楚三件事再写代码:插件要展示或记录什么;需要哪些事件(频道名 + 字段,见 references/api.md);是否需要观众用弹幕命令交互(例如 #draw 3 4 #ff0000)。
  2. 建目录:在数据目录的 plugins/<folder>/ 下创建。<folder> 用纯 ASCII + 短横线(如 my-plugin),因为它会成为 URL 路径段。修改已安装插件时,同样改数据目录里的那份。
  3. 从模板起步:复制 template/ 的两个文件,改 meta.json 的 id/name/desc/version,再改 index.html。
  4. 本地跑通,按下文步骤和验收清单确认,不要只交代码。

本地调试

因为默认就写在数据目录,写完后在插件管理里点「刷新」即可。

  • 不要用 symlink 指到插件目录之外:HTTP 服务器会 canonicalize 真实路径并拒绝越界访问,页面只会得到 403。
  • 点「打开」会在浏览器打开 http://127.0.0.1:<http_port>/<folder>/index.html?ws_port=<ws_port>。
  • 插件管理里的「删除」会直接删掉磁盘上的插件目录,不是禁用开关,调试时不要用它清理列表。
  • 改了插件文件直接刷新浏览器页面(所有响应都是 no-cache);只有改端口需要重启应用。
  • 浏览器控制台应出现 JLiverTool Plugin API loaded 与 Connected to plugin server,jliverAPI.isConnected() 应为 true。
  • 不确定事件名和字段时,先 jliverAPI.register('*', e => console.log(e)) 打一遍真实事件。
  • 没有应用在跑时(例如直接以 file:// 打开 HTML)jliverAPI 不存在:代码必须能降级(等待 API、显示「未连接」),模板里的 ?demo=1 演示了这种做法。

交付给用户

插件已经在数据目录的 plugins/ 下时,在插件管理里点「刷新」,列表里就会出现。

硬性规则与常见坑

  • 入口文件必须叫 index.html:应用的打开按钮固定请求 <folder>/index.html;meta.json 的 index 只在加载时校验文件是否存在。
  • 不要自己引入 jliver-api.js:服务器会把脚本内容注入到 <head> 之后(没有 <head> 则插到文件开头),再手动引一次会注册两遍、连两条 WebSocket。
  • jliverAPI 可能不存在:注入脚本先于插件脚本执行,正常由应用打开时它已经就绪;但页面被直接打开(file://)时没有它,用模板里的 waitForApi() 兜住这两种情况再 register。
  • 频道名不区分大小写,'*' 监听全部;register() 返回取消注册的函数。
  • 事件不重放:页面刷新后只会收到之后的事件;需要累积状态就自己存 localStorage(页面与应用同为 http://127.0.0.1:<http_port> 源)。
  • 弹幕内容是不可信的用户输入:一律用 textContent 渲染或显式转义,禁止直接 innerHTML,否则观众可以往页面里注入脚本。
  • 字段可能是 null:例如没有粉丝勋章时 medal_name/medal_level 为 null,用前先判断。
  • 高频事件要批量处理:弹幕峰值每秒可达数十条,不要在回调里做强制重排或整块画布重绘;用 requestAnimationFrame 或定时聚合(参考 plugins/wordcloud 的定时更新、plugins/constellation-map 的动画循环)。
  • 端口不要硬编码:用 location.origin 和 URL 里的 ws_port 参数;端口可在设置里改(默认 8080/8081)。端口被占用时插件服务根本不会启动(日志里是 Failed to start plugin WebSocket server),此时换端口再重启。
  • 资源用相对路径:插件目录下的文件都通过 /<folder>/... 提供。
  • 插件页面没有特殊权限,跨域请求按普通网页处理(受浏览器和目标服务器 CORS 限制)。

验收清单

  • 「设置 → 插件管理」列表里能看到插件的名称/作者/描述/版本,说明 meta.json 合法且入口文件存在。
  • 点「打开」后页面无控制台报错,jliverAPI.isConnected() === true。
  • 真实弹幕/礼物/醒目留言能按预期渲染,或 register('*') 能看到对应事件。
  • 重启应用后插件页能自动重连,密集弹幕下页面不卡顿。
  • meta.json 的 version 已递增,插件目录名与首次发布保持一致。

© Xinrea, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/jlivertool-plugin of Xinrea/JLiverTool.

  • SKILL.md
  • references/api.md
  • template/index.html
  • template/meta.json

Open the folder on GitHubat commit 32a7f45

Compare with similar skills

Jlivertool Plugin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jlivertool Plugin compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jlivertool Plugin this skillXinrea/JLiverTool111—~1kAutomated safety check: PassMIT
Agent ReachPanniantong/Agent-Reach93k1 repos~1.4kAutomated safety check: PassMIT
Update V8 Versionopeninterpreter/openinterpreter69k2 repos~845Automated safety check: PassApache-2.0
Firecrawl Page Scrape Integrationfirecrawl/firecrawl190k1 repos~944Automated safety check: PassISC
BibiJimmyLv/BibiGPT-v16.2k1 repos~885Automated safety check: PassGPL-3.0
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0

Similar skills

  • Agent Reach

    Panniantong/Agent-Reach

    Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.

    93k GitHub starsUsed in 1 repo~1.4k tokens
    Productivity & AutomationAuto-check passed
  • Update V8 Version

    openinterpreter/openinterpreter

    Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.

    69k GitHub starsUsed in 2 repos~845 tokens
    DevOps & CloudAuto-check passed
  • Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.

    190k GitHub starsUsed in 1 repo~944 tokens
    Data & AnalyticsAuto-check passed
  • Bibi

    JimmyLv/BibiGPT-v1

    BibiGPT CLI for summarizing videos, audio, and podcasts directly in the terminal.

    6.2k GitHub starsUsed in 1 repo~885 tokens
    Media & CreativeAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.

    83k GitHub stars~753 tokensUpdated yesterday
    Testing & QAAuto-check: notes

Works with

Questions about Jlivertool Plugin

What does Jlivertool Plugin do?

开发、修改或调试 JLiverTool 插件(应用数据目录 plugins/ 下的浏览器端 HTML/JS 扩展,通过自动注入的 jliverAPI 接收弹幕、礼物、舰长、醒目留言和直播间状态事件)。默认直接写入用户数据目录。当用户要求为 JLiverTool 写插件、编写或检查 meta.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build…. Jlivertool Plugin is an agent skill from Xinrea/JLiverTool.json、用 jliverAPI 监听事件、或排查插件打不开/连不上/收不到事件时使用。Build, modify, or debug JLiverTool plugins.

How do I install Jlivertool Plugin in Claude Code?

Run `npx skills add Xinrea/JLiverTool --skill jlivertool-plugin -a claude-code`. Or copy the skill folder (skills/jlivertool-plugin in Xinrea/JLiverTool) into .claude/skills/jlivertool-plugin in your project. Claude Code loads it when a task matches its description.

How do I install Jlivertool Plugin in Codex?

Run `npx skills add Xinrea/JLiverTool --skill jlivertool-plugin -a codex`. Or copy the skill folder (skills/jlivertool-plugin in Xinrea/JLiverTool) into .agents/skills/jlivertool-plugin in your project. Codex loads it when a task matches its description.

Can I use Jlivertool Plugin in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Xinrea/JLiverTool --skill jlivertool-plugin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jlivertool-plugin, .gemini/skills/jlivertool-plugin, .github/skills/jlivertool-plugin and .opencode/skills/jlivertool-plugin in your project.

What does Jlivertool Plugin need to run?

SKILL.md names no scripts, command-line tools or credentials: Jlivertool Plugin is instructions for the agent only.

Does Jlivertool Plugin access the network?

SKILL.md names 1 domain. As links in the text: xinrea.github.io. This is read from the text; nothing was executed.

Is Jlivertool Plugin safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jlivertool Plugin use?

Jlivertool Plugin is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jlivertool Plugin use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Jlivertool Plugin?

Skills that share tags, products or a category with Jlivertool Plugin: Agent Reach (Panniantong/Agent-Reach, 93k stars), Update V8 Version (openinterpreter/openinterpreter, 69k stars), Firecrawl Page Scrape Integration (firecrawl/firecrawl, 190k stars) and Bibi (JimmyLv/BibiGPT-v1, 6.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jlivertool Plugin?

Xinrea (a GitHub user) maintains it in Xinrea/JLiverTool, which has 111 GitHub stars. The repository was last updated on September 19, 2026.

Source: Xinrea/JLiverTool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.