项目 · 智能体基础设施
LocalShell Web Supervisor
面向长时间运行、由浏览器驱动的智能体的失败即关闭(fail-closed)可靠性层,建立在一条规则之上——网页对话是可替换的工作者租约,持久的任务不是对话本身。
当一个智能体通过浏览器对话工作、通过本地 shell 执行时,有三样东西会各自独立地失败或完成:浏览器回合、工具调用,以及真实的 Git 与工作区状态。LocalShell Web Supervisor(LWS)把这些真相域分开,让一次卡住或被打断的网页回合不会自动引发重复的提交、写入、上传或重试。
它提供什么
- 持久的 SQLite 任务与工作者注册表;
- 对本地 shell 的逻辑会话、目标、进行中调用、续跑与被跟踪作业的状态核对;
- 对工作区与 Git 的只读观察;
- 限定在确切窗口内的浏览器与 DOM 观察;
- 跨浏览器、shell 与工作区证据的确定性健康与停滞分类;
- 带重放抑制的预写式恢复动作;
- 工作者世代、租约、交接、接管、取代与持久完成;
- 带持久化提示词与工作树元数据的父子任务调度;
- 一个建议性的常驻看门狗,其会改动浏览器的模式均需显式启用。
未知的外部结果会被核对,而不是重放。
安全模型
LWS 是为用户已经授权的工作提供的可靠性基础设施;它不是身份验证绕过,也不是私有网页客户端的实现。它的不变量包括:绝不从按钮状态推断完成,绝不把"继续"或重发当作幂等操作,把每一次浏览器改动绑定到确切的任务、工作者与窗口,在产生外部副作用之前先持久化改动授权,绝不查看、复制或移动凭据、Cookie、令牌或会话密钥。
任务、shell、Git、工作者协议、调度器与恢复层与服务商无关;当前的浏览器适配器针对一个聊天服务商在普通 Chrome 窗口中测试,被视为持久控制平面之后的观察与改动适配器。
需要 Python 3.11 或更高版本;MIT 许可。运行时数据库、浏览器配置与观察记录都存放在检出目录之外,绝不发布。