Skip to content

Releases: Xpropel/Pi-Remote

Pi-Remote v2.1.10

Choose a tag to compare

@Xpropel Xpropel released this 31 Oct 08:01

2.1.10 — 全界面版式审查修复(8 项)

2026-10-31 全界面版式审查发现的 8 项问题集中修复,均已在美国测试机真实界面逐项复拍复验:

  • Claude 新会话页「最近的会话」恢复样式:缺失的样式规则补齐,会话从纯文本挤团变为卡片网格。
  • Claude 新会话页去掉重复头图:两个问候区合并为一行居中问候,下方只留一个开始区。
  • Codex 环境卡标签不再断词:标签整词不换行,值放不下时整行换行右对齐;进度环不再贴边。
  • 移动端会话行静止时不再透出滑动操作:「置顶 / 归档」静止时完全隐藏,滑动时才出现。
  • Claude 打开列表会话首行不再被切一半:预览打开停在顶部,发送载入正文后恢复贴底跟随。
  • 设备页身份卡分隔点不再悬空:分隔点与备份状态成组换行。
  • 加密房间提示不再跨页常驻:提示按房间作用域,离开会话视图即撤下。
  • Codex 英文残留中文化:打开 / 提交 / 好评 / 差评 / 分叉,创建 PR 提示同步中文化。

测试:全套 2539 个,2526 通过、9 跳过、4 个失败为沙盒环境性既有失败。完整条目见仓库内 CHANGELOG.md。

Pi-Remote v2.1.9

Choose a tag to compare

@Xpropel Xpropel released this 31 Oct 05:06

2.1.9 — 输入框工具行悬空修复

  • Claude 界面:输入框卡片底部一条永远渲染的空状态行把模型工具行顶高、下方留约 22px 空白带——状态行现只在真正有内容时出现,空闲时工具行贴合卡片底部(实测下沿间距约 30px → 9px,美国测试机真实界面量测 + 截图核对)。

测试:全套 2539 个,2526 通过、9 跳过、4 个失败为沙盒环境性既有失败。完整条目见仓库内 CHANGELOG.md。

Pi-Remote v2.1.8

Choose a tag to compare

@Xpropel Xpropel released this 30 Oct 12:02

2.1.8 — 加密阶段 4 地基 + 实测遗留修复

  • 旧会话点击报错修复:侧边栏点某些只有清单记录的旧会话会抛 TypeError——现统一走共享的按行打开路径,陈旧会话落到如实的「设备离线」提示,全程零控制台错误(真机验收)。
  • 部署权限根治:从 Mac 部署中转后服务曾因 600 文件权限崩溃循环;部署脚本现会在重启前统一归一化权限(跳过 node_modules),失败响亮报错并回滚。
  • 开关颜色全产品对齐:五处开关实现统一为中性派(浅色近黑、深色暖白),强调色不再填充开关,与设计定版逐项核对。
  • 问答三开关进设置页:「允许智能体向我提问 / 在网页上回答电脑上的确认框 / 工具执行审批门(含层级)」进入设置「通用」页的「对话」分组,与输入框弹窗共用存储、双向同步;默认值不变。
  • 加密阶段 4 地基:①轮换安全门——房间钥包裹有来源但打不开时设备进入钥匙过期状态并自动重新索钥,绝不铸新钥覆盖旧包裹(防丢历史);中转拒绝房间钥指纹变迁(合法迁移除外)。②双钥过渡存储——设备与观看端都新增上一把钥槽位,按指纹选钥、顶替时旧钥降槽不消失,为轮换仪式铺路。③未加密会话如实标注——侧边栏按成因标注(设备未启用密钥 / 等内容钥·待迁移 / 设备已离线),设置设备页新增按成因分组的未加密会话清单与处置入口。④老设备升级钥模式——attach --doctor 新增鉴权姿态报告;新命令 attach --upgrade-to-key <配对码> 一条龙完成登记身份钥 + 作废令牌 + 自检(旧版中转会中止并明示);真机验收中一台纯令牌设备已用普通配对路径完成同等升级(同设备编号、钥登记、令牌停用)。

测试:全套 2539 个,2526 通过、9 跳过、4 个失败为沙盒环境性既有失败。发版前已在美国测试机真实部署并逐项验收(含存量加密历史会话在网页端完整解密渲染、390px 窄屏发送路径)。完整条目见仓库内 CHANGELOG.md。

Pi-Remote v2.1.7

Choose a tag to compare

@Xpropel Xpropel released this 30 Oct 09:25

2.1.7 — 全量实测修复版

对 2.1.6 做完全量真实用户测试(六套界面皮肤 × 明暗、设置页逐项点验、真实设备全流程)后的一次集中修复,无新功能面扩张。

  • 设备启动:--env 启动的设备曾静默失效(attach 连得上、会话拿不到配置、扩展不工作且无日志)——配置与 attach 文件路径现会传进每一种启动方式拉起的会话,不一致时启动即报错。多设备共用一个 HOME 时桥静默死亡同修;设备列表新增「仅远程窗口在线」降级状态,不再假装全在线。
  • 会话与队列:新会话的提示词不再误投既有会话(竞态修复),文件夹选择不再默认到已删除的工作区;排队气泡自带立即发送 / 编辑 / 取消,不再只能从排队小药丸操作。
  • 设置与用量:切界面风格不再弹回「通用」页签;投递方式显示实际生效默认值;默认模型下拉按供应商分组并标注未配置凭据的供应商;所有用量界面移除费用显示(弹窗改名「用量」,以缓存命中替代费用格)。
  • 设备与身份:身份启用后同会话读名册不再误报未连接;内容钥请求会重发与周期重试、设备页实时刷新、等待文案改如实;身份「已就绪」补上重新登记 / 忘记本机身份入口;390px 下加密房提示卡不再遮挡返回按钮。
  • 问答默认可用:ask_user 提问工具改为默认可用(设备端与界面默认值对齐,显式关闭仍有效);待答入口补齐全部三套界面(Claude、Codex 此前没有)。如实说明:问答卡在网页端作答还需打开会话设置里的「在网页上回答电脑上的确认框」——既定的谨慎口径,不开时提问在电脑端回答、网页只读显示并计入待答提醒。

测试:全套 2460 个,2447 通过、9 跳过、4 个失败为沙盒环境性既有失败。发版前已在美国测试机真实部署三端新代码并用真实 pi 会话逐项验收(加密房解密、身份全程、问答只读/可答两态、排队操作、切风格保页签、用量无费用、窄屏提示位置)。完整条目见仓库内 CHANGELOG.md。

Pi-Remote v2.1.6

Choose a tag to compare

@Xpropel Xpropel released this 29 Oct 14:21

2.1.6 — 正文加密(加密阶段 3,分级 b)

对话正文从这一版起端到端加密:relay 只存密文,解密只发生在设备与观看端本地。

  • 正文信封:消息正文以每房间一把内容钥(RCK,AES-256-GCM)封存后才离开设备;RCK 以账号内容钥(ACK)包裹写入房间元数据。会话列表预览与 session_archive 同步改走 ACK 级信封;图片在加密前按预算收缩。
  • 新房默认加密,旧房自动迁移:持钥设备的新会话默认加密;已有明文会话在该设备的 pi 下次连接时自动迁移(密文先落盘校验,通过后才删明文一代,失败不丢数据)。持钥设备已消失的房间保持明文并标记「未加密(旧设备)」。
  • 版本门与诚实状态:旧观看端打开加密房会被明确拒绝而不是看到乱码;加密房正文搜索明示「该房间已加密,无法在中转侧搜索」;单条解不开的消息以占位保留位置,绝不整房空白。
  • 如实声明(分级 b):本阶段只加密正文。会话元数据(标题、时间、清单)与问答弹窗类文本仍以明文经过并存储于 relay——这是既定取舍,不是疏漏。
  • 修复:2.1.3–2.1.5 期间存在的一批钥模式真实路径缺陷(钥设备被凭据门拒绝、钥模式扩展不启动、钥鉴权竞态锁死镜像、身份开通死胡同、adminSig 被传输 id 破坏、加密房持钥解不开、网页回显恒占位、观看端交付被 relay 拒收、交付只投一条连接),本版逐一修复并加回归测试。详见仓库内 CHANGELOG.md。

发版前已在独立测试机完成真实验收:真实 pi 会话产生加密房、浏览器全新身份走完登记→交付→解密全程、中转落盘全文检索无明文、上一版明文房迁移后离线解密与原文一致。

Pi-Remote v2.1.5

Choose a tag to compare

@Xpropel Xpropel released this 29 Oct 10:10

2.1.5 — 观看端身份(加密阶段 2)

浏览器观看端从这一版起可以拥有自己的身份钥、用签名代替令牌登录;内容钥(ACK)开始在设备与观看端之间完整流转。注意:本阶段完成的仍只是身份与内容钥分发,正文加密在下一阶段——当前对话正文仍以明文经过并存储于 relay。

  • 观看端身份钥:设置页「设备」新增「观看端身份」:启用后浏览器生成签名钥与协商钥,私钥以不可导出形式保存在 IndexedDB(不进 localStorage、永不以明文落盘)。启用确认里明示:没有口令备份时,所有持钥设备丢失且浏览器数据被清空,历史将永久无法恢复,服务器与管理员令牌都救不回来。
  • 挑战-签名登录:与设备端同构(一次性题目、录播无效);钥登录失败不自动降级为令牌登录、不清已存令牌;被撤销的观看端明确拒绝。
  • 管理签名双轨:配对批准、设备/观看端撤销等管理操作可由已登记的管理员观看端签名授权(adminSig),管理员令牌保留为兜底——只恢复访问权,恢复不了内容。
  • 内容钥流转补全:批准带钥设备时可随批准直接附上包好的内容钥;设备与观看端都能应答内容钥索取(relay 只盖戳路由、不落盘);各端上报钥指纹供 relay 对账,不一致时发 key_mismatch 警告。
  • 已授权观看端管理与口令备份:设置页可查看/撤销已登记观看端(撤销确认如实说明对方手里的钥副本不失效,真移除需后续轮换);内容钥可口令加密导出备份文件、换浏览器导入恢复。

完整记录见仓库内 CHANGELOG.md。


Viewer identity (crypto phase 2). Browsers now hold their own identity keys (non-extractable, IndexedDB): login becomes a challenge-response signature exchange with no silent downgrade to tokens, management actions accept admin signatures (adminSig) alongside the admin token, and the account content key flows end-to-end - pair-approve grants, request/answer between key holders, fingerprint reconciliation with key_mismatch warnings, and a PBKDF2 passphrase backup package. Bodies are still plaintext until phase 3. See CHANGELOG.md.

Pi-Remote v2.1.4

Choose a tag to compare

@Xpropel Xpropel released this 29 Oct 09:36

2.1.4 — 设备身份(加密阶段 1)

新设备从这一版起可以用身份钥代替设备令牌;不重新配对的存量设备行为完全不变。

  • 身份钥配对:attach 配对时自动生成设备身份钥(存独立钥文件、权限 0600,.env 只记路径),向 relay 出示公钥并附持有证明——relay 验签通过才登记,冒名登记不了。登记后 relay 不再下发设备令牌。
  • 挑战-签名登录:连接时 relay 随机出题、设备用私钥签名作答(一次性题目、录播无效);已启用钥的设备想改走令牌会被明确拒绝,防止降级绕过。
  • 轮换与撤销:钥可轮换(旧钥签名授权新钥,旧指纹留档);撤销设备同时作废它的钥。
  • 内容钥就位:账号的第一台钥设备生成账号内容钥并自持,后加入的设备上线后向持钥端索取(relay 只按指纹转手,不看内容)。正文加密是下一阶段的事,本版正文仍未加密。

完整记录见仓库内 CHANGELOG.md。


Device identity (crypto phase 1). New pairings now use per-device identity keys instead of bearer tokens: keys live in a dedicated 0600 key file, pairing presents public keys with a proof-of-possession signature, and login becomes a challenge–response signature exchange (no downgrade to tokens for keyed devices). Existing devices that don't re-pair are unaffected. The account content key framework is in place; body encryption lands in a later phase. See CHANGELOG.md.

Pi-Remote v2.1.3

Choose a tag to compare

@Xpropel Xpropel released this 29 Oct 09:07

2.1.3 — 多选提问 + 加密地基

新功能

  • ask_user 多选提问:智能体提问现在可以多选了——可设最少/最多选择数,网页端是复选框卡片(选不够提交不了、选满其余自动禁用)。本机无人远程应答时自动降级为逐项确认。

内部

  • 为后续加密阶段铺设地基(协议能力与错误码登记、设备名册可保存公钥字段、房间存储可保留加密信封字段)——本版无任何行为变化,现有设备与观看端完全无感。

完整记录见仓库内 CHANGELOG.md。


Multi-select questions, plus the crypto foundation. ask_user gains a multi-select form (min/max selection counts, checkbox cards, validated answers). Internally, this release lays the protocol and roster groundwork for the upcoming encryption phases — no behavior changes. See CHANGELOG.md.

Pi-Remote v2.1.2

Choose a tag to compare

@Xpropel Xpropel released this 29 Oct 08:37

2.1.2 — 提问与审批、待答收件箱、定时心跳

版本号更正:本版内容曾以 v2.2.0 误发——那是维护者未经批准的擅自升号,违反本项目「版本号只走 2.1.x 补丁递增」的既定纪律。v2.2.0 的 Release 与标签已删除,同一内容改以 v2.1.2 重新发布。若你已下载 v2.2.0,功能完全相同,无需处理;后续更新请认准 2.1.x。

新功能

  • 智能体提问(ask_user):pi 可主动向你提问(单选 / 确认 / 自由输入),网页端卡片点选作答,超时规范化返回不阻塞。设置页「对话」组开启,默认关。
  • 工具执行审批门:pi 执行工具前先等你批(允许一次 / 本会话都允许 / 拒绝),三档策略,拒绝与超时一律拦截。默认关。
  • 待答收件箱:侧边栏「待答」汇总所有设备、所有会话里等你的提问、审批与回合结果;确认类可原地批准/拒绝;账本跨 relay 重启保留,只存元数据。
  • 会话状态行:会话列表/气泡/手机端新增一行实时状态(等你回复 / 运行中 · 正在… / 出错了)。
  • 定时与心跳消息:一次性定时或每 N 分钟心跳,到点自动入队发送、不打断当前回合,失败自动停并进收件箱报错,relay 重启排期不丢。

完整记录见仓库内 CHANGELOG.md。


Version-number correction. This release was briefly published as v2.2.0 by mistake — an unauthorized minor bump against this project's slow-versioning policy (2.1.x patches only). The v2.2.0 release and tag have been withdrawn; identical content is re-released here as v2.1.2. Features: ask_user question tool, tool-execution approval gate, a cross-session Inbox for everything waiting on you, live session status lines, and scheduled/heartbeat prompts. See CHANGELOG.md.

Pi-Remote v2.1.1

Choose a tag to compare

@Xpropel Xpropel released this 28 Oct 19:44

2.1.1 — 存储与打开性能修复

没有新功能,专治两个老毛病:大会话打开卡死、日志文件越长越难收拾。升级后 relay 首次启动会自动把既有日志迁移到新结构,数据不丢、过程可重入。

改了什么

  • 打开大会话不再冻结:首次打开改为后台异步分块建索引,打开调用毫秒级返回;索引期间新到的消息按序排队、落地后按真实锚点补入,不丢不乱序。此前上百 MB 的房间打开一次会把整个 relay 冻住数百毫秒。
  • 日志分段与分组:一场对话默认仍是一个文件,写满 8MB 后封存为带序号的段文件(.0001.jsonl 递增)续写新段,一条记录不跨段。对话日志按 data/rooms/<设备>/<工作区>/<会话> 两级分组存放,按设备/项目查看、备份、清理都以文件夹为单位。
  • 清单索引:每场对话一份 .index.json,封存段的索引随段落盘——冷打开只现扫仍在写的尾段:110MB / 14 段的房间实测约 30ms 完成索引(此前约 0.7 秒且伴随冻结),封存段读取 0 字节。清单缺失或与段文件对不上时自动全量重扫重建,不报错。
  • 单房总量上限(256MB)改为按全部段总和计算,到顶行为不变。

完整记录见仓库内 CHANGELOG.md。


Storage & open-performance fixes. First open of a large room no longer blocks the event loop: indexing is now asynchronous and chunked, with messages arriving during indexing journaled and replayed in order. Room logs are grouped by device/workspace, roll into 8 MB sealed segments, and carry a persisted manifest index, so a 110 MB room cold-opens in ~30 ms with zero reads of sealed segments. Existing logs migrate automatically on first start; a missing or stale manifest is rebuilt by rescanning. See CHANGELOG.md.