pi-webapp 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/README.zh-CN.md +5 -0
- package/dist/extension.js +33 -20
- package/package.json +11 -4
- package/scripts/prepare-terminal.mjs +13 -0
- package/web/dist/.vite/manifest.json +38 -27
- package/web/dist/assets/WorkspaceTerminal--76HWPIx.js +39 -0
- package/web/dist/assets/app-DD5tjBir.js +544 -0
- package/web/dist/assets/app.js +4 -4
- package/web/dist/assets/{elixir-DRaGIFOe.js → elixir-DI-tUE_U.js} +1 -1
- package/web/dist/assets/{graphql-BNu6SI9R.js → graphql-D1g0evyK.js} +1 -1
- package/web/dist/assets/{html-DsaiN7Ee.js → html-DfmEJESS.js} +1 -1
- package/web/dist/assets/{html-derivative-CADUTaWI.js → html-derivative-BaRuZAr6.js} +1 -1
- package/web/dist/assets/{http-DiAxPfIa.js → http-D4evg85V.js} +1 -1
- package/web/dist/assets/{julia-BCSipsbD.js → julia-VEDmabGN.js} +1 -1
- package/web/dist/assets/{perl-D7RI67n_.js → perl-g_tPwekP.js} +1 -1
- package/web/dist/assets/{php-Nt75L53G.js → php-BR5EDcxS.js} +1 -1
- package/web/dist/assets/{rst-Lhsfs6gm.js → rst-Kfo43jYp.js} +1 -1
- package/web/dist/assets/{ruby-Cs7cjW_-.js → ruby-BQIm26a5.js} +1 -1
- package/web/dist/assets/style.css +32 -1
- package/web/dist/assets/{svelte-CnEWAvNs.js → svelte-D8ASR5q9.js} +1 -1
- package/web/dist/assets/{telemetry-client-BUyFe34_.js → telemetry-client-CBQBug9X.js} +1 -1
- package/web/dist/assets/{vue-DELTyRQi.js → vue-CG2DdW3D.js} +1 -1
- package/web/dist/assets/app-COe0narp.js +0 -542
package/README.md
CHANGED
|
@@ -41,6 +41,11 @@ In Pi, enter `/web` to open the interface in your default browser. Pi also print
|
|
|
41
41
|
- View the current conversation with Markdown, streaming output, expandable reasoning and tool calls, token usage, and a turn-by-turn trace.
|
|
42
42
|
- Send messages, pause and continue a run, start a new Pi session, and change the current model or thinking level. The bottom-right control pauses an active run; an empty composer offers Continue after pausing, including after refreshing or reopening the session. Continue uses an internal control action without adding a user message; the model makes a new request based on existing progress, and plan mode still requires fresh approval.
|
|
43
43
|
- Browse workspaces and saved sessions. Add a workspace with the native directory picker when available, or use the built-in directory browser over SSH.
|
|
44
|
+
- Open the right sidebar from the permanent control in the conversation’s upper-right corner. Choose **Workspace files** to browse the current session’s directory tree and open read-only file tabs. Workspace-relative and in-workspace absolute file links in the conversation also open these previews; external URLs still open in a new tab. Previews support highlighted code with line numbers, Markdown with preview/source modes, and PNG/JPEG/GIF/WebP images with a lightbox. The sidebar supports resizing, split panes, fullscreen, and plugin content. Switching chats retains their tabs and expanded directories until the page reloads. Manually reload listings or previews as needed. Listings show up to 1,000 entries per directory; text previews allow up to 512 KB / 10,000 lines, and images up to 8 MB. HTML/SVG remain source text; unsupported binary files show a notice. Reads, including resolved symlink targets, stay within the current session’s workspace.
|
|
45
|
+
- Choose **Open terminal** on the right sidebar’s start page to launch the default shell in the current session’s workspace. Supports interactive input, streaming output, Ctrl+C, resizing, split panes, and fullscreen. Tab changes, sidebar collapse, and chat switches retain the process, environment, and screen. Short disconnects reconnect automatically without replaying uncertain input. Closing a tab or stopping the service reaps its process; disconnected browsers have a five-minute retention window. Page reloads reset tabs, and processes do not survive service restarts. Limits: 8 terminals per session, 32 per service, and 2,000 scrollback rows. Shells run with the Pi user’s system permissions; the workspace is their initial directory, not a shell sandbox.
|
|
46
|
+
- Choose **Git changes** on the right sidebar’s start page to review the current branch, commit, locally recorded upstream divergence, and staged, unstaged, untracked, or conflicted files. Click a file to preview its read-only unified diff inside the Git panel, keeping the file list visible and the tab count unchanged. Lists and diffs scroll independently; narrow panes stack them and panes at least 720 px wide place them side by side. The selected file is highlighted and retained with its Git tab, follows staging changes, and clears when the file is no longer changed. Close the preview to restore the full list. Diffs hide raw Git headers, show old/new line numbers and addition/deletion counts, and offer previous/next navigation between contiguous change blocks with a position counter. File-mode changes and missing final newlines retain compact notices. Reads stay within the session’s directory, including when it is a repository subdirectory; linked worktrees and repositories without commits are supported. Visible Git tabs refresh after agent state changes, on focus, and every five seconds; hidden tabs stop polling. Requires Git on the machine running Pi. Lists show up to 1,000 files and diffs up to 512 KB / 10,000 lines. Binary files, submodules and unresolved conflicts show notices. Changes belong to the shared working tree, not exclusively to one chat; working-file and historical diffs remain read-only.
|
|
47
|
+
- In **Git changes → Changes**, use each file’s **+ / −** button to stage or unstage it, use the fixed bottom composer to commit only the staged index (Ctrl/Cmd+Enter is supported), and click the branch name to search/switch local branches or open **New branch**. The file list scrolls independently; full repository metadata is available on the short repository name’s tooltip. Drafts stay with each chat’s Git tab. Commits and branch switches require a root workspace; switching also requires a clean working tree, including untracked files. Writes require all known chats using the worktree to be idle, reject stale snapshots, and honor Git hooks/signing. Conflicts, active Git operations, locks and occupied worktree branches block incompatible writes. Failed or unconfirmed operations retain drafts and never retry automatically. Changes are shared by chats using the same worktree. No fetch/push, forced switch, stash or discard is performed.
|
|
48
|
+
- In **Git changes → History**, browse commits alongside their branch/merge graph, with HEAD, local branch, remote-tracking branch and tag labels. Load history 50 commits at a time; a ref change resets pagination to prevent mixed histories. Open commit details for the full message, author/committer, timestamps, parents and changed files, then preview a read-only file diff alongside the same commit file list without opening another tab. Merge details let you select the parent to compare against; root commits compare against an empty tree. The graph shows repository-wide metadata while commit files and diffs stay within the session directory. Graph selection and loaded history remain with each chat’s Git tab until the page reloads. Remote labels use local refs without fetching.
|
|
44
49
|
- Attach up to 20 files of 20 MB each by selecting, dropping, or pasting them. Images show previews and are also sent as Pi image content.
|
|
45
50
|
- Manage appearance, Pi packages, extensions, skills, and models from the settings panel. The Models page can add models, edit display names, context windows, output limits, and input types, and restore built-in defaults; changes are saved to Pi's `models.json`. Browser sign-in opens the provider's authorization page automatically; manual code entry remains available when a callback cannot reach Pi. Stored provider credentials can also be removed there. Credentials stay in Pi's local `auth.json` and are never returned to the browser.
|
|
46
51
|
|
package/README.zh-CN.md
CHANGED
|
@@ -41,6 +41,11 @@ pi
|
|
|
41
41
|
- 查看当前对话,包括 Markdown 内容、流式输出、可展开的推理过程与工具调用、Token 用量,以及逐轮执行轨迹。
|
|
42
42
|
- 发送消息、暂停与继续运行、启动新的 Pi 会话,以及切换当前模型或思考级别。运行时右下角显示暂停;暂停后清空输入框即可继续,刷新或重新打开会话后仍可恢复。继续通过内部控制动作恢复原任务,不新增用户消息;模型会基于已有进度发起新请求,计划模式仍需重新审批。
|
|
43
43
|
- 浏览工作区和已保存的会话。环境支持时可通过系统目录选择器添加工作区;通过 SSH 使用时,也可使用内置目录浏览器。
|
|
44
|
+
- 通过对话右上角的常驻入口打开右侧工具栏,在「工作区文件」中逐层浏览当前会话的目录,点击文件打开只读预览。对话中的工作区相对路径及工作区内绝对路径链接也会直接打开右侧预览,外部网址仍在新窗口打开。支持带行号和高亮的代码、Markdown 预览与源码切换,以及 PNG/JPEG/GIF/WebP 图片与放大查看。面板可收起、调宽、分栏或全屏,并继续承载插件内容;切换聊天会保留各自的标签和目录展开状态(刷新网页后重置)。文件树和预览提供手动刷新,每层最多显示 1000 项,文本预览上限 512 KB / 10000 行、图片上限 8 MB;HTML/SVG 显示源码,其他二进制文件显示不支持提示。文件读取限制在当前会话工作区内,包括符号链接的真实目标。
|
|
45
|
+
- 在右侧「开始」页选择「打开终端」,以当前会话的工作区为初始目录启动默认 shell。支持真实交互输入、持续输出、Ctrl+C、尺寸调整、分栏和全屏。切换标签、折叠侧栏和切换聊天保留进程、环境变量与终端画面;短暂断线会自动重连,未确认的输入不会重放。关闭标签或停止服务会回收进程;浏览器关闭或连接持续丢失后,后台最多保留 5 分钟。刷新网页会重置标签,不支持跨服务重启恢复进程。每会话最多 8 个终端、服务最多 32 个,保留 2000 行滚动历史。终端使用 Pi 所在用户的系统权限,工作区是初始目录,不是 shell 沙箱。
|
|
46
|
+
- 在右侧「开始」页选择「Git 改动」,查看当前分支、提交、基于本地记录的上游领先/落后数量,以及已暂存、未暂存、未跟踪和冲突文件。点击文件直接在 Git 面板内预览只读差异,保留文件列表且不增加标签页。列表与差异独立滚动,窄面板上下排列,宽度达到 720 px 时左右并排。选中文件高亮并随 Git 标签保留,暂存状态变化时跟随对应范围,文件不再有改动时收起预览;也可手动关闭恢复完整列表。差异隐藏原始 Git 头信息,显示新旧行号与增删行数,可用上一处/下一处按钮逐个跳转连续改动块并查看当前位置;文件权限变化、末尾无换行等信息保留为简洁提示。读取范围限制在当前会话目录内,包括仓库子目录;支持独立工作树和尚无提交的仓库。可见的 Git 标签会在 Agent 状态变化、页面重新聚焦时刷新,并每 5 秒检查一次;隐藏后停止轮询。需要在 Pi 所在机器安装 Git。最多显示 1000 个文件,差异上限 512 KB / 10000 行;二进制文件、子模块和未解决冲突显示提示。改动属于共享工作树,不代表全部由当前聊天产生;工作区与历史文件的差异视图保持只读。
|
|
47
|
+
- 在「Git 改动 → 改动」中,用文件右侧的 **+ / −** 逐文件暂存或取消暂存;底部固定提交栏仅提交暂存区内容(支持 Ctrl/Cmd+Enter);点击顶部分支名称,可搜索和切换本地分支,选择「新建分支」才展开创建表单。文件列表独立滚动,仓库完整信息通过短名称的悬停提示查看。草稿随各聊天的 Git 标签保留。提交和切换分支要求仓库根目录工作区,切换还要求整个工作树干净(包括未跟踪文件)。写操作要求共用工作树的已知聊天均为空闲,并校验状态快照,遵守 Git hooks 与签名配置。冲突、未完成的 Git 操作、锁及其他工作树占用的分支会阻止相应操作。失败或结果不明时保留草稿,不自动重试。同一工作树的改动由多个聊天共享。不执行 fetch/push、强制切换、stash 或丢弃改动。
|
|
48
|
+
- 在「Git 改动 → 历史」中浏览提交及其分支、合并关系图,显示 HEAD、本地分支、远端跟踪分支和标签。历史每次加载 50 条;引用变化时重新加载首页,避免分页混入不同版本的历史。点击提交查看完整说明、作者与提交者、时间、父提交及改动文件,再点击文件在当前提交详情内预览只读差异,保留文件列表,不再新建差异标签。合并提交可选择比较的父提交,根提交与空目录比较。关系图展示整个仓库的提交元数据,提交文件和差异仍限制在当前会话目录内。历史选中项与已加载页随各聊天的 Git 标签保留,网页刷新后重置。远端标签仅使用本地记录,不发起拉取。
|
|
44
49
|
- 通过选择、拖放或粘贴附加文件,最多 20 个,每个不超过 20 MB。图片会显示预览,并作为 Pi 图片内容发送。
|
|
45
50
|
- 在设置面板中管理外观、Pi 软件包、扩展、技能和模型。模型页可添加模型、编辑显示名称、上下文窗口、最大输出 token 数和输入类型,或恢复内置模型的默认参数;配置写入 Pi 的 `models.json`。网页登录会自动打开提供方授权页;当回调无法到达 Pi 时,仍可手动粘贴授权码。已保存的提供方认证可在这里移除。凭据保留在 Pi 本地的 `auth.json`,不会返回给浏览器。
|
|
46
51
|
|