让 AI 像真实用户一样使用终端。
31.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/ming-14/PTY-Agent.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/31) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包PTY-Agent(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:14:06
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 取源不可用(Error: github tarball HTTP 404 @ https:
- · api.github.com
- · repos
- · ming-14
- · PTY-Agent
- · tarball)
扫描于 2026/11/3(1 天前)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 持久PTY会话
- 提示符触发返回
- 屏幕快照
给智能体一个真实的终端:持久 PTY 会话、提示词触发返回、屏幕快照,以及 TUI/GUI/崩溃感知。
README
由 DeepSeek 最新模型翻译生成PTY-Agent
让 AI 像真实用户一样使用终端。
驱动 REPL、调试器、TUI、安装程序、长时间运行的服务以及编码代理——获取用户实际在屏幕上看到的内容,而不仅仅是原始的 stdout 字节流。
Python
Windows
Linux
Architecture
src
Tests
Web
功能特性
- ✨ Shell · CUI · TUI — 像人类一样使用终端:启动会话、发送按键、等待提示符、读取屏幕
- ✨ 跨平台 — Windows / Linux,macOS 即将推出
- ✨ 实时 Web 监控 — 观看并控制每个终端会话,实时协作
- ✨ 沙箱 — 将 AI 操作限制在工作区内,防止意外损坏
- ✨ 插件系统 — 自由扩展功能
- AI 二次分析 — 将长日志、大输出,甚至渲染后的终端截图传递给另一个 AI
- 子代理 — 跨多种运行环境启动 OpenCode / Claude Code / ...,统一管理
- 工作流编排 — 多会话 DAG 编排
- 远程终端访问 — 类似 SSH 的体验
为什么选择 PTY-Agent?
传统代理无法运行 ssh、gdb、cdb 或任何会向你提问的程序。
展开完整文档(README 剩余 1 节)
PTY-Agent
让 AI 像真实用户一样使用终端。
驱动 REPL、调试器、TUI、安装程序、长时间运行的服务以及编码代理——获取用户实际在屏幕上看到的内容,而不仅仅是原始的 stdout 字节流。
Python
Windows
Linux
Architecture
src
Tests
Web
功能特性
- ✨ Shell · CUI · TUI — 像人类一样使用终端:启动会话、发送按键、等待提示符、读取屏幕
- ✨ 跨平台 — Windows / Linux,macOS 即将推出
- ✨ 实时 Web 监控 — 观看并控制每个终端会话,实时协作
- ✨ 沙箱 — 将 AI 操作限制在工作区内,防止意外损坏
- ✨ 插件系统 — 自由扩展功能
- AI 二次分析 — 将长日志、大输出,甚至渲染后的终端截图传递给另一个 AI
- 子代理 — 跨多种运行环境启动 OpenCode / Claude Code / ...,统一管理
- 工作流编排 — 多会话 DAG 编排
- 远程终端访问 — 类似 SSH 的体验
为什么选择 PTY-Agent?
传统代理无法运行 ssh、gdb、cdb 或任何会向你提问的程序。
| 传统方式 | PTY-Agent |
| 无 TTY — 程序回退到非交互模式 | 真正的伪终端 |
| 仅"运行并检查" | 持久会话 |
| 无法"等待特定提示符" | -t "" 触发器,匹配时返回 |
| 挂起 / 崩溃 / 弹窗 → 调用方挂起,用户等待 | 超时、GUI 检测、崩溃检测 — 均能干净返回 |
| 原始字节流 | 渲染后的终端快照 |
快速概览
| 模式 | pty(默认,屏幕快照,适用于 TUI/REPL);--subprocess(增量输出 + stderr,适用于编译/下载) |
| 返回原因 | ok / matched / timeout / idle / ended / crashed / gui / cancelled / notify |
| 输出过滤 | -l N、-g ""、-s 增量差异、--column N、-o 导出 .svg/.png/.jpg/.txt |
| 输入 | send 原始文本;advsend 支持 {ctrl+c} {enter} {f1}~{f12},换行符 lf/crlf/cr/none;鼠标 click/drag/scroll/hover/press/grep,配合 --grep 坐标查找 |
| 异步 | --notify 立即返回,通过 wait / notice 获取结果,非阻塞 |
| 编排 | workflow YAML DAG:依赖并行、if 条件(AST 安全求值)、retry、on_error |
| Web | 浏览器终端(xterm.js + Web RIME 输入法)、FastScreen 流式传输、VNC 远程桌面,默认 127.0.0.1:18766 |
| 沙箱 | Windows 可选启用:Job Object + 受限令牌,仅允许工作区写入,CPU/内存/进程/墙钟时间配额 |
安装
需要编译。下载预构建的 Release 包,或克隆后运行 build.py。
架构
graph LR
A["AI Agent"] -->|"PTY-Agent <cmd>"| B["CLIsrc/cli · src/client"]
B -->|"TCP · NDJSONToken+HMAC / TLS+Ed25519"| C["Daemonsrc/daemon"]
C --> D["Sessionsrc/session"]
D --> E["PTY backendsrc/pty"]
E -->|"ConPTY / openpty"| F["Real program"]
F --> G["Reader thread → output buffer"]
G --> H["Terminal model wezterm-termVT parse → snapshot/diff/SVG"]
H --> I["Trigger detectionregex · idle · crash · GUI"]
I -->|"Response JSON"| B
C --> J["Web · workflow · plugins"]
配置
配置文件位于 config/,可通过环境变量 PTY_AGENT_ 覆盖,需重启生效。
CLI ──token──▶ 127.0.0.1:10520 (本地开发,强认证) CLI ──basic──▶ 0.0.0.0 :10521 (本地开发,弱认证) CLI ──tls────▶ 0.0.0.0 :18767 (远程访问) Browser ──────▶ 127.0.0.1:18766 (Web UI)
| 文件 | 用途 |
| common.toml / shared.toml | 数据目录(~/.pty-agent)、默认终端尺寸、协议缓冲区 |
| daemon/daemon.toml | 3 个监听器、缓冲区、默认超时(120s)、认证与密钥 |
| daemon/sandbox.toml | 沙箱开关与配额(默认:关闭) |
| client/client.toml | CONNECT_MODE = basic\|token\|tls、TOFU 严格模式 |
注意:若在同一台机器上运行两个 PTY-Agent 实例,请禁用 SINGLE_INSTANCE。
文档
| 文档 | 描述 |
| ARCHITECTURE.md | src/ 包架构、模块分层、调用链 |
| CLI.md | CLI 参考 |
| WORKFLOW.md | 工作流编排(YAML 步骤、并行、条件、重试) |
| PLUGINS_API.md | 插件开发指南 |
| CONFIG.md | 配置参考 |
许可证
除 src\web\static\ 和 web_rime\ 外,其余均为 MIT。
src\web\static\ 和 web_rime\ 使用 AGPL-3.0 许可证。
特性
- ✨ 轻松操作 Shell · CUI · TUI —— 真正像人一样使用终端:起会话、发按键、等提示符、看屏幕 ✨
- ✨ Windows / Linux 跨平台 —— 将来还会支持 MacOS ✨
- ✨ 实时 Web 监控 —— 实时接管每一个终端会话,也可以一起协作 ✨
- ✨ 沙箱系统 —— 启用后,AI 只在工作区工作,根本上防止删盘
- ✨ 强大的插件系统 -- 需要什么功能,随意扩展
- AI 二次分析,长上下文一步就好 —— 把长日志、大段输出、甚至渲染后的终端图片直接交给另一个 AI,一步返回结论
- 子 Agent:跨 Harness 启动,统一管理 —— OpenCode / Claude Code / ... 支持扩展
- workflow 多会话编排
- 跨机访问终端 —— 支持 ssh 般的体验
为什么需要它
常规 Agent 跑不了 ssh、跑不了 gdb、跑不了 cdb,也跑不了任何会反问你一句的程序
| 传统调用 | PTY-Agent |
| 无 TTY,程序自动降级为非交互模式 | 真实伪终端 |
| 只能"跑完再看" | 可使用持久化终端 |
| 无法"等到出现某个提示符" | -t "" 正则触发器,命中即返回 |
| 卡住 / 崩溃 / 弹窗 → 调用方一起卡死、user白白等待 | 静默超时、GUI 窗口、崩溃、进程退出 —— 全部可感知、可返回 |
| 拿到原始字节流 | 拿到渲染后的终端屏幕快照 |
能力速览
| 运行模式 | pty(默认,屏幕快照,适合 TUI/REPL);--subprocess(增量输出 + stderr 分离,适合编译/下载) |
| 自定义返回条件 | ok / matched / timeout / idle / ended / crashed / gui / cancelled / notify |
| 结果裁剪 | -l N、-g ""、-s 增量 diff、--column N、-o 导出 .svg/.png/.jpg/.txt |
| 输入 | send 原样;advsend 支持 {ctrl+c} {enter} {f1}~{f12} 等控制字符;行尾 lf/crlf/cr/none,鼠标click/drag/scroll/hover/press/grep,--grep "" 用文本反查坐标,不必数行列 |
| 异步 | --notify 立即返回,条件满足后由 wait / notice 取回,不阻塞自己 |
| 编排 | workflow YAML DAG:依赖并行、if 条件(AST 白名单安全求值)、retry、on_error |
| Web | 浏览器终端(xterm.js + Web RIME 中文输入法)、FastScreen 屏幕流、VNC 远程桌面,默认 127.0.0.1:18766 |
| 沙箱 | Windows opt-in:Job Object + 受限令牌,仅工作目录可写,内存/CPU/进程数/墙钟配额 |
安装
该 Skill 需要编译,请下载 Release 的预编译包,或者 clone 之后使用build.py编译
它是怎么工作的
graph LR
A["AI Agent"] -->|"PTY-Agent <cmd>"| B["CLIsrc/cli · src/client"]
B -->|"TCP · NDJSONToken+HMAC / TLS+Ed25519"| C["守护进程src/daemon"]
C --> D["会话管理src/session"]
D --> E["PTY 后端src/pty"]
E -->|"ConPTY / openpty"| F["真实程序"]
F --> G["读者线程 → 输出缓冲"]
G --> H["终端模型 wezterm-termVT 解析 → 快照/diff/SVG"]
H --> I["触发检测正则·静默·崩溃·GUI"]
I -->|"响应 JSON"| B
C --> J["Web · workflow · 插件"]
配置
配置集中在 config/,可用环境变量 PTY_AGENT_ 覆写,改完需重启进程
CLI ──token──▶ 127.0.0.1:10520 (本地开发强验证) CLI ──basic──▶ 0.0.0.0 :10521 (本地开发弱验证,没问题开这一个就好) CLI ──tls────▶ 0.0.0.0 :18767 (提供跨机访问) 浏览器 ───────▶ 127.0.0.1:18766 (Web)
| 文件 | 管什么 |
| common.toml / shared.toml | 数据目录(~/.pty-agent)、默认终端尺寸、协议缓冲 |
| daemon/daemon.toml | 三监听器、缓冲区、默认超时(120s)、认证与密钥 |
| daemon/sandbox.toml | 沙箱开关与配额(默认关闭) |
| client/client.toml | CONNECT_MODE = basic\|token\|tls、TOFU 严格模式 |
注意:如果一台设备要开启两个 PTY-Agent,请关闭单实例锁SINGLE_INSTANCE
文档
| 文档 | 说明 |
| ARCHITECTURE.md | src/ 包模块化架构设计,为代码维护与扩展提供指导 |
| CLI.md | 命令行帮助文档 |
| WORKFLOW.md | Workflow 脚本编排使用文档(YAML 步骤定义、依赖并行、条件、重试) |
| PLUGINS_API.md | 插件开发指南(Plugin API) |
| CONFIG.md | 配置说明 |
许可证
除了src\web\static\、web_rime\,其他都为 MIT
src\web\static\、web_rime\使用 AGPL-3.0 license
https://github.com/user-attachments/assets/5d8402e8-5fa6-4c7e-91b0-124a2ea953e4预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ming-14/PTY-Agent
让 AI 像真实用户一样使用终端。
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目