ythx-101

Pocket Term — DevOps skill for Claude Code

DevOps community

Pocket web terminal in three tiers (L0 one-off / L1 persistent / L2 custom domain) — ttyd + Tailscale/Cloudflare, agent-friendly install scripts.

How to install Pocket Term

This entry records only its repository, not the path inside it, so there is no exact command to give. Open ythx-101/pocket-term and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Pocket Term does

Pocket web terminal in three tiers (L0 one-off / L1 persistent / L2 custom domain) — ttyd + Tailscale/Cloudflare, agent-friendly install scripts.

Alternatives in DevOps

  • Claudable — Claudable is an open-source web builder that leverages local CLI agents, such as Claude Code, Codex, Gemini CL 4k ★
  • Azure Event Grid .net — Event Grid topic and domain publishing 1.8k ★
  • Cccc — Coordinate your coding agents like a group chat — read receipts, delivery tracking, and remote ops from your p 1.1k ★

README

pocket-term-2

`pocket-term-2` 是 **pocket-term 产品线的第二个产品版本**:把 [herdr](https://github.com/earendil-works/herdr) agent 舰队做成适合手机使用的会话客户端。你可以在手机上浏览会话列表、进入 pane 查看消息气泡、查看状态和未读提示,而不必打开一整屏共享终端。

本版本支持页内通知、可选 Web Push、受保护的消息发送、图片附件、Markdown 附件预览和 HTML 附件沙箱预览。

本 README 是中文主文档。命令、API 路径、环境变量、协议字段、技术名词和许可证名称保留原文,便于直接复制和核对。

快速开始

Agent 请先阅读 `SKILL.md` 并按其中流程执行。部署者只需要决定端口、是否配置公网入口,以及是否启用 Web Push。

git clone  pocket-term-2 && cd pocket-term-2
# Node.js >= 20,并确保 herdr 正在运行且 Unix socket 可读
bash scripts/install.sh --port 7690
# 打开 http://127.0.0.1:7690/herd/

机器可验证的安装、检查和卸载步骤见 `AGENTS.md`。

脚本 用途
scripts/install.sh 非交互式安装:npm ci、systemd unit、可选 Push 和健康检查
scripts/gen-vapid.sh 将 VAPID 密钥对输出到 stdout,不写入 Git
scripts/smoke.sh 对运行中的实例执行冒烟检查

功能概览

  • 会话与消息:查看 herdr 会话、Tier A transcript 气泡、Tier B 屏幕流、SSE 实时更新和未读状态。
  • 受保护发送:同源校验、body 限制、按 pane 限流、pane 存在性检查,以及 PT2_READONLY 紧急只读开关。
  • 附件:图片上传/预览;Markdown 仅以安全 DOM 节点渲染;HTML 使用白名单清洗、空 sandbox 和独立预览窗口。
  • 通知:可选 Web Push;未配置 Push 时,页面通知和会话徽标仍然可用。

架构

浏览器 ──(CF Access)── 反向代理 ──► 127.0.0.1:7690  pocket-term-2 bridge
                                             │
                                             ├─ GET  /herd/            SPA
                                             ├─ GET  /herd/api/state
                                             ├─ GET  /herd/api/pane/:id/messages
                                             ├─ GET  /herd/api/events          (SSE)
                                             ├─ POST /herd/api/seen/:id
                                             ├─ POST /herd/api/upload?target=chat
                                             └─ GET  /herd/api/file?path=
                                             │
                                             ▼
                                        herdr.sock
                                             │
                                             └─ ~/.claude/pro