Open-Science本地Web UI:如何快速用浏览器访问桌面后端的完整指南
【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-science
Open-Science 本地 Web UI 让你在不打开桌面窗口的情况下,通过浏览器直接访问 AI 研究工作台的后端能力:它把桌面应用内置的渲染界面原样服务到本机浏览器,默认只绑定127.0.0.1回环地址并附带 Token 鉴权。本指南覆盖启用方式、端口配置、Headless 无窗口模式和移动端远程访问,帮助新手在 5 分钟内完成"浏览器访问桌面后端"的全部配置。
什么是 Open-Science 的本地 Web UI?
Open-Science(AIPOCH Open-Science)是一个开源、本地优先、模型无关的 AI 科研工作台,支持 macOS、Windows 和 Linux,内置科学 Agent、Python/R Notebook、数据连接器与可复现溯源。它的后端能力并不锁死在 Electron 窗口里——桌面后端可以可选地把同一套渲染界面服务给本地浏览器,这个功能默认关闭,且只监听本机回环地址。
核心设计一句话总结:同一个后端、两种前端。桌面窗口、Web 浏览器、CLI/SDK 共享同一套项目、会话、凭据与权限体系,Web UI 只是多了一个"入口"。相关实现位于 src/main/web-service/ 目录。
一键启用本地 Web UI:三种方式
方式一:开发环境直接启动
如果你是从源码运行项目,两条 npm 脚本即可开启本地 Web UI:
npm run build:web # 构建可选的 localhost Web UI npm run dev:web # 开发应用 + localhost Web UI(127.0.0.1)应用启动后会打印一条带鉴权 Token 的 URL,把它复制到浏览器打开即可。想自定义端口时,设置环境变量OPEN_SCIENCE_WEB_PORT,默认端口为44100。
方式二:Headless 无窗口模式
不需要窗口、托盘、图形界面?dev:headless会直接拉起后端、托盘、Agent 运行时和本地 Web 服务:
npm run dev:headless适合服务器、WSL 或纯远程工作流——进程在后台跑,人只在浏览器里操作。
方式三:安装版应用 + CLI 控制
已安装桌面应用的用户,可通过 CLI 管理 Web 服务的生命周期(详见 packages/open-science/CLI.md):
open-science start --no-open # 启动服务且不打开浏览器 open-science url # 打印带鉴权 Token 的访问 URL open-science status --json # 查看服务状态 open-science stop # 请求优雅关闭open-science url是唯一会主动打印带 Token URL 的命令,其他输出(包括 JSON 格式)都绝不会泄露本地 Token。想换端口时加--port <端口号>。
访问安全机制:端口、Token 与只绑回环
新手最容易担心"浏览器访问后端安不安全",Open-Science 的防护设计值得了解:
| 防护项 | 实现 | 说明 |
|---|---|---|
| 网络绑定 | 仅127.0.0.1 | 本机回环地址,外部设备无法直接访问 |
| Token 鉴权 | 随机 32 字节 Token | 存于配置目录web-token文件,文件权限0600 |
| 鉴权通道 | URL 参数 / Cookie / Bearer 头 | 见 src/main/web-service/auth.ts |
| 安全响应头 | CSP + X-Frame-Options: DENY | 防止页面注入与点击劫持 |
| 远程访问 | 显式开启的 Remote.It 配对 | 六位数配对码 + 桌面端一次批准,可撤销 |
Token 生成与校验逻辑在 src/main/web-service/auth.ts 中实现,使用常量时间比较防时序攻击。服务启动状态(PID、端口、版本)会写入web-service.json供 CLI 发现与管理,逻辑位于 src/main/web-service/state-file.ts。
端口与启动参数的解析在 src/main/web-service/options.ts 中完成:--serve参数、--serve=<端口>或OPEN_SCIENCE_WEB_PORT环境变量三者任一都会启用 Web 服务,缺省端口为44100。
Web UI 里能做什么?
浏览器打开后,你获得的是与桌面端一致的完整工作区:
- 项目管理:创建/切换研究项目,配置会话默认参数
- 任务执行:向 Agent 提交研究任务,实时跟踪进度与产物
- 权限审批:
ask审批模式下,Agent 请求的权限可直接在 Web UI 中批准 - 产物溯源:查看可复现的研究产物及其来源链路
Web 前端的引导与 API 安装逻辑位于 src/renderer/web/,静态资源由后端从构建产物目录out/web提供(见 src/main/web-service/index.ts)。
进阶:用浏览器从手机远程访问
本地 Web UI 还可以"延伸"到手机和平板。通过Remote.It 配对:在移动端浏览器输入六位 AIPOCH Open-Science 配对码,在桌面端批准一次,工作区即可在远程保持可达——而不必直接暴露回环服务器。
这个机制的几个安全特性(见 docs/security.md):
- 远程访问走HTTPS 路由,而非直接转发回环端口
- 浏览器信任可像账号会话一样审查和撤销
- 服务模式变更或服务关闭会立即失效所有活跃远程会话
远程与本地访问能力的边界由 src/main/web-service/http-server.ts 中的能力目录统一管理,保证"哪些通道本地可用、远程拒绝"始终与桌面端对齐。
常见问题速查
Q:为什么别人打不开我分享的链接?A:Web 服务只绑定127.0.0.1,URL 仅对同一台机器有效。跨设备访问必须走 Remote.It 配对流程。
Q:端口 44100 被占用了怎么办?A:设置环境变量OPEN_SCIENCE_WEB_PORT=<新端口>,或 CLI 加--port <新端口>,重启服务即可。
Q:浏览器里提示需要批准权限?A:这是正常的ask审批模式。在 Web UI(或桌面端)批准即可,详见 packages/open-science/CLI.md 中关于审批模式的说明。
Q:关闭应用时后台任务会中断吗?A:显式退出应用时,Agent 与 Notebook 进程仍会正常收尾,不会粗暴杀进程。
小结
Open-Science 本地 Web UI 的价值在于"一次部署、多端操作":
- 🖥️ 开发环境一条
npm run dev:web即可开启 - ⚙️ 默认端口
44100,可通过OPEN_SCIENCE_WEB_PORT自定义 - 🔐 仅绑回环 + Token 鉴权 + 严格安全响应头,安全默认值
- 📱 Remote.It 配对可安全延伸到移动设备
更多细节可参考 README.md 的 "Localhost web and headless modes" 章节与 docs/security.md 的安全模型说明,动手体验浏览器里的 AI 科研工作台吧。
【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-science
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考