Octop 入门:用户、代理与消息渠道共享的自托管助手
Octop 架构:网页、消息与定时任务的共享处理路径
追踪请求入口、进程级运行时和各自不同的存储职责。
Octop 架构:网页、消息与定时任务的共享处理路径知识学习CN编辑简报更新 2026-09-23
你将学会
- 沿分层理解请求
- 理解用户与代理归属
- 保持传输认识准确
开始前需要
- 基本 Python 与服务管理知识
- 隔离的试验环境
用只读状态台账,在启用能力前显示尚未验证的边界。
先看结论
- 多代理共享注册表。
- 数据行归属不是系统隔离。
- WebSocket 与 SSE 用途不同。
沿分层理解请求
文档把网页与 CLI 放在 FastAPI 路由之上,管理器和处理器再组合 harness 库。控制数据库与文件工作区持久化不同类型的状态。
初始进程设计不强制依赖外部消息队列,简化启动的同时也集中生命周期和资源协调责任。这种结构本身不构成高可用保证。
理解用户与代理归属
架构使用全局代理注册表,并通过数据行所有权与调用者核对权限,管理员允许绕过相应限制。这不是每个用户各自运行独立隔离进程。
把部署视为安全多租户之前仍需路由级验证。本系列没有审计全部授权路径、存储适配器或管理员能力,不能把文档描述写成隔离测试结论。
保持传输认识准确
架构说明网页聊天流使用 WebSocket,而人工批准后恢复的回合仍使用 SSE。不能按旧印象把所有聊天客户端都实现成 SSE 接口。
React 页面通过 API 通信,不直接打开数据库。排查消息缺失时,应区分传输、会话路由、模型执行和持久化,再决定需要修改的配置。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
标出入口对应处理器。
- 2
区分所有权检查与进程隔离。
- 3
核对目标路由传输方式。
可复制示例
text
网页 / IM / cron -> 网关与处理器 -> 代理
控制数据库:用户、供应商、会话
工作区后端:代理内容与文件常见问题
每个用户是独立进程吗?
文档描述的是单进程中的全局注册表。
所有聊天流都是 SSE 吗?
网页聊天使用 WebSocket,批准恢复回合保留 SSE 路径。
资料来源
- Octop / docs/architecture.md来源核查 2026-09-23