术语表
NeoMind 涉及的概念较多,本文是所有核心术语的集中定义。首次接触某个概念时可以先来这里查。
如果你要看系统整体架构和数据流(而非单个术语),直接跳到 核心概念。
- 初次浏览:按下面的分类快速过一遍,建立整体印象
- 遇到陌生词:用页面搜索(
Ctrl/Cmd + F)直接查 - 想理解关系:看末尾的 概念关系图
概念分类速览
设备相关
Device(设备)
一个已接入 NeoMind 的物理或虚拟设备。每个设备有唯一 ID、一个设备类型、一组 metrics(遥测指标)和 commands(控制命令)。
例:一台温湿度传感器,metrics 是 temperature / humidity,command 是 reboot。
- 唯一 ID — 用于在系统内引用(
sensor-01) - 设备类型 — 决定有哪些 metrics / commands
- 连接方式 — MQTT / Webhook / BLE 中的一种
Device Type(设备类型)
某一类设备的"模板",定义了该类设备有哪些 metrics、commands、连接参数。设备类型以 JSON 定义,存储在 NeoMind-DeviceTypes 仓库。
创建设备时选择一个类型,NeoMind 据此生成默认的 metric / command schema。
示例 — 温湿度传感器类型:
{
"device_type": "dht22_sensor",
"name": "Temperature & Humidity Sensor",
"description": "DHT22-based ambient environment sensor",
"categories": ["sensor", "environment"],
"metrics": [
{ "name": "temperature", "display_name": "Temperature", "data_type": "float", "unit": "°C", "min": -40, "max": 80 },
{ "name": "humidity", "display_name": "Humidity", "data_type": "float", "unit": "%", "min": 0, "max": 100 }
],
"commands": [
{ "name": "reboot", "display_name": "Reboot", "description": "Restart the sensor" }
]
}
Device Type 是硬件与平台之间的契约,在业务系统中承担三个角色:
- 规范某一类设备 — 所有 DHT22 传感器共享同一个类型定义,无论来自哪个厂商。100 台同类型设备遵循相同的 metric / command schema。
- 为 AI 提供设备标准 — Agent 读取 metric 定义来理解设备能产生什么数据、支持什么操作。你问"温度多少?",Agent 知道该查哪个 metric,无需解析原始数据包。
- 驱动下游配置 — 仪表板组件、自动化规则、数据推送配置都通过名称引用 metric,这些名称来自 Device Type 定义。
Draft(设备草稿)
当 NeoMind 通过 MQTT 或 Webhook 自动发现一个未知设备时,不会立即创建设备,而是生成一个"草稿"。管理员审批后草稿才转为正式设备。
这是安全机制——防止未授权设备自动接入你的系统。自动发现的设备只进草稿队列,你确认后才能正式上线。
Metric(遥测指标)
设备或扩展产生的时序数据点。每个 metric 有名称、数据类型(Integer / Float / String / Boolean)、可选单位。
例:
| Metric 名 | 数据类 型 | 单位 | 含义 |
|---|---|---|---|
temperature | Float | °C | 温度 |
humidity | Float | % | 湿度 |
motion | Boolean | — | 是否检测到移动 |
image_data | String | — | base64 编码的图像 |
Command(命令)
可对设备下发的控制指令或可对扩展调用的操作。每个 command 有名称和参数 schema。
例:set_temperature(target: Integer)、capture()、reboot()。
DataSourceId(数据源 ID)
NeoMind 中引用任意数据点的统一格式:{type}:{id}:{field}
| type | 含义 | 示例 |
|---|---|---|
device | 设备遥测 | device:sensor-01:temperature |
extension | 扩展指标 | extension:weather:temp |
agent | Agent 状态 | agent:guard:status |
仪表板组件配置数据源、规则引擎定义触发条件、数据推送配置目标——全部用 DataSourceId。记住 {type}:{id}:{field} 这个三段式就行。
AI 相关
LLM Backend(LLM 后端)
NeoMind 连接的大语言模型实例。支持多种后端:Ollama(本地)、OpenAI、Anthropic、GLM、llama.cpp 等。可配置多个后端,按场景切换。
- 本地(Ollama / llama.cpp):零延迟、数据不出局域网、离线可用,但受限于硬件算力
- 云端(OpenAI / Anthropic / GLM):模型更强,但需要网络、数据上云、持续计费
- 可以同时配多个,不同 Agent 用不同后端
详见 配置 LLM 后端。
Agent(AI 智能体)
NeoMind 的核心智能单元。Agent 接收自然语言输入(或定时触发),通过 LLM 理解意图,调用工具(CLI 命令、设备控制、扩展命令)执行操作,并从执行结果中学习。
Agent 不只是聊天——它能执行操作。你问"温度超 30 度通知我",它会真正创建规则、配置通知渠道、启动监控。背后是工具调用(Tool Use)能力。
AI Chat(AI 对话)
Agent 的交互模式——用户在对话框输入消息,AI 实时调用工具并流式回复。支持上传图片做多模态分析。使用对话历史 + MemorySnapshot 记忆。
Memory(记忆)
跨执行/会话积累的经验,按模式分两套:
| 模式 | 记忆结构 | 存储 | 作用 |
|---|---|---|---|
| AI Chat | 对话历史 + MemorySnapshot | user.md + knowledge.md | 跨会话记住用户偏好与关键事实 |
| AI Agent | Journal + Knowledge Files | redb + Markdown 文件 | 跨执行积累经验:成功/失败、学到的规律、设备身份、任务使命 |
Journal 是每次 Agent 执 行的结果摘要(做了什么、成功/失败、学到了什么)。Knowledge Files 是长期知识(设备身份、任务使命、资源清单、巡检规律)。
Think-Act-Observe(思考-执行-观察循环)
Agent 的核心执行模式:LLM 分析当前状态(思考)→ 调用工具(执行)→ 读取结果(观察)→ 循环直到任务完成或达到轮数上限(默认 30 轮,全局超时 5 分钟)。
Skill(技能)
为 Agent 提供场景化指导的 Markdown 文件(存储在 data/skills/)。Skill 定义了特定场景下的操作步骤、常见错误和最佳实践,LLM 在执行时自动参考相关 Skill。
Multimodal(多模态)
LLM 处理图像输入的能力。取决于模型——Ollama 拉取视觉模型(如 qwen3.5:4b-vl / llava)或使用云端视觉模型(gpt-4o / claude-3-5-sonnet / gemini-1.5-flash)后,AI Chat 支持上传图片进行视觉分析。
Tool(工具)
Agent 可调用的操作。NeoMind 的 Agent 主要通过 neomind CLI 命令操作设备、规则、仪表板等。工具系统自动把已安装扩展的 commands 也暴露给 LLM。
Agent
└── neomind CLI
├── device 管理
├── rule 管理
├── dashboard 管理
└── extension 调用
├── YOLO 检测
├── OCR 识别
└── 天气预报
数据处理相关
Transform(数据转换)
在数据写入 Telemetry 后自动执行的 JavaScript 管道,将原始指标转换为更有意义的派生指标。支持三级作用域:Global(所有设备)、Device Type(一类设备)、Device(单个设备)。
例:原始数据 {temperature: 25.6, humidity: 60} → Transform 计算出 dew_point: 16.7°C(露点)和 comfort: "humid"(舒适度)。
派生指标以 transform:{output_prefix}:{field} 格式写入 Telemetry,和原始数据一样被仪表板、规则、Agent 消费。
详见 核心概念 — Transform 和 自动化规则。