Skip to content

feat(desktop): 终端授权偏好、shell 切换与 PowerShell 7 运行时 - #504

Merged
Qiyuanqiii merged 2 commits into
mainfrom
Qiyuanqiii/terminal-preferences
Oct 27, 2026
Merged

Qiyuanqiii merged 2 commits into
mainfrom
Qiyuanqiii/terminal-preferences

Conversation

@Qiyuanqiii

Copy link
Copy Markdown
Member

内置终端原来只有固定 5 分钟的 Agent 授权,Windows shell 也不能选择。本 PR 在“设置 → 执行环境”增加持久偏好:禁止 Agent(保留手动使用)、可调时长的手动授权、完全允许;完全允许在任务已有 Full 权限时自动续期,可以随时停止当前会话的 Agent 控制。

Windows 可选择 PowerShell 7、Windows PowerShell 或 CMD,显示真实程序路径和文件版本;已运行的终端保留原 shell,下次新建才使用新选择。附带可选的微软签名 PowerShell 7.6.8 目录准备脚本,Agent PowerShell 运行器也识别同一应用目录。修复实测发现的 ConPTY 主动关闭卡死,以及执行环境设置路由刷新失效。

依赖 #473,当前 base 为 Qiyuanqiii/terminal-selection-quote。先合入 #473,再将此 PR 改为 main。 #473 负责标题、状态和引用;此 PR 的截图以其已修复版本为“修改前”。

修改前 修改后
固定授权 完全允许及真实 PS7
原设置 终端设置

480px 深色设置 · 禁止 Agent 后手动运行 CMD · 完整验收和审阅记录

验证:136 项相关前端测试、类型检查、生产构建通过;Go 设置/授权/桥接测试、权限控制 race 和真实 Windows terminal race 通过。CMD/PS5/PS7 的真实命令及主动结束重复验证通过。Windows Edge 使用生产 Go DesktopBridge、SQLite、ConPTY;仅 Wails transport 与原生确认回调由验收适配器替代,未宣称原生对话框或 macOS 实测。480px 无横向溢出、无 CSP violation。

PowerShell 的可选构建开关为 -BundlePowerShell7,分发时须保留 EXE 旁的 runtimes 目录;此 PR 没有改变正式 Release/MSIX 打包流程。没有新增管理员终端。本机未安装 Claude Code CLI,未将其 TUI 兼容性列为已通过。

Surface governance

  • 不增加或升级独立 Surface,沿用 Desktop 原生设置与现有终端。
  • 新增 internal-durable 协议 desktop_terminal_settings.v1,registry 与 ADR 0193 已更新。
  • 保存经原生确认和 revision 校验;完全允许仍检查 Full / Run / workspace / session,禁用、撤销、权限降级和退出由后端执行。
  • 回退版本忽略新增设置文件并保留数据;无持久化令牌和任意可执行路径入口。

Audit

  • OCR delegate 范围 28/28 文件已审阅;实际关闭死锁及迟到状态覆盖已修复。
  • 真实前后截图标明源码 SHA、平台和适配器范围。
  • 普通 Agent 命令执行工具不依赖共享终端授权。

Base automatically changed from Qiyuanqiii/terminal-selection-quote to main October 27, 2026 08:31
@Qiyuanqiii
Qiyuanqiii merged commit f9c2e48 into main Oct 27, 2026
24 of 25 checks passed
@Qiyuanqiii
Qiyuanqiii deleted the Qiyuanqiii/terminal-preferences branch October 27, 2026 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant