Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add yhy0/CHYing-agent --skill wss-terminalgit clone --depth 1 https://github.com/yhy0/CHYing-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yhy0/chying-agent/wss-terminal)<a href="https://agentmods.dev/skills/yhy0/chying-agent/wss-terminal"><img src="https://agentmods.dev/badge/skills/yhy0/chying-agent/wss-terminal/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yhy0/chying-agent/wss-terminal"><img src="https://agentmods.dev/badge/skills/yhy0/chying-agent/wss-terminal.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.01058 |
| Opus 5.5 | $0.00012 | $0.00423 |
| Sonnet 5.5 | $0.00006 | $0.00212 |
| Haiku 4.5 | $0.00003 | $0.00106 |
Grade A, and why
wss-terminal scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WSS Terminal Probe
当页面包含 Web 终端(xterm.js 等)时,按以下步骤提取 WSS 直连参数。
前置条件
- 已通过
navigate_page打开目标页面 take_snapshot确认页面存在终端元素(.xterm、.terminal、Terminal input等)
Step 1: 一键探测脚本
将以下 JS 复制到 evaluate_script 中执行:
() => {
const scripts = Array.from(document.querySelectorAll('script:not([src])'));
let wsScript = null;
for (const s of scripts) {
const t = s.textContent;
if (t.match(/WebSocket|ws:\/\/|wss:\/\/|onData|sendInput/)) {
wsScript = t;
break;
}
}
let wsUrl = null;
if (wsScript) {
const urlMatch = wsScript.match(/["'\x60](wss?:\/\/[^"'\x60]+)["'\x60]/);
if (urlMatch) wsUrl = urlMatch[1];
if (!wsUrl && wsScript.includes('location.host')) {
const pathMatch = wsScript.match(/["'\x60](\/ws\/[^"'\x60]*)["'\x60]/);
if (pathMatch) wsUrl = 'wss://' + location.host + pathMatch[1];
}
}
return {
wsUrl,
hasSendInput: wsScript?.includes('sendInput') || false,
hasBinaryPrefix: wsScript?.includes('CLIENT_CMD') || false,
hasGottyPrefix: wsScript?.match(/['"]1['"].*send/) !== null,
hasXterm: !!document.querySelector('.xterm'),
scriptLength: wsScript?.length || 0
};
}
Step 2: 判断协议类型
根据 Step 1 返回值映射:
| 特征 | 协议 |
|---|---|
hasSendInput=true 或 hasBinaryPrefix=true |
ttyd |
hasGottyPrefix=true |
gotty |
URL 包含 /wetty |
wetty |
URL 包含 /api/v1/ + exec |
k8s |
| 以上都不匹配 | generic |
Step 3: 提取认证凭证
3a. Cookie 提取
- 先试 JS 可访问的 cookie:
evaluate_script(() => document.cookie) - 如果为空(httpOnly cookie),通过网络请求提取:
- 调用
list_network_requests获取同域请求列表 - 选择一个成功的请求(200 状态码),调用
get_network_request(reqid=<id>) - 从返回的 Request Headers 中提取
Cookie字段值
- 调用
- 如果仍为空,检查是否有
Authorizationheader(Bearer token 等),用extra_headers传递
3b. Origin 推断
从目标 URL 提取 Origin(scheme://host[:port]):
wss://example.com/ws/shell → origin = "https://example.com"
ws://10.0.0.1:8080/ws → origin = "http://10.0.0.1:8080"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 113 lines · 29 tokens per session scan A d44e46fc9ac1
wss-terminal is a skill published in the GitHub repository yhy0/CHYing-agent (593 stars, last pushed 6mo ago), licensed MIT. It adds 29 tokens to every session and 1,058 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
interactive-login
Log a CLI in with a browser/device-code flow (aws sso, gh, glab, gcloud, …) and save the result to the keychain so later commands can request it through execute.credentials.
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
azure-messaging-webpubsub-java
Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
open-design-browser
Inspect and exercise local HTML design artifacts and library prototype previews with the existing agent-browser CLI, including screenshots, interaction checks, and rendered DOM snapshots. Use when rendered evidence helps author or review a design; excludes browser installation, remote services, and unrelated browser…
browser-skill
Use a real web browser - read pages through their accessibility tree, click and type by reference, call the tools a site offers (WebMCP), and hand the page to the owner for logins, CAPTCHAs and final confirmations.