云上跑 pi-web-ui 的进程守护、数据持久化与访问控制

简介: pi-web-ui 是 DeepSeek Harness 的 Web UI 工具,支持 systemd 守护、平滑排空(quiesce)、双目录数据持久化(sessions/dataDir)、多层访问控制(Token/Hosts/Tabs)及容器友好设计。提供健康探针、超时看门狗与阿里云部署最佳实践,适合长期常驻、需备份与安全管控的场景。(239字)

在 Linux 上 pi-web-ui server install 会落成一个 systemd unit,systemctl enable --now 之后实例开机自启、崩溃由 systemd 拉起。但守护不止这一个动作,server 子命令族才是日常:server status 看运行状态与实时统计(版本、PID、排空状态、已连接浏览器、运行中会话),server restart|stop|start 管生命周期,server uninstall 彻底移除,server shortcut 生成桌面快捷方式。所有配置在安装前都能预演:pi-web-ui server install --print 会把它将要写出的 unit 打印出来然后退出,先审再装。要改端口、cwd 或引擎不必手改 unit——重跑一次带新参数的 server install,它会重新生成并重启服务。容器里没有 systemd 时,靠的是镜像自带的崩溃退避与看门狗,别在容器里再套一层进程管理器。

quiesce 在升级与备份前的作用

升级前最怕「有会话正跑着就被打断」。server quiesce 会进入排空模式:拒绝新的对话、fork 与会话恢复,但已在跑的会话会跑完再收尾;处理干净后再 server unquiesce 重新放行。所以在重启服务、换版本、做备份之前,标准动作是 quiesce → 等在手的任务结束 → 操作 → unquiesce。

二、数据持久化:哪些东西不该随实例消失

数据到底落在哪两个目录

pi-web-ui 的状态分两处:会话记录在 /sessions/(默认 ~/.pi/agent/sessions/),UI 设置、最近项目、插件、上传、主题、语言包在 (默认 ~/.pi-web/)。这两个目录在卸载、升级、重装中都会保留——npm uninstall -g pi-web-ui 不会删掉任何会话;反过来,真要清干净也得手动删,而且删之前要先备份 sessions/ 与 plugins/。重装后跑一次 server install 就会重新接管。想换位置有两个开关:--data-dir 与 --agent-dir。

容器的数据边界

容器里数据目录 /app/.pi-web 是 volume,容器一重建,没挂卷的东西就全没了。用 compose 的具名卷 pi-web-data(或显式挂载)把它持久化;同时 PI_WEB_HOST=0.0.0.0 是端口映射的必需项,不设容器外连不上。上传文件默认按 PI_WEB_UPLOAD_RETENTION_DAYS(14 天)清理,设 0 表示永不清理;DSH 引擎的会话按 PI_WEB_DSH_SESSION_RETENTION_DAYS(90 天)清理。这两个保留期要和你自己的备份节奏对上。

三、访问控制与边界

三把访问控制的钥匙

第一把是 PI_WEB_TOKEN,四种带法(Authorization: Bearer、X-PI-Token、?token=、pi_web_token cookie),而 /api/health 保持开放给探针。第二把是 PI_WEB_ALLOW_HOSTS,在永远开启的同源校验之上再加一层主机名白名单。第三把是 PI_WEB_TABS,只暴露需要的标签页,服务端也会拒绝隐藏页的消息,chat 不可关。另外 PI_WEB_MANAGED=1 用于「由外部部署托管」的场景:它会明确拒绝自更新、装 pi CLI、装插件并在 UI 隐藏这些入口(版本 chip 变成纯文字),副作用是升级得你自己维护——所以要么把安装动作放进镜像构建阶段,要么干脆别开它。

文件与凭证的边界

内置文件接口的边界很明确:工作区相对读写会拒绝 .. 逃逸,工作区外的路径只能通过显式绝对路径访问;/api/file 的内联流只限图片、视频和 HTML,其它类型必须带 ?download=1 以附件形式下载,二进制没法藏在 标签里被偷渡;HTML 预览始终以沙箱方式提供。凭证方面,provider 的 headers(可能带 Authorization / API key)永远留在服务端,不下发浏览器。

四、可观测与治理

看门狗与健康探针

工具有三道温和的兜底:单次工具调用超过 20 分钟自动中止(PI_WEB_TOOL_TIMEOUT_MS,Settings → Tools 可覆盖,0 关闭,问卷类调用豁免);流式运行 3 分钟没有任何事件时给警告但不中止(PI_WEB_STALL_NOTIFY_MS);终端静默 15 秒后提醒 AI 去看一眼(PI_WEB_TERMINAL_IDLE_MS)。外部探针直接打 /api/health 即可,它不需要令牌,也顺带暴露了当前解析到的 SDK 副本清单。

阿里云上的落位建议

实例层面,安全组按最小放通:对外只开必要的 80/443(或 SSH 的 22),服务端口不要对外暴露;数据目录放在数据盘上能与系统盘解耦,实例重装时更好搬迁。备份用快照与自制镜像,尤其在做大版本升级或改数据目录之前打一次。计费上按需选按量或包年包月,长期常驻更适合后者。网络方面留意 EIP 与带宽:反向代理和 WebSocket 长连接都会持续占用一点出网带宽,带宽偏小时长连接多开几路就容易挤。

需要一并说明的是,该插件在本站的静态安全扫描中被评为 🔴 高危(安装期即执行代码、命令参数由运行时变量拼接),目前没有任何人工复核。请把它当成一条待核实的提示,而不是安全承诺。

总结

云上跑 pi-web-ui 的重心是进程守护、数据持久化、访问控制与可观测这四件事,安装只是开场;

适合与不适合

适合:要长期常驻、希望实例重启后自动恢复的人;在意会话与上传数据可迁移、可备份的人;需要按人收敛可见标签页、把凭证留在服务端的人;用 docker compose 跑、需要明确定义数据边界的人。不适合:只临时用一次、不想维护常驻服务的人;没有备份与快照习惯、又不接受数据只在单机上的人;指望开箱即用零配置的团队。

标签:pi-web-ui、DeepSeek Harness、进程守护、数据持久化

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

目录
相关文章
|
1月前
|
弹性计算 运维 安全
把远程连通放进生产习惯:门禁、备份与升级节奏
本文详解 dsh-bridge 远程通道的长期安全运维:聚焦门禁分层(分流+验证)、独立管理员密码、配置备份、域名治理、阿里云最小授权及定期巡检,强调将 Token 轮换、配置导出等设为例行动作,助开发者从“能连通”迈向“可持续、可管控”的远程运维。(239字)
137 1
|
8月前
|
人工智能 自然语言处理 数据可视化
【RuoYi-SpringBoot3-Pro】:AI 能力再再扩展,打通 RAGFlow 知识库和 Dify 应用平台
【RuoYi-SpringBoot3-Pro】AI能力再升级!无缝集成RAGFlow知识库(支持数据集/文档/块管理及流式对话)与Dify应用平台(对话、知识库、工作流),提供同步、异步、流式三种调用模式,以“外挂”方式灵活扩展企业级AI能力。
972 4
|
26天前
|
API 开发工具 数据安全/隐私保护
阿里云域名省钱实操全教程:注册 / 续费 / 转入优惠口令、新用户 1 元购、API 批量管理与踩坑汇总
2026年域名采购,不要直接默认按照页面标价下单。完整梳理活动链路:注册阶段优先评估新用户1元起活动;续费场景合理使用对应后缀优惠口令;存量域名迁移,集中每周三转入日完成批量转入拿到阶梯低价。同时要牢记各类优惠之间大多互斥,并且区分普通词域名和溢价域名,溢价域名基本无法享受促销。
191 0
|
1月前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
2月前
|
缓存 测试技术 API
通义千问Qwen3.8‑Flash多模态MoE模型全解析:百万Token上下文、API实操、计费与场景落地指南
大模型行业已经从简单问答走向真实业务落地,开发者在选型API服务的时候,不再只关注基准测试分数,上下文窗口大小、多模态输入支持、工具调用稳定性、接口兼容性、推理延迟以及Token计费成本,共同决定AI应用能否稳定上线运行。Qwen3.8‑Flash作为通义千问推出的新一代多模态混合专家MoE模型,模型调用ID为`qwen3.8‑flash`,主打百万级超大上下文窗口,原生支持文本、图片、视频多模态输入,输出格式为文本,在编程辅助、智能Agent工作流、超长文档解析、图文视频混合理解场景表现突出,同时兼容OpenAI、Anthropic两套主流接口协议,开发者几乎不用大规模修改原有业务代码,就可
906 2
|
12月前
|
弹性计算 人工智能 安全
阿里云服务器DDoS基础防护介绍,500Mbps-5Gbps免费防护力,流量清洗流程参考
DDoS基础防护是免费的,防护对象包括ECS、SLB、EIP(包含绑定NAT网关的EIP)、IPv6网关、轻量服务器、WAF、GA等云产品。可有效防止云服务器ECS实例受到恶意程序发起的DDoS攻击。即当流入ECS实例的流量超出实例规格对应的限制时,云安全中心将帮助ECS实例进行限流,以避免出现数据泄露、服务器断开连接和业务无法访问等问题。下文为大家介绍DDoS基础防护的功能和原理。
1036 128
阿里云服务器DDoS基础防护介绍,500Mbps-5Gbps免费防护力,流量清洗流程参考
|
2月前
|
存储 人工智能 监控
预览下一代Qwen4架构,解析Qwen3.8‑Flash的Coding、Agent与成本优势
2026年,Qwen团队正式对外推出Qwen3.8‑Flash‑Next开源权重模型,对应的线上生产服务版本命名为Qwen3.8‑Flash。这套模型不只是一次常规版本迭代,更是下一代Qwen4整套架构思路的提前对外预览,在稀疏激活架构、超长上下文、代码工程能力、智能体工具调用以及推理成本层面都带来了非常关键的变化。总参数规模125B,采用稀疏MoE设计,每一个Token推理阶段仅激活约6B参数;开源版本原生支持262144 Token上下文窗口,借助YaRN技术可扩展至100万Token;线上云服务版本Qwen3.8‑Flash默认直接开启100万Token上下文能力,同时大幅强化代码处理、
2127 0
|
5月前
|
存储 人工智能 JavaScript
Claude code云端部署 & 魔改sdk实现http流式调用保姆级教程
本文介绍将Claude Code本地CLI改造为云端HTTP流式服务的完整方案:通过离线打包部署、FastAPI+SSE封装SDK、Docker镜像构建及“一用户一沙箱+文件版本化”隔离架构,实现多用户安全、可伸缩、状态持久的Agent服务能力。
885 1
Claude code云端部署 & 魔改sdk实现http流式调用保姆级教程
|
7月前
|
人工智能 JSON BI
Claude Code + DeepSeek V4 唯一的遗憾要被补齐了:多模态识图灰度上线
JeecgBoot AI专题研究 用 DeepSeek V4 几乎完美替代 Claude,唯一卡点就是不收图——这块短板马上要补上![](https://oscimg.oschina.net/oscnet/up9146c3ec0c19f2abe92a111fbac35c4e462.png) 一句
3234 2
Claude Code + DeepSeek V4 唯一的遗憾要被补齐了:多模态识图灰度上线
|
安全 测试技术 程序员
web渗透-文件包含漏洞
文件包含漏洞源于程序动态包含文件时未严格校验用户输入,导致可加载恶意文件。分为本地和远程包含,常见于PHP,利用伪协议、日志或session文件可实现代码执行,需通过合理过滤和配置防范。
1655 79
web渗透-文件包含漏洞