Skip to content
btboysPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

omp-web

通过浏览器远程控制多台服务器上的 omp 编码代理会话

Spring Boot 4 + React 19 / Ant Design 6 构建的 Web 控制台,通过 omp 的 RPC 协议(stdio JSONL)直接驱动本地或远程服务器上的真实 omp 会话。

English · 简体中文


特性

  • 多主机管理 — 本地与 SSH 两种传输方式,SSH 支持密码 / 私钥认证,可为每台主机指定 omp 路径与工作目录
  • 实时对话 — WebSocket 全量帧推送(agent 开始/结束、消息增量、工具调用、系统通知),断线自动重连 + 历史消息补齐
  • 多轮对话界面 — 用户/助手/工具/系统分角色气泡渲染,Markdown 代码块与表格高亮,复制/重发,流式光标与打字指示,智能吸底滚动
  • 会话管理 — 会话列表 / 新建 / 切换 / 重命名,历史上下文随会话恢复
  • 工具调用可观测 — 工具调用条实时展示执行状态(运行中/完成/失败)
  • 无外部依赖 — 除 omp 外零第三方服务,本地优先,SSH 直连

快速开始

前置要求

  • Java 21+
  • omp 已安装(RPC 模式:omp --mode rpc)
  • Node.js 18+(仅前端构建时需要)

启动

# 1. 构建前端(产物输出到 Spring 静态目录)
cd web/frontend && yarn && yarn build && cd ../..

# 2. 启动后端
./gradlew :web:bootRun

# 3. 打开浏览器
# http://localhost:9010

前端产物已随提交保留,若未修改前端可直接跳过第 1 步。

注册主机

在左侧「注册主机」表单中填写:

字段 说明
名称 / ID 主机显示名与唯一标识
连接方式 local(本机 omp)或 ssh(远程)
目标 host / 用户 SSH 时必填
密码 / 私钥路径 SSH 认证,二者其一
远端 omp 路径 非交互 shell 下 omp 不在 PATH,需绝对路径
工作目录 决定 omp 会话归属目录

注册后在顶部选择主机即可开始对话。

技术架构

Browser ──HTTP/WS──▶ Spring Boot (web)
                        │  HostManager(主机注册表 + client 池)
                        ├── OmpRpcClient ──stdio JSONL──▶ omp(本地进程)
                        └── OmpSshClient ──JSch SSH──▶ omp(远程进程)
  • kernel 模块 — OmpRpcClient(omp RPC 协议客户端)、OmpSshClient(基于 JSch 的远程连接)
  • web 模块 — HostManager(主机与 RPC 客户端管理)、SessionService(会话枚举)、WebSocket 事件流、REST API
  • 前端 — React 19 + antd 6,组件:ChatArea / MessageBubble / ToolPanel / Markdown

REST API

方法 路径 说明
GET /api/hosts 主机列表
POST /api/hosts 注册主机
DELETE /api/hosts/{id} 移除主机
GET /api/hosts/states 全部主机状态(含模型/上下文)
POST /api/hosts/{id}/prompt 发送 prompt
POST /api/hosts/{id}/abort 中止当前 turn
GET /api/hosts/{id}/state 单主机状态
GET /api/hosts/{id}/messages 历史消息
GET /api/hosts/{id}/sessions 会话列表
POST /api/hosts/{id}/sessions 新建会话
POST /api/hosts/{id}/sessions/switch 切换会话
POST /api/hosts/{id}/sessions/rename 重命名会话

产品路线图

当前处于 P0「可靠地基」 阶段。完整路线图见 ROADMAP.md,涵盖:

  • P0 持久化、鉴权、错误语义化、测试基建、CI/CD
  • P1 流式增量渲染、工具详情、消息操作、会话搜索/导出
  • P2 多用户与角色、审计日志、通知、会话分享
  • P3 模板编排、定时任务、开放 API、SFTP 文件
  • P4 环境分层、成本看板、多模型路由、高可用

开发

# 前端开发(热更新)
cd web/frontend && yarn dev

# 后端测试
./gradlew :web:test

许可证

MIT © btboys

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages