NoCodeFlow 技术白皮书
NoCodeFlow 是一款基于 Electron 构建的 AI 认知工作台桌面应用。用户通过自然语言与多模型 AI Agent 交互,完成应用构建、文档撰写与知识分析。产品以 MiMoCode(小米 AI 编程智能体)为主力引擎,同时支持 Claude、OpenAI 及所有 OpenAI 兼容接口。
本文基于 NoCodeFlow v3.0-alpha(Phase 15)版本撰写,界面和功能可能与最新版有差异。
核心价值主张
市面主流 AI 编程工具的共性问题在于:Agent 回答完成后,用户仍需手动将代码复制回编辑器,上下文在工具间割裂。NoCodeFlow 的核心思路是将 AI 编程助手从”代码补全工具”升级为认知工作台——一个集代码生成、文档处理、知识管理、记忆学习于一体的智能开发环境。
产品以 MiMoCode 为主力 AI 引擎,具备代码生成、文件编辑、Shell 执行等完整能力,支持 mimo-v2.5-pro 等模型,并通过 Max Mode 提供高精度推理。同时保留 Claude、OpenAI 及所有 OpenAI 兼容接口的支持,用户可根据任务需求自由切换。
- MiMoCode:默认适配器,推荐使用,原生能力最强
- Claude / OpenAI:通过 CLI 或 API 接入,适用于特定场景
- OpenAI 兼容接口:DeepSeek、Gemini、Ollama 等第三方提供商
架构设计
多模型智能代理系统
NoCodeFlow 采用适配器模式(Adapter Pattern),支持多种 AI 提供商,用户无需绑定单一供应商。
| 适配器 | 接入方式 | 默认模型 | 适用场景 |
|---|---|---|---|
| MiMoCode(默认) | CLI 子进程 + stream-json 解析 | mimo-v2.5-pro | 日常开发、代码生成、文件编辑、Shell 操作 |
| Claude Code | CLI 子进程 + stream-json 解析 | 用户配置 | 复杂代码生成、长对话 |
| Claude API | Anthropic SDK 直连 | 用户配置 | 高并发 API 调用、自定义模型 |
| OpenAI | OpenAI 兼容协议 | 用户配置 | 第三方提供商(DeepSeek、Gemini、Ollama 等) |
适配器降级链:MiMoCode → Claude Code → Claude API → OpenAI。当首选适配器不可用时自动降级,确保用户不中断工作。
MiMoCode 核心特性:
- 双阶段执行模式:第一阶段禁用写入工具(
write: false, edit: false, bash: false)进行分析,用户确认后第二阶段启用写入执行,确保 Human-in-the-Loop 安全控制 - Max Mode 高精度模式:通过
--variant max启用高精度推理,适用于复杂架构设计和关键代码生成 - HITL 权限拦截:当 Agent 尝试使用被禁用的工具时,自动触发权限请求,用户可批准或拒绝
统一上下文引擎
上下文引擎决定了 AI Agent 能”看到”什么信息,是 NoCodeFlow 的核心竞争力。
五源上下文提供者:
| 提供者 | 数据来源 | token 预算 |
|---|---|---|
| 代码上下文 | 当前文件(100 行上限)、项目结构树(2 层深度)、CodeGraph 符号 | 动态分配 |
| 文档上下文 | 知识库中匹配用户输入的文档片段 | 动态分配 |
| 知识上下文 | 跨文档语义搜索结果 | 动态分配 |
| 记忆上下文 | 项目记忆、Agent 学习经验 | 动态分配 |
| 用户上下文 | 用户偏好、代码风格、写作风格 | 固定预算 |
多层压缩策略:代码骨架化(skeletonization)、文档密度裁剪、语法降噪、基于优先级的 token 预算裁剪。
双轨缓存机制:后台预加载(5 分钟 TTL,1 秒防抖)+ 即时组装,从缓存直接构建上下文,零延迟响应。
全文检索与知识关联
知识层基于 SQLite + FTS5 构建,无需向量数据库和本地模型即可提供高性能全文检索。
搜索管线:
- 查询扩展:基于 60+ 组中英文同义词的查询扩展,采用贪心最长匹配策略处理中文分词
- BM25 排序:基于 FTS5 的 BM25 算法进行相关性排序
- 结果去重:内容哈希去重,避免重复结果
- 上下文扩展:±1 chunk 邻居扩展,获取更完整的上下文
- 相关文档推荐:批量 OR 查询实现关联文档发现
内置 100+ 中文领域术语词典,优先识别已知术语(如”机器学习”)而非 n-gram 碎片化切分。通过 Cytoscape.js 可视化引擎构建文档关联图谱,直观展示文档间的引用和概念关联。
持久记忆系统
记忆层解决了 AI 对话”失忆”的核心痛点——Agent 可以跨会话积累项目知识。
| 记忆类型 | 用途 | 示例 |
|---|---|---|
| project | 项目知识 | 技术栈、目录结构、编码规范 |
| user | 用户偏好 | 写作风格、代码风格、输出格式 |
| session | 会话上下文 | 对话连续性、任务进展 |
| agent | 学习经验 | 成功/失败模式、项目知识积累 |
每条记忆附带置信度分数和访问计数,系统根据使用频率动态调整记忆优先级。SessionRecallManager 在新会话启动时自动召回相关上下文,确保对话连续性。
文档智能处理系统
内置完整的文档处理管线,支持从原始文件到结构化知识的全链路转换:
| 格式 | 解析引擎 | 能力 |
|---|---|---|
| pdfjs-dist | 文本提取、页面分割 | |
| Word (.docx) | mammoth | 富文本转换 |
| Markdown | marked | 语法树解析 |
| 纯文本 | 内置解析器 | 编码检测、分段 |
支持分块(Chunking)、元数据提取、大纲构建、引用识别(APA/MLA/GB/T 7714/Chicago),以及基于上下文检索的精准问答,附带 [docName:page] 引用标注。
技能系统
采用基于能力的权限模型(Capability-based Permissions),支持安全地扩展 Agent 能力:
- SkillDefinition:JSON Schema 声明能力、权限、触发器、入口点
- SkillPermission:细粒度权限(
file:read、network:http、agent:send等) - SkillRuntime:执行前逐项检查权限,确保安全执行
技能生命周期:安装 → 配置 → 授权 → 执行 → 日志 → 卸载。
任务中心
内置任务中心提供预设任务模板,引导用户快速启动常见工作流:
| 任务类型 | 用途 | 触发方式 |
|---|---|---|
| 写论文 | 论文写作、文献综述、学术创作 | 一键启动,自动加载工作区 |
| 分析文献 | 文献阅读、要点提取、对比分析 | 一键启动,自动定位文献目录 |
| 开发软件 | 代码生成、调试、重构 | 一键启动,自动检测技术栈 |
| 做分析 | 数据分析、可视化、统计 | 一键启动,自动识别数据文件 |
| 写报告 | 报告撰写、格式排版 | 一键启动,自动加载模板 |
任务中心与 Agent 深度集成——选择任务类型后自动生成对应的 Agent 提示词,降低使用门槛。
时间线
Agent 操作的实时可视化追踪系统,将 stream-json 输出解析为结构化时间线条目(text / tool_use / tool_result / error / system),嵌入在 Workspace 页面右侧面板,与 ChatPanel 并列展示,支持工具调用的输入参数和执行结果回溯审查。
动态面板与快照回滚
- 动态面板:基于 react-resizable-panels v3 的 4 区域可调布局,支持 4 种预设布局(默认、代码聚焦、Agent 聚焦、分屏底部)
- 快照回滚:AI 每次修改文件前自动创建快照,支持 Git 仓库和非 Git 项目,可视化 Diff 对比,支持单文件恢复和分组回滚
命令面板与性能探针
- 命令面板:
Cmd/Ctrl+K唤起,支持直接匹配、首字母匹配、逐字符匹配三种模糊匹配算法 - 性能探针:内置非侵入式启动性能探针,记录 appStart、windowCreate、ipcReady、total 等关键时间指标
安全架构
NoCodeFlow 采用**纵深防御(Defense in Depth)**策略,构建四层安全屏障,MiMoCode 适配器在此基础上增加应用层 HITL 控制。
四层安全机制
| 层级 | 机制 | 说明 |
|---|---|---|
| 第一层 | 进程隔离 | contextIsolation: true + nodeIntegration: false,渲染进程无法直接访问文件系统或网络 |
| 第二层 | IPC 通道白名单 | 所有主进程 ↔ 渲染进程通信必须通过注册通道,未注册通道无法通信 |
| 第三层 | 路径验证沙箱 | realpath() 解析 + Symlink 绕过检测 + 工作区边界检查,所有文件操作严格限制在工作区内 |
| 第四层 | 命令风险分级 | 4 级分类:safe(自动执行)→ caution(用户确认)→ dangerous(确认+风险提示)→ blocked(拒绝执行) |
MiMoCode 应用层 HITL
在四层安全架构之上,MiMoCode 适配器实现了应用层 Human-in-the-Loop 控制:
- 第一阶段(分析):禁用
write、edit、bash工具,Agent 可读取和分析代码,但无法执行修改 - 权限拦截:Agent 尝试使用被禁用工具时,自动转换为 HITL 权限请求
- 用户确认:前端展示权限请求对话,用户可查看 Agent 意图并选择批准或拒绝
- 第二阶段(执行):用户批准后启用写入配置,Agent 继续执行
- 拒绝终止:用户拒绝时,适配器立即停止 Agent 进程
其他安全特性
- 原子文件写入:临时文件 + 原子重命名,确保写入过程中断不损坏目标文件
- 提示词注入防御:System Shield 前缀 + XML 隔离上下文块 + 来源分组隔离
- API Key 加密存储:通过 electron-store 安全管理,配置文件不硬编码凭证
竞品对比
| 能力维度 | NoCodeFlow | Cursor | Windsurf | Bolt.new |
|---|---|---|---|---|
| 主力 AI 引擎 | ✅ MiMoCode | ⚠️ 绑定特定模型 | ⚠️ 绑定特定模型 | ❌ 绑定特定模型 |
| 多模型支持 | ✅ 4 种适配器 + 动态注册 | ⚠️ 预设模型切换 | ⚠️ 预设模型切换 | ❌ 绑定特定模型 |
| HITL 安全控制 | ✅ 双阶段执行 + 权限拦截 | ⚠️ 基础 | ⚠️ 基础 | ❌ 无 |
| 本地知识库 | ✅ SQLite + FTS5 全文检索 | ❌ 无 | ❌ 无 | ❌ 无 |
| 文档智能处理 | ✅ PDF/Word/MD/文本 | ❌ 无 | ❌ 无 | ❌ 无 |
| 持久记忆 | ✅ 4 类型 + 置信度评分 | ⚠️ 有限 | ⚠️ 有限 | ❌ 无 |
| 权限沙箱 | ✅ 4 层安全机制 + HITL | ⚠️ 基础 | ⚠️ 基础 | ❌ 无 |
| 快照回滚 | ✅ 自动快照 + Diff + 恢复 | ❌ 无 | ❌ 无 | ❌ 无 |
| 技能扩展 | ✅ 插件架构 + 能力权限 | ❌ 无 | ❌ 无 | ❌ 无 |
| 跨平台桌面应用 | ✅ Win/Linux(macOS 规划中) | ✅ | ✅ | ❌ Web only |
| 数据本地化 | ✅ 全部本地存储 | ❌ 云端 | ❌ 云端 | ❌ 云端 |
部署与上手
NoCodeFlow 为桌面应用程序,无需服务器部署。
系统要求:
| 平台 | 最低要求 | 状态 |
|---|---|---|
| Windows | Windows 10+ x64 | ✅ 已发布 |
| Linux | Ubuntu 20.04+ / Fedora 36+ | ✅ 已发布 |
| macOS | macOS 12+ (Monterey) | 🔄 规划中 |
安装流程:
- 下载对应平台安装包(Windows:
.exe/ Linux:.AppImage) - 运行安装程序
- 首次启动引导(Onboarding)自动检测依赖并引导配置
- 配置 AI 提供商的 API Key
- 打开项目目录,开始使用
自动更新:基于 GitHub Releases 的更新机制,支持 Windows 和 Linux。
产品路线图
| 阶段 | 核心交付 | 状态 |
|---|---|---|
| Phase 1-3 | 基础工作区、Agent 聊天、文件管理 | ✅ 已完成 |
| Phase 4-6 | 时间线、权限系统、快照回滚 | ✅ 已完成 |
| Phase 7-9 | 文档智能、任务中心、全文检索与知识关联 | ✅ 已完成 |
| Phase 10-11 | 统一上下文引擎 | ✅ 已完成 |
| Phase 12 | 记忆系统 | ✅ 已完成 |
| Phase 14 | 技能系统 + MiMoCode 适配器 + 动态适配器注册 | ✅ 已完成 |
| Phase 15 (v3.0-alpha) | 统一 Shell、工作区上下文、动态面板、性能探针 | ✅ 已完成 |
| v3.0-beta | 覆盖率提升至 30%,性能优化 | 🔄 规划中 |
| v3.0-rc | 覆盖率提升至 45%,安全审计 | 🔄 规划中 |
| v3.0 | 覆盖率提升至 60%,正式发布 | 🔄 规划中 |
附录:技术参数
| 参数 | 值 |
|---|---|
| 默认适配器 | MiMoCode |
| MiMoCode 默认模型 | mimo-v2.5-pro |
| 上下文提供者数量 | 5 个 |
| 知识库同义词组数 | 60+ 组(中英文) |
| 领域术语词典 | 100+ 中文术语 |
| 安全沙箱层级 | 4 层 + MiMoCode HITL |
| 记忆单条上限 | 10KB |
| 快照最大文件大小 | 5MB |
立即下载 NoCodeFlow 查看使用手册

评论