Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -596,11 +596,15 @@ Web 设置页可以添加或编辑自定义模型、保存服务商 API Key。

输入 `/` 可查看原生发现的命令及不可用原因。`/openpi-setup` 使用原生配置回合;无参数的 `/ps`、`/lg`、`/subagents`、`/btw` 打开对应 Web 面板,不发送模型请求。这些面板快捷命令不接收参数或图片,带参时保留输入并提示。`/usage` 使用原生命令,在聊天中显示查询结果。运行中的回合显示“已处理”时间,结束后显示“用时”;时间从 Pi 实际开始执行计算,并随原生 Session 保存。没有可靠耗时记录的旧回合不推算补值。

输入框支持直接粘贴受支持的图片和混合文字,读取期间保留发送等待状态。生成文件中的 PNG、JPEG、GIF、WebP 可在已有文件授权范围内预览(上限 20 MiB);SVG 与 HTML 不作为图片执行。Git、文件和子代理面板隐藏时会减少自动读取,重新打开时恢复更新。
输入框支持直接粘贴受支持的图片和混合文字,读取期间保留发送等待状态。「文件」直接浏览工作区:右侧文件树、左侧原位预览,不为每个文件另开窗口。目录和文件名搜索可点击「加载更多」,长文本可按同一内容版本「继续读取」;展开位置、搜索词和阅读位置在面板内保留。文件树重新打开、窗口重新获得焦点或点击刷新时更新;文本有新版本时先提示,手动刷新后替换内容。

文件顶部提供「预览 / 编辑」切换、保存按钮与 Cmd/Ctrl+S。工作区内不超过 1 MiB 的 UTF-8 文本在完整读取后可编辑;文件保存核对内容版本,检测到外部修改时保留草稿,刷新后可查看磁盘版本并手动核对。当前浏览器窗口最多保留 16 份内存草稿,切换文件或会话后重新打开文件可继续,刷新页面不保留。工作区外的授权文件仍只读。Markdown 右上角的章节目录可展开、跳转到标题,并标记当前章节;窄面板中正文和文件树仍是独立列,可手动收起文件树扩大阅读区域。

文件预览支持 Markdown(含 Mermaid 放大、表格和安全的内嵌 HTML)、代码语法高亮、CSV/TSV、PNG/JPEG/GIF/WebP、SVG/HTML 沙箱、PDF 分页,以及 DOCX 内容、XLSX 工作表、PPTX 文字与图片。Office 是内容预览,不保证与原软件的分页、主题、图表和动画一致;旧版二进制 Office 格式可下载后打开。文件读取和下载上限为 20 MiB,Office 解压、表格单元格与渲染时间另有资源上限。HTML/SVG 不执行脚本或加载外部资源;文件树显示但不跟随符号链接。Git、文件和子代理面板隐藏时会减少自动读取,重新打开时恢复更新。

长会话可向上加载更早的消息,通常按最多 20 个用户回合取页,同时保留 250 条/2 MiB 上限;单个过大的回合仍可分段找回。阅读窗口上限为 1000 条/8 MiB。加载和流式追加保持阅读位置;发送新消息或点击“跳至最新”返回当前尾部。单条超长用户或助手正文可按原生条目 ID 显式加载完整内容,每次最多读取 32,000 个字符;工具输出仍保持有界预览。运行中有草稿时同时提供发送和停止按钮,排队数来自 Pi;已接收不表示已经执行完成。

变更面板默认展示 Git 未暂存变更,也可切换到暂存、分支或会话基线;输入框不再显示整个工作区的累计变更文件。新 Web 回合在对话中展示该轮期间的文件变化,审阅读取随 Pi Session 保存的有界 diff,不会用当前工作树冒充历史结果。此比较不能区分同一时间其他进程的改动;非 Git 工作区、过大的初始变更或超出记录上限时会标明无法验证或部分结果,旧回合不回填。手动变更面板的列表与逐文件 diff 分开加载,大型未跟踪文件不会阻止读取整个工作区;达到显示限额会标注截断。会话基线仍是有容量限制的附加视图,不能替代 Git。跨 worktree 的原生编辑记录可以在“生成文件”中查看;读取工作区外的文件需点击“只读打开此文件”,仅授权该文件,不放宽整个目录。
变更面板默认展示 Git 未暂存变更,也可切换到暂存、分支或会话基线;输入框不再显示整个工作区的累计变更文件。新 Web 回合在对话中展示该轮期间的文件变化,审阅读取随 Pi Session 保存的有界 diff,不会用当前工作树冒充历史结果。此比较不能区分同一时间其他进程的改动;非 Git 工作区、过大的初始变更或超出记录上限时会标明无法验证或部分结果,旧回合不回填。手动变更面板的列表与逐文件 diff 分开加载,大型未跟踪文件不会阻止读取整个工作区;达到显示限额会标注截断。会话基线仍是有容量限制的附加视图,不能替代 Git。原生编辑记录保留在对话的工具证据中;读取工作区外的文件需点击“只读打开此文件”,仅授权该文件,不放宽整个目录。

内嵌浏览器采用 React + TypeScript 工具栏和原生 iframe,输入、滚动和选中文字由用户浏览器直接处理,不启动额外 Chromium 或传输视频。支持最多 8 个页内标签页、手动地址历史及重新打开。跨站网页的真实地址和历史无法完整读取;网页弹窗在外部浏览器打开,拒绝嵌入的站点需要外部打开。浏览器标签页随当前会话/工具的关闭而释放,工作台面板暂时隐藏时保留。路线切换与已放弃的视频试验见 [浏览器试用记录](docs/research/WEB_BROWSER_VIDEO_TRIAL_2026-09-28.md)。
在 Plan/Setup 原有工具范围内,模型调用 `ask_user` 时,发起任务的 Web 标签页会显示结构化问题卡片:选择选项、添加补充说明或填写自己的答案,复核后才提交给正在等待的工具调用。关闭卡片不会提交草稿;留空的自定义答案表示要求澄清问题。刷新同一标签可恢复尚未过期的提问(未提交草稿不持久化),其他标签不能代答。提问最多等待 15 分钟,停止运行、切换 Session 或关闭 Host 会取消等待;它不替代原生权限审批,也不意味着任意终端自定义界面已支持 Web。
Expand Down
12 changes: 12 additions & 0 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

## Project origins and acknowledgments

The workspace Files explorer and preview interactions were informed by
[DSH-better-sidebar](https://github.com/omdsh-dev/DSH-better-sidebar), revision
`9b5834f74ad197534c821c35b8357edac1ad3919`. OpenPI uses its own Session-bound
file service and inline workbar layout; no DSH source is embedded.

File preview bundles additionally include Mermaid, PDF.js, Mammoth, ExcelJS,
fflate, fast-xml-parser, highlight.js, DOMPurify and rehype-raw. Their licenses
and bundled dependency notices are reproduced in
[`web/THIRD_PARTY_LICENSES.txt`](web/THIRD_PARTY_LICENSES.txt), included in the
package alongside the Web assets. JSZip is used under its MIT option;
DOMPurify is used under its Apache-2.0 option.

OpenPI originated from [davis7dotsh/my-pi-setup](https://github.com/davis7dotsh/my-pi-setup) and is maintained as an independent distribution. Thanks to the original author for the starting point.

Web workbench contributions include:
Expand Down
Loading
Loading