更新日志 (Changelog)
Clouisle 项目的所有重要变更记录
本文档记录 Clouisle 项目的所有重要变更。
格式遵循 Keep a Changelog,版本号遵循语义化版本。
[未发布]
新增
管理后台可观测性
- 将管理后台可观测性控制台重构为概览、运行、依赖、队列、基础设施和告警六个视图,统一查看运行结果、追踪详情、模型/工具/检索依赖与运维状态。
- 在持久化 AgentRun 详情中增加有界的工具与知识检索跨度,并在“依赖”视图中汇总工具和检索的成功率与延迟。
- 每个 AgentRun 最多保留 128 个依赖跨度;达到上限时详情会标明追踪已截断,历史运行不会回填这些数据。
- 为所有已持久化的 AgentRun 生命周期状态补齐中英文翻译,并在遇到未来新增状态时安全回退为原始状态值。
- 为基础设施依赖增加有界的 PostgreSQL、Redis、Celery Worker 与 Qdrant 连通性探测,展示实测延迟,并区分不可用与未配置状态。
- 新增每分钟执行的单主 AgentRun 终态摘要对账,按有界批次修复过期的状态、时间、模型与 Token 字段,不重放运行;修复导致终态摘要丢失的 ORM 查询。
- 模型依赖卡片会将已有遥测中的 UUID 解析为配置的模型名称与供应商展示名称,支持自定义网关名称,并保留同名模型各自的统计。
- 使用独立 Celery inspector 并发采集运行任务、预取任务、定时任务与活跃队列,降低队列快照延迟,保留现有缓存与异常降级行为。
- 并发采集基础设施健康状态与慢查询统计,并将 Celery 回复收集窗口缩短至 0.5 秒,降低快照延迟,保留现有探测截止时间、异常降级和缓存行为。
- 新增 Redis 共享 API 实例发现,通过实例级上报租约去重,展示可读名称、主机资源采样及过期/离线状态;基础设施面板统一列出各后端的保留实例,不再只显示当前请求命中的实例。
- 为可观测性增加双月日历范围选择器,在弹层底部提供滚动时间预设,支持按本地时区覆盖完整日期、URL 保留,并为概览、运行列表及依赖统计统一应用 UTC 时间过滤。
- 仪表盘同步采用日历区间选择器,在弹层底部提供最近 7/30/90 天和全部时间快捷项;自定义日期统一过滤趋势、排名、模型用量、工作流摘要及对话/消息/Token 摘要与平均值,其他固定累计指标保持原定义。
沙箱出口
- 为沙箱出口精确主机名新增持久化安全设置;更新后新任务直接生效,无需重启 Worker。
沙箱生命周期审计
- 新增沙箱任务启动、完成、失败、取消与恢复的审计事件。条目记录可用的任务/会话/Worker 上下文与安全错误码,不记录代码、参数、输出或原始异常文本。
模型与工作流
- 新增 TypeSafe AI(供应商标识
typesafe,默认端点https://api.typesafe.ai/v1/systemone)决策模型供应商和decision模型类型:它针对给定state回答带类型的choice(最多 255 个选项)、score(2–10 个有序等级)或noul(真/假)问题,并返回带概率分布与置信度的结构化答案。 - 新增 Decision 工作流节点:提出一个带类型的问题,按返回的答案(或概率最高的得分等级)分支,并支持回退分支和可选的置信度阈值。节点输出
answer、selected_handle、confidence、probabilities和用量。
聊天与文件预览
- 新增统一产物列表,显示文件数量、可展开结果,并为常见文档、媒体和代码格式提供共享预览与带认证下载。
- 新增 DOCX 缩略图、页面同步、响应式适应宽度和缩放控制;新增只读 PDF 与电子表格预览控制。
- 新增 Agent 隐藏产物列表设置,默认关闭;开启后隐藏聊天中助手消息下方的生成文件列表。
记忆与 RAG
- 新增管理后台
memory站点设置分类,可配置后台记忆提取模型、去抖冷却时间和待处理轮次阈值。 - 新增有界的
get_memory_subgraphAgent 工具,用于按关系检索记忆。
变更
管理后台可观测性
- 将页签和筛选控件统一为项目共享的 Tabs、Select、Input 组件,并统一控件高度。
Agent Studio
- 手机端 Agent 预览改为全屏抽屉式面板打开,避免并排显示时压缩编排区。
资源与媒体
- 将生成的图片和视频持久化为带范围的 Asset,并提供会话/工作流范围内供模型使用的媒体引用。
- 更新 CSV 的 GBK/GB18030 编码处理,并移除电子表格查看器中的重复下载入口。
Agent 检索与聊天时间线
- 未关联知识库的 Agent 现在会持久化并运行在
rag_mode: off;选择知识库前,Agent 编辑器隐藏 RAG 选择器。 - 聊天思考过程按检索、压缩、推理、工具和生成步骤实际发出的顺序渲染。
- 未执行检索时
rag_context保持为null;执行检索但没有上下文时为[]。
修复
管理后台可观测性
- 修复工具与检索跨度缺少 Token 计数时“依赖”视图接口报错的问题;此类行现在显示为不可用,而不是令整个响应失败。
- 在 Tortoise 生成模型结构和索引前,为已有 PostgreSQL
observability_runs表补充model_name与message_started_at列,修复旧数据库升级时的启动及概览查询失败。
沙箱会话
- 会话任务改走按 Worker 划分的 Celery 队列,并持久化带隔离的工作区/存储绑定;过期代际的消息会被拒绝,执行结果不确定的命令不会自动重放。
- 新增 sandbox-worker 就绪心跳、同盘监督重启与检查点恢复;原 Worker 存储不可用时按有界原子流程换绑到新工作区代际,AgentRun 收到
WORKSPACE_RESET后重新规划,不再复用过期路径或进程状态。 - 每个 sandbox-worker 的工作区与检查点保留在 Worker 本地存储(Compose 命名卷、Kubernetes 节点本地 hostPath DaemonSet);同节点进程替换可恢复检查点数据,节点或磁盘永久丢失则不可恢复。
- 拒绝符号链接工作区路径时使用平台
ELOOP错误码常量。 - 延迟清理与空闲回收重试改走独立 Redis 索引,避免不可用的属主队列阻塞后续会话;首次会话分配在就绪 Worker 间分散,并对绑定/墓碑保留期设界。
- 拒绝值为零的 sandbox-worker 恢复超时。
- 隔离沙箱与依赖安装出口改走按任务 HTTPS 代理,按精确主机名放行;被拦截的主机会出现在执行诊断信息中。
- 旧版代码执行与工作流代码节点收敛到沙箱网关之后;禁用、不可用与失败的运行时直接失败,不在调用方执行负载。
- Python 与 Node 依赖安装默认限制 300 秒;超时的安装进程组会被终止,未完成的安装环境会被丢弃。
- 沙箱输出在内存中设界捕获,并对每个进程应用
prlimit限制。直接负载在 Bubblewrap 中丢弃全部 capability;可信出口桥接在隔离网络命名空间中拉起 loopback,再设置no-new-privileges并清除负载 capability。交付的 Worker 为该流程保留NET_ADMIN并保持资源上限。
资源访问与预览
- 为生成图片、生成视频和沙箱产物增加基于范围的授权,并在客户端使用带认证的下载。
- 保留文件过大、未认证、无权限、不支持类型和解析失败等明确预览状态,不再回退到未保护的 URL。
[0.2.9] - 2026-06-09
新增
管理后台与可观测性
- 新增管理后台可观测性仪表盘,用于查看平台用量、性能、错误和活动监控
- 新增 Agent 与工作流的管理后台管理面板和路由
包导入导出
- 新增 Clouisle 包导入导出能力,支持在不同环境之间迁移应用和资源
知识库
- 新增多模态知识库资源支持,支持上传图片和媒体引用
- 新增失败分块重试和知识库文档/分块批量操作
聊天与 Agent
- 新增上传聊天图片作为媒体引用的能力
- 扩展 Agent 配置中的提示词生成上下文
变更
聊天体验
- 重构聊天消息渲染、思维链展示、工具展示和滚动行为,减少闪烁和卡死
- 优化 AI 对话流式响应超时处理
平台与权限
- 支持超级管理员转移团队所有权
- 改进 Skill 能力视图,并补全 Skill 动作映射
- 媒体生成选择器简化为仅展示模型名称
自动化与依赖
- 更新 GitHub 自动化 Action 版本和依赖锁文件
- 从版本控制中移除生成的仓库活动和文档同步工作流报告
修复
聊天与工作流
- 修复 Agent 聊天闪烁、思维链滚动状态、聊天滚动、Agentic 工作流渲染和生产环境聊天折叠卡死问题
- 修复继续对话时 Agent 消息版本分支上下文问题
知识库
- 修复知识库批量操作评审问题,以及媒体资源处理和搜索路径问题
管理后台与工具
- 修复管理后台工具管理文案和 Skill 能力页面回归问题
安全
依赖
- 更新后端
aiohttp、starlette和idna依赖以进行安全维护
[0.2.5] - 2026-05-20
变更
界面一致性
- 统一平台菜单与对话框中的删除操作样式,包括 SSO 提供商、知识库与能力操作。
- 悬停删除菜单项时通知徽标文字保持可读。
- 统一工作流日志、运行详情与活动日志中的运行状态标签与徽标样式。
部署
- Docker 镜像中以后端字节码形式打包应用。
- Docker standalone 前端部署支持将
/api/*请求代理到内部后端服务。 - 公共 API 地址为相对路径时,为前端 SSR 请求新增服务端 API 地址解析。
修复
聊天与日志
- 修复 Docker 构建排除
logs路由目录、导致生产环境日志页 404 的问题。 - 修复聊天流式失败时的
UnboundLocalError。 - 修复 Docker 部署中认证与公开聊天 SSR 元数据请求失败的问题。
- 修复从工作流日志页选择运行后运行详情丢失的问题。
- 修复工作流日志筛选使用后端运行状态值,并修正从日志页跳转工作流监控的导航。
- 本地化工作流运行详情的开始时间、结束时间与调试模式标签。
Skill 与自动化
- 在 Skill 导入环境中安装 Git,使 Git 托管的 Skill 导入可以完成。
安全
聊天流式
- 移除聊天流式错误响应中的堆栈暴露。
[0.2.3] - 2026-05-19
修复
认证
- 未登录用户访问平台和仪表盘页面时,在渲染依赖凭证的内容前重定向到登录页
- 保留后端返回的登录凭证错误提示,避免误显示为会话已过期
- 居中卡片认证布局保留表单边框,分栏认证布局继续使用无边框表单
仪表盘
- 为仪表盘趋势图提供可测量容器,避免 Recharts 宽高无效警告
[0.2.2] - 2026-05-17
新增
认证
- 新增可配置的分栏认证布局,部署时可在居中布局和分屏布局之间切换
自动化
- 新增 GitHub issue 和 pull request 自动分配工作流支持
变更
前端与站点设置
- 更新站点设置界面和 API 接入,支持配置认证布局选项
- 优化后台和平台表单中的数字输入处理
- 更新前端依赖,包括 React、React DOM、shadcn、lucide-react、TypeScript 和 Next.js lint 配置
CI/CD
- 更新 GitHub Actions 发布和自动化依赖
修复
文档
- 修正部署文档中的 PostgreSQL 环境变量引用,将
POSTGRES_HOST改为POSTGRES_SERVER - 完善仓库自动化相关的文档同步校验说明
[0.2.1] - 2026-05-11
修复
聊天与 Agent 运行时
- 跨 Agent 会话保留上传文件上下文:缓存解析后的文件内容并在后续轮次复用。
- 恢复后端聊天工具处理中的知识检索工具执行。
- 避免用完整消息容器包裹出错的 Agent 消息,使错误展示与手动中断一致。
- 对不支持的 HTTP 工具 URL 模板返回结构化本地化校验错误。
安全与依赖
- 将
langchain-core升级到已修复安全公告的后端依赖版本。 - 调整 Dependabot 前端更新分组,使不兼容的前端依赖升级单独处理。
文档
- 修正英文 README、中文指南 README 与快速入门中的后端启动命令。
- 为 Celery worker 与 beat 启动命令补充显式的
celery_app用法说明。
[0.1.2] - 2026-03-04
新增
用户记忆系统
- 基于 D3.js 力导向布局的交互式记忆图谱可视化。
- 支持完整增删改查的记忆管理面板。
- 基于 LLM 函数调用的自主记忆创建与更新。
- 基于 Qdrant 向量检索的语义搜索。
- 基于用户的多租户数据隔离。
- 10 种颜色区分的实体类型(person、preference、skill、project、goal、fact、concept、organization、location、custom)。
- 9 种颜色区分的关系类型(prefers、works_on、knows、uses、works_at、located_in、has_goal、related_to、part_of)。
- 可配置的自动提取、重要度阈值与单次检索记忆上限。
- 图谱的搜索、筛选与缩放控制。
- 带关系导航的实体详情面板。
Agent 功能
- Agent 交互式提问工具,支持结构化多问题输入。
- 对话中的多选选项支持。
- 聊天流程中的动态问题生成。
- Agent 编排表单中的记忆配置。
工作流增强
- 面向工作流集成的知识检索节点。
- 面向数据处理的参数提取器节点。
- 面向模块化设计的子工作流支持。
- 变量引用校验系统。
- 带内部变量访问的循环迭代。
- 带断点与时间旅行调试的调试模式。
- 带流式更新的实时执行监控。
文档
- 18000+ 行的中英双语完整文档。
- 架构指南与 API 参考。
- Docker 与 Kubernetes 部署指南。
- MCP(Model Context Protocol)文档。
- 沙箱执行文档。
- 文档自动生成脚本。
认证与安全
- SSO 提供商名称路由。
- SSO 属性映射中的 JSONPath 支持。
- 密码重置与验证的邮件模板。
- 注册时的默认角色分配。
- 基于团队成员关系的全局角色同步。
通知
- 新消息的浏览器推送通知。
- 按用户语言投递的通知。
- 面向触发用户的工作流运行通知。
- 知识库文档处理通知。
国际化
- 模块化结构的前端完整 i18n 支持。
- 系统消息的后端完整 i18n 支持。
- 用户语言持久化与自动同步。
- 面向 Agent 的语言感知系统提示词。
- 用户语言的内置工具展示名。
- 默认语言站点设置。
基础设施
- 面向容器编排的健康检查端点。
- 自动构建 Docker 镜像的 CI/CD 流水线。
- 优化镜像体积的多阶段 Docker 构建。
- 无 YAML 锚点的 Kubernetes manifest。
变更
- 按逻辑分组重排平台头部下拉菜单。
- 改进会话列表更新与状态管理。
- 增强错误处理与用户反馈。
- 用批量更新优化分块重建索引。
- 重构 LLM 聊天适配器以提高模块化程度。
- 提升向量存储服务性能。
修复
前端
- TCP 分片时 SSE 解析器丢事件(#61)。
- 工具调用完成后状态卡在“运行中”(#60)。
- 提示词编辑器换行保留(#59)。
- 多行文本的聊天输入框自适应高度(#59)。
- 开发页自动刷新与认证重定向循环(#58)。
- 密码校验与邮箱验证(#57)。
- 语言同步与 favicon 主题切换。
- 会话列表更新与推理块状态管理。
- 使用绝对 URL 的浏览器通知图标。
后端
- 直接使用 bcrypt 兼容 Bcrypt 5.0。
- 用预加载数据修复用户序列化的 N+1 查询(#56)。
- 使用公开
site_url构造 SSO 回调地址。 - SSO 登录 URL 中重复的
/api/v1前缀。 - 从
user.locale而非请求头检测语言。 - 使用触发用户语言发送工作流运行通知。
- 使用上传者语言发送知识库文档通知。
- 对 SSE 流式响应跳过日志中间件。
部署
- Docker 构建中的 Bun lockfile 兼容(#52)。
- 使用 JSON 数组格式的 CORS 配置(#51)。
- 面向 kubectl 的 Kubernetes manifest 兼容。
安全
- 增强密码校验。
- 自定义工具凭据的安全存储。
- 带过期跟踪的 API Key 范围访问。
[0.1.0] - 2025-02-07
Clouisle 首个公开发布版本 - 企业级知识库与 AI Agent 平台。
核心功能
Agent 系统
- Agent 类型:支持聊天 Agent 和工作流 Agent
- Agent 编排:现代化三栏布局,实时预览
- 提示词编辑器,支持 AI 生成
- 变量配置
- 知识库关联
- 工具配置
- 视觉能力支持
- Agent 发布:发布/取消发布工作流,状态管理
- Agent API 访问:OpenAI 兼容 API,提供文档和代码示例
- Agent 监控:使用统计、对话趋势、Token 用量、响应时间指标
工作流引擎
- 可视化工作流编辑器:基于 React Flow 的拖拽式工作流构建器
- 节点类型:
- 开始/结束节点
- LLM 节点(支持模型选择和参数调优)
- 条件节点(分支逻辑)
- 代码节点(JavaScript/Python 执行)
- 工具节点(HTTP API、MCP、内置工具)
- 迭代/循环节点
- 变量赋值/聚合节点
- 子工作流节点
- 问题分类器节点
- 参数提取器节点
- 变量系统:上游变量引用与校验
- 执行:实时流式执行,节点级状态跟踪
知识库
- 文档管理:
- 多格式支持:PDF、DOCX、TXT、MD、HTML、CSV、XLSX、JSON、PPTX
- URL 导入
- 拖拽批量上传
- 文档处理:
- 智能文本分块(可配置 chunk_size、chunk_overlap、separator)
- 提交前分块预览
- 文本清洗选项
- 搜索模式:
- 向量搜索(语义相似度)
- 全文搜索(jieba 中文分词)
- 混合搜索(RRF 算法)
- 动态 Embedding:支持多种 embedding 维度(768、1024、1536、3072)
聊天系统
- 通用聊天组件:可复用的聊天组件库
- 消息类型:文本、推理(思维链)、工具调用、文件、来源
- 流式输出:实时流式响应,Streamdown 渲染
- 多轮对话:对话历史管理
工具系统
- 内置工具:计算器、时间/时区
- HTTP API 工具:可配置 URL、方法、Headers、Body 模板
- MCP 服务器工具:stdio/sse 传输、命令执行
- 代码工具:在线 JavaScript/Python 编辑器
平台功能
用户管理
- 认证:用户名/密码、SSO(OIDC、SAML、CAS)
- 注册:可配置注册、审批流程、邮箱验证
- 密码策略:可配置强度要求
- 会话管理:超时、单一会话模式
- 登录安全:最大尝试次数、锁定、验证码
团队管理
- 多租户:基于团队的资源隔离
- 基于角色的访问控制:可自定义角色和权限
- 团队成员:邀请、移除、角色分配
模型管理
- 多供应商支持:OpenAI、Anthropic、Azure、本地模型
- 模型授权:团队级模型访问控制
- 用量跟踪:按团队统计 Token 用量
API 密钥管理
- API 密钥 CRUD:创建、轮换、过期 API 密钥
- Agent 绑定:限制 API 密钥访问特定 Agent
- 速率限制:可配置速率限制
站点设置
- 常规:站点名称、描述、URL、图标
- 默认语言:可配置系统消息的默认语言
- 安全:注册、密码策略、会话、登录安全
- 通知:邮件(SMTP)、钉钉、企业微信、飞书、Slack、Webhook
- 自动通知:可配置系统事件通知
- SSO:OIDC、SAML、CAS 提供商配置
- 存储:审计日志保留和归档
审计日志
- 全面记录:记录所有用户操作
- 日志查看器:可筛选、可搜索的审计日志界面
- 导出:支持 CSV 导出
- 归档:可配置保留期限,自动归档
国际化
- 语言:英语、简体中文
- 用户语言:每用户语言偏好
- 站点默认:可配置系统消息的默认语言
- 动态 i18n:所有用户界面消息国际化
UI/UX
- 主题:明/暗模式,支持系统偏好检测
- 动态 Favicon:主题感知的 Favicon 切换
- 响应式设计:桌面端优化的仪表板
- 组件库:基于 shadcn/ui 的组件
技术栈
后端
- Python 3.13、FastAPI
- Tortoise ORM + AsyncPG
- Celery 后台任务
- Redis 缓存和发布/订阅
- Qdrant 向量存储
前端
- Next.js 15、React 19
- TypeScript
- Tailwind CSS
- shadcn/ui 组件
- Bun 包管理器
贡献指南
在提交代码时,请在提交信息中关联相关 Issue,格式如:
feat(knowledge-base): 实现知识库搜索功能
- 添加向量搜索、全文搜索、混合搜索三种模式
- 集成 jieba 中文分词
Closes #12这篇文章对你有帮助吗?