核心概念

Monstrum 概念与术语

本文档定义 Monstrum 平台中的所有抽象概念和技术名词。阅读架构文档或源码前,建议先通读本文。


目录


设计范式

从工具到行为主体

管理 AI Agent 和管理组织中的员工,在结构上是同一件事。在 Monstrum 中,AI Bot 不是 LLM 的包装器,而是一个受管的行为主体——拥有身份、权限、凭据、记忆和预算的独立实体。

员工得到什么Bot 得到什么
身份与角色 — 姓名、职位、部门Bot 档案 — 名称、描述、模型、性格提示词
能力边界 — “你可以使用这些工具”工具可见性 — 只有被授权的工具存在于 Bot 的世界中
凭据 — 门禁卡、钥匙(看不到保险柜密码)加密凭据 — 在执行层使用,AI 永远看不到
策略约束 — “生产环境只读”声明式 scope 规则 — 参数级检查,由代码强制执行
记忆 — 经验、上下文、团队知识分区记忆 — 全局、频道、任务、资源四种 scope
标准流程 — SOP、检查清单工作流 — 可视化 DAG 编辑器,支持分支、并行、审批节点
团队协作 — 委派任务、共享上下文Bot 间委派 — 权限只能收窄,永远不能扩大
预算 — 支出限额、费用追踪Token 预算 — 实时消耗追踪,超额自动终止
行为记录 — 考勤、审计审计日志 — 每次工具调用、每次 LLM 请求、每个 Token 都有记录
沟通渠道 — 邮件、Slack、电话多渠道网关 — Slack、飞书、Telegram、Discord、Webhook

这不是类比——这是 Monstrum 的核心设计范式。Bot 是受管的行为主体,不是 LLM 的包装器。

平台强制,而非 AI 自律

AI Agent 有能力但不可信——它会幻觉、会被注入、会越权。不能靠 AI 自律来保证安全。

Monstrum 的核心主张:安全由平台架构保证,而非依赖 AI 的自我约束。

  • LLM 说”我不会访问那个仓库”?→ 不够。平台让它根本看不到那个仓库的工具
  • LLM 说”我不会泄露 API Key”?→ 不够。平台从不把明文凭据交给 LLM
  • LLM 说”我只操作授权范围”?→ 不够。平台在每次工具调用后校验参数是否越界

治理三原则

1. 最小权限 — 看不到 = 不存在

Bot 只能看到被显式授权的工具。未绑定的 Resource 对 Bot 完全不可见——不是”可见但禁止调用”,而是 LLM 根本不知道它们的存在。

2. 凭据隔离 — LLM 永远碰不到密钥

凭据 AES-256 加密存储。执行时由平台解密注入到 Executor 层,LLM 在整个生命周期中接触不到任何明文。

3. Fail-Closed — 出错就停

任何环节出错,结果是”Bot 什么也做不了”,而不是”不受限制”:

  • ToolResolver 出错 → 返回空工具列表
  • Guardian 出错 → 拒绝请求
  • EventDispatcher 投递前 re-check 失败 → 阻止投递

核心概念辨析

Bot vs Agent vs LLM

概念是什么在 Monstrum 中的实体
LLM大语言模型,纯推理引擎。接收 prompt 和工具定义,返回文本或工具调用。LLMProvider(API 配置)、ModelInfo(模型元数据)
BotMonstrum 平台上的受管 AI 实体。拥有身份、权限、配置、记忆、预算。Bot 模型。一个 Bot = 一个 LLM 配置 + 一组资源绑定 + 权限策略 + 运行时状态。
Agent具有自主决策能力的 AI 程序。在 Monstrum 中有两个含义(见下文)。取决于上下文。

Session vs Task

SessionTask
触发用户发 IM 消息API 调用 / 定时调度 / Bot-to-Bot 委托 / 事件触发
交互多轮对话,有上下文单次执行,独立上下文
生命周期空闲 30 分钟回收执行完毕即结束
记忆MemoryContext(三层缓存,scope 分区)AgentRuntime 加载全局+任务记忆

Executor vs Integration

ExecutorIntegration
本质工具执行的内部引擎一个完整的集成包(声明 + 执行逻辑)
用户交互平台内部,用户不直接接触通过控制台或 SDK 上传声明式 YAML 清单
内置 vs 自定义8 个内置执行器内置集成 + 用户自定义集成

资源模型

Monstrum 的资源管理是三层抽象:声明能力 → 实例化连接 → 授权绑定

ResourceType(资源类型)

能力声明。定义一个集成”能做什么”。

字段说明
id唯一标识(如 sshmcpgithub
tools: ToolDef[]LLM 可调用的工具定义
scope_dimensions参数级权限检查规则
auth_methods支持的凭据获取方式
credential_schema凭据字段定义
config_schema连接配置字段定义

内置类型(8 个): SSH、MCP、Bot、Local、Web、Browser、RMCP、Docker

Resource(资源实例)

具体的外部系统连接。一个 ResourceType 可以有多个 Resource 实例。

BotResource(资源绑定)

Bot 与 Resource 之间的授权关系。这是权限的核心载体


权限模型

两层独立的安全过滤,任意一层都足以阻止越权。

RolePermissions(运行时权限)

字段说明
allowed_operations操作 glob 列表(如 ["issue.*", "pr.read"]
allowed_tools工具 glob 列表(动态类型专用)
scope_constraints参数级约束(如 {"repos": ["org/repo-*"]})
delegate委派约束 DelegateConstraints

ScopeDimension(权限维度声明)

声明式规则,插件开发者只需声明”检查什么”,平台自动执行。


工具体系

ToolDef(工具定义)

LLM 可调用的工具声明,定义在 ResourceType 中。

ToolCatalog(工具目录)

数据驱动的全局工具索引。启动时从 DB 加载所有 ResourceType 的工具定义。

两类工具

外部资源工具Bot 自有能力工具
本质Bot 访问外部系统Bot 操作自己的数据
例子SSH / MCP / GitHub记忆、调度、工作流、进度
Pre-LLMBotResource 绑定过滤BotRuntimeConfig 开关 / 始终注入
Post-LLMGuardian scope 校验不走 Guardian(所有权天然保证)

执行架构

AgentRuntime(Agent 执行引擎)

核心 LLM 调用循环。接收任务,构建 system prompt,循环调用 LLM 和工具直到完成。

Agent Mode(推理模式):

模式行为
reactive直接执行,不输出计划(默认)
planning先输出编号计划,再逐步执行
adaptive计划 → 执行 → 反思 → 调整计划

会话与消息

Session(会话)

用户与 Bot 之间的活跃对话。会话 Key:(config_id|source, channel_id, bot_id)

生命周期: 首条消息 → 创建 Session → 每条消息 FIFO 处理 → 空闲 30 分钟 → 记忆提取 → 回收

会话持久化

频道级对话持久化。压缩阈值 80 条消息,LLM 总结旧消息,保留最近 50 条 + 摘要。


记忆系统

记忆 Scope

origin 值含义可见范围
NULL全局记忆所有场景
channel:{config_id}:{channel_id}频道记忆该 IM 频道的会话
task:{task_id}任务记忆该任务执行期间
resource:{resource_id}资源记忆绑定了该 Resource 的场景

MemoryContext(记忆上下文)

Session 模式下的三层记忆缓存:base(全局+频道)、resource(资源相关)、injected(动态装入)。


提示词管理

9 个 prompt key 集中定义,支持三层覆盖:Bot 级 > Workspace 级 > 代码默认。


事件系统

覆盖全生命周期的事件(task.、workflow.、schedule.、session.、runner.、custom.)。支持 Bot 订阅和 Workflow 触发。


工作流

可视化 DAG 工作流,支持步骤类型:START、END、RESOURCE_CALL、CONDITION、PARALLEL、WAIT、APPROVAL、LLM_CALL、FOR_EACH、SUB_WORKFLOW。

三种触发方式:API 直接触发、定时调度、事件触发。


插件系统

自定义集成通过声明式 YAML 清单定义,指定工具、凭据、权限维度和认证方式。你可以通过控制台或 Python SDK 上传集成清单,平台自动处理凭据注入、权限执行和审计日志。


SDK

Monstrum 提供 Python SDK(pip install monstrum),用于以编程方式管理 Bot、触发任务、查询审计日志以及上传自定义集成。所有 SDK 调用都经过完整的权限检查链路。详见 SDK 指南


用户与多租户

所有实体(Bot、Resource、审计日志)按 Workspace 隔离。支持 OWNER、ADMIN、MEMBER、VIEWER 四种角色。


审计与成本

全链路审计条目(ActionLog),Token 统计(TokenStatistics),预算执行(monthly_token_budget → 超预算自动终止)。


设计原则速查

原则一句话
Bot 是行为主体不是 LLM 包装器,是平台给 LLM 套的管控壳
平台强制,非 AI 自律安全由架构保证,不依赖 LLM 的自我约束
最小权限看不到 = 不存在
凭据隔离LLM 永远碰不到明文凭据
Fail-Closed出错 → Bot 什么也做不了
声明式权限插件声明 ScopeDimension,平台通用引擎自动检查
两层独立过滤Pre-LLM + Post-LLM,任一层都足以阻止越权
委派不放大子 Bot 有效权限 = 委派约束 ∩ 自身权限
Workspace 隔离所有实体按工作区隔离