Octop 深度拆解:多用户多 Agent 自托管 AI 助手本地部署到集成的实操路径 Octop 深度拆解多用户多 Agent 自托管 AI 助手本地部署到集成的实操路径【免费下载链接】OctopA smarter, self-hosted AI assistant — multi-user, multi-agent.项目地址: https://gitcode.com/GitHub_Trending/oct/Octop如果团队要给几十个人跑 AI 助手服务又要求对话记录、凭据与 workspace 文件不出内网那么买云上 SaaS和从零搭自托管栈两条路都有点硌牙。Octop 是一个支持多用户、多 Agent 的自托管 AI 助手单进程、一条命令拉起 Web 控制台、CLI 与 IM 通道所有数据留在本机~/.octop/下每个用户配一组可按场景切换的专业 Agent。社区已有《如何把 Octop 变成 ACP 服务器》CSDN这类实操文章本文换部署者视角从源码层面拆它能做什么、怎么组织、跑起来要几步。单进程运行时能做什么从专家库到远程桌面先用可感知的能力划边界再谈内部结构专家Expert体系— 每个用户可建多个专家各自拥有独立 workspace、供应商、通道与定时任务内置模板库提供通用助手、基医临床医师、运维工程师等开箱角色也支持专家市场与同实例共享IM 通道归一— 飞书、钉钉、QQ、企业微信、Telegram 等入站消息被 gateway 归一为统一处理管线群里的一句话能落到本机 Agent⏰自然语言 Cron— 定时任务与 Web UI、IM 共用同一条消息处理链路task_type区分直接推送与先跑 AI 再推送️浏览器 AI 与远程桌面— Chromium 无头浏览器会话支持网页自动化与截图控制台内可实时看屏并注入键鼠操控主机桌面跨 Linux / Windows / macOS内部则是一个无 worker、无外部队列的 Python 单进程Web UI、CLI、IM 三个入口全部路由到进程内的HarnessProcessor重启后整个状态从控制面数据库重建见 docs/architecture.md 第 1、2 节模块职责AgentManagersrc/octop/infra/agents/manager.py全局单一注册表按 agent 行按需构建HarnessAgentRuntimeGatewaysrc/octop/infra/gateway/各 IM 平台入站消息归一化承载 WS hub 与 cron 触发源GlobalProcessor斜杠命令分发与 chunk 投影负责多 Agent 邮箱回复落回父线程BackendWorkspacesrc/octop/infra/backend/专家文件读写适配器内容文件与控制面数据库分离深挖三个关键机制隔离、护栏与审计多用户行级隔离如何生效设计意图一人一台 AI 必须是数据模型约束而非使用约定。实现路径每个请求经 JWT 解析到User行早期每用户一个 AgentManager的设计已移除改为单一全局注册表 行级所有权校验——agents.user_id与调用者匹配管理员可绕过docs/architecture.md 的 Per-user isolation 小节写明这一取舍行级检查让/api/admin/*管理工具与跨用户诊断保持简单。源码证据Dashboard 一律走/apiHTTP/WebSocketReact SPA 不直接打开 SQLite 文件。工程取舍在于每次请求多一次所有权比对换来的是管理面与数据面共用一套注册表。命令护栏 ToolGuard 与 HITL 人审怎么落地设计意图Agent 要在主机上执行 shell必须有一层用户可见、可编辑、可回滚的规则。实现路径分两级。规则层src/octop/infra/agents/security/tool_guard_rules.py 管理磁盘上的 YAML 规则文件默认~/.octop/security/tool_guard/ensure_seeded在首次启动时播种出厂规则validate_rules_yaml在保存前拦截非法内容reset_to_bundled一键恢复默认管理端点暴露在 src/octop/api/routers/security.py。策略层src/octop/infra/agents/security/policy_store.py 的SecuritySettingsStore把hitl、filesystem、pii、skill_scan、tool_guard五个维度持久化到 settings 表tool_execution_may_pause只在 HITL 开启或 tool_guard 处于require_approval模式时让工具调用暂停等人审批默认值则由同文件_default_policy定义tool_guard 默认 warn 模式、HITL 默认关。另有 src/octop/infra/agents/security/hitl_session.py 提供线程级粘性豁免ask/allow_all/allow_tools三档单次会话可这一局全放行而不动全局策略——注释明确写着 Does not change the global SecurityPolicy。审计日志与敏感数据本地化怎么闭环设计意图操作留痕和数据不出本机都要可验证。实现路径src/octop/infra/db/repos/audit.py 的AuditRepo向audit_log表写入(ts, actor, action, target, payload)事件actor 区分_system、_admin与普通用户LDAP 登录失败也会落auth.ldap_failed审计事件见 src/octop/api/routers/auth.py管理端GET /api/admin/audit-log支持按时间、actor、action 过滤查询。数据侧README_CN.md 安全章节写明敏感数据在离开工作区前自动脱敏PII redaction语义检索要留本地src/octop/infra/agents/providers/onnx_catalog.py 内置BAAI/bge-small-zh-v1.5、jinaai/jina-embeddings-v2-base-zh等中文 ONNX 模型目录知识库 API 提供onnx-download、onnx-activate、onnx-test端点下载—激活—探针三步即可验证本地向量化。最小落地路径部署 7 步与对外接口清单git clone https://gitcode.com/GitHub_Trending/oct/Octop后执行bash scripts/install.sh在~/.octop/自动创建隔离的 Python 3.12 虚拟环境octop init交互向导创建 SQLite 控制面、JWT 密钥与首个管理员账号控制台模型页配置 LLM 供应商、API Key 与模型octop run --host 0.0.0.0 --port 8088启动单进程生产环境用docker compose -f docker/docker-compose.yml up -d新建专家选内置模板或空白创建即刻拥有独立 workspace接入 IM 通道或用自然语言配 Cron让群里的任务落到本机 Agent可选octop service start注册为 systemd / launchd / Windows 服务登录后控制台首页即快速开始 专家 通道 ACP集中入口对外集成接口一览接口方向典型对端octop acp --agent mainstdio JSON-RPC入站Zed、OpenCode 等 ACP 客户端驱动本机 Agentacp_runner工具出站OpenCode / CodeBuddy / Claude Code / Codex 等外部编码 Agent/apiHTTP WebSocket / SSE双向Dashboard、CLI、程序化集成脚本IM 通道octop-gateway入站飞书、钉钉、QQ、企业微信、Telegram、DiscordConnectorOAuth MCP出站腾讯文档 / 会议等第三方服务~/.octop/pluginsoctop plugin入站第三方插件仓库plugins/下有示例ACPAgent Client Protocol外部工具通过 stdio JSON-RPC 调用 Agent 的协议双向性是此仓库的一个工程取舍入站方向octop acp是独立进程不需要octop run在跑把 Agent 暴露给任意 ACP 客户端出站方向外部 Agent 的权限请求permission_required回流到对话中由人决策内置 runner 与完整流程见 docs/acp.md。企业工程视角身份、执行、审计三层各挂什么模块身份层— 认证底座是 JWT 管理员角色docs/ldap.md 给出完整的企业目录方案服务账号仅做检索再以用户 DN 用户密码二次 bind 验证明确不 bind 用户输入值并按目录组映射admin/user角色复用/api/auth/login入口。对应账号统一管理这一硬要求。执行层— ToolGuard YAML 规则 HITL 人审 PII 脱敏三件套把 Agent 的本地操作关进笼子五个策略维度均可在控制台配置默认值以 src/octop/infra/agents/security/policy_store.py 的_default_policy为准——warn 模式默认开、HITL 默认关是默认宽松、显式收紧的取舍。本地化向量的可验证闭环见上文 onnx 目录。审计层—AuditRepoGET /api/admin/audit-log构成留痕安全策略变更、LDAP 失败登录等管理动作均落事件查询端点支持时间、actor、action 组合过滤可作为合规自查的最小依据。选型清单里多了一个先本地后上云的勾选项对正在做企业 AI 办公选型的团队Octop 改变的是默认答案的构成单进程 ~/.octop/单目录 7 步部署的路径说明本地执行选项第一次有了开箱即用、MIT 协议可审计的实现而行级隔离、ToolGuard 与审计日志是部署第一天就能打开的不是上线后再补的。剩下的决策只有一条——哪些任务留本地、哪些放云端README_CN 的云边端一体路线图项即是此意而 ACP、MCP 与 IM 通道这类标准协议线决定了这条边界随时可以挪动。【免费下载链接】OctopA smarter, self-hosted AI assistant — multi-user, multi-agent.项目地址: https://gitcode.com/GitHub_Trending/oct/Octop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考