SuperAPI AI 工具集

core

部署与运维

查看项目

更新于 10-15 20:35

技能介绍

用途:wsh 把终端作为服务(Terminal as a Service)。core 是关键的前置参考技能,当没有 wsh_* MCP 工具时,任何 wsh 终端操作前都应先阅读它。它给出完整的 HTTP API 参考、可用的 curl 示例和启动引导流程,让代理以编程方式控制终端会话。

主要能力:通过服务端守护进程管理终端会话,经 Unix 域套接字提供 HTTP API。代理可以看屏幕、发送按键、等待命令结束、读取回滚历史,并创建可视元素。基本交互循环为:发送输入、等待空闲、读取屏幕、决定下一步。提供 sessions 会话管理(可带 name、command、tags,按 tag 过滤),input 注入按键(支持原始字节与控制字符),idle 等待空闲(支持 timeout_ms、last_generation、fresh),screen 读取屏幕(plain/styled),scrollback 读取历史,health 健康检查。此外支持 WebSocket 实时事件(lines、cursor、mode、diffs、input 等,可订阅并接收同步快照)、overlay 浮层与 panel 面板(支持命名 span 更新、区域写入、背景色、focusable)、输入捕获与焦点路由、备用屏幕模式。MCP 也以 MCP 服务器形式提供(14 个工具、3 个资源、9 个提示),经由同一套接字上的 /mcp 或 wsh mcp stdio 桥接。

必要用法:先检查默认套接字是否已有服务:WSH_SOCK=${XDG_RUNTIME_DIR:-/tmp}/wsh/default.http.sock;curl -sf --unix-socket $WSH_SOCK http://localhost/health。若需启动服务,使用带唯一名字的 -L,如 wsh server -L agent-$$ --ephemeral &,套接字路径由实例名确定。随后创建会话:curl -s -X POST --unix-socket $WSH_SOCK http://localhost/sessions -H "Content-Type: application/json" -d '{"name": "work"}'。再进入发送/等待/读取循环:向 /sessions/work/input 发送命令、向 /sessions/work/idle?timeout_ms=2000 等待空闲、向 /sessions/work/screen?format=plain 读取屏幕。所有端点通过 /sessions/:name/ 前缀按会话限定。

适用场景与限制:适用于代理驱动终端、监控输出、创建状态栏或对话框、输入捕获式审批提示、临时全屏界面等。默认仅在本地 Unix 套接字上提供,无需认证;TCP 需通过 --bind 显式开启,此时每个请求都需要 Bearer token(启动时自动生成或经 --token / WSH_TOKEN 设置,可用 wsh token 获取)。浏览器 WebSocket 需先用 Bearer token 换短期 ticket。idle 仅是提示,程序可能无输出地继续工作;30 秒内未稳定返回 408(可用 max_wait_ms 调整)。会话名限 1-64 字符,仅允许字母、数字、点、连字符、下划线;终端行列被限制在 1-1000。其余细节暂未提供。