pi-web-ui 是一个 AI 编程智能体(pi / DSH)的浏览器工作台。它和一般「网页版聊天」的区别在于:智能体本身不在浏览器里跑,而是运行在服务端,事件经 WebSocket 流式推送到浏览器,页面只负责渲染。于是你既能看到思考块与工具调用滚动出现,也能在同一个页面里聊天、写代码、改文件、用终端、管 Git。项目是 xing-shuyin/pi-web-ui,MIT 许可,npm 包名 pi-web-ui,要求 Node >= 22.19.0。想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。
下面按一天里的实际使用顺序走一遍:打开浏览器、切会话与项目、丢附件与图片、用内置终端与 Git、看后台任务、调模型与设置,最后是语言与主题。
打开浏览器就开工:这套工作台把什么放进了页面
启动之后打开浏览器即可使用,默认只监听本机回环地址。左边是项目与会话,中间是对话流,右侧是文件树,顶部一排标签页把聊天、终端、Git、搜索、任务、设置、界面插件等功能都收在同一个页面里。你不需要额外装 IDE,也不用把项目拖进某个云端工作区——工作区根目录就是智能体读写文件、终端启动的位置。标签页本身也可以被服务端裁剪,只暴露你指定的那几个,聊天页永远保留。
会话与项目:一天里最频繁的动作其实是切换
一天里你会反复切项目、切会话。项目切换后,工作区根目录随之改变,智能体读写的文件、终端的工作目录都跟着走,不需要重启服务。每个项目下可以开多个会话并行,切走之后它们仍在后台继续跑,列表里能看到各自的流式进度,随时切回来接着看。
并行会话如何不丢进度
并行的会话各自拥有独立的智能体运行时,一个在跑长任务时,你完全可以再开一个去改另一处代码。历史列表读取的是智能体目录下按工作区归档的会话记录,与命令行里的会话共用同一份 transcript,所以浏览器和终端看到的是同一份历史。
附件与图片问答:路径引用与视觉桥
给智能体加文件有两条路:一是把文件作为路径引用挂进去,让模型按需自己去读;二是直接上传,文件落到统一的上传目录、按绝对路径被引用。图片会被压到合适尺寸后作为图像内容发出。如果你的当前模型不支持视觉,pi-web-ui 还有一层「视觉桥」:由自动发现的视觉模型把图片转写成文字证据,再喂给文本模型,模型与开关都可以在设置里配置。文件树是实时刷新的;文件预览还能直接当编辑器用,改完保存即可。
内置终端与 Git:命令行不必另开窗口
内置终端基于 xterm.js 与 node-pty,每个客户端独立管理自己的 PTY,可以开多个标签页,切来切去不丢回滚内容。智能体自己拉起的终端会被折进一个单独的分组,不至于淹没你手动开的那些。
Git 面板给出状态、分支、差异、历史与未跟踪文件,支持按文件暂存与取消暂存,也有提交框,写操作会跑到可见终端里执行;面板会自己刷新,所以你在浏览器外做的提交也会自己冒出来。
由智能体拉起的终端会被单独归类
这一点在实际使用里很实用:智能体通过 bash 工具接管终端时,它的输出不会和你的手工终端混在一起。终端长时间静默时,服务端还会用输出的尾部去提醒智能体——读一下、答一下或者收掉它,避免一轮对话在那儿干等。
后台任务面板:谁在占端口一眼看清
智能体跑命令时可能顺手拉起服务进程。后台任务面板通过对比运行前后监听的端口来识别这些进程,列出端口、pid、名称与命令,可以单个停掉,也可以一次全清。这个列表属于浏览器客户端,而不是某个会话,所以切项目、切会话、断线重连之后它都还在。配套的看门狗会在工具调用超时后自动中止,超时时长可以在设置里调整。
模型与设置:密钥永远留在服务端
模型管理在页面里直接编辑模型清单,并支持按 provider 配置密钥。关键的一点是凭证留在服务端:provider 的请求头这类可能携带 Authorization 的内容不会下发到浏览器,浏览器最多只看到密钥的别名。设置面板里还有自定义系统提示词、技能与插件开关,以及可以保存与一键应用的设置预设,方便随手复用。
语言与主题:十种界面语言怎么落地
界面语言共 10 种:中英内置,另外 8 个是可下载的语言包,装进数据目录即可生效,也可以手工放一个语言包做完全离线安装。主题是纯配色覆盖,在顶栏切换,当前选择按浏览器保存;换主题只改配色,不动布局。
双引擎:pi 与 dsh 的差别值得单独讲
pi-web-ui 支持双引擎切换,环境变量是 PI_WEB_ENGINE=pi|dsh,缺省为 pi。dsh 引擎会把官方 @deepseek-ai/dsh 运行时作为子进程跑起来,但对外仍是同一套 WebSocket 协议,所以 goal 模式、源码管理、后台任务、设置、插件、终端这些行为是一致的;真正的区别藏在运行时自身的约束里。
DSH 引擎下必须记住的四条边界
- 思考强度固定为 high,换其他档位会被运行时挡回来。
- 打开旧会话是只读重放:因为运行时没有原地 resume,你若继续提问,会新建一个分支,并把旧对话当作上下文注入进去;编辑后再问同理。
- Stop 会杀掉运行时进程树,所有正在运行的 DSH 会话会一起停下,而且不支持只停某一条 bash。
- 会话存放在数据目录下的
dsh-sessions/中,按 90 天清理,每个项目最多 8 个并发会话;工具跑在workspace-write沙箱里且审批关闭,Stop 按钮就是你的主要控制手段。
另外,pi 专属能力在 dsh 引擎下会明确提示不可用(会话重命名、/compact、/reload、扩展热重载、子代理模板、自定义 provider 与多密钥、provider 模型探测、安装 pi CLI、视觉桥、逐工具开关等),界面会直接隐藏入口或给出说明,而不是静默失败。
这里如实补一条更该先看的:本站对该插件的静态安全扫描为 🔴 高危,依据是「安装期即执行代码,或命令参数由运行时变量拼接」,且尚无人工评估——扫描结果不构成安全背书,装之前请自行判断。
总结
一句话概括:pi-web-ui 把编码、终端与 Git 收进一个浏览器标签页,代价是它默认只服务本机、服务一停全都停;想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。
适合与不适合
适合:常年在浏览器里工作的开发者;需要一边让智能体跑长任务、一边切到别的会话改代码的人;想把终端与 Git 都留在页内、不愿再开一个 IDE 的人;手边设备杂、只想靠浏览器接入的人。
不适合:它默认不监听外网,想直接从公网打开又不愿配反向代理的就不用考虑;期望开箱即用的云托管版本、不想自己维护进程的也不合适;DSH 引擎下没有原地 resume,需要严格续接同一会话的场景要谨慎;桌面安装包目前未做代码签名,对系统安全提示敏感的人请提前权衡。
标签:pi-web-ui、DeepSeek Harness、浏览器工作台、DSH 引擎
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=fhtap7kpcyr