Releases: RandyChen1985/nanzi-ai-agent-platform
Release list
🎉 v1.0.14 Release Notes
🎉 NanZi AI Agent Platform v1.0.14.0 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.14.0 版本是一次以 AI 编排责任链管道化重构、分布式锁看门狗自动续约、候选正文实时流式直出、首句工作区并发预热、多工具并发异步调度、工具证据分级门禁、全功能平台 MCP 服务台与双向生态闭环 为核心,并全面推进 反幻觉凭据按需注册与 EmbedChat 浮标交互、元数据推荐引擎与实体关系探测优先、定时任务 Cron 表达式生成加固、模型级采样温度配置与文件上传安全隔离 的里程碑式大版本。
在本次更新中,平台核心 AgentService 从单体流转逻辑系统性重构成清晰高内聚的责任链流水线(Preflight → Context → Route → Assemble → Execution → Finalize),大幅降低系统复杂度并杜绝状态泄漏;创新实现首字候选正文毫秒级直出与首句工作区目录并发预热(TTFT 显著降低),配合工具触发平滑回撤及思考卡片防过早折叠,带来丝滑流畅的对话体感;引入 DistributedLockWatchdog 自动续约与会话长推理静默心跳,彻底终结长时间推理与多工具循环时的锁悬挂与 409 会话忙;全面开放「平台 MCP 服务台」,平台不仅可作为标准 MCP Server 提供全套 Agent、数据、元数据与知识库工具,还支持 OAuth 授权、Token 细粒度有效期与 Scope 版本控制、Client 全员共享与出站调用独立审计;同时落地多工具并发异步执行、工具证据分级响应门禁、元数据大表分批推荐与数据库探测优先、模型级 Temperature 覆盖等多项企业级硬核能力。
本次变更范围自 2a4072f2d10ed51ba86284834d4614b04a360f82(不含,为 v1.0.13 末尾提交)至 933a5f465ca3476d592b3b53301559ad2e6f8cbf(含),共 125 个提交(其中非 Merge 提交 106 个),涉及 416 个文件、约 55,678 行新增代码与 5,171 行删除。
🚀 Key Features
1. 🏗️ AI 编排责任链管道化重构与工程解耦 (Pipeline Architecture for AgentService)
- 责任链流水线设计:彻底重构
AgentService原有的单体复杂流转逻辑,将其解耦为 6 个高内聚、职责单一的独立流水线步骤:PreflightStep:请求鉴权、用户身份校验、空会话归属判定与会话级分布式锁预检;ContextStep:多轮历史记忆加载、上下文压缩策略判定、可复用结果检测与系统提示词注入;RouteStep:意图识别、路由大模型超时保护与智能体动态分流;AssembleStep:智能体版本配置解析、工具集装配、凭证注入与工作区并发预热;ExecutionStep:驱动 AgentScope 运行时、工具调度执行、流式生成与心跳保活;FinalizeStep:终态响应封包、记忆与会话审计持久化、可复用结果归档与看门狗资源回收。
- 死代码清理与模块边界清晰化:全面清理历史遗留冗余分支与未引用的死代码,模块之间通过强类型的
PipelineContext传递数据,大幅提升单测覆盖率、故障隔离能力与后续扩展性。
2. ⚡ 会话并发吞吐、分布式锁看门狗与长推理心跳保活 (Distributed Lock Watchdog & Long-Inference Heartbeat)
- 分布式锁看门狗自动续约:引入后台
DistributedLockWatchdog守护协程。在用户发起复杂任务、长时间深度思考或多轮工具调用时,看门狗以安全周期自动续约 Redis 分布式会话锁,彻底解决因长推理超时导致锁被意外释放而引发的并发穿透与 409 Conflict 异常;任务正常结束或异常熔断时,看门狗立即停止并主动释放锁。 - 长推理静默心跳保活:在模型深度思考(Thinking)、工具挂起(Pending)或网络等待期间,
session_run_lane主动向前端推送轻量级heartbeat心跳事件,防止反向代理(Nginx、Traefik、云厂商网关)因长时间无 SSE 数据流而强行切断连接。 - 流式生命周期终态流转与去重收敛:加固 AI 聊天流生命周期终态状态机,确保在成功、中断、超时或异常等各类边界场景下,流式终态信号
stream_end均能精准触发,彻底杜绝前端一直处于 loading 假死状态。
3. 🚀 候选正文实时流式直出、前置回撤与首句工作区并发预热 (Candidate Streaming, Retraction & Workspace Prewarm)
- 候选正文毫秒级流式直出 (Candidate Streaming):在模型尚未决定是调用工具还是纯文本回答之前,首段生成的文字内容以
answer_delta候选正文形式实时流式推送到前端,显著降低首字呈现延迟(TTFT,Time to First Token),使用户秒级感知模型响应。 - 协议级前置回撤机制 (Retraction):当模型在吐出首段候选文本后决定发起工具调用时,系统通过标准化的
retraction机制将已输出的候选文字自动转译为工具调用的引导说明,或在前端干净平滑撤回,确保最终正文不与工具执行结果产生文本拼接冲突。 - 首句工作区并发预热 (Workspace Prewarm):针对涉及文件读写、代码执行或沙箱操作的会话,将原本串行阻塞在工具执行前的物理工作区目录创建、权限检测及 Docker 隔离环境初始化,提前至
AssembleStep阶段与模型首轮推理异步并发并行执行,将工具执行前的冷启动延迟降低至接近 0ms。 - 后台 Producer 挂死看门狗:为流式生产消费队列加入 Producer 挂死超时监控看门狗,当生产端异常挂死或协程僵死时自动介入熔断并通知前端。
- 思考卡片防过早折叠修复:全面修复在模型输出推理内容后、工具调用处于 pending 阶段时,前端因误判流状态而过早折叠思考卡片的偶发体验缺陷,保持思考与执行全过程的视觉完整性。
4. 🔄 多工具并发异步调度与安全限流门禁 (Concurrent Multi-Tool Dispatcher & Safe Throttling)
- 多工具并发异步并行执行:升级 AgentScope 运行时核心调度器,当大模型单轮次规划并发出多个无依赖关系的工具调用(如同时查询多个数据源、并发检索两份不同知识库文档)时,系统自动启动并发异步任务组(
asyncio.gather)并行执行,总耗时由串行累加缩减为最慢工具的单次耗时。 - 多工具安全限流与配额保护:引入会话级与系统级工具并发配额限制,防止模型失控产生巨量工具调用风暴;结合工具调用全局上限(
agent_tool_loop_global_limit)与单次超时(agent_max_toolcall_timeout),保障系统稳定性。 - 并发工具确认与流式去重:完善多工具并发执行时的状态回调与去重防抖,保证多工具执行卡片在界面上顺序渲染、状态独立更新。
5. 🛡️ 工具证据分级响应门禁、可信溯源与结果凭据隔离 (Tool Evidence Grounding & Credential Isolation)
- 工具证据分级响应门禁 (Evidence Grounding):建立工具执行结果与模型回答的置信度门禁体系(Level 1 强事实证据 / Level 2 弱推导依据 / Level 3 无证据防御性回答)。当工具执行空结果、查询失败或数据受限时,强制模型进行事实防御,杜绝基于空数据胡编乱造。
- 多级事实追溯与元查询 API:提供工具元查询与证据追溯接口,用户或审计人员可由 AI 生成的每一条核心结论,向上追溯至具体执行的工具名称、时间戳、原始入参与原始返回数据快照。
- 跨轮上下文净化与截断保护:对工具执行产生的大体积结果进行结构化提纯与凭据隔离,防止未经脱敏的大数据量或敏感认证凭据污染后续多轮对话的历史上下文。
- 查数快捷追问路由优化:在 ChatBI 数据查询结果卡片上提供上下文感知的一键快捷追问,自动继承当前数据源与数据集范围,省去重复选择与配置成本。
6. 🌐 全功能平台 MCP 服务台与双向生态闭环 (Platform MCP Desk, Inbound OAuth & Outbound Audit)
- 平台开放为标准 MCP Server (Inbound):NanZi 平台自身全面升级为标准 MCP 服务端,外部生态工具(Claude Desktop、Cursor、VSCode、自定义 MCP Client)只需配置 NanZi 的 MCP 端点,即可无缝调用平台内的通用智能体、ChatBI 数据查询、知识库语义检索、元数据目录等丰富工具。
- 企业级 OAuth 2.0 授权与 Token 治理:
- 构建完整的 MCP OAuth 授权认证体系(
V137/V138/V38/V39),支持客户端注册、Client ID / Secret 凭据生成与换取 Access Token; - Scope 细粒度权限白名单与版本控制(
V139/V40):支持按资源与能力配置 Scope 白名单,引入scope_version,一旦管理员收缩或变更 Client 的权限范围,旧 Token 自动失效,杜绝越权访问; - Token 自定义有效期与重生成提示:提供 7 天、30 天、90 天、1 年及永不过期等灵活有效期配置;
- Client 全员共享模式(
V143/V44):支持团队公用 MCP Client 与个人私有 Client 灵活切换。
- 构建完整的 MCP OAuth 授权认证体系(
- 调用第三方 MCP 的用户身份上下文透传 (User Context Assertion 核心特性):
- 破解企业权限盲区:过去智能体调用第三方/企业自研 MCP 服务时,通常仅能配置全局统一的静态 Token。第三方系统无法获知是哪位具体员工在操作,无法落实数据行级鉴权、部门级权限隔离或精准审计;若将用户信息放在 Prompt 参数中,极易被模型篡改伪造。
- 双轨分离认证协议:平台支持将请求来源认证(
Authorization: Bearer <Token>)与当前用户身份断言(X-Nanzi-User-Assertion: <JWS>)解耦分离,支持独立开关配置,两者互不耦合、各自独立生效。 - Ed25519 非对称签名与密钥隔离:平台在后端为每个开启的第三方 MCP 独立生成非对称签名私钥(Ed25519/EdDSA)与专属 Audience,私钥在数据库强加密存储且绝不回显前端;第三方业务 MCP 仅需读取公钥验证签名。
- 丰富结构化 Payload 规范:JWS 签名载荷包含标准主体
sub(如nanzi:user:123)、user_context(真实用户 ID、用户名、姓名、部门代码、组织路径)、安全过滤后的扩展属性、发起调用的智能体信息(ID、版本、名称)以及防重放攻击的jti与 60 秒极短有效期(exp)。 - 标准 JWKS 公钥发现与一键生成对接代码:平台对外暴露标准 JWKS 公钥发现端点(
/.well-known/nanzi/mcp/{mcp_server_id}/jwks.json);管理页面提供 Python 与 Java 双语言的一键生成验签中间件示例代码,业务方开箱即用。 - 内置 Echo 诊断测试服务:平台提供一键创建 Echo 测试 MCP 实例,可全链路模拟并回显 Bearer Token 与 UserContext 验签结果(
user_assertion_received=true、user_assertion_valid=true),方便开发者零成本排查 DNS rebinding、Header 传递与验签全流程。
- MCP 外部出站工具调用独立审计 (Outbound Audit):
- 新增
sys_mcp_outbound_audit_logs独立出站审计表(V145/V46),在服务台全局「审计日志」Tab 中集中展示智能体发起的所有外部 MCP 工具调用记录; - 记录发起智能体、所属用户、目标 Server、工具名称、耗时(毫秒)、执行状态、入参快照、出参结果及异常堆栈;
- 支持 Trace ID 端到端全链路穿透排查。
- 新增
- 稳定性与 Direct HTTP 架构加固:
- 修复 MCP 工具集 P0/P1/P2 缺陷,加固 Direct HTTP 并发稳定性与错误回显;
- 平台对外 MCP 工具名统一规范为下划线命名风格(如
metadata_search、agent_invoke)。
7. 🎯 反幻觉凭据按需注册与 EmbedChat 浮标交互体验 (Anti-Hallucination On-Demand & EmbedChat UX)
- 反幻觉凭据按需加载:重构反幻觉验证凭据的注册机制,避免全量会话无差别加载大体积校验上下文,仅在业务指定或高敏感场景下按需激活,提升普通会话吞吐与启动性能。
- EmbedChat 反幻觉开关默认关闭:针对嵌入式网页聊天组件(EmbedChat),将反幻觉开关默认调整为关闭,提供更快速轻巧的交互响应;管理员或嵌入页面可按需通过参数开启。
- 输入框内交互浮标与状态指示:优化 EmbedChat 输入框交互,在输入框内部直接集成悬浮状态指示与交互浮标,减少界面空间占用,移动端与窄屏体验大幅升级。
- 正文防刷屏熔断优化:将流式正文块防刷屏熔断周期安全调整为 15 周期,兼顾长文本连续生成与模型死循环拦截。
8. 📊 元数据推荐引擎升级与实体关系探测优先 (Metadata Recommendation & Entity Relationship Discovery)
- 大表长任务分批生成与防截断:全面重构智能实体关系发现,支持大表、多表场景下的分批生成与分批诊断日志,修复长响应下 JSON 截断引发的解析异常;取消死板的关系推荐数量上限,支持任意规模企业级数据字典。
- 物理探测优先 + AI 深度融合:关系推荐算法优先通过数据库真实外键、同名字段与主谓索引进行物理探测;无法直接判定的复杂关系再交由 AI 语义模型批量合并推导,极大节约大模型 Token 成本并成倍提升发现速度。
- 实时进度与同步日志流:元数据管理新增实时日志流与 AI 推荐实时进度条,任务执行状态透明可见,避免长任务被前端误判超时。
9. ⏰ 定时任务调度 Cron 表达式生成与容错加固 (Cron Expression Governance & Stability)
- 历史非法 Cron 容错自愈:修复因部分历史定时任务存在不合规 Cron 表达式而导致的任务中心列表接口 500 崩溃问题,增加底层容错转换与安全兜底。
- Cron 生成器与双向校验:统一任务调度中心前端可视化 Cron 表达式生成器与后端校验规则,支持秒级/分级常用周期快捷切换、实时生成与下次触发时间预测。
10. 🌡️ 模型级采样温度配置与多租户/文件安全防线 (Model Temperature Configuration & File Security)
- 模型级 Temperature 独立配置:
ai_models表新增temperature字段(V144/V45),允许为不同模型单独配置 0~2 范围的采样温度(如代码模型设为 0.1、创意写作模型设为 0.7);未单独配置时平滑回退至全局默认值。 - 统一 Agent 单次超时基线:统一全局
agent_max_toolcall_timeout默认值为 60s(V136/V36),杜绝因超时时间过长引发的任务挂死。 - 文件上传防覆盖与路径安全:统一上传文件名的唯一安全生成机制,彻底修复同名文件并发上传时的覆盖缺陷;加固生成文件下载链接的时效性签名校验与发布目录安全隔离。
- Office 工具访问范围放宽:在确保租户安全隔离的前提下,放宽 Office 自动化工具对用户私有工作区内合法文件的访问权限。
11. 🎨 前端交互与视觉打磨体验提升 (Frontend UI/UX Polish)
- 图标库统一与类型加固:重构前端菜单与资源图标,消除 TypeScript 编译告警与类型索引潜在风险。
- 消息操作栏与卡片微调:优化消息气泡底部操作按钮与资源引用卡片排版,修复窄屏模式下操作栏换行错位与工作空间图标重合问题。
- 移动端 Excel 导出按钮修复:解决移动端查看数据表时 Excel 导出按钮偶发重复渲染的缺陷。
- 网页预览自适应缩放:优化内置网页预览组件的高分辨率自适应缩放与内边距。
- 在线用户统计修复:修复在线用户多标签页打开导致的计数重复统计缺陷。
12. 🧪 全面质量保证与自动化测试矩阵加固 (Comprehensive Quality Assurance & Test Matrix)
- 全链路自动化测试覆盖:新增超 30+ 组全流程测试用例,覆盖责任链管道各步骤契约、分布式锁看门狗自动续约、候选正文实时流式直出与前置撤回、多工具并发调度与限流、MCP OAuth 与出站审计等。
- 测试规范与清单持续同步:按平台规范同步更新
tests/CHECKLIST.md,前端类型检查vue-tsc --noEmit全量通过。
🐛 Bug Fixes
AI 编排 / 聊天流 / 会话并发
- 会话锁悬挂修复:引入看门狗后台自动续约机制,解决长时间推理或工具复杂调用时分布式锁被误释放导致的 409 会话忙。
- 思考卡片过早折叠修复:修复模型推理输出后工具处于 pending 状态时,前端误判流结束而提前折叠思考卡片的偶发体验缺陷。
- AI 聊天流终态释放:修复异常或中断场景下 stream_end 未正常触发生命周期收敛的问题。
- 新空会话归属回退:优化新创建空会话在多租户上下文中的归属判定回退逻辑。
- 防刷屏熔断微调:将流式正文块防刷屏熔断阈值优化调整为 15 周期,避免正常长输出被意外误拦截。
MCP 服务台 / 权限 / Direct HTTP
- Direct HTTP 稳定性:修复 MCP Direct HTTP 传输模式下的并发调用卡顿与错误回显不全问题。
- 工具命名统一规范:将平台对外部暴露的 MCP 工具名统一规范为下划线命名风格,避免在 Claude Desktop 等客户端中识别异常。
- Client 资源白名单与时区:修复 MCP Client 资源白名单配置丢失与 Token 创建时间时区偏差问题。
- 服务禁用状态覆盖:修复在 MCP 服务管理中禁用某服务后,前端界面未及时同步禁用状态以及执行端未拦截已停用工具调用的缺陷。
- 认证信息脱敏与回显:完善 MCP 服务台认证配置回显与重复提示清理。
元数据 / 实体关系发现
- JSON 截断解析异常:修复大表关系推荐时因模型输出长响应截断导致的 JSON 解析失败。
- 大任务超时误判:修复长耗时元数据推导任务被前端请求超时机制意外中断的问题。
- 逐表扫描容错:优化实体关系推荐的逐表扫描算法,遇到数据库迁移遗留字段缺失时平滑降级。
任务调度 / 定时任务
- 非法 Cron 表达式容错:彻底解决因历史脏数据或非法 Cron 表达式导致任务调度列表接口 500 崩溃的重大缺陷。
- Cron 校验与生成:统一前后端 Cron 表达式的生成逻辑与合法性校验规则。
系统配置 / 数据库迁移 / 文件
- V71 分区迁移幂等性加固:加固
V71-add_audit_log_partitions.sql在重复执行或已有分区时的幂等安全性,修复apply-sql-native.sh执行异常。 - 上传文件同名碰撞:修复同名文件上传时的文件覆盖冲突,统一路径生成规则。
- 下载链接安全发布:修复生成文件下载链接缺乏时效校验的安全隐患。
- 在线用户重复统计:修复用户在多个浏览器标签页打开时在线计数被重复累加的问题。
⚠️ Breaking Changes & Migration Notes
从 v1.0.13.0 升级至 v1.0.14.0 时,请特别注意以下变更:
| 项目 | 变更说明与迁移指导 |
|---|---|
| 平台 MCP 服务台与 OAuth 体系 | 引入全新的平台级 MCP OAuth 架构,需执行 MySQL V137~V139、V141~V143、V145 或 PG V38~V40、V42~V44、V46。如需使用平台对外开放的 MCP 功能,需在「MCP 服务台」重新创建 Client 并分配 Scope。 |
| MCP 工具名称风格统一 | 平台对外暴露的 MCP 工具名称已统一调整为标准下划线风格(如 metadata_search、agent_invoke、metadata_get_schema 等)。若已有三方客户端对接了旧名称,请同步调整工具调用名称。 |
| 单次工具调用超时基准调整 | 全局默认单次工具调用超时从 120s 统一调整为 60s(通过 V136 / V36 迁移)。若... |
🎉 v1.0.13 Release Notes
🎉 NanZi AI Agent Platform v1.0.13.0 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.13.0 版本是一次以 统一可复用结果链路与聊天会话一致性、Docker 沙箱交互式终端与公共文档隔离、8 大浏览器工具与验证码人工兜底、会话身份隔离、上下文手动压缩与工具调用超时治理 为核心,并全面推进 聊天防重复发送、六大业务中心流程引导、数据门户固化报表工作台、智能指标与实体关系双视图、开发环境生命周期管理、Kubernetes 部署资源、PostgreSQL 兼容性,以及流式防刷屏与模型重复输出保护 的版本。
在本次更新中,平台打通「AI 分析产出 → 可复用结果统一协议 → 跨轮分析引用」的完整闭环,并重构了聊天消息与记忆的后台持久化、取消恢复与幂等防重复上送;上线 Docker 沙箱交互式终端、公共 docs 只读挂载与个人技能隔离、预构建流式日志;落地 8 大企业级浏览器工具与拟人化交互引擎、多模态验证码自解算、单击选定 + 双击执行的人机协同机制及云端缓存占用可视化;严格废除 Anonymous 降级,会话存储 / Redis / 工作区 / 审计全链路绑定真实用户并加固目录树与文件路径租户隔离;新增手动上下文压缩与比例控制、工具调用单次超时与总次数上限治理、工具权限卡片与执行时间线优化;同时大规模重构数据门户与固化报表、智能指标与实体关系双视图,补齐六大业务中心流程指引与规范弹窗、MCP 管理 CodeMirror 编辑器,并显著增强 PostgreSQL 的日期函数、业务指标 SQL、预览 SQL 反引号等方言兼容性。
本次变更范围自 b8c207a776fc8d57538d35384e9d453188ae30d3(不含,为 v1.0.12 末相关提交)至 a1eb537f4aecfc20b1ac7588e24d9b0c64e978fc(含),共 147 个提交(其中非 Merge 提交 124 个),涉及 507 个文件、约 65,019 行新增代码与 4,415 行删除。
🚀 Key Features
1. 🔁 统一可复用结果链路与跨轮分析引用 (Unified Reusable Result & Cross-Turn Reference)
- 可复用结果统一协议:构建
build_reusable_result/is_reusable_result_candidate/resolve_reusable_result核心协议逻辑,统一 AI 分析产出的可复用结果判定、保存与消费路径,替代原先零散的结果处理。 - 跨轮分析引用与决策路由:
resolve_reusable_result在 reuse / fallback / none 之间形成清晰决策路径;followup_data中统一写入经过协议封装的结果,本次实际复用结果会被显式标记,支持跨对话轮次的稳定引用。 - 内存服务栈式存储:
MemoryService新增get / set / push_reusable_result及 stack 操作,为可复用结果提供独立的缓存栈管理。 - 配套测试与契约:新增
test_reusable_result.py、test_reusable_result_routing.py、test_assistant_agent_reusable_result.py、test_reusable_result_api.py、test_reusable_result_contract.py等全量测试。
2. 💬 聊天消息与记忆持久化重建、幂等门控与取消恢复 (Chat Persistence, Idempotency & Consistency)
- 后端持久化与一致性修复:优化聊天消息与记忆后台持久化,修复聊天取消与历史恢复不一致、浏览器会话状态同步错位;新增
filter_tools_for_reusable_result与load_session_tool_artifact新路径;完善思考卡片历史持久化与终止轮对话上下文过滤。 - 幂等防重复上送:新增
chat_request_idempotency.py,基于client_request_id做幂等校验与去重;前端新增useChatSendGate发送门控 composable 与clientRequestId工具,杜绝重复发送。 - 运行状态心跳与轮询:
session_run_lane补充 run 状态管理与心跳机制,新增run-status端点支持前端轮询;前端useConversationRunStatus对话运行状态轮询 composable。 - 统一错误响应与流式错误卡片:新增
error_response_service.py统一错误响应构建与分类,streamErrorPresentation流式错误呈现工具,前端新增ErrorDetailCard.vue流式错误详情展示。 - 正文完整性守护:修复任务清单更新吞掉最终正文、处理
todo_write后最终正文丢失,以及任务清单更新后正文还原等边界问题;修复历史消息数据产出计数恢复问题。 - 移动端适配:移动端收纳数据文件入口,优化消息底部操作入口。
3. 🧹 上下文手动压缩与体验优化 (Manual Context Compaction & UX)
- 手动压缩与比例控制:支持手动触发上下文压缩并控制压缩比例,配合既有自动溢出压缩,形成「自动 + 手动」双引擎。
- 压缩记录卡片布局优化:优化压缩记录卡片布局,精简智能压缩提示文案;全链路更新上下文压缩验收清单与测试。
- 运行时能力发现与会话聚焦:完善运行时能力发现(Runtime Capability Discovery)与会话聚焦,让模型与面板更清晰地聚焦当前会话所需能力。
4. 🛡️ 会话身份「Fail-Closed」隔离、全量工具透传与思考协议自适配 (Identity Isolation, Full Tool Passthrough & Thinking Protocol Adapter)
- 严格会话身份隔离(Fail-Closed):彻底废除
anonymous降级,会话存储、Redis 键、工作区与审计回退严格绑定真实有效的user_id;chat.py历史查询、截断与导出接口强校验用户身份,杜绝多租户数据越权与串线。 - 全量工具透传与自主调度:废弃死板的当前轮关键词动态裁剪门禁,将系统隐式工具 + 配置工具 + MCP 工具全量透传;保持原生多轮 User-Assistant 消息流,保障多轮追问、代词消歧与视觉多模态连续性。
- 推理思考协议自适配:原生支持 DeepSeek V4、Kimi、智谱、火山引擎、DashScope、SiliconFlow 等思考协议;兼容 DeepSeek V4 思考模式下强制
tool_choice参数冲突,支持 400 重试与优雅降级。 - 主备降级可见通知:主模型调用失败触发 Fallback 时推送
model_fallback结构化事件,优化换行防止引用块吞正文。
5. 🐳 Docker 沙箱交互式终端、公共文档隔离与预构建流式日志 (Docker Terminal, Public Docs Isolation & Prebuild Stream)
- Docker 交互式终端:后端新增
/api/v1/sandbox/docker/workspace下stop/restart/exec端点,支持停止容器、强制删除重建与容器内交互执行命令,并修复 aiodocker Stream 异步协议读取;前端新增DockerTerminalModal交互终端,支持实时输入执行、历史命令翻阅、快捷命令工具栏、一键清屏与复制,以及连续cd路径导航动画、默认最大化打开与关机过渡动效。 - 结构化中文欢迎卡:终端每次打开渲染含容器 ID、工作目录、文件与同步路径、资源限制与生命周期边界的彩色欢迎卡。
- 公共 docs 只读挂载与技能隔离:实现 Docker 沙箱公共
docs只读挂载至/workspace/public/docs,支持 DooD 路径转换;解耦个人技能源码目录与沙箱技能目录,仅挂载sandbox/skills。 - 预构建流式日志:
docker_prebuild.py支持 aiodocker build stream 逐行事件推送,新增/prebuild-streamSSE 端点;前端 SystemConfig 面板实时展示构建日志与进度条,镜像选择优先阿里云加速源。 - 文件路径与命名空间收敛:收敛沙箱文件路径命名空间、统一公共文档逻辑路径,修复 Docker 沙箱与文件工具路径映射,完善文件工具缺参可重试错误与路径预检防线,并设计容器路径读取的 Bash 降级方案。
6. 🌐 8 大企业级浏览器工具、验证码自解算与人机协同面板 (Enterprise Browser Tools, CAPTCHA Auto-Solve & Human-in-the-Loop)
- 8 大企业级高级浏览器工具:落地 8 大企业级浏览器工具与全局拟人化交互引擎,支持智能元素高亮检视、自适应低带宽压缩、页面滚动快照同步(顶部/底部直达 + 视口中心滚轮双保险)。
- 多模态验证码自解算与人工兜底:基于多模态大模型的验证码自解算,失败时无缝切换至人工协同兜底。
- 单人选定 + 双击执行人机协同:单击高亮元素轮廓并在状态栏展示
[#ref]语义标签,双击确认执行,移除画面内黑底文字浮标,防止远程串流误触。 - 缓存占用可视化:浏览器面板与个人中心展示云端缓存磁盘占用大小(B/KB/MB/GB)与一键清除入口,两次点击确认清理 + 二次确认弹窗。
- 浏览器环境诊断:服务端浏览器环境缺失精准诊断、右下角版本检测与向导卡片;参数脱敏审计与会话运行时控制。
- 人工输入悬浮岛:悬浮岛居中展示,自动聚焦、Enter 发送 / Esc 关闭,标题动态展示聚焦输入框语义信息。
7. 🧭 六大业务中心全生命周期引导与规范大弹窗 (Guided Workflows & Standards Modal)
- 智能体中心:梳理定义 / 装配 / 版本发布 / 角色授权 / 调试消费 5 步流程;帮助说明明确系统自动路由、多智能体协同与发布前检查标准。
- 知识库 / MCP / 任务调度 / 案例集:KnowledgeFlowGuideBanner / McpFlowGuideBanner / TaskFlowGuideBanner / ExampleFlowGuideBanner 分别落地环境连通、连接协议与 Scope 权限、Cron 编排与审批模式、会话点赞沉淀闭环等指引。
- 技能 / 提示词 / 数据源 / 记忆工作台:补充各页面的帮助说明与规范弹窗,覆盖研发 5 步流、双轨归集、多源连接与向量索引等规范。
- 统一折叠交互:六大中心指引横幅统一「默认折叠」模式,页面顶部提供帮助入口与「显示流程指引」恢复入口;全局指引卡片防折行精修。
8. 📊 数据门户固化报表工作台重构与智能指标/关系双视图 (Data Portal Report Workbench & Dual-View Discovery)
- 固化报表工作台重构:数据门户抽屉顶部双 Tab(数据集与场景 / 固化报表);主页恢复左侧 Aside 垂直导航(数据首页 / 固化报表 / 推荐场景 / 数据目录);手工开发新建报表工作台支持选数据源 / 数据集、手写 / 粘贴 SQL、试跑测试 SQL、前 50 条预览与一键固化入库。
- CodeMirror 6 专业 SQL 编辑器:升级固化报表编辑器为 CodeMirror 6,支持参数试跑独立选择器;全平台「黄金报表」更名「固化报表」。
- AI 保存报表上下文继承:AI 保存报表时自动继承本轮查询关联的 data_source 与 dataset_id,避免回退默认源。
- 智能指标 / 实体关系双视图升级:支持按需选表、折叠、秒表计时与双视图 ER 图,补充智能发现更新指南与 FAQ。
- 报表列表视图 / 推荐指标详情:新增固化报表列表视图(卡片 / 列表切换)与推荐指标详情弹窗。
- 云端缓存清理:个人中心展示浏览器云端缓存占用并支持清理。
9. 🧰 工具调用超时治理、权限卡片与执行时间线优化 (Tool Timeout Governance, Permission Card & Timeline)
- 单次工具调用超时配置:新增全局
agent_max_toolcall_timeout系统配置(默认 120s)与版本级toolcall_timeout_seconds字段,版本级配置优先于全局。 - 工具调用总次数上限:新增
agent_tool_loop_global_limit系统配置(默认 50 次),防止工具循环空转。 - 工具权限卡片与执行时间线:新增
ToolPermissionCard组件与toolPermissionDisplay工具模块;ChatExecutionTimeline工具步骤显示 WrenchScrewdriverIcon 图标;优化执行阶段卡片渲染、Thinking 头部样式与动画。 - 工具错误可观测性:完善工具错误状态与原因展示,补齐工具错误观测测试清单。
- Shell 删除策略增强:
shell_deletion_policy增加 Python / Node 脚本内删除调用识别;资源目录统计fetch_accessible_resource_counts与authorized_resource_scope/turn_resource_scope上报。
10. ⏳ 会话排队透明化与路由大模型超时保护 (Queue State Transparency & Router Timeout)
- 并发排队状态透传:
ConversationRunLane新增is_locked状态探测,上一轮任务未完成时通过 SSE 实时下发「等待上一次会话任务完成」进度日志,锁释放后自动完成并附带等待耗时,避免静默假死。 - 路由大模型超时保护:为未指定智能体时的路由大模型调用添加 15s 有界超时保护,超时重试后平滑回退兜底助手。
- 思考定时器优化:优先保持后端推送的活跃 pending 步骤文案,不被静态轮播粗暴冲刷;为排队状态添加专属沙漏图标。
11. 🔁 流式防刷屏与模型重复死循环熔断 (Stream Anti-Spam & Loop Circuit-Breaker)
- 服务端流式防刷屏拦截:新增服务端流式防刷屏拦截机制,优化流式重复检测算法,熔断阈值提升至 50 次并消除无标点误判。
- 模型重复死循环熔断:增加模型重复输出死循环熔断机制。
- 软错误降级容错:智能体工具执行软错误降级,捕获非致命异常并以 ToolChunk(ERROR) 返回大模型,杜绝 ExceptionGroup 中断会话;全局异常递归解包
unwrap_exception_message。
12. 🛠️ dev.sh 后台生命周期管理与 K8S 部署资源 (Dev.sh Lifecycle & K8S Deployment)
- dev.sh 生命周期管理:新增
./dev.sh status(PID / Uvicorn 归属 / 端口监听 / health 检查)与./dev.sh stop(优雅 TERM,超时 KILL,复核端口释放);加固停止 / 状态判定的端口归属识别,兼容相对路径与python3 -m uvicorn包装形态,服务器缺 lsof 时依次回退ss → fuser。 - 一键开发环境:统一开发环境搭建为一键
dev.sh流程,自动安装前端依赖,补充本地联调前.env编辑说明。 - 启动环境校验:启动前校验 Node.js 与 npm 版本,自动准备开发运行环境,加强敏感信息脱敏。
- K8S 部署资源:新增 Kubernetes 部署资源与文档,补齐归档版本克隆与版本对比、Docker 打包启动日志。
13. 🗄️ PostgreSQL 综合兼容性与前端契约 (PostgreSQL Compatibility & Contracts)
- 日期函数兼容:修复 PostgreSQL 日期函数兼容性。
- 业务指标 SQL 方言:修复 PostgreSQL 业务指标 SQL 方言兼容;预览 SQL 反引号标识符兼容(覆盖限定 / 分段标识符、字符串、注释与预览总数查询场景)。
- 前端路由中文标题:统一前端路由
meta.title为中文,修复面包屑与标签页标题英文显示问题。 - 前端契约测试:
pytest --confcutdir=tests/frontend契约与vue-tsc --noEmit类型检查持续加固。
14. 🗂️ 平台自助意图识别、公共目录只读与应用工作区(Platform Self-Service & Public Docs)
- 公共 docs 固化:将根目录 FAQ.md 与 README.md 固化复制到
data/docs/,替代相对软链接,确保 Docker 构建及目录挂载完整可用。 - 目录清单自愈:支持
list_accessible_directories目录清单工具,强化文件读写与路径防盲猜规范;FileNotFoundError / PermissionError / 越界错误自动注入目录清单自愈提示。 - 租户目录隔离加固:加固
directory_tree_navigator目录树导航工具,普通用户直接导航他人私有工作区返回 403,递归遍历时自动剪枝其他用户私有工作区。 - 平台自助意图识别:扩展平台自助词表,精准识别多智能体并行、协同等特性解析意图;新增平台公共文档引导与全局提示词强化,明确禁止沙箱 Bash 访问公共文档。
15. 🧩 能力发现、MCP 与模型兼容容错(Capability Discovery, MCP & Model Compatibility)
- 能力发现领域:统一规范化 legacy
reasoning_effort字段映射;增加 Agent 执行观测与模型兼容容错。 - MCP 管理优化:MCP 管理页面 UI 优化并引入 CodeMirror 编辑器,完善前端契约测试。
- 入口配置一致性:对齐确认卡片宽度,恢复技能安装帮助说明。
🐛 Bug Fixes
聊天会话 / 持久化 / 幂等
- 后台永久化与恢复一致:修复聊天消息与记忆后台持久化、聊天取消与历史恢复一致性问题,浏览器会话状态同步错位。
- 正文丢失:修复任务清单更新吞掉最终正文、处理
todo_write后最终正文丢失,以及历史消息数据产出计数恢复。 - 幂等防重复:新增发送门控与
client_request_id幂等去重,杜绝重复上送。
沙箱 / Docker / 文件路径
- 路径映射:修复 Docker 沙箱与文件工具路径映射,收敛沙箱文件路径命名空间、统一公共文档逻辑路径,设计容器路径读取 Bash 降级。
- 文件工具容错:文件工具缺参时返回可重试错误并补齐绕过路径预检的网络守护(缺参即拦截,不得绕过预检)。
浏览器自动化 / 人机协同
- 交互与算法优化:优化流式重复检测算法(熔断阈值 50 次、消除无标点误判);切后台会话队列挂起自愈、退避轮询平滑自愈。
- 远程滚动与快照同步:增强远程页面滚动快照同步机制,翻页采用视口中心滚轮 + scrollBy 双保险。
数据库 / PostgreSQL
- 日期函数 / SQL 方言 / 反引号:修复 PostgreSQL 日期函数兼容性、业务指标 SQL 方言兼容,以及预览 SQL 反引号标识符兼容。
- 查询闭环:修复 ChatBI 查询总数统计错误、数据集歧义后无法继续查询、消息编辑重发会话记忆截断对齐、执行报表后结果未持久化(补充提交)。
工具 / 权限 / 分类
- 工具分类修复:修复 AgentManagement 工具自动分组匹配顺序,将 browser_ 提升至顶层并收窄 RAG 匹配,修正 browser_drag / browser_slider_drag 归类。
- 废弃工具清理:新增迁移彻底删除废弃的 search_github_repos 工具并清理任务中心示例。
部署 / 开发环境
- dev.sh 端口识别:修复服务器缺少 lsof 时无法停止服务问题,加固端口归属识别,避免误判无关进程。
- 启动校验:启动前校验 Node.js / npm 版本,加强敏感信息脱敏。
⚠️ Breaking Changes & Migration Notes
从 v1.0.12 升级至 v1.0.13.0 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 废弃工具清理 & 历史智能体主能力补齐 | 彻底删除 search_github_repos 工具;为历史智能体补齐类型对应的锁定主能力(复用运行时兼容旧行);需执行 db-prod/V130、V131 或 db-prod-pg/V30、V31 增量迁移。 |
| 工具调用超时配置 | 新增全局 `agent_max_toolcall_... |
🎉 v1.0.12 Release Notes
🎉 NanZi AI Agent Platform v1.0.12 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.12 版本是一次以 多策略安全沙箱(含 Docker-out-of-Docker 与预构建加速)、服务端持久化浏览器会话与实时人机协同面板 为核心领衔,并全面推进 智能体上下文预算管控/分项拆解观测与溢出压缩、推理思考模型强制工具调用兼容层、AI 交付物工件与长效下载管理、AI 主动提问与全卡片折叠交互重构、子代理(Subagent)独立会话委派与层级时间线、PostgreSQL 全局强类型防御,以及全模块官方 FAQ 排查体系与元数据批量治理 的重磅里程碑版本。
在本次更新中,平台正式支持 local/docker/e2b/ssh 四大安全沙箱策略,实现 Docker 沙箱工作区宿主机同绝对路径挂载、DooD(Docker-out-of-Docker)容器内沙箱拉起与分钟级镜像预构建加速;推出基于 Playwright 的服务端持久化浏览器会话与 WebSocket 实时画面流人机协同面板,支持拟人轨迹拖拽与 Stale 自动恢复;上线 agent_context 上下文预算管理、分项拆解观测、溢出压缩与输入框环形水位线浮标,并将历史与状态 TTL 延长至 30 天;构建 tool_choice_for_model 适配层,深度解决 DeepSeek-R1 / QwQ 等推理思考模型在强制工具调用时的死循环问题;上线 publish_generated_file 工件发布工具并将下载链接延长至 7 天;推出 ask_user_question AI 主动提问工具,重构 TODO 任务清单收尾广播与全量卡片折叠状态自适应;建立官方全模块排查手册(FAQ.md);全面加固 PostgreSQL 强类型兼容与 TypeScript 严格类型安全。
本次变更范围自 43c634f4a72f26de7761e8e002b06c5c2c4caad1(不含,为 v1.0.11 末相关提交)至 fcd7471b5525289530c48d1b147807aac6beab22(含),共 91 个提交(其中非 Merge 提交 80 个),涉及 440 个文件、约 54,567 行新增代码与 5,089 行删除。
🚀 Key Features
1. 🛡️ 安全沙箱多策略扩展、Docker DooD 支持与预构建加速 (Sandbox Policies: Local/Docker/E2B/SSH & DooD & Prebuild)
- 四大沙箱策略全面支持:在系统配置【安全沙箱】分组中新增
sandbox_policy策略体系,支持local(默认,本机工作区)、docker(Docker 容器工作区)、e2b(E2B 远程安全沙箱)、ssh(SSH 远程主机工作区)四类策略,并针对不同策略动态展示专属配置项。 - Docker 沙箱工作区同绝对路径挂载与路径一致性:解决容器内
/workspace逻辑路径与宿主机用户工作区物理路径不一致导致的工具生成文件下载/预览错位问题;支持将用户宿主机工作区直接挂载至容器内相同绝对路径,同时软链/workspace保持向后兼容;容器内 MCP 工作目录与系统提示词动态适配真实路径。 - Docker-out-of-Docker (DooD) 与 Compose 路径对齐:主容器默认挂载宿主机
/var/run/docker.sock,解除在主容器环境下运行 Docker 沙箱的策略限制;支持 Docker Compose 宿主机工作区物理绝对路径映射与路径透传对齐;白名单放行 Docker 沙箱用户工作区端点。 - Docker 镜像预构建加速与自定义镜像:针对 Docker 冷启动慢的问题,提供后台镜像预构建端点(
POST /api/v1/admin/sandbox/docker/prebuild),将首次慢转变为分钟级预构建 + 秒级会话启动;默认优先选用阿里云 Python 沙箱基础镜像加速源;新增sandbox_docker_manual_image_url支持配置自定义远程镜像。 - Bash 执行环境探测与安全警示:后端
get_env()自动探测服务运行环境(容器/宿主机),前端在输入框上方渲染自适应 Bash 执行环境横幅(BashEnvBanner.vue),非隔离宿主机执行时给出明确安全风险警示,支持一键折叠与本地持久化记忆关闭。
2. 🌐 服务端持久化浏览器会话与右侧人机协同面板 (Persistent Browser Sessions & Interactive Panel)
- 服务端持久化浏览器会话:基于 Playwright 实现用户级持久化浏览器会话(
browser_open/browser_snapshot/browser_click/browser_fill/browser_slider_drag等套件与BrowserProfile/BrowserSession存储模型)。 - 实时人机协同接管面板:前端支持通过 WebSocket + Viewer Token 实时串流浏览器画面,支持用户直接点击、滚轮滚动、按键输入及输入框填充等实时协同接管操作。
- 拟人滑块拖拽与执行期自愈恢复:支持拟人滑块拖拽能力(
browser_slider_drag),自动生成贝塞尔曲线缓入缓出拟人轨迹并模拟垂直抖动;增加元素交互就绪等待(_ensure_actionable)、动作后稳定等待(_post_action_settle)以及执行期 Transient Stale 异常自动刷新快照重试(_run_with_stale_recovery)。 - 严格安全拦截与缓存抹除:具备严格的 SSRF 防护(拦截私有网段/元数据 IP/内网主机名)、敏感输入参数脱敏与高风险提交确认拦截;个人中心与面板二次确认弹窗支持一键清除浏览器历史与缓存并物理抹除底层数据目录。
3. 🧠 上下文预算管控、分项拆解观测与历史溢出压缩 (Context Compaction, Breakdown Telemetry & TTL Extension)
- 上下文预算管控与溢出压缩:引入
agent_context专属配置分组(包含预算上限agent_context_max_tokens默认 64k、历史溢出压缩agent_context_compaction_enabled、压缩最大字符数限制与语义摘要开关);当多轮历史逼近预算时,自动触发确定性摘录压缩与 LLM 语义摘要降级保障。 - 模型调用上下文分项拆解观测:新增上下文观测界面与数据度量分解,清晰拆解系统提示词、对话历史、工具调用上下文与输出预留的 Token 占比分布。
- 会话历史与压缩状态 TTL 延长至 30 天:服务端 Redis 会话历史、上下文压缩摘要与运行时状态存储 TTL 全面延长至 30 天,保障长期长链路协作连续性。
- 摘要结构化解析与多模态识别增强:新增
_structured_tool_block结构化解析,优先保留工具名与输出核心结论(->后的结果),剔除冗长入参和无用计数;单工具块独立截断配额,避免单条超长工具结果挤占整段摘要;多模态图片/附件载体包含名称时保留[图片: 文件名]。 - 输入框上下文水位线浮标:在聊天输入框右上角增加渐变环形/徽标上下文水位线浮标,直观展示 Token 使用量、预算占比、使用状态徽标(「使用正常/接近上限/已达输入上限」)以及当前生效的沙箱策略;自适应显示「平台 Docker 容器内」或「宿主机」。
- 模型调用上下文动态夹紧保护:在
ModelCallStatsMiddleware中增加_clamp_completion_to_context保护拦截,当请求输入 Token 逼近物理窗口时动态将max_tokens夹紧至可用空间,防止超出模型物理极限引发 API 报错。
4. 🧩 推理思考模型强制工具调用兼容层 (Thinking Model Tool Choice Compatibility)
- 深度解决推理模型强制工具调用冲突:解决推理模型(如 DeepSeek-R1 / QwQ 等)在强制工具调用场景下(如 ChatBI 意图生成或特定结构化阶段),如果模型先输出
<think>思考块而未直出 tool_calls 导致的解析异常或死循环问题。 - tool_choice_for_model 适配层:构建
tool_choice_for_model适配层与ThinkingToolChoiceCompatAgent,智能解析思考块并在流式分发与事件总线中规范化 tool_call 触发,兼顾深度思考与工具调用的强稳定性。
5. 📦 AI 交付物工件与长效下载管理 (AI Artifacts & Publish Generated File)
- 生成文件发布工具(
publish_generated_file):新增系统工具与ai_artifacts工件存储管理,支持智能体将本地/沙箱工作区生成的文件发布为平台下载工件。 - 下载有效期延长与前缀配置:生成文件下载链接默认有效期延长至 7 天;新增
file_download_url_prefix系统配置项,支持自动合成工件的绝对/相对下载链接;系统提示词引导智能体生成交付物后主动调用。
6. 💬 AI 主动提问与全卡片折叠交互重构 (AI-Initiated Questioning & Collapsible Cards)
- AI 主动提问交互(
ask_user_question):实现系统内置隐式工具ask_user_question,支持单选/多选/补充输入;问题写入带 TTL 的 pending 状态并通过 SSE 独立出卡中断当前 ReAct,支持用户交互提交与取消硬拦截。 - 确认框与提问卡展开/折叠与状态自适应:工具权限确认卡(
pendingPermission)、外部工具执行卡(pendingExternalExecution)、AI 提问卡(UserQuestionCard)与业务数据确认卡(BusinessConfirmationCard)统一增加展开/折叠交互;待处理默认展开,处理完成(approved/rejected/submitted/cancelled/stale)后自动折叠为紧凑单行,彻底解决长脚本霸屏。 - TODO 任务清单收尾广播与状态持久化:TODO 任务清单改为在输入框正上方常驻展示;实现任务完成收尾广播机制(
emit_success_todo_summary),全部完成时自动折叠;引入基于localStorage的持久化记录,手动关闭后绝不重复弹出;优化快照同步与挂起恢复状态保持。
7. 🤝 子代理独立会话委派与层级时间线 (Subagent Delegation & Hierarchical Timeline)
- 子代理专属会话隔离:实现子智能体结构化元数据流式透传(run_id/depth/agent_name/display_name);每次成功委派生成独立
child_session_id,子执行器使用子会话命名空间而不复用父conversation_id,父子通过parent_conversation_id关联。 - 多层嵌套时间线展示:主会话过程时间线实现子代理步骤嵌套收拢至「调用子代理」父级容器下,支持子代理内部分析、SQL 与工具调用多层展开折叠;防止子代理过程旁白与主对话正文重复。
- 可用智能体目录与委派前置发现:新增系统隐式工具
list_available_agents,基于用户权限与就绪状态动态返回可用智能体轻量目录,便于智能体自主决策子任务委派。
8. 📖 全模块官方排查手册与生态集成 (Official FAQ & Ecosystem Integration)
- 全模块官方排查手册 (FAQ.md):建立规范化排查手册
FAQ.md,覆盖沙箱容器、网络代理、数据库连接、MCP、模型路由等全工具矩阵故障排查。 - EmbedChat 嵌入式集成指南:细化嵌入式聊天组件集成指引与安全通信策略,助力第三方前端快速嵌入智能体对话。
- 核心能力全景图谱:在中英文 README 中系统梳理核心能力矩阵与企业级特性全景图谱。
9. 🗃️ 元数据批量治理与聊天日志双 Tab 链路追踪 (Metadata Batch Ops & Chat Logs Dual-Tab Trace)
- 元数据批量删除与 N+1 消除:元数据管理支持数据表/指标/关系批量删除,跨库关系短路优化与行级权限 N+1 查询消除。
- 元数据详情页紧凑布局:容器间距与边距紧凑化,实体关系列表改源表/目标表分两行展示(物理表名加粗 + 业务中文名)。
- 聊天日志双 Tab 与链路时间标注:聊天日志右侧详情区新增「对话」与「轨迹」双 Tab 切换,所有 Step 节点补充
HH:mm:ss触发时间展示。 - Toast 柔和淡彩与微磨砂重构:采用微光淡彩渐变 + 状态色环境弥散阴影 + 实心小徽标(
rounded-2xl),视觉层次大幅提升。
🐛 Bug Fixes
数据库 / PostgreSQL / 存储层
- PostgreSQL 强类型比较异常防御:全局防御 PostgreSQL 强类型比较(
VARCHAR与INTEGER隐式转换报错),统一将user_id等关键参数转为整型,实现 MySQL 与 PostgreSQL 零差异平滑运行。 - Embedding 与模型 Endpoint 智能版本号识别:优化 Embedding 及直连客户端 Endpoint 识别逻辑,修复非
/v1后缀引起的 404 异常。 - 火山引擎内置提供商预设支持:新增火山引擎(Volcengine)内置提供商参数与模型预设支持。
沙箱 / Docker / 执行环境
- Docker DooD 沙箱支持与路径对齐:主容器挂载宿主机
docker.sock并解除 Docker 沙箱限制,解决 Docker Compose 模式下沙箱目录挂载与路径错位问题。 - Docker 沙箱工作区 API 放行:将 Docker 沙箱用户工作区端点加入 V1 API 白名单放行。
- 沙箱预构建入参修复:修复 Docker 沙箱预构建
aiodocker build入参异常,提供后台预构建代理运维脚本。 - 系统配置警告横条彻底清理:彻底清理系统配置中选择 Docker 沙箱策略时残留的禁用警告横条。
- Bash 环境横幅提示:修复在本地宿主机运行时缺乏明确安全隔离风险提示的问题。
事实合规性 / 流式排版 / 前端交互
- 事实缺证据(Grounding Missing Evidence)提醒优化:优化刷新模式下事实缺证据的提醒策略,清理风险提示正文中的内部原因拼接。
- 流式 Markdown 换行净化:流式内容净化时保留 Markdown 块边界换行,防止代码块与表格粘连。
- 前端 TypeScript 严格类型加固:清理全量 TypeScript 严格构建错误,消除运行时潜藏类型异常。
- 意图收敛与 TODO 清单防误出:收敛数据查询列表意图信号,拦截非查询场景下的 TODO 任务误出。
- Todo 快照同步与挂起恢复:优化 Todo 快照同步机制与挂起恢复状态保持,修复刷新后状态丢失。
浏览器会话 / 人机协同
- 长事务锁超时修复:修复浏览器 Profile 初始化时
get_or_create_default在高并发下的数据库锁争用与超时问题。 - 页面 Stale 元素自愈:修复自动化执行中页面刷新或 DOM 变更引起的 Transient Stale 异常,实现自动刷新快照与动作重试。
- 地址栏协议补全:修复浏览器面板地址栏输入未加协议的网址时偶发跳转失败的问题,自动补全
https://前缀。 - 面板轮询频率优化:将浏览器面板自动轮询间隔降至 5 秒,并在 AI 触发动作时即时触发快照刷新。
上下文管理 / 思考模型
- 思考模型强制工具调用死循环:修复 DeepSeek-R1 / QwQ 等思考模型在强约束 JSON 场景下先输出
<think>导致的无法解析与死循环问题。 - 单次输出预留溢出:修复长上下文下
max_tokens超出模型物理上下文上限引发的 API 调用失败问题,增加动态夹紧。 - 模型管理上下文清空保存:修复在模型管理弹窗中清空输入上下文或输出上限时,因空字符串未转换为
null导致的 Pydantic 校验失败问题。 - 消息编辑重发记忆截断:修复前端编辑历史消息重发后服务端 Redis 记忆未同步截断导致的历史污染问题。
⚠️ Breaking Changes & Migration Notes
从 v1.0.11 升级至 v1.0.12 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 安全沙箱多策略配置 | 系统配置新增 sandbox_policy 分组与相关配置项;需执行 db-prod/V127V128 或 db-prod-pg/V27V28 增量迁移脚本。 |
| 服务端浏览器会话持久化 | 新增浏览器会话与 Profile 存储表;需执行 db-prod/V122 或 db-prod-pg/V22 增量迁移脚本。 |
| AI 交付物工件与文件下载前缀 | 新增 ai_artifacts 工件表与 file_download_url_prefix 系统配置;需执行 db-prod/V124、V129 或 db-prod-pg/V24、V29 增量迁移脚本。 |
| 上下文预算管控系统配置 | 系统配置新增 agent_context_* 预算与压缩配置项;需执行 db-prod/V126 或 db-prod-pg/V26 增量迁移脚本。 |
| 指标标签与执行历史输出标记 | 历史表与指标表扩展字段;需执行 db-prod/V123、V125 或 db-prod-pg/V23、V25 增量迁移脚本。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
MySQL(db-prod/)
从 v1.0.11 升级至 v1.0.12,MySQL 主库引入 8 个增量脚本:
| 脚本文件 | 核心变更内容 |
|---|---|
| V122-browser-session.sql | 新增服务端持久化浏览器会话表 ai_browser_sessions 与配置表 ai_browser_profiles。 |
| V123-add-has-data-output-to-history.sql | 执行历史表 ai_agent_execution_history 增加 has_data_output 数据产出标记字段。 |
| V124-create-ai-artifacts.sql | 新增 AI 生成文件与交付物工件表 ai_artifacts。 |
| V125-add-metric-tags.sql | 指标表 metadata_metrics 增加 tags 标签字段。 |
| V126-add_context_management_configs.sql | 系统配置新增上下文预算上限与历史溢出压缩配置项。 |
| V127-add-sandbox_policy_configs.sql | 系统配置新增安全沙箱多策略(local/docker/e2b/ssh)配置项。 |
| **[V128-add-sandbox_manual_image_url.sql](https://githu... |
🎉 v1.0.11 Release Notes
🎉 NanZi AI Agent Platform v1.0.11 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.11 版本是一次以 AgentScope 2.0.6 深度升级与通用业务数据确认卡(Human-in-the-Loop) 为核心领衔,并全面推进 双重路由优化与意图识别合并、非多模态模型图片旁路解析、思考卡过程话术入卡与时间线历史回放、Embed Ticket 临时嵌入凭证体系与 24h 滑动续期、ChatBI 明细/依据/引用多维交互与健壮性收口,以及工作空间与任务中心体验优化 的重磅里程碑版本。
在本次更新中,平台全面升级至 AgentScope 2.0.6,接入结构化输出、权限中间件与运行时状态可配置注入;落地通用业务数据确认卡(request_user_confirmation)与模型驱动回传机制,支持交互式字段修改与取消硬拦截;将独立意图识别收拢合并至单次路由 LLM 调用,并引入单候选/业务确认回执短路;新增系统默认多模态模型配置(multimodal_model_name),支持纯文本大模型无缝旁路解析图片;过程话术收拢入折叠思考卡,新增 process_timeline 快照字段支持历史会话全景回放;新增 Embed Ticket 代客签发与白名单权限校验,Session Token 支持 24 小时滑动续期;ChatBI 气泡下方聚合明细/依据/引用合一面板,大结果集抽样(500 行)与自动缓存合成收口;工作空间 Bash 工具严格绑定会话目录,站内通知支持 Mermaid 与 ECharts 富文本渲染。
本次变更范围自 89e88d493c3d7298f10227862a2f986c1ae6641e(不含,为 v1.0.10 末相关提交)至 2c8a3fbf00e42d7681329ee44243a41ef6be64b2(含),共 53 个提交(其中非 Merge 提交 45 个),涉及 229 个文件、约 20,320 行新增代码与 2,312 行删除。
🚀 Key Features
1. 🤖 AgentScope 2.0.6 深度集成与内核优势 (AgentScope 2.0.6 & Runtime State Injection)
- 内核升级与优势:主编排框架升级至 AgentScope 2.0.6,带来多项关键架构进化与性能跃升:
- 原生结构化输出(Structured Output):底层深度接入严格 JSON Schema 强约束生成,替代易受幻觉干扰的松散文本正则匹配,使 ChatBI 语义意图解析与多轮状态分类的解析准确率提升至接近 100%。
- 洋葱圈架构中间件(Onion-chain Middleware):利用 2.0.6 的中间件钩子系统(
extra_agent_middlewares),实现ToolPermissionMiddleware(工具级权限预检与禁用策略硬拦截)和ModelCallStatsMiddleware(调用耗时与 Token 统计)的无侵入挂载,大幅强化多智能体执行安全与审计能力。 - 流式聚合与 ReAct 轮次治理:底层以片段聚合(Fragment Joining)替代高频字符串拼接,彻底修复工具错误态处理、多次工具并发调用的状态重置以及推理-行动(Reasoning-acting)轮次计数偏差,显著提升高并发流式输出稳定性。
- 可配置运行时状态注入(
InjectionConfig):新增系统配置agentscope_inject_runtime_state与agentscope_inject_time_interval_hours,支持向 Agent 运行上下文按需注入当前时间、任务态及上下文占用,时区精准绑定平台全局时区platform_timezone,且与工具链/HITL 完全解耦。 - 会话事实工具与思考调优:新增平台只读
session_status工具,供模型在长对话中精准查询当前会话事实(时间、模型、权限、任务态等);关闭思考模式时显式传递false,全面对齐各模型厂商的思考参数下发协议。
2. ⏱️ 思考卡演进:过程话术入卡与时间线历史回放 (Process Timeline & Thinking Card Evolution)
- 过程话术入卡:模型在执行过程中的规划、反思、过渡语与工具步骤统一归入折叠思考卡,保持主消息正文纯净清爽。
- 思考时间线快照:执行历史表增加
process_timelineJSON 快照字段,刷新页面或加载历史会话时可完整回放思考卡与步骤时间线。 - 真实生成中断:点击「停止」按钮真正向后端下发任务取消信号,立即终止 LLM 推理与工具执行,避免无效资源消耗。
3. 🎫 Embed Ticket 临时嵌入凭证与 24h 滑动续期 (Embed Ticket & Security Governance)
- 临时凭证体系:新增 Embed Ticket 临时嵌入凭证体系与服务端代客签发接口,支持白名单域名校验与权限隔离。
- 兼容性与生产推荐:原有的静态 Token 嵌入集成方式已做平滑兼容保留,现有对接代码无需改动即可平稳运行;生产环境强烈推荐使用安全性更高的 Embed Ticket 代客签发方式。
- 滑动续期机制:Session Token 滑动续期调整为 24 小时,保障长效嵌入会话的平滑交互体验。
- 调试台全面升级:组件调试台(Widget Debugger)支持
strict_token严格校验模式与 Token 必填校验,升级嵌入集成开发指南。 - 移动端排版对齐:修复移动端 AIChat 横向溢出问题,全面对齐 EmbedChat 上行事件协议与会话数据隔离。
4. 📋 通用业务数据确认卡与人机协同治理 (Business Data Confirmation & HITL Collaboration)
- 通用确认工具:新增平台通用只读确认工具
request_user_confirmation与 SSE 事件出卡机制。 - 可交互编辑确认卡:前端在 AI 消息下方渲染可交互确认卡片,支持用户直接修改关键业务字段并点击「确认执行」或「取消」。
- 模型驱动回传:操作结果以【业务确认】+ 字段快照消息结构化回传模型继续驱动执行,与底层工具执行确认(Tool Approval)清晰解耦。
- 防重复与硬拦截:有确认卡时自动收起 quick 引导避免重复入口;用户取消后前端硬拦截禁止再次弹出同一卡片。
- 粘性路由短路:业务确认回执会话具备粘性(Sticky Routing),直接短路跳过路由 LLM,保障人机协同流程无缝顺畅。
5. ⚡ 双重路由优化与意图识别合并 (Smart Multi-Agent Routing & Intent Merging)
- 意图识别深度收敛:将原独立意图识别与意图分类收拢合并至单次路由 LLM 调用,大幅削减首字返回延迟与 Token 开销。
- 结构短路直达:单一候选智能体或特定短路规则直接跳过路由 LLM,响应速度提升 50%+。
- 偏好持久化与隔离:支持用户路由偏好持久化存储与会话级实例隔离。
6. 👁️ 纯文本模型图片旁路解析 (Bypass Multimodal Vision Understanding)
- 旁路多模态解析:新增系统配置
multimodal_model_name;当会话使用的当前模型不支持视觉识图(如 DeepSeek-V3 等纯文本模型)时,系统自动调用默认多模态模型旁路解析图片。 - 无缝文字注入:将图片解析为结构化文字上下文后再交由主模型回答,打破大模型模态限制,彻底消除非多模态模型的图片理解断点。
7. 📊 ChatBI 健壮性与明细/依据/引用多维交互 (ChatBI Multi-view Panel & Robustness)
- 合一展示面板:气泡下方聚合「明细数据 / 执行依据 / 引用来源」多维度合一面板,抽样阈值调整至 500 行,兼顾前端渲染性能与全量数据概览。
- 大结果集兜底:大结果集自动抽样兜底,彻底解决长查询半截回复与前端假死问题。
- 自动缓存合成收口:纠正空结果误述,当 SQL 成功晚于可见正文时强制缓存合成收口,增强连续可视化分析与追问体验。
8. 🛠️ 工作空间、数据门户与任务调度体验优化 (Workspace, DataPortal & Task Center)
- 工作空间交互精简:快捷入口收拢为下拉菜单,类型筛选默认折叠,「含子目录」改为勾选交互;已配置的 Bash 工具严格绑定到会话工作区目录执行。
- 黄金报表时间预设:运行参数新增「今年(年初至今天)」快捷预设日期范围。
- 数据门户状态治理:未启用数据集显式标记不可用,并在目录工具中仅返回已启用项。
- 任务调度与站内通知:提示词约束最终推送通知禁止夹带中间思考,修复 resize 监听与 runNow 定时器卸载泄漏;站内消息详情支持 Mermaid 与 ECharts 富文本渲染。
- 菜单体验优化:将原「智能体测评」更名为「智能体调试」(Agent Debug),输入框未选模型时优雅显示「默认模型」。
🐛 Bug Fixes
AI / 路由 / 业务确认
- 业务确认防重复出卡:修复用户在确认卡点击取消后可能再次弹出相同确认卡的问题,增加前端硬拦截机制。
- 确认卡位置对齐:将确认卡调整到 AI 消息正文下方展示,并在存在确认卡时隐藏 quick 引导避免重复入口。
- 非多模态报错:修复纯文本模型在用户发送图片时直接报错的问题,实现自动旁路多模态模型解析。
- 真取消停止:修复点击「停止」按钮仅前端断开连接的问题,实现真正取消后端生成协程。
- 思考参数下发:修复模型关闭思考时未显式传递
false导致部分厂商模型默认打开思考的问题。
Embed / 调试台 / 移动端
- EmbedChat 空用户报错:修复嵌入聊天中用户信息为空时的报错问题,补充代客签发与白名单权限校验。
- 移动端横向溢出:修复移动端 AIChat 聊天容器宽度计算错误导致的横向滚动条溢出问题。
- Session Token 续期:将 Session Token 滑动续期周期延长并调整为 24 小时。
- 调试台严格模式:组件调试台(Widget Debugger)补充
strict_token严格校验模式与 Token 必填检查。
ChatBI / 任务中心 / 工作区
- SQL 收口延迟:修复 SQL 执行成功晚于可见正文时导致的回复截断与状态不一致问题,强制缓存合成收口。
- ChatBI 空结果误述:纠正 ChatBI 在平台自动重试成功后误报空结果的问题。
- 任务中心通知正文:提示词强化约束调度任务,仅投递最终分析正文,彻底消除通知中夹带中间规划与思考内容的问题。
- 定时器卸载泄漏:修复任务中心窗口 resize 监听与 runNow 定时器在组件卸载时未正确清理导致的内存泄漏问题。
- 工作区 Bash 绑定:修复已配置的 Bash 工具未绑定到会话目录执行的问题,严格锁定当前会话的工作区路径。
- 技能统计权限:将技能调用统计接口调整为登录用户即可读。
- 元数据实体关系:统一实体关系一对多展示与
join_type归一化。
⚠️ Breaking Changes & Migration Notes
从 v1.0.10 升级至 v1.0.11 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| AgentScope 运行时注入配置 | 系统配置新增 agentscope_inject_runtime_state 与 agentscope_inject_time_interval_hours;需执行 db-prod/V119 或 db-prod-pg/V19 升级。 |
| 系统默认多模态模型配置 | 系统配置新增 multimodal_model_name,用于纯文本模型会话的图片旁路解析;需执行 db-prod/V120 或 db-prod-pg/V20 升级。 |
| 思考时间线快照字段 | 执行历史表 ai_agent_execution_history 新增 process_timeline JSON 字段;需执行 db-prod/V121 或 db-prod-pg/V21 升级。 |
| 菜单名称变更 | 原「智能体测评」菜单正式更名为「智能体调试」(Agent Debug)。 |
| Embed 鉴权与 Ticket 机制 | 引入 Embed Ticket 代客签发权限与域名白名单校验;原有的静态 Token 验证集成方式兼容保留,生产环境推荐迁移至更安全的 Ticket 方式。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
MySQL(db-prod/)
从 v1.0.10 升级至 v1.0.11,MySQL 主库引入 3 个增量脚本:
| 脚本文件 | 核心变更内容 |
|---|---|
| V119-add_agentscope_injection_config.sql | 新增 AgentScope 运行时状态注入开关与时间注入间隔配置。 |
| V120-add_default_multimodal_model_config.sql | 新增系统默认多模态模型配置 multimodal_model_name。 |
| V121-add_process_timeline_to_history.sql | 执行历史表 ai_agent_execution_history 增加 process_timeline JSON 快照字段。 |
PostgreSQL(db-prod-pg/)
PostgreSQL 对应的 3 个增量升级脚本如下:
| 脚本文件 | 核心变更内容 |
|---|---|
| V19-add_agentscope_injection_config.sql | 新增 AgentScope 运行时状态注入开关与时间间隔配置。 |
| V20-add_default_multimodal_model_config.sql | 新增系统默认多模态模型配置。 |
| V21-add_process_timeline_to_history.sql | 执行历史表增加 process_timeline JSON 列。 |
Note
MySQL 环境请运行 ./db-prod/apply-sql-native.sh;PostgreSQL 环境请运行 ./db-prod-pg/apply-sql.sh。
📦 Upgrade Guide
方式一:源码直接升级(本地 / 虚机部署)
1. MySQL 主库(默认)
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新 Python 依赖(升级至 AgentScope 2.0.6 等)
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(自动跳过已执行脚本)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.sh2. PostgreSQL 主库
# 配置 DATABASE_TYPE=postgresql
./db-prod-pg/apply-sql.sh方式二:Docker 容器化升级(生产环境 / 容器集群)
1. 场景 A:下载官方 Release 镜像归档(推荐生产/离线环境)
从 GitHub Releases v1.0.11 下载对应架构的 Docker 镜像归档包:
# 1. 执行数据库迁移(使用宿主机或临时容器)
./db-prod/apply-sql-native.sh # PG: ./db-prod-pg/apply-sql.sh
# 2. 导入 Docker 镜像归档(按服务器架构选择对应文件)
# x86_64 服务器
docker load -i nanzi-ai-agent_1.0.11_linux-amd64_*.tar
# ARM64 服务器(鲲鹏 / Ampere 等)
docker load -i nanzi-ai-agent_1.0.11_linux-arm64_*.tar
# 3. 检查镜像加载状态
docker images | grep nanzi-ai-agent
# 4. 启动 / 重启容器服务
cd docker && ./start-nanzi-ai-agent.sh
# 或使用 compose 重启:docker-compose -f docker-compose.ai-agent.yml up -d --force-recreate2. 场景 B:本地 / 服务器自主构建镜像
# 1. 拉取最新代码并执行数据库迁移
git fetch origin && git checkout main && git pull origin main
./db-prod/apply-sql-native.sh # PG: ./db-prod-pg/apply-sql.sh
# 2. 进入 docker 目录构建 v1.0.11 镜像
cd docker
# x86_64 Linux 服务器
./build_linux_x86.sh 1.0.11
# ARM64 Linux 服务器(鲲鹏 / Ampere / M 芯片)
./build_linux_arm.sh 1.0.11
# 3. 启动 / 重启容器服务
./start-nanzi-ai-agent.sh💾 Downloads / Assets
本项目 v1.0.11 发布版本关联的源码、Docker 镜像资产归档包及配置文件如下:
- 📦 Source Code (zip):
nanzi-ai-agent-platform-1.0.11.zip - 📦 Source Code (tar.gz):
nanzi-ai-agent-platform-1.0.11.tar.gz - 🐳 Docker Image for Linux amd64 (x86_64):
nanzi-ai-agent_1.0.11_linux-amd64_*.tar - 🐳 Docker Image for Linux arm64 (aarch64):
nanzi-ai-agent_1.0.11_linux-arm64_*.tar - ⚙️ Docker Compose YAML file:
docker-compose.ai-agent.yml/docker-compose.yml
🔗 下载地址: GitHub Releases v1.0.11
✅ Test Checklist
升级后建议验证以下核心场景:
...
🎉 v1.0.10 Release Notes
🎉 NanZi AI Agent Platform v1.0.10 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.10 版本是一次以 AgentScope 原生模型思考与推理流 (Thinking & Reasoning Stream) 贯通 为核心领衔,并全面推进 个人技能审核与版本治理全流程、代码画布多语言在线运行、黄金报表统一解读管线、轻量联网搜索与 MCP 会话挂载、Embed 我的资源与导航注入,以及平台全局时区(platform_timezone)和视觉体验升级 的重磅迭代版本。
在本次更新中,平台原生对齐 AgentScope 思考参数与 6 档强度调优,支持流式下发并持久化回放历史推理过程 (reasoning_content),消息与画布支持 KaTeX 数学公式渲染;落地个人技能申请、审核、发布、版本管理与撤销全流程(配合 element:skills:admin 权限);代码画布支持 Python/JS 等多语言交互运行与工作区保存;黄金报表统一解读管线,支持延续走查数分析;新增百度/Bing HTTP 轻量联网搜索与会话级挂载 MCP 服务,支持粘贴 mcpServers JSON 登记;EmbedChat 接入「我的资源」卡片并支持导航注入;新增平台全局时区配置,重构仪表盘「活跃用户」卡片并升级登录页主视觉。
本次变更范围自 50b56211273356c43a883976630c7834ca2a27b8(不含,为 v1.0.9 末相关提交)至 4aee62807c25be721cb94d8e0b3b410e548a0e56(含),共 81 个提交(其中非 Merge 提交 73 个),涉及 324 个文件、约 25,276 行新增代码与 2,576 行删除。
🚀 Key Features
1. 🧠 AgentScope 原生思考模式与推理流 (Thinking & Reasoning Stream)
- 原生思考参数:平台全面对齐 AgentScope 原生思考配置,支持 6 档思考强度调节(
off,minimal,low,medium,high,deep),可在智能体与任务中心灵活下发。 - 流式推理展示:后端流式下发
reasoning_content,前端实现思考推理面板的实时折叠/展开与优雅过渡动画。 - 推理持久化与回放:数据库下发与持久化扩展,支持历史会话中模型推理内容的存储、查询与完美回放。
- 公式渲染:消息面板与代码画布全面集成 KaTeX 数学公式渲染,优雅呈现科技与学术文本。
- 路由解耦:路由意图解析自动忽略会话级别的思考覆盖,确保路由精准度不受影响。
2. 🛠️ 个人技能审核发布与版本治理 (Skill Publication & Audit Governance)
- 全流程贯通:实现个人技能提交申请、管理员审核放开/驳回、版本更新、下架与撤销全流程。
- 权限控制:注册
element:skills:admin管理员权限,普通用户免菜单权限可查询平台技能列表。 - 环境与规范:更新 Python 3.11+ 基础环境规范与文档,优化技能发布服务 metadata 拼接逻辑。
3. 💻 代码画布 (Code Canvas) 在线运行与工作区保存
- 多语言运行:新增代码画布多语言脚本(Python / JavaScript 等)在线交互式运行,运行结果自动回传工作区保存。
- Auto Pin 模式:首次打开支持自动开启钉住固定模式(Auto Pin);桌面端铺满可用宽度,移动端置顶且保留工作区。
- 混合渲染:画布 Markdown 预览完美支持 ECharts 数据图表与 Mermaid 流程图/架构图混合渲染。
4. 📊 黄金报表 (Golden Reports) 统一解读管线 & 走查数延续分析
- 统一解读管线:统一黄金报表执行解读管线,优化列语义理解与等待加载体验。
- 延续走查数:新增通用消息继续分析(continuation analysis),支持强制走查数智能体并保留可视化上下文。
- 元数据扩展:保存报表表结构增加
column_meta列元数据与解读分析相关字段。
5. 🌐 联网搜索隐/显式工具、MCP 会话挂载与 JSON 快速登记
- 轻量联网搜索:新增百度/Bing HTTP 轻量联网搜索隐式/显式工具分组,升级 Prompt 动态装配与知识库检索误报净化。
- 会话级 MCP:支持在单次会话中动态挂载个人 MCP 服务,优化资源级联交互与浮层对齐。
- JSON 快速登记:支持直接粘贴
mcpServersJSON 配置一键登记 MCP 服务,支持服务备注 (remark) 与固定命向前缀。
6. 🎨 EmbedChat / 个人中心「我的资源」统计卡与导航注入
- 我的资源卡片:EmbedChat 初始页接入「我的资源」统计卡与弹层,与个人中心共享
PersonalMemoryPanel(采用 keep-alive 保留 Tab 状态)。 - 导航与布局:DataPortal / TaskCenter 支持 Embed 导航注入与布局拆分,优化思考步骤展示与站内消息独立弹层。
7. ⏰ 平台全局时区系统配置与基础体验/视觉升级
- 全局时区系统:新增系统配置
platform_timezone(默认Asia/Shanghai),贯通定时任务调度与日志/界面时间展示。 - 活跃用户卡片:将仪表盘原「最新用户」模块重构为「活跃用户」卡片,信息更贴合运维需要。
- 品牌主视觉:升级登录页品牌主视觉轮播(暗黑极客配色与平滑光晕),Dashboard 支持亮/暗色主题,修复 iOS home 图标暗色边框。
🐛 Bug Fixes
AI / ChatBI / 知识库
- 检索误报净化:修复知识库成功检索后的误报问题,动态过滤非本轮 Prompt 工具清单。
- 工具挂载保留:修复智能体版本发布时 DB 工具定义缓存清理,保留智能体显式配置的知识库工具挂载与 Prompt 装配。
- 协程与快照:修复 AgentScope 确认快照重复消费协程的问题。
- 继续分析上下文:修复黄金报表继续分析时可视化上下文丢失的问题。
Canvas / 图表 / 消息
- 画布分析消息:修复代码画布执行结果触发重复自动发送分析消息的 Bug。
- K 线图空白:修复 ECharts K 线图双 grid 空白问题,支持按数据自适应切换视图。
- 复制按钮样式:统一全局 UI 中的复制按钮图标为干净的双页图标。
前端 / 工作台 / 交互体验
- 顶栏与通知:修复移动端站内通知防裁切问题,普通用户隐蔽显示在线人数。
- 页面页头折行:统一工作台/概览刷新样式,修正概览标题与 MCP 页头折行。
- 资源卡边框:消除资源卡错误态下 dark 边框的样式冲突。
- Docker 导出:Docker 构建镜像打包时排除 release 镜像导出压缩包。
⚠️ Breaking Changes & Migration Notes
从 v1.0.9 升级至 v1.0.10 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 模型思考配置 | 引入 thinking_mode, thinking_budget 等字段;需执行 db-prod/V116-V117 或 db-prod-pg/V15-V16 升级。 |
| 推理历史持久化 | 历史表 ai_agent_execution_history 增加 reasoning_content;需执行 db-prod/V100 或 db-prod-pg/V17 升级。 |
| 技能审核权限 | 注册 element:skills:admin 权限控制;审核管理功能仅拥有该权限的角色可见。 |
| MCP 服务备注 | ai_mcp_servers 增加 remark 字段;需执行 db-prod/V114 或 db-prod-pg/V13 升级。 |
| 平台全局时区 | system_configs 增加 platform_timezone(默认 Asia/Shanghai);如需修改可通过控制台系统配置修改。 |
| 报表列元数据 | 保存报表增加 column_meta 与 continuation_analysis 等;需执行 db-prod/V118 或 db-prod-pg/V18 升级。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
MySQL(db-prod/)
从 v1.0.9 升级至 v1.0.10,MySQL 主库引入 9 个增量脚本:
| 脚本文件 | 核心变更内容 |
|---|---|
| V110-create-skill-publications.sql | 创建个人技能审核与版本记录表 ai_skill_publications。 |
| V112-add-skill-publication-withdrawal.sql | 增加技能下架/撤销字段 is_withdrawn。 |
| V113-register_skill_admin_permission.sql | 注册技能审核管理员权限 element:skills:admin。 |
| V114-add_mcp_server_remark.sql | MCP 服务表增加备注字段 remark。 |
| V115-add_platform_timezone_config.sql | 新增平台全局时区配置 platform_timezone。 |
| V116-add_ai_model_thinking_config.sql | AI 模型增加 AgentScope 思考模式与强度配置字段。 |
| V117-use_agentscope_reasoning_fields.sql | 对齐 AgentScope 思考强度策略下发。 |
| V100-add-reasoning-content-to-history.sql | 执行历史表增加 reasoning_content 列。 |
| V118-saved-report-column-meta-and-analysis.sql | 保存报表增加 column_meta 与 continuation_analysis 等列。 |
PostgreSQL(db-prod-pg/)
PostgreSQL 对应的 9 个增量升级脚本如下:
| 脚本文件 | 核心变更内容 |
|---|---|
| V10-create-skill-publications.sql | 创建个人技能审核与版本记录表。 |
| V11-add-skill-publication-withdrawal.sql | 增加技能下架/撤销支持。 |
| V12-register_skill_admin_permission.sql | 注册技能审核管理员权限。 |
| V13-add_mcp_server_remark.sql | MCP 服务表增加备注列。 |
| V14-add_platform_timezone_config.sql | 新增平台全局时区系统配置。 |
| V15-add_ai_model_thinking_config.sql | AI 模型增加思考模式相关配置。 |
| V16-use_agentscope_reasoning_fields.sql | 对齐 AgentScope 思考强度策略下发。 |
| V17-add-reasoning-content-to-history.sql | 执行历史表增加 reasoning_content 列。 |
| V18-saved-report-column-meta-and-analysis.sql | 保存报表增加 column_meta 及解读扩展字段。 |
Note
MySQL 环境请运行 ./db-prod/apply-sql-native.sh;PostgreSQL 环境请运行 ./db-prod-pg/apply-sql.sh。
📦 Upgrade Guide
从 v1.0.9 升级(默认 MySQL 主库)
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新 Python 依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(自动跳过已执行脚本)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.shPostgreSQL 主库升级
# 配置 DATABASE_TYPE=postgresql
./db-prod-pg/apply-sql.sh✅ Test Checklist
升级后建议验证以下核心场景:
- 模型思考与推理流:设置智能体/模型思考强度(如 medium/high);对话时能流式看到思考推理展开与折叠;历史记录完美回放推理过程;KaTeX 数学公式渲染正确。
- 技能审核发布:个人提交技能申请;拥有
element:skills:admin权限用户在后台审核/驳回;技能发布版本正常累加;支持技能下架与撤销。 - 代码画布在线运行:代码画布在线运行 Python / JS 脚本,运行输出回写工作区保存;Auto Pin 钉住模式正常;ECharts / Mermaid 图表混合渲染流畅。
- 黄金报表解读:黄金报表生成与统一解读管线正常;消息「继续分析」强制走查数智能体并保留可视化上下文。
- 搜索与 MCP 增强:百度/Bing 轻量联网搜索生效;单次会话可挂载个人 MCP 服务;可复制粘贴
mcpServersJSON 登记并填写备注。 - EmbedChat 与资源:EmbedChat 初始页展示「我的资源」统计卡并能打开弹层;页面切换 Tab 状态保留;DataPortal 支持导航注入。
- 全局时区与体验:
platform_timezone修改后生效;仪表盘「活跃用户」展示正常;登录页主视觉极客效果平滑。 - 自动化测试回归:运行
pytest tests/,确保测试全量通过。
完整测试清单见 tests/CHECKLIST.md。
📋 Commit Log
| Hash | 描述 |
|---|---|
4aee6280 |
Merge pull request #94 from RandyChen1985/dev-agentscope |
38208c77 |
fix(黄金报表): 继续分析强制走查数智能体并保留可视化上下文 |
1efae406 |
feat(黄金报表): 统一执行解读管线并优化列语义与等待体验 |
ee70a122 |
feat: add generic message continuation analysis |
917344e8 |
fix(ui): 优化聊天文案、默认隐藏消息外框与任务资源弹层定位 |
84e8d04b |
feat(embed): 优化思考步骤展示并支持站内消息独立弹层 |
146f5f9c |
fix: prevent dark border on iOS home icon |
04e34090 |
fix(chat): 将 thinking_only 改为默认思考状态并允许会话覆盖 |
65d10e90 |
Merge pull request #93 from RandyChen1985/dev-agentscope |
b508ae27 |
docs: 更新模型思考与推理展示 CHECKLIST |
d35d9716 |
fix(chat): 路由意图忽略会话思考覆盖,推理... |
🎉 v1.0.9 Release Notes
🎉 NanZi AI Agent Platform v1.0.9 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.9 版本是一次以PostgreSQL 作为平台智能体元数据库(主库)双引擎落地为首要能力,并推进 MCP 个人作用域与工具可用性治理、案例集/经验库检索、模型注册表安全与运行时身份透明、知识库与 Embed 交互升级,以及危险 Shell 删除护栏与事实取证提示的迭代版本。在本次更新中,平台可通过 DATABASE_TYPE=postgresql 将系统配置、角色权限、审计日志与智能体元数据落在 PostgreSQL(db-prod-pg/ 基线与增量并行于 MySQL db-prod/);同时支持 MCP 公共/个人作用域与显示名全局唯一;远端已删除工具标记不可用仍保留可见;案例集通用化并新增 search_qa_examples / get_myinfo;模型注册表强化唯一性、Token 限额与运行时身份;记忆统一全局向量模型(默认 bge-m3 / 1024);知识库工具步与 Embed 调度占位升级;并加固危险 Shell 护栏、取证分级与一批体验缺陷。
本次变更范围自 a9fc4fef62127d068dfc051c08bde2aa26914dd5(不含,为 v1.0.8 末相关提交)至 cb36b9cc95770bdc5684575718f7158be054735f(含),共 60 个提交(其中非 Merge 提交 48 个),涉及 234 个文件、约 19,562 行新增代码。
🚀 Key Features
1. 🐘 PostgreSQL 作为平台智能体元数据库(主库)
- 双主库可选:通过
DATABASE_TYPE=mysql|postgresql选择平台主库;默认仍为 MySQL,可选切换为 PostgreSQL。 - 元数据落库:系统配置、角色权限、审计日志、智能体/版本/工具与会话等平台元数据均可运行在 PostgreSQL。
- 独立初始化链:新增
db-prod-pg/(V0-baseline当前态基线 + 后续V*.sql增量),与 MySQLdb-prod/历史迁移链并行维护、互不改写。 - 运行时方言分支:SQLAlchemy / APScheduler 与方言敏感 upsert、分区维护等按主库类型分支;审计日志与相关服务加固。
- 安装与运维:
HOW_TO_INSTALL.md/ Docker /env.example补齐POSTGRES_*;apply-sql 支持相对路径解析。
2. 🔌 MCP 作用域、可用性与管理体验
- 个人作用域:MCP 服务支持
global/personal作用域与创建者隔离;完善重命名迁移与权限校验。 - 显示名唯一:强制服务显示名全局唯一(大小写不敏感);历史重名自动追加
legacy-*标记。 - 远端可用性:远端已删除工具标记
is_available=false且保留可见;与发布状态解耦。 - 管理台增强:展示服务绑定智能体;修复禁用后误同步与发布状态生效;美化工具测试台结果与启停加载态。
- 探测与权限:优化 SSE/HTTP 探测与欢迎语文案;修复普通用户发布 MCP 工具权限;更新 Skills 官方市场链接。
3. 📚 案例集 / 经验库与内置工具
- 案例集通用化:案例集管理全面优化与通用化重构,支持分类(general / knowledge / data_query)。
- 检索经验库:新增内置工具
search_qa_examples,检索已验证问答案例与 SQL 口径参考。 - 本人资料:新增
get_myinfo工具,并优先处理本人资料查询意图。
4. 🧠 模型注册表、运行时身份与向量模型
- 注册表治理:强化模型注册表安全与供应商接入;完善解析、管理台筛选与高级设置交互。
- 唯一性与限额:
model_id全局唯一;支持可选context_size/max_output_tokens。 - 使用关系:完善模型使用关系展示,并消除管理页抖动。
- 运行时身份:支持查询本轮实际生效的运行时模型身份。
- 全局向量模型:记忆与系统配置统一使用全局向量模型;默认 Embedding 调整为 bge-m3、维度 1024。
5. 📖 知识库智能体与 EmbedChat 体验
- 工具步体验:知识库工具步增加绑定引导;默认折叠 ChatBI;支持隐藏 AI 消息外框。
- 调度占位:Embed 思考中显示调度占位(三点跳动与名称淡入上滑);优化无边框消息样式。
- 移动端表格:Markdown 表格自适应卡片/表格切换;多主题表格样式与思考时间轴竖线淡化。
- 技能计数:智能体卡片技能数展示启用公共技能总量。
6. 🛡️ 安全、取证与 AI 契约
- 危险 Shell 护栏:拦截危险 Shell 删除操作,降低误删风险。
- 取证分级提示:全局事实取证风险提示按凭证重合度分级。
- 检索与路由:优化知识库检索触发与单轮意图解耦;事实证据契约与路由冲突治理。
- 图表契约:统一 ECharts 输出契约,修复 quick 括号截断;流式对账支持嵌套括号。
7. 🗄️ 运维与体验加固
- 记忆索引:记忆索引未就绪时提供快捷创建入口。
- AI 润色权限:智能体版本编辑器 AI 润色不再依赖提示词工坊权限。
🐛 Bug Fixes
MCP / 权限 / 运维
- 普通用户发布 MCP:修复普通用户发布 MCP 工具权限问题。
- 禁用后误同步:修复 MCP 服务禁用后仍误同步、发布状态未正确生效。
- apply-sql 相对路径:MySQL / PostgreSQL 的 apply-sql 均可正确解析相对路径 SQL 文件。
- MCP 默认服务名:规范默认服务名文案。
AI / ChatBI / 知识库
- 知识库工具步校验:修复工具步校验、审计日志截断与 Markdown 表格滚动。
- 知识库检索触发:优化检索触发逻辑,与单轮意图解耦,减少误触发。
- 事实证据与路由:优化证据契约及路由冲突治理。
- ECharts / 流式对账:修复 quick 目标括号截断;支持嵌套括号对账。
- 已保存报告浮层:打开报告详情时关闭浏览器浮层遮挡。
前端 / Embed / 管理端
- 滚动条抖动:修复鼠标悬停导致的页面滚动条抖动;消除模型管理页抖动。
- 重复 Toast:移除 Embed 多智能体开关的重复 Toast。
- 模型表单文案:移除 API 字段标签中多余的「可选」文案。
- 注册表交互:优化高级设置与选择器交互。
⚠️ Breaking Changes & Migration Notes
从 v1.0.8 升级至 v1.0.9 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 平台主库可选 PostgreSQL | 新增 DATABASE_TYPE=postgresql 与 POSTGRES_*;平台智能体元数据可落 PG。MySQL 与 PG 两套脚本链并行,不可混用同一库。 |
| MySQL 存量升级 | 继续使用 MySQL 时,须执行 db-prod/ 的 V105 ~ V111(见下方)。 |
| PostgreSQL 新装 / 升级 | 新环境执行 db-prod-pg/ 基线(V0 起);已有 PG 环境执行对应增量(本版对齐能力见 V3 ~ V9,以目录为准)。 |
| MCP 作用域与命名 | 新增 scope / user_id;显示名全局唯一。历史重名会自动重命名为带 legacy-* 后缀,依赖旧重名配置的绑定请核对。 |
| MCP 工具可用性 | 远端已删除工具不再静默消失,而以不可用状态保留;发布态与可用性分离,请回归同步与启停流程。 |
| 模型 model_id 唯一 | ai_models.model_id 强制全局唯一;存在重复时 MySQL V110 / PG 对应脚本会失败,须先手工清理重复后再执行迁移。 |
| 模型 Token 限额 | 可选 context_size / max_output_tokens;NULL 保持供应商默认行为。 |
| Embedding 默认 | 记忆服务默认模型改为 bge-m3、维度 1024;若已有记忆索引基于旧维度,需按运维指引重建或迁移向量。 |
| 案例集分类 | ai_chatbi_examples 新增 category;经验检索工具依赖注册脚本。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
MySQL(db-prod/,存量默认路径)
从 v1.0.8 升级至 v1.0.9,MySQL 主库引入 7 个增量脚本:
| 脚本文件 | 核心变更内容 |
|---|---|
| V105-add_mcp_scope_and_user_id.sql | MCP 服务增加 scope / user_id;注册 MCP 管理菜单权限。 |
| V106-add_category_to_chatbi_examples.sql | ChatBI 案例表增加 category 分类列。 |
| V107-register_example_search_tool.sql | 注册内置工具 search_qa_examples。 |
| V108-enforce_mcp_server_name_uniqueness.sql | MCP 显示名全局唯一;历史重名追加 legacy-*。 |
| V109-add_mcp_tool_availability.sql | MCP 工具缓存增加 is_available(远端是否仍存在)。 |
| V110-enforce_ai_model_id_uniqueness.sql | ai_models.model_id 全局唯一索引(重复须先清理)。 |
| V111-add_ai_model_token_limits.sql | 模型增加可选 context_size / max_output_tokens。 |
PostgreSQL(db-prod-pg/,平台主库新选项)
新装 PostgreSQL 主库请按 db-prod-pg/README.md 执行 V0-baseline 及后续增量。本版能力对齐的增量包括(编号与 MySQL 不同):
| 脚本(示例) | 核心变更内容 |
|---|---|
| V0-baseline | 平台当前态全量基线(智能体元数据等)。 |
| V3 ~ V9 | MCP 作用域/唯一性/可用性、案例分类、经验检索工具、model_id 唯一与 Token 限额等(与 MySQL V105~V111 能力对齐)。 |
Warning
MySQL 请执行 ./db-prod/apply-sql-native.sh;PostgreSQL 请执行 ./db-prod-pg/apply-sql.sh。勿对同一实例混跑两套目录。执行 model_id 唯一约束前请确认不存在重复。
📦 Upgrade Guide
从 v1.0.8 升级(继续 MySQL)
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(V105 ~ V111)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.sh新装 / 切换为 PostgreSQL 主库
# 配置 DATABASE_TYPE=postgresql 与 POSTGRES_*(见 env.example / HOW_TO_INSTALL.md)
./db-prod-pg/apply-sql.sh
# 然后编译前端并启动✅ Test Checklist
升级后建议验证以下核心场景:
- PostgreSQL 主库:
DATABASE_TYPE=postgresql启动成功;登录、智能体 CRUD、会话与审计读写正常;与 MySQL 路径互不混用。 - MCP 作用域:创建个人/公共 MCP;显示名冲突拒绝;绑定智能体展示;禁用后不同步。
- MCP 可用性:远端删除工具后标记不可用仍可见;发布态与可用性独立。
- 案例集 / 经验库:案例分类;
search_qa_examples可检索;get_myinfo优先本人资料。 - 模型注册表:
model_id唯一;Token 限额可选;使用关系展示;本轮运行时模型身份可查。 - Embedding:全局向量模型配置生效;记忆索引未就绪时快捷创建。
- 知识库 / Embed:工具步绑定引导与折叠;调度占位动效;移动端表格自适应;无边框消息。
- 安全 / 取证:危险 Shell 删除被护栏拦截;取证风险按重合度分级提示。
- 图表 / 流式:ECharts quick 嵌套括号不截断;已保存报告详情无浮层遮挡。
- 缺陷回归:滚动条/管理页不抖动;MCP 发布权限;apply-sql 相对路径;重复 Toast 已消除。
- 回归测试:运行
pytest tests/,确保全部测试用例通过。
完整测试清单见 tests/CHECKLIST.md。
📋 Commit Log
| Hash | 描述 |
|---|---|
cb36b9cc |
docs: 更新微信交流群二维码图片 |
fcdc0cc8 |
feat(agents): 智能体卡片技能数展示启用公共技能总量 |
13296432 |
feat(embedding): 记忆与系统配置统一使用全局向量模型 |
a3f753f6 |
fix(ui): 修复鼠标悬停导致的页面滚动条抖动 |
5d8cc855 |
fix(ui): 移除模型表单 API 字段标签中的「可选」文案 |
563ee194 |
docs(tests): 补充运行时模型查询与注册表治理验收清单 |
64077986 |
feat(models): 完善模型使用关系展示并消除管理页抖动 |
9fa07996 |
feat(models): 完善注册表解析与管理台筛选能力 |
5bfdfe26 |
fix(ui): 优化模型注册表高级设置与选择器交互 |
4d3603a0 |
feat(models): 强化模型注册表安全与供应商接入能力 |
16f6572d |
feat(ai): 支持查询本轮实际生效的运行时模型身份 |
ef1f8662 |
fix(chatbi): 打开已保存报告详情时关闭浏览器浮层 |
6aa58ae1 |
fix(ai): 流式对账支持 quick 目标内嵌套括号 |
7b113b99 |
feat(chart): 统一 ECharts 输出契约并修复 quick 括号截断 |
29a6384d |
fix(ai): 优化事实证据契约与路由冲突治理 |
c4d8d0fb |
docs(tests): 补充危险 Shell 删除护栏验收清单条目 |
50f7ece9 |
fix(ai): 优化知识库检索触发逻辑与单轮意图解耦 |
a908db18 |
feat(security): guard dangerous shell deletions |
753fc8c3 |
docs: define dangerous shell deletion guard |
f4031284 |
feat(frontend): 移动端 AI 回复 Markdown 表格自适应卡片/表格切换 |
eca96cbf |
docs: 深化 A03/A04 公众号连载并补充克制配色版 |
6a32dd4f |
feat(embed): 优化调度占位动效,三点跳动与名称淡入上滑 |
5c70b7f7 |
docs: 更新微信群二维码图片 |
13000424 |
feat(grounding): 全局事实取证风险提示按凭证重合度分级 |
7c0a5e22 |
feat(mcp): 远端已删除工具标记不可用并保留可见,完善重命名迁移与权限校验 |
09679703 |
feat(mcp): 美化工具测试台结果展示,并完善启停加载态 |
750032e4 |
feat(mcp): 展示服务绑定智能体,并修复禁用后误同步与发布状态生效 |
963830e0 |
fix(ui): 记忆索引未就绪时提供快捷创建,并规范 MCP 默认服务名 |
198134c2 |
feat(mcp): 强制服务显示名全局唯一,并优化 SSE/HTTP 探测与欢迎语文案 |
4c511416 |
feat: 智能体版本编辑器 AI 润色不再依赖提示词工坊权限 |
fe13d8fa |
feat: 新增 get_myinfo 工具并优先处理本人资料查询 |
c12efe12 |
fix: MySQL apply-sql 支持相对路径解析 SQL 文件 |
1354a3c8 |
fix: PostgreSQL apply-sql 支持相对路径解析 SQL 文件 |
7814e95d |
fix(mcp,skills): 更新Skills官方市场链接并修复普通用户发布MCP工具权限问题 |
83c5bb5a |
UI: 淡化 EmbedChat 思考过程的时间轴竖线 |
be9a0ebc |
UI: 优化 EmbedChat 中 Markdown 多个主题的表格样式 |
f3f365e5 |
fix: 移除 Embed 多智能体开关的重复 Toast 提示 |
9bf8cffa |
docs: 更新测试清单记录 Embed 调度占位与无边框样式 |
277089af |
fix: Embed 思考中显示调度占位并优化无边框消息样式 |
4ab64d0d |
feat: 知识库工具步默认折叠 ChatBI,并支持隐藏 AI 消息外框 |
2bedf2f0 ... |
🎉 v1.0.8 Release Notes
🎉 NanZi AI Agent Platform v1.0.8 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.8 版本是一次智能体主类型与委派就绪、会话资源范围与本轮元数据集挂载、证据时效与反幻觉语义帧、门户折叠体验、Embed 思考链与聊天交互升级,并集中修复一批线上体验缺陷的重大迭代版本。在本次更新中,平台引入智能体主类型(GENERAL / CHATBI / KNOWLEDGE_BASE)与委派就绪检查;会话资源范围可持久化,并支持本轮元数据集挂载优先于会话范围;统一请求语义帧与证据时效,阻断无据编造;新增可访问资源目录工具与 ChatBI 来源感知路由门控;数据/知识库门户支持卡片完全折叠、更新时间展示与视觉精简;EmbedChat 强化思考链移动端体验、排版样式偏好、专家/技能级联入口;并新增 PostgreSQL 数据源、配置 AI 润色;同时修复 MySQL 特殊字符密码、HTTP 智能体中心白屏、剪贴板复制、权限缓存失效、时长异常硬拦截误杀等关键缺陷。
本次变更范围自 d824dc69da1b9bce14acd707acb954d6febcbb1b(不含,为 v1.0.7 末提交)至 68e85aba380c98b8ca6ea9f540ca44fb22d146e9(含),共 100 个提交(其中非 Merge 提交 87 个),涉及 351 个文件、约 30,517 行新增代码。
🚀 Key Features
1. 🏷️ 智能体主类型、委派就绪与配置体验
- 主类型落地:智能体增加面向用户的主类型(GENERAL / CHATBI / KNOWLEDGE_BASE),保留 capabilities 兼容运行时;智能体中心支持按主类型筛选。
- 委派就绪检查:强委派按语义选型;场景模板对齐主类型;轮次成败仅以最终状态判定。
- 配置完成度与欢迎卡片:优化创建/编辑配置完成度计算与欢迎卡片规则提示;版本级
welcome_config三卡片配置。 - AI 润色:配置编辑器支持 AI 润色并扩展为 8 种范式;加固解析、可取消遮罩与只读禁用。
- 说明弹层:执行引擎说明弹窗;智能体类型与扩展能力说明改为置顶模态框。
2. 📦 会话资源范围、本轮元数据集与资源目录
- 会话资源持久化:项目/会话资源范围校验强化并持久化;门户挂载交互修复。
- 本轮元数据集挂载:支持本轮元数据集挂载,并优先于会话范围;修复 ChatBI 本轮范围与路由。
- 可访问资源目录:新增可访问资源目录系统工具,优化路由短路与聊天配置侧资源识别。
- 轻量数据集列表:通用助手可访问数据集轻量列表;工具结果快照与新会话菜单可达。
- 门户解耦:门户开关不再联动智能体路由;仅在唯一智能体时自动锁定。
3. 🛡️ 证据时效、语义帧与 ChatBI 可信路由
- 语义帧与证据状态:统一请求语义帧与证据状态,阻断无据编造并透出时效。
- 取时熔断与新问优先:取时熔断收敛、证据时效与 ChatBI 新问优先;泛化相对时间锚点,减少主助手重复取时。
- 来源感知路由:引入 ChatBI 来源感知资格判定与路由门控。
- 时长异常 soft tip:时长/时延异常由硬拦截改为 soft tip + soft repair,结果照常落库,降低误判无答。
- 澄清体验:优化澄清缺口自检与澄清卡片;Embed 默认开启反幻觉校验。
- Mermaid 规范:平台提示词补充 Mermaid 图示规范。
4. 🗄️ 数据源与运维加固
- PostgreSQL:新增 PostgreSQL 数据源支持。
- MySQL 连接:密码含特殊字符时使用 URL 安全编码,修复 host 误解析;完善 SQL 导入与 ENCRYPTION_KEY 说明。
- 权限缓存:角色与权限变更后主动失效 API Key 与权限缓存。
- 工具接口:工具列表接口仅需 API Key 即可读取;会话工具快照空值防护。
5. 📊 数据 / 知识库门户体验
- 卡片完全折叠:数据集卡片支持完全折叠与多维 UX 交互增强。
- 更新时间:门户展示数据集更新时间。
- 视觉精简:精简数据门户 / 知识库门户装饰文案与挂载展示。
6. 💬 EmbedChat / 聊天交互与思考链
- 思考链升级:耗时冷暖渐变、折叠进度摘要、头部总耗时实时计时;移动端思考展示、跟底滚动与序号裁切修复。
- 排版样式:排版偏好 Redis 持久化;新增瑞士包豪斯、复古日报、北欧禅意三套样式。
- 输入入口:专家入口改为胶囊与级联菜单;技能选择改为加号级联子菜单;统一 @ 提及与专家中心展示。
- 侧栏与画布:侧栏抽屉与画布实时拖动平滑压缩、钉住响应式;消息气泡扁平化;快捷按钮触控与数据依据样式统一。
- URL 锁定智能体:EmbedChat 支持 URL 锁定智能体与快捷指令交互优化;路由切换提示改用 Toast。
- 日志导出:聊天日志支持 Markdown 导出。
7. 🔔 通知、任务与 Skills 工作台
- 站内通知:通知详情与任务中心可视化结果通知;任务结果通知调度兜底。
- 用户权限:细化用户管理权限,支持报表订阅页签跳转。
- Skills 工作台:展示公共 Skill 显式绑定智能体;剪贴板统一降级与一键复制。
- 业务简报:导出走 AI 分析正文为主并附证据附录。
🐛 Bug Fixes
ChatBI / AI 运行时
- 时长/时延异常误杀:由硬拦截改为 soft tip + soft repair,结果照常落库,避免合法负值/大延迟导致无答。
- 本轮元数据集范围与路由:修复本轮挂载数据集未正确参与 ChatBI 范围与路由的问题。
- 工具循环熔断:熔断状态锁存,并补充模型停调工具引导,防止重复空转。
- 会话工具快照空值:工具快照为空时避免
NoneType.get异常。 - 轮次成败判定:仅以最终状态判定轮次成败,修正中途失败被误记的问题。
- 非流式消息重复:修复非流式场景下消息重复展示。
认证 / 数据源 / 接口
- MySQL 密码特殊字符:密码含
@等字符时 URL 安全编码,修复 host 被误解析;完善 SQL 导入与ENCRYPTION_KEY说明。 - 权限缓存:角色与权限变更后主动失效 API Key 与权限缓存,避免鉴权滞后。
- 工具列表鉴权:工具列表接口仅需 API Key 即可读取。
- RAGFlow 原档下载:改用数据集接口,修复原档下载失败。
前端 / Embed / 管理端
- HTTP 智能体中心白屏:修复协程序列化异常导致的中心页白屏。
- 剪贴板复制:统一 HTTP 环境下复制降级;修复 AgentDebug 复制反馈;Skills 编辑器支持一键复制。
- Embed 路由提示抖动:路由切换提示改用 Toast,避免顶栏横幅导致页面抖动。
- 快捷按钮与思考序号:修复移动端快捷按钮需二次点击、思考步骤序号被裁切;统一数据依据样式。
- AI 润色:加固解析与可取消遮罩;修复批量勾选;只读模式禁用润色;结果弹层置顶。
- 新建向导门禁:修复向导步骤门禁与跳步问题。
- 门户自动锁定:数据/知识库门户仅在唯一智能体时自动锁定,避免误锁。
- 工作台欢迎语:正确读取品牌名;澄清用户额度页保存入口。
- 智能体列表布局:引擎/类型徽标纵向排列、操作列保持横向可点选、列宽优化。
- 场景模板交付完成步:完成并进入智能体中心,修正错误落点。
- 通知弹框:智能体消息点击后自动收回通知弹框。
⚠️ Breaking Changes & Migration Notes
从 v1.0.7 升级至 v1.0.8 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 数据库变更 | 升级前须执行 V103 ~ V104 两个增量脚本(见下方数据库升级说明)。 |
| 智能体主类型 | ai_agents.agent_type 为面向用户的主类型字段;历史数据会按 capabilities / 名称回填。列表筛选、场景模板与委派文案已对齐主类型,请回归智能体中心与委派路径。 |
| 欢迎卡片配置 | 版本表新增 welcome_config;依赖旧欢迎页硬编码文案的定制需迁移到版本配置。 |
| 会话资源范围 | 会话级资源范围持久化后,跨会话/跨项目挂载行为更严格;本轮元数据集挂载优先于会话范围,请回归 ChatBI 与门户挂载。 |
| Embed 反幻觉默认 | Embed 默认开启反幻觉(Grounding)校验;调试入口仍可按会话关闭。 |
| 时长异常策略 | ChatBI 时长/时延异常不再硬拦截回答,改为提示 + soft repair;依赖旧「异常即无答」行为的自动化断言需调整。 |
| 门户与路由 | 门户开关不再联动智能体路由;仅唯一智能体时自动锁定,多智能体场景需显式选择。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
从 v1.0.7 升级至 v1.0.8 期间,平台数据库共引入了 2 个增量 SQL 升级脚本(存放于 db-prod/ 目录下):
| 脚本文件 | 核心变更内容 |
|---|---|
| V103-add-agent-primary-type.sql | 智能体增加主类型 agent_type、onboarding 字段,并按历史 capabilities 回填。 |
| V104-add-agent-welcome-cards.sql | 智能体版本增加欢迎页三卡片配置字段 welcome_config。 |
Warning
请在升级后通过执行 ./db-prod/apply-sql-native.sh 脚本,将增量 SQL 自动、安全地导入到目标 MySQL 数据库中。
📦 Upgrade Guide
从 v1.0.7 升级
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(V103 ~ V104)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.sh✅ Test Checklist
升级后建议验证以下核心场景:
- 主类型:智能体中心按主类型筛选;创建/编辑完成度与欢迎卡片;场景模板对齐主类型。
- 委派:强委派语义选型与就绪检查;轮次成败以最终状态判定。
- 会话资源:会话资源范围持久化;本轮元数据集挂载优先;门户开关不联动路由。
- 证据时效:无据阻断、时效透出、取时熔断、ChatBI 新问优先与来源感知路由。
- 时长 soft tip:负时延/极端延迟提示与 soft repair,结果可继续回答。
- 门户:数据集卡片折叠、更新时间、知识库/数据门户视觉精简。
- EmbedChat:思考链移动端展示与跟底滚动;排版样式切换;专家/技能级联;URL 锁定智能体。
- 数据源:PostgreSQL 连通;MySQL 密码含
@等特殊字符可连接。 - 权限:角色/权限变更后 API Key 缓存失效;剪贴板复制在 HTTP 环境可用。
- 缺陷回归:HTTP 智能体中心不白屏;MySQL 特殊字符密码可连;时长异常有 tip 仍可答;快捷按钮一触即发;思考序号完整可见。
- 回归测试:运行
pytest tests/,确保全部测试用例通过。
完整测试清单见 tests/CHECKLIST.md。
📋 Commit Log
| Hash | 描述 |
|---|---|
68e85aba |
fix(chatbi): 将时长/时延异常从硬拦截改为 soft tip 与 repair |
8925e6ca |
修复快捷按钮触控与思考序号裁切,并统一数据依据样式 |
ceec5622 |
优化 EmbedChat 思考过程的移动端展示与跟底滚动 |
942375d5 |
refactor(frontend): 拆分聊天表面模态组件并忽略 .ruff_cache |
2a06b133 |
fix: MySQL 密码特殊字符 URL 编码,并完善 SQL 导入与 ENCRYPTION_KEY 说明 |
b2a30a6b |
docs: 更新 CHECKLIST,记录剪贴板统一与权限缓存失效验收项 |
d8fca7ba |
fix(auth): 角色与权限变更后主动失效 API Key 与权限缓存 |
eb378ba1 |
fix(frontend): 修复 AgentDebug 复制反馈,并柔化 Toast 与权限加载态 |
3e8d03e4 |
style(frontend): 统一 Toast 为顶部居中实心样式,复制浮标改为悬停显示 |
0afcb7d4 |
fix(frontend): 统一剪贴板复制降级,并支持 Skills 编辑器一键复制 |
db5db5a8 |
fix(agent): 轮次成败仅以最终状态判定,并补充平台选型盘外文 |
7a8ef26e |
feat(portal): 展示数据集更新时间 |
636fd406 |
refactor(portal): 门户开关不再联动智能体路由 |
89c2a5b7 |
refactor(knowledge): 精简知识库门户视觉与文案装饰 |
ad0ef675 |
refactor(portal): 精简数据门户视觉与挂载文案 |
9d09808a |
fix(embed): 路由切换提示改用 Toast,避免顶栏横幅导致页面抖动 |
9a964df0 |
feat(agent): 优化智能体创建/编辑配置完成度计算与欢迎卡片规则提示 |
872f619f |
feat(portal): 支持数据集卡片完全折叠与多维 UX 交互体验增强 |
4f11d8b1 |
fix(chatbi): 修复本轮元数据集范围与路由 |
204e8b94 |
feat(ai): 支持本轮元数据集挂载并优先于会话范围 |
947588b9 |
docs: 补充元数据集本轮挂载实现计划 |
7eb939c6 |
docs: 补充 ChatBI 元数据集本轮挂载设计说明 |
ac1cc4c6 |
feat(ai): 统一请求语义帧与证据状态,阻断无据编造并透出时效 |
36aff12d |
fix: 工具列表接口仅需 API Key 即可读取 |
1aa34c17 |
docs: 更新测试清单覆盖证据时效与 Mermaid 图示规范 |
adf18ea4 |
feat(ai): 平台提示词补充 Mermaid 图示规范 |
3adef34e |
feat(ai): 取时熔断收敛、证据时效与 ChatBI 新问优先 |
87fadafe |
feat: 优化资源目录识别与聊天配置交互 |
af083409 |
feat(ai): 新增可访问资源目录系统工具并优化路由短路 |
14f0f989 |
feat(ai): 引入 ChatBI 来源感知资格判定与路由门控 |
b3a574ec |
refactor(ai): 优化系统提示词编排与执行上下文 |
f381b306 |
feat: 强化项目会话资源范围校验与门户交互修复 |
7de4f23e |
feat: EmbedChat URL 锁定智能体与快捷指令交互优化 |
bae400d1 |
docs: 更新会话工具快照空值防护测试清单 |
445f1bc3 |
fix: 会话工具快照为空时避免 NoneType.get 异常 |
0d3f9883 |
feat: 通用助手工具结果快照、可访问数据集轻量列表与新会话菜单可达 |
418f7c7d |
feat(ai): 泛化相对时间锚点并减少主助手重复取时 |
d857abf1 |
feat: 会话资源范围持久化与聊天日志 Markdown 导出 |
6541ba60 |
feat: 新增 PostgreSQL 数据源支持,并默认开启 Embed 反幻觉校验 |
1815378c |
feat(frontend): 统一 @ 提及列表与专家中心的展示与交互 |
1e756feb |
feat(frontend): 输入框专家入口改为胶囊与级联菜单并优化移动端体验 |
e7da50fb |
feat(frontend): 技能选择改为加号级联子菜单并优化输入框提示文案 |
261b2de1 |
feat(frontend): 优化侧栏抽屉与画布实时拖动平滑压缩及钉住响应式交互 |
2ae458e0 |
style(frontend): 将站内消息详情复制按钮重构为内容区域右上角微型悬浮图标 |
fa9ab717 |
fix(frontend): 智能体配置只读模式下禁用提示词AI润色并支持智能体消息点击自动收回通知弹框 |
1cf117ce |
style: 优化 EmbedChat 消息气泡为纯扁平无阴影风格并保留经典左侧蓝条 |
ed66269d |
feat: 修复非流式消息重复、升级定时任务三段式提示词及站内消息复制浮标 |
d0d03a8f |
style: 排版样式切换时添加 Toast 交互提示 |
2218b027 |
docs: 更新自动化测试清单 tests/CHECKLIST.md 记录 AI 思考链与 Toast 优化功能 |
b4966e84 |
style: 实现 AI 思考期间头部总耗时实时跳动计时 |
4970b8c3 |
style: 智能特性开关切换时添加 Toast 交互提示 |
e43db54b |
style: 实现 AI 思考链折叠状态下的进度摘要展示 |
6f894046 |
style: 实现 AI 思考链的耗时冷暖渐变、技术日志降维和初始骨架屏加载 |
14ed972b |
style: 优化 AI 思考步骤的耗时对齐与折叠箭头,引入局部温和呼吸动效 |
2665fd64 |
style: 移除 AI 思考卡片的思维链扫光动效 |
abcc24fd |
feat: 实现排版样式偏好后端 Redis 持久化,新增瑞士包豪斯、复古日报和北欧禅意三套排版样式,修复预览弹窗遮挡及按钮对齐问题 |
e723df0a |
feat: 任务结果通知调度兜底,外部引擎固定通用类型 |
cc06c06b |
fix: 工具循环熔断锁存并补充模型停调工具引导 |
c4aab511 |
docs: 新增南子平台微信公众号系列 HTML 文稿与排期计划 |
f5e8ffdd |
feat: 技能工作台展示公共 Skill 显式绑定智能体 |
57c956f7 |
fix: 修复 HTTP 智能体中心白屏与协程序列化异常 |
0299c7c6 |
feat: 智能体类型与扩展能力说明改为置顶模态框 |
cc2e3370 |
feat: 执行引擎说明弹窗,并优化无权限落地与刷新 |
2c9dd88d |
docs: 同步 AI 润色、门户锁定与工作台品牌化测试清单 |
6f3d9b8f |
fix: 工作台欢迎语读取品牌名,并澄清用户额度页保存入口 |
4639ad7e |
fix: 数据/知识库门户仅在唯一智能体时自动锁定 |
375ec998 |
fix: 加固 AI 润色解析与可取消遮罩,并修复批量勾选 |
0941efa4 |
fix: 新建向导步骤门禁,并置顶 AI 润色结果弹层 |
5893b7c9 |
feat: 配置编辑器支持 AI 润色并扩展为 8 种范式 |
6583c849 |
fix: 加宽智能体列表引擎类型列并收窄状态列... |
🎉 v1.0.7 Release Notes
🎉 NanZi AI Agent Platform v1.0.7 Release Notes
GitHub Repository: RandyChen1985/nanzi-ai-agent-platform
v1.0.7 版本是一次品牌统一为南孜 / NanZi、ChatBI 可信分析与黄金报表订阅、Grounding 事实门禁、个人技能与场景工作台的重大功能迭代版本。在本次更新中,平台完成「云枢 / Yunshu」→「南孜 / NanZi」全站品牌与仓库更名;ChatBI 补齐非数据分流、连续分析、可信依据与黄金报表订阅/简报/告警推送;引入并强化 Evidence Grounding 门禁与 MCP 会话恢复;上线个人技能隔离与创建-编辑-挂载闭环、场景模板交付与个人业务工作台;并增强数据源库表摸排画像、技能压缩包导入与智能体版本配置向导体验。
本次变更范围自 cda13f9993abe6357b8cd8c64df1c389d1bb4618(含)至 3aee21bb5bedf765d8aa0ede8e6c0f5f4ff7c4d4,共 101 个提交,涉及 535 个文件、约 47,974 行新增代码。
🚀 Key Features
1. 🏷️ 名称统一:南孜 / NanZi
- 全站文案更名:中文名「云枢」统一为「南孜」,英文与技术标识 Yunshu 统一为 NanZi。
- 仓库与文档对齐:GitHub 仓库更名为
nanzi-ai-agent-platform,README / 设计文档 / 宣传图与项目声明同步更新。
2. 📊 ChatBI:分诊、连续分析与可信交付
- 非数据请求分流:实现 ChatBI 非数据意图分流与结构化澄清,放宽软性澄清拦截,禁止将 dataset 当作数据库名。
- 连续分析与分诊升级:升级分诊与连续分析交付能力,DATA_QUERY 意图无条件委派,并增强澄清改写示例。
- 可信依据与追问:实现可信数据依据与追问分析,前端画布事件与黄金报表点击交互优化。
- 业务简报落库:新增
chatbi_briefs,支持证据化业务简报沉淀与下载物关联。
3. 📈 黄金报表:订阅、运行历史、通知与告警
- 订阅与运行历史:黄金报表支持订阅调度、运行历史快照与通知中心 / 信箱。
- 智能简报推送:支持 AI 智能分析简报,经钉钉 / 企微 / 邮件 / 站内信多渠道投递并审计。
- 告警条件:订阅支持版本化告警条件与触发证据,完善智能订阅通知体验。
4. 🛡️ Grounding 事实门禁与 MCP 稳定性
- Evidence Grounding Gate:引入 GroundingService,统一各 Runner 决策与审计;支持 Intent-First、Session 级门控、Final SQL 显式角色。
- 软风险提示:未接地事实支持
PASS_WITH_WARNING;动态只读 MCP 的 external_tool 事实凭证校验。 - MCP 恢复增强:Direct HTTP 模式正确解析 SSE;会话失效自动恢复与 SSE 重连。
5. 🧩 个人技能与 Skills 工作台
- 个人技能隔离:个人技能独立管理、作用域修复、名称/时间排序、启用/禁用开关。
- 创建-编辑-挂载闭环:个人中心「我的技能」、创建后引导横幅、个人 SKILL.md 预加载。
- 压缩包导入与编辑器:技能压缩包上传导入;编辑器浅色主题、预览默认、近 30 天调用趋势。
- 自定义 Skills 白名单:智能体版本可自定义公共技能白名单,运行时与选择框统一过滤。
- 新会话预载:所有智能体新会话首轮强制预载
using-superpowers。
6. 🧰 场景模板、个人工作台与助手体验
- 场景模板交付闭环:场景包市场、资源绑定与实例落库(
ai_agent_scenario_instances)。 - 个人业务工作台:新增个人工作台首页,完善场景包与助手跳转;修复工作台进会话被旧
conversation_id钉回。 - 智能体卡片增强:展示能力与资源计数;寒暄导语按真实智能体名由 LLM 生成。
7. 🗄️ 数据源摸排画像与元数据导入
- 库表摸排:数据源摸排任务支持中断、分页、增量/全量;大库状态自动校正。
- 画像探索器:三栏布局与数据预览;置信度评分、临时表判定与忽略过滤。
- 直导元数据:画像直导元数据导入,优化导入预览与数据源绑定流程。
8. 🎨 管理端 / 聊天体验与平台加固
- 版本配置向导:智能体版本配置改为全屏抽屉分步向导,MCP 分组折叠与一键全选。
- 聊天共享能力:EmbedChat / AgentDebug 共享能力重构;对话历史 Markdown 渲染与源码切换。
- 个人门户与中心:完善个人数据门户与个人中心;记忆页与 API Key 隐藏交互优化。
- 安全与运维:管理员可为用户设置登录密码;工具/命令黑名单拦截;RAGFlow 超时可配置;HTTP 环境 API Key 复制兼容。
⚠️ Breaking Changes & Migration Notes
从 v1.0.6 升级至 v1.0.7 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 数据库变更 | 升级前须执行 V94 ~ V102 九个增量脚本(见下方数据库升级说明)。注意场景实例脚本文件名为 V102(勿与告警条件 V100 混淆)。 |
| 品牌与仓库 | 对外文档、嵌入页、镜像名若仍使用「云枢 / Yunshu」需同步替换为「南孜 / NanZi」;仓库路径为 nanzi-ai-agent-platform。 |
| Grounding 策略 | 默认启用事实门禁与软风险提示;未知来源请求策略已放宽,但 ChatBI Final SQL / MCP 凭证校验路径行为有变,请回归关键对话。 |
| 个人技能作用域 | 个人技能与公共技能隔离;禁用技能不再自动加载。依赖旧「全局可见个人技能」行为的流程需调整。 |
| 智能体 Skills 白名单 | 开启 skills_custom 后仅挂载勾选的公共技能,未配置白名单的旧版本保持兼容默认行为。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
从 v1.0.6 升级至 v1.0.7 期间,平台数据库共引入了 9 个增量 SQL 升级脚本(存放于 db-prod/ 目录下):
| 脚本文件 | 核心变更内容 |
|---|---|
| V94-create_db_table_profiles.sql | 创建库表摸排任务与表/视图画像草稿表。 |
| V95-add_db_table_profile_confidence.sql | 画像增加置信度、临时表与忽略标记。 |
| V96-create-portal-saved-report-runs.sql | 创建黄金报表运行历史表。 |
| V97-create-saved-report-subscriptions-and-inbox.sql | 创建黄金报表订阅与通知信箱相关表。 |
| V98-create-saved-report-digest-deliveries.sql | 创建智能简报推送审计表。 |
| V99-agent-version-custom-skills.sql | 智能体版本增加自定义 Skills 白名单字段。 |
| V100-add-saved-report-alert-conditions.sql | 订阅告警条件与触发证据字段。 |
| V101-create-chatbi-briefs.sql | 创建 ChatBI 证据化业务简报表。 |
| V102-create-scenario-template-instances.sql | 创建场景模板交付实例表。 |
Warning
请在升级后通过执行 ./db-prod/apply-sql-native.sh 脚本,将增量 SQL 自动、安全地导入到目标 MySQL 数据库中。
📦 Upgrade Guide
从 v1.0.6 升级
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(V94 ~ V102)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.sh✅ Test Checklist
升级后建议验证以下核心场景:
- 品牌:登录页 / 侧栏 / README 展示为南孜 · NanZi,无残留「云枢 / Yunshu」。
- ChatBI:非数据分流与澄清、连续分析、可信依据追问、业务简报生成。
- 黄金报表:订阅创建、定时运行、信箱通知、外部渠道简报、告警条件触发。
- Grounding / MCP:事实门禁软风险提示、MCP SSE/断线恢复、工具空结果不被误拦。
- 个人技能:创建 / 编辑 / 挂载 / 预加载 / 启用禁用;创建后引导跳转个人中心。
- 工作台与场景包:场景模板交付、工作台进会话不钉回旧 conversation_id。
- 库表摸排:摸排任务、画像预览、置信度过滤、直导元数据导入。
- 回归测试:运行
pytest tests/,确保全部测试用例通过。
完整测试清单见 tests/CHECKLIST.md。
📋 Commit Log
| Hash | 描述 |
|---|---|
7a6b3eae |
feat: 打通个人技能创建-编辑-挂载闭环,并优化个人中心体验 |
9d8aafd3 |
fix: 将场景模板实例迁移重编号为 V102,消除与告警条件的 V100 冲突 |
4d6866d5 |
fix: 优化多管理页移动端工具栏,并放开元数据菜单入口 |
24bb2ab9 |
docs: 对齐 ChatBI 文档与亲和性三态及连续分析架构 |
3207bb6e |
fix: 修复用户更多菜单先清空再打开导致设置密码无响应 |
38633b91 |
feat: 升级 ChatBI 分诊与连续分析交付,并优化黄金报表点击交互 |
42d35935 |
fix: 对齐系统概览与个人工作台视觉体验 |
1dfabe2c |
fix: 优化元数据列表工具栏与卡片密度,修复用户更多菜单遮挡 |
629abc43 |
feat: 所有智能体新会话首轮强制预载 using-superpowers |
f4698142 |
fix: 修复从工作台进入会话后新会话被旧 conversation_id 钉回 |
d1f1f390 |
feat: 寒暄导语按真实智能体名由 LLM 生成并丰富文案 |
f2acbfe6 |
fix: 消除工作台静默刷新时的页面抖动 |
dcb43aef |
feat: 新增个人业务工作台并完善场景包与助手跳转 |
31f8376f |
feat: 智能体卡片展示能力与资源计数,并优化场景包市场页 |
f50a17f8 |
feat(agent): 完善场景模板交付闭环 |
c2d89db2 |
fix: 移动端智能体卡片恢复显示版本管理入口 |
1b374611 |
fix(chatbi): 放宽软性澄清拦截,并禁止将 dataset 当作数据库名 |
bbc40abd |
refactor: 聊天日志改为左右分栏,支持 Markdown 渲染与折叠执行链路 |
4f88aa9d |
refactor: 抽取智能体对话历史为独立组件,支持 Markdown 渲染与源码切换 |
7107d7d9 |
feat: 智能体支持自定义 Skills 白名单,运行时与选择框/工具统一过滤 |
f6c65503 |
优化多管理页顶栏布局与操作层级,并完善 AgentDebug 全屏引导。 |
7b438bf6 |
docs: README 品牌名称统一为 NanZi |
4a4fd668 |
fix: 修复个人技能作用域问题并新增名称/时间排序 |
604c2b31 |
feat: 技能启用/禁用开关,禁用后不再自动加载 |
46ab6e5b |
feat: 个人技能隔离管理,品牌名称统一为 NanZi·智能体平台 |
226aef29 |
feat: 技能YAML块标量解析增强,README新增微信交流群二维码 |
9c81917b |
docs: 补充南孜项目声明并更新 README 宣传图 |
37ee926c |
chore: GitHub 仓库更名为 nanzi-ai-agent-platform |
31db0eb3 |
chore: 英文品牌与技术标识 Yunshu 统一更名为 NanZi |
6904ca42 |
chore: 全站品牌文案「云枢」更名为「南孜」 |
b6f133bc |
feat: 用户管理支持管理员为用户设置登录密码 |
85f880b1 |
fix: DATA_QUERY 意图无条件委派,并增强澄清改写示例 |
4dac99ce |
fix: 修复回复开始时思考面板未折叠,并允许无数据集时刷新门户 |
553a8efe |
fix: 优化 EmbedChat 思考摘要与 ChatBI 诊断门禁体验,并修复上传图片预览 |
96d582a2 |
feat: 聊天双页面共享能力重构及多项体验优化 |
286913e8 |
fix: 更新个人数据门户标签文案 |
6653d66d |
feat: 完善个人数据门户与个人中心体验 |
c557daee |
docs: 设计数据门户首页重组方案 |
93905855 |
feat: 完善黄金报表智能订阅与通知 |
35852379 |
feat: 实现黄金报表订阅、运行历史、通知中心与信箱功能,并添加相关测试 |
0449c6ce |
feat: 实现 ChatBI 可信数据依据与追问分析功能并优化前端画布事件 |
e8ef7e1e |
fix: 修复智能体调试中点击打开文件画布无反应问题并优化相关配置 |
47484b97 |
feat: 修复 AgentScope 待确认快照序列化时协程泄漏问题并补充测试 |
18e11834 |
fix: 调大 RAGFlow 检索超时时间至 20 秒,支持从系统配置动态加载 |
0d4cf4d0 |
fix(frontend): 修复在HTTP部署环境下API Key复制无反应的兼容性Bug |
d49c9d75 |
fix(db): 修复非 bash 环境下运行 apply-sql.sh 时的语法兼容性错误 |
08b39b16 |
fix(mcp): 优化 MCP 会话失效自动恢复与 SSE 重连机制并补充单元测试 |
4ed0c111 |
feat: 实现 ChatBI 非数据请求分流与结构化澄清,包含相关后端模块及测试用例修改 |
8491486e |
docs(chatbi): design non-data routing split |
5224dbd9 |
feat: 模型注册表支持多模态图标渲染,放宽多界面模型加载并美化输入框模型选择器 |
d3ff2864 |
style(frontend): 优化调试页输入框宽度、智能体选择卡片及侧边栏布局冲突 |
e78cb4fd |
feat(grounding): 实现 Intent-First 优化与 Session 级 Grounding 门控开关 |
c566577d |
feat(grounding): 引入 GroundingService 并重构各 Runner 的 Grounding 决策与审计流程 |
1fde42f7 |
feat(grounding): 强化 Grounding 准入网关关联校验,支持 ChatBI 显式 Final SQL 角色并完善测试清单与文档 |
17507ab0 |
feat(mcp): 修复 MCP 客户端在 Direct HTTP 模式下无法解析 SSE 格式响应的问题;优化智能体运行状态及凭证校验逻辑 |
b4d88e70 |
feat(grounding): 实现动态只读 MCP 的 external_tool 事实凭证与校验逻辑,更新相关测试 |
fee89578 |
feat(grounding): 实现未接地事实的软风险提示(PASS_WITH_WARNING)机制,更新测试与文档 |
292acb57 |
style: 优化提示词工坊左侧列表为高阶卡片样式,修复全屏按钮图标形变并优化默认展示模式 |
228401ed |
feat: 技能详情默认进入预览,并展示近 30 天调用趋势 |
ea541dbe |
feat: 重构智能体版本配置为全屏抽屉分步向导,优化工具选择与 Prompt 编辑体验 |
9b55d68a |
feat: 技能编辑器切换全浅色主题,智能体版本配置 MCP 分组支持折叠 |
6c239551 |
style: 重构技能文件编辑器 UI,优化工具栏布局与 Markdown 白色预览主题 |
6e64f4db |
style: 优化智能体版本编辑中 MCP 工具排版并集成一键全选功能 |
26bd6fd4 |
feat: 智能体技能压缩包上传导入与工作台 IDE 级 UI/UX 重构 |
a64dd48b |
refactor(grounding): 关闭未知来源请求的严格事实核验,放宽 grounding 通过策略 |
901166e5 |
feat: 增强摸排表探索器体验并对齐 api-data-platform 能力 |
e8320209 |
feat: 画像探索器三栏布局并支持数据预览 |
d2ebcbb6 |
feat: 紧凑化导入弹窗布局并优化数据源验证流程 |
f57237fa |
feat: 优化智能导入预览页布局与可编辑区域提示 |
e32fd376 |
feat: 智能导入绑定数据源并优化画像展示与数据集筛选 |
3121aa56 |
feat: 画像列表支持按可信度排序,优化数据源操作区 |
088affab |
feat: 摸排画像直导... |
🎉 v1.0.6 Release Notes
🎉 Yunshu AI Agent Platform v1.0.6 Release Notes
GitHub Repository: RandyChen1985/yunshu-ai-agent-platform
v1.0.6 版本是一次知识库开发与运营看板中心、Token 额度与预算控制、工作空间文件浏览器全面升级、个人多渠道消息通知的重大功能迭代版本。在本次更新中,平台围绕“知识库开发与管理”进行了全链路深度优化,上线知识库运营统计看板与原档高亮定位;全新推出 Token 额度控制体系(包含策略配置、调用拦截、用量展示及快捷查询);全面升级工作空间文件管理器(支持回收站、最近文件、多层隔离目录及画布预览);并重构个人中心通知配置,支持钉钉/企业微信/邮件多端通知绑定与连通性测试。
本次变更范围自 d429e7fa97b29edff8d06fa830a53d54e42be78b(含)至 64e40cf7c5cc150821c97a8ecde9b4d830bca2d8,共 87 个提交,涉及 161 个文件、约 25,364 行新增代码。
🚀 Key Features
1. 📂 知识库开发与 RAG 管理体系深度加固
- 文档虚拟文件夹与卡片折叠:知识库支持文档虚拟文件夹(目录)分类管理,文件拖拽移动落库,卡片支持独立折叠与展示高级配置,排版完美对齐数据门户。
- 反向成员授权:知识库管理页新增“分配授权成员”与反向角色/用户授权分配功能,限制只有拥有管理权限的用户才能访问敏感数据集,并补全单元测试。
- AI 元数据分析与智能回填:编辑元数据时集成 LLM,基于前 100 个文件名分析智能提取中英文标签、描述与备注信息,并在前端一键填充回填。
- 双栏置顶提问推荐:卡片支持 1~3 个人位置顶问题,在门户抽屉双栏呈现置顶问题与 LLM 预测问题,左键可直接发送,右键可进行小铅笔二次编辑。
- 追问检索优化与 Mermaid 流程图:当问题属于总结或指代代词追问时短路跳过 RAG 检索,复用上轮引用;优化步骤类问题的 Mermaid 图表生成 Prompt;前端折叠附加元数据提示词。
- 错误提示友好翻译:在
RagFlowClient中拦截 RAGFlow 底层权限拒绝(User lacks permission)、未找到数据集等晦涩错误,自动映射并转化为友好可读的中文文案。 - 高级检索调参:侧边滑动抽屉支持参数即时调参,并内置反幻觉开关;过滤机制中剔除失联
dataset_id确保连接稳定。
2. 📊 知识库运营统计看板与原档定位
- 统计看板与趋势分析看板:全新引入知识库运营看板,统计近期使用率、高频检索知识库排名并绘制趋势图,看板刷新时自动触发 Redis→DB 实时同步。
- 原档定位滑出预览:检索测试和引用溯源支持 RAG 原档物理页码直接高亮定位,侧栏滑出 PDF/Markdown 原档预览,移动端自适应隐藏。
- 性能埋点与报错修复:修复看板埋点永远拿不到 citations 数据的 Bug;修复刷新看板非 JSON 格式输出时触发误导性 ERROR 日志的问题。
3. 🗂️ 工作空间文件浏览全面升级 (Workspace 3.0)
- Redis 按用户隔离:工作空间浏览偏好、最近打开文件改为 Redis按
user_id物理隔离,防范多用户数据覆盖。 - 私有 Sandbox 与路径隔离:支持用户私有
uploads/sandbox路径隔离,工作空间路径可读化,并深度加固文件浏览器读写安全性。 - 最近文件与回收站:文件浏览中心全面升级,新增“最近文件”面板、快捷导航以及支持软删除的“回收站”机制。
- 抽屉式浏览与画布预览:升级为右侧抽屉式文件浏览器,支持工作空间图片 blob 破图修复、画布预览与文件直接写入 API。
4. 💰 Token 额度控制与预算管理体系
- 多维度限额拦截:新增 Token 额度管理策略配置表,提供调用次数/Token用量预算拦截、策略管理与实时消耗监控能力。
- 个人用量展示:个人中心增加“我的 Token 消耗”展示 Tab,额度管理体系中数据统一以紧凑格式(K/M/B)展示。
- 快捷指令查看:对话框支持
/quota快捷指令,支持用户在聊天中随时查询本月已用额度及剩余额度。
5. 🔔 个人中心消息通知多渠道绑定
- 多通道连通性测试:个人配置页支持配置并绑定钉钉群机器人、企业微信群机器人及 SMTP 邮件通知,支持密码打星脱敏与连通性测试。
- 企微通知工具集成:在工具层重构智能体消息通知工具,自动绑定个人配置,并新增企业微信通知工具,提升工作流集成效率。
6. 🎨 网页悬浮助手集成与品牌个性化
- 悬浮挂件多模式集成:网页悬浮助手优化引导页,支持以 Widget、嵌入网页等多模式集成;优化参数传递并修复前端偶发加载故障。
- 智能助手自定义命名:品牌个性化设置除了 Logo 与版权外,全面支持自定义主助手显示的系统名称。
⚠️ Breaking Changes & Migration Notes
从 v1.0.5 升级至 v1.0.6 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 数据库变更 | 升级前须执行 V88 ~ V93 六个增量脚本(见下方数据库升级说明)。 |
| Token 额度限制 | 更新后系统默认将启用 Token 限额拦截逻辑。请管理员通过配置 quota_policies 表以配置相应用户或角色的策略,以防误伤。 |
| 消息通知密码脱敏 | 个人中心消息配置在保存时对明文密码自动进行加密传输与落库;历史配置的明文密码需在升级后重新保存。 |
| 工作空间结构 | 临时 Sandbox 与 Session 目录进行路径物理迁移隔离,脚本或插件在访问物理路径时严禁硬编码。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
从 v1.0.5 升级至 v1.0.6 期间,平台数据库共引入了 6 个增量 SQL 升级脚本(存放于 db-prod/ 目录下):
| 脚本文件 | 核心变更内容 |
|---|---|
| V88-create_quota_policies.sql | 创建 quota_policies 策略管理表,支持多维度 Token 用量控制。 |
| V89-quota-usage-index.sql | 为限额与消耗日志添加数据库性能索引。 |
| V90-create_user_notification_configs.sql | 创建 user_notification_configs 个人中心消息通知渠道配置表。 |
| V91-register_wechat_work_tool.sql | 注册企业微信机器人通知工具元数据。 |
| V92-update_notification_tool_descriptions.sql | 动态更新系统通知工具描述,使之绑定个人中心自定义配置。 |
| V93-create_knowledge_base_metrics.sql | 创建 knowledge_base_metrics 知识库运营度量表,记录检索调用率与看板分析元数据。 |
Warning
请在升级后通过执行 ./db-prod/apply-sql-native.sh 脚本,将增量 SQL 自动、安全地导入到目标 MySQL 数据库中。
📦 Upgrade Guide
从 v1.0.5 升级
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(V88 ~ V93)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.sh✅ Test Checklist
升级后建议验证以下核心场景:
- 知识库开发:新建虚拟文件夹、编辑 AI 分析自动回填、卡片独立折叠、自建徽章标记、检索测试高级参数。
- 运营看板:访问“知识库运营看板”、刷新看板并检查 Toast、在右侧原档定位滑出预览、移动端隐藏原档。
- 工作空间:工作空间右侧抽屉式浏览、最近文件与软删除回收站、私有
uploads/sandbox目录安全性。 - Token 预算:对话框输入
/quota快捷指令、限额拦截拦截触发、个人 Token 消耗 Tab 展现。 - 消息通知:在个人配置测试钉钉/企微/邮件通道、通知工具绑定及使用。
- 回归测试:运行
pytest tests/,确保全部测试用例通过。
完整测试清单见 tests/CHECKLIST.md。
📋 Commit Log
| Hash | 描述 |
|---|---|
64e40cf |
fix(knowledge): 优化 RAGFlow 底层错误提示为友好中文转换并补齐单元测试 |
be1f357 |
refactor(ai): 重构统一请求决策层并清理冗余计算与废弃死代码 |
27d97fe |
feat(knowledge): 优化知识库连接不可用时的 UI 提示与系统问候语技能引导 |
f1d9792 |
feat: improve skill auto-loading flow visibility |
53fe0f1 |
feat: 优化快捷指令与系统配置展示 |
81552f4 |
feat: 优化知识库搜索工具绑定机制,仅在配置的工具列表中勾选时才挂载,防止误挂载 |
7b922af |
style: 修复虚拟文件夹和文档列表行重叠排版,增加虚拟文件夹文档数量计数徽章 |
00bd254 |
feat: 优化知识库智能体追问检索逻辑,优化 Mermaid 流程图生成提示词,并在前端实现系统元数据提示词折叠 |
8095bf0 |
style: 优化知识库卡片标签展示,最多显示3个并支持点击加号弹窗查看全部 |
c75fa3e |
feat: 知识库新增文档虚拟文件夹分类、卡片独立折叠、自建徽章标记、高级配置配色优化及双栏置顶提问推荐 |
4427a48 |
feat: 知识库管理支持反向角色和用户授权分配,限权用户管理权限访问,并补全单元测试 |
a825bdd |
feat: 知识库门户抽屉新增搜索开关及按分类标签过滤功能,并更新测试清单 |
12e23c4 |
feat: 知识库管理编辑元数据支持 AI 智能分析与自动回填,优化界面 UI 及同步体验,加固 404 容错 |
581c158 |
docs(知识库): 补充知识库中心与聊天端到端架构设计文档 |
c19961d |
fix(知识库): 权限页标记失联库并禁止勾选,检索前剔除失联 dataset_id |
2713cdb |
feat(知识库门户): 优化推荐提问骨架屏,原档预览抽屉支持分区折叠 |
c81db4e |
fix(知识库运营): 补全知识库排行榜中文名称解析链路 |
3188f42 |
fix(知识库运营): 修复趋势图与排行榜展示问题,移动端隐藏查看原档 |
5ea0ce0 |
fix(知识库运营): 修复埋点永远拿不到 citations 数据的根本问题,改为直接使用 citation 事件的原始数据 |
bd645e5 |
feat(知识库运营): 刷新看板时增加成功/失败 Toast 提示 |
f13b9c3 |
fix(知识库运营): 修复非 JSON 格式 output 触发误导性 ERROR 日志的问题 |
ec5fbac |
feat(知识库运营): 刷新看板时自动触发 Redis→DB 数据实时同步 |
249ce4e |
feat(知识库中心): 文档预览权限收口、RAG 预览 Teleport 层级修复及代码清理 |
7c3aadd |
fix: keep rag preview above pinned drawers |
b539f10 |
fix(知识库中心): 关闭抽屉切换自动路由模式后提示条不消失的问题 |
0c96947 |
feat(知识库中心): 单文档专属推荐提问展开、文档数量徽章与若干修复 |
77bd4ac |
feat: 知识库中心卡片排版布局对齐数据门户,支持推荐问题双区交互并修复后端 LLM Bug |
aaaf18d |
feat: 实现侧边栏滑动式知识库中心及高级检索参数调参功能并集成反幻觉开关 |
77bafe6 |
feat: 实现知识库运营统计分析看板与RAG原档物理页码定位滑出预览高亮功能 |
9501394 |
fix(rag): 修复系统配置页点浏览知识库时未保存配置不能应用、掩码 Key 被覆盖等问题 |
ba6655d |
fix(rag): 修复知识库检索连接失败时门禁失效导致重复重试的 Bug |
64db0cb |
fix(frontend): 修复知识库上传或删除文件后左侧树节点计数不自动更新的问题 |
6a93bd4 |
style(frontend): 优化知识库引擎地址显示为状态胶囊悬浮Tooltip并限制检索测试页连通性 |
b9b7fbc |
feat(widget,rag): 优化网页悬浮助手集成引导,支持多模式并修复前端故障 |
0f1406c |
fix(metadata): 修复变更日志Tab内容渲染块遗漏导致页面空白的故障 |
9eeecbe |
fix(metadata): 修复因从模块直接导入类静态方法导致的ImportError |
0b822fb |
fix(metadata,rag): 修复从数据集取消授权报400的Bug并同步返回主键ID |
5203eab |
feat(metadata,rag): 智能体数据集新增权限管理Tab及增删搜索功能 & 知识库删除同步清理授权关系 |
d7c1931 |
fix(ragflow): 兼容 RAGFlow OpenAPI 的 page_size 最大 100 的限制,对超额请求自动进行分批次拉取并合并 |
5827d61 |
fix(ragflow): 修复知识库管理模块实例化 RagFlowClient 时未指定 config_prefix 导致读取错误配置 Key 的 Bug |
bce2340 |
style: 替换技能管理页面中的原生confirm弹窗为自定义ConfirmModal组件 |
984d590 |
feat(router): 优化运行环境诊断意图识别及工具促发策略并更新测试与清单 |
ae825e2 |
feat: 支持跨设备/无痕模式同步当前活动会话ID,Redis全局按用户维度存储且不设置过期时间 |
71c81da |
fix(ai): 修复智能体触发确认后丢失 AgentContext 导致自定义工具获取不到 user_id 的问题 |
3c53520 |
feat: 系统配置中第三方账号同步配置项置为只读并进行可视化卡片重构 |
7a1b255 |
feat(branding): 品牌个性化支持自定义智能助手名称 |
0f516b2 |
refactor(ai): 清理工具促发策略代码,提升可读性 |
75197e9 |
feat(ai): 优化工具促发策略 (Tool Nudge Policy),支持识别语义和单轮意图 |
84c26a5 |
fix(nudge): 优化智能体引导切换机制与数据幻觉防护逻辑 |
657cc0c |
fix(task): 优化定时任务相关指标配置及前端文件浏览器样式与任务中心交互 |
9c8aade |
fix(task): 修复定时任务执行历史不落库问题及优化右键菜单说明 |
c44cbca |
fix(frontend): 修复文件上传丢失 boundary 导致 400 报错的问题,新增 Logo 裁剪预览功能,并修复登录页隐藏 SSO 刷新后还原的问题 |
60b033c |
feat: 个人中心增加消息通知配置(钉钉/企微/邮件),支持连通性测试及重构 |
d5ad75c |
feat: 会话目录迁入 sessions 子目录并优化工作空间标识 |
e32ae68 |
feat: 区分会话目录与 docs 文档目录,并增强工作空间浏览体验 |
3a56de2 |
fix: 修复工作空间图片画布预览 blob URL 被误转换导致破图 |
c6d0ccf |
feat: 工作空间浏览偏好改为 Redis 按用户隔离存储 |
a235854 |
feat: 工作空间最近文件改为 Redis 按用户隔离存储 |
a27dcd5 |
fix: 浏览 uploads 目录不存在时自动初始化 |
99e1b66 |
feat: 技能右侧抽屉与门户关闭恢复自动路由 |
9584fe2 |
feat: 记忆选择改为右侧抽屉,支持钉住与清除记忆 |
4639545 |
feat: 工作空间浏览全面升级(回收站、最近文件与快捷导航) |
7e4bd83 |
feat: 工作空间浏览增强与用户私有 uploads/sandbox 路径 |
b063757 |
feat: 工作空间右侧抽屉浏览、画布预览编辑与文件写入 API |
7282017 |
fix: 工作空间浏览体验优化 |
09fe7cb |
feat: 工作空间路径可读化并加固文件浏览权限隔离 |
0be883c |
fix: 第三方用户同步字段/表选择下拉改用 Teleport 避免被裁切 |
68f8343 |
feat: 对话快捷指令 /quota 查看本月 Token 额度 |
c32daae |
feat: Token 数量统一 K/M/B 紧凑展示 |
47326e4 |
feat: Token 额度管理体系(策略配置、调用拦截与用量展示) |
deccf7e |
feat: 个人中心新增我的 Token 消耗 Tab |
21f311a |
feat: 数据权限过滤变量区分内置与 extra_data 扩展 |
5b1f11a |
fix: 第三方用户同步 extra_data 将 NULL 写入为空字符串 |
🤝 Contributors
感谢所有参与 v1.0.6 版本发布的开发者!
🎉 v1.0.5 Release Notes
🎉 Yunshu AI Agent Platform v1.0.5 Release Notes
GitHub Repository: RandyChen1985/yunshu-ai-agent-platform
v1.0.5 版本是一次ChatBI 联邦查数深度加固、数据门户黄金报表体系、SQL Server 数据源与第三方用户同步的大版本更新。在本次更新中,平台全面增强联邦查询 WHERE 探查、空结果筛选重试、子查询门禁与平台重试预算;数据门户上线黄金 SQL 报表持久化、分享与个人偏好;新增 SQL Server 全链路支持与 sqlglot 方言修复;重构第三方用户同步为「用户名映射 + extra_data JSON 聚合」;同时引入 Office 文档工具、品牌个性化、知识库总开关、主助手动态专家清单、智能体中心拖拽排序与 Redis 诊断增强等能力。
本次变更范围自 61681d9(含)至 099181d,共 49 个提交,涉及 199 个文件、约 21,800 行新增代码。
🚀 Key Features
1. 🔗 ChatBI 联邦查询深度加固
- SqlQueryBinding 统一绑定:引入
SqlQueryBinding统一 Schema→SQL→execute 元数据绑定,加强联邦 memory_join 列校验。 - memory_join 计划修正:联邦
memory_join计划阶段自动修正与 preflight sqlglot 列校验;修复 repair 解析污染与降级列结构异常。 - 联邦 SQL Repair 增强:优化联邦查询 SQL repair 与降级留空机制;子查询门禁、平台重试预算与 JOIN 异常拦截。
- WHERE 探查与空结果重试:联邦 WHERE 探查接入 Schema;空结果筛选诊断与自动修正重试;修复空结果半句话截断,联邦子查询接入
empty_filter。 - Schema 预检增强:WHERE 条件样例探查;放行 SELECT 别名与 Oracle 伪列;补全 sql_gates 预检与 gate 分类单元测试。
- 意图与路由优化:改进意图提取与数据集前置路由策略;优化查数与联邦总结话术(去技术化、业务化);移除占比/比率结果异常门禁;避免 COUNT+SUM 汇总 SQL 被误判为诊断查询。
2. 📊 数据门户黄金报表体系
- Portal 保存报表:新增
portal_saved_reports持久化与分享 API;支持消息渲染表格视图切换。 - 个人偏好与放大浏览:收藏、置顶、运行历史与个人偏好;报表放大浏览体验优化。
- 共享与权限状态:完善黄金报表共享、权限状态展示与模型删除确认。
- 沉淀入口优化:优化黄金报表沉淀入口与自动填充;强化查数前置说明;Embed 操作栏体验改进。
3. 🗄️ SQL Server 数据源全链路支持
- 连接与适配器:新增 SQL Server 数据源(ODBC / aioodbc);支持表列表、DDL 导入与本地只读物理查询。
- Docker 镜像:Docker 镜像安装 SQL Server ODBC 驱动(unixODBC + msodbcsql18)。
- ChatBI 方言修复:修复 sqlglot 方言映射(
sqlserver→tsql),使execute_sql_query可正常解析 T-SQL。 - 行数限制:增强 SQL Server
TOP N行数限制与本地执行兜底;ChatBI 分页语法 repair 提示补充 T-SQL 说明。
4. 👥 第三方用户同步(重构)
- 用户名映射:以用户名为两边系统映射主键;本地不存在则新增(ID 自增、API Key 自动生成),已存在则更新真实姓名、备注与扩展 JSON。
- extra_data 聚合:支持将来源表多个字段映射为 JSON 写入
extra_data。 - 配置与 UI:数据源 + 表 + 字段对比映射;用户表可搜索选择;功能说明弹层;预览/同步支持提交当前表单配置(无需先保存)。
- 定时同步:支持 hourly / daily / weekly 定时任务。
5. 🤖 子代理委派与 Office 文档工具
- 子代理委派:子代理委派链路优化,减少重复调用与空返回;知识库上下文优化与知识库助手外网工具隔离。
- Word / Excel 工具:新增 Word/Excel 文档工具及生成文件下载能力;归一化生成文件下载链接。
6. 🎯 智能路由与 ChatBI 行级权限
- 路由分流:优化智能路由层高置信度数据查询分流;ChatBI 元数据检索致命错误在 ReAct 内快速熔断拦截。
- 行级权限重写:完善 ChatBI 行级权限 SQL 重写与工具日志提示;优化行级权限配置下拉样式。
7. 🏠 数据门户与缓存
- Redis 缓存优化:数据门户 Redis 按
user_id单 Key 存储,缓存 TTL 延长至 90 天。 - 智能体中心:支持智能体中心拖拽排序。
8. ⚙️ 平台管理与运维
- 品牌个性化:新增品牌个性化配置(产品名、Logo、登录页 Tab 顺序、版权文案等)。
- 知识库总开关:知识库功能总开关;关闭后管理页、检索测试与
search_knowledge_base工具不可用。 - 主助手动态清单:主助手欢迎语专家清单改为运行时动态注入
{agent_roster}。 - Redis 诊断:系统诊断支持 Redis 选择性清理与 Key 详情查看;修复窄栏下按钮文字折行。
- 元数据向量检索:修复本地元数据 Redis 向量检索与 FT.INFO / FT.SEARCH 解析(含 binary 客户端兼容)。
- 系统配置:修复系统配置只读误判;统一会话 ID 生成;增强 Schema 检索诊断日志。
9. 📄 文档与工程化
- OpenSpec 归档:归档 sub-agent-delegation 变更;补充路由语义证据、Office 工具与联邦门禁 CHECKLIST 条目。
- apply-sql-native.sh:修复 SQL 切分脚本;补充 AGENTS.md 代码已合协作说明。
⚠️ Breaking Changes & Migration Notes
从 v1.0.4 升级至 v1.0.5 时,请特别注意以下变更:
| 项目 | 说明 |
|---|---|
| 数据库变更 | 升级前须执行 V82 ~ V87 六个增量脚本(见下方数据库升级说明)。 |
| 第三方用户同步 | 同步逻辑改为以用户名为映射主键(不再写入第三方 ID);旧配置中的 field_map.id 已废弃,需重新保存字段映射。 |
| SQL Server ChatBI | 使用 sqlserver_* / mssql_* 数据源时,sqlglot 方言已统一为 tsql;T-SQL 语法(如 TOP N)需在 Prompt 中正确引导。 |
| 知识库总开关 | 默认启用;关闭后所有知识库相关入口与工具不可用,升级后请确认 knowledge_base_enabled 配置。 |
| 主助手 Prompt | 执行 V86 后,主助手能力列表改为运行时注入,勿在 Prompt 中硬编码专家清单。 |
| 黄金报表表结构 | 新增 portal_saved_reports 及分享/偏好关联表,旧版无报表持久化能力。 |
| Docker 镜像 | 若使用 SQL Server 数据源,需使用含 ODBC 驱动的新镜像或自行安装 msodbcsql18。 |
🗄️ Database Incremental Upgrades (数据库增量升级说明)
从 v1.0.4 升级至 v1.0.5 期间,平台数据库共引入了 6 个增量 SQL 升级脚本(存放于 db-prod/ 目录下):
| 脚本文件 | 核心变更内容 |
|---|---|
| V82-create_portal_saved_reports.sql | 创建 portal_saved_reports 及分享目标关联表,支持黄金 SQL 报表持久化与分享。 |
| V83-create_portal_saved_report_user_prefs.sql | 创建 portal_saved_report_user_prefs,支持收藏、置顶、浏览与运行历史。 |
| V84-branding-config.sql | 插入品牌个性化相关 system_configs 配置项。 |
| V85-third-party-user-sync-config.sql | 插入 third_party_user_sync_config 默认配置项。 |
| V86-main-agent-dynamic-roster.sql | 主助手 Prompt 能力列表改为 {agent_roster} 运行时动态注入。 |
| V87-knowledge-base-enabled-switch.sql | 插入 knowledge_base_enabled 知识库总开关配置项。 |
Warning
请在升级后通过执行 ./db-prod/apply-sql-native.sh 脚本,将增量 SQL 自动、安全地导入到目标 MySQL 数据库中。
📦 Upgrade Guide
从 v1.0.4 升级
# 1. 拉取最新代码
git fetch origin && git checkout main && git pull origin main
# 2. 更新依赖
source .venv/bin/activate
pip install -r requirements.txt
# 3. 执行数据库迁移(V82 ~ V87)
./db-prod/apply-sql-native.sh
# 4. 重新编译前端并启动
cd frontend && npm install && npm run build && cd ..
./dev.shTip
升级后若使用 SQL Server 数据源,请确认 Docker 镜像已包含 ODBC 驱动;第三方用户同步需在「用户管理 → 同步第三方用户」中重新配置字段映射。
✅ Test Checklist
升级后建议验证以下核心场景:
- 联邦查询:跨数据集提问、WHERE 探查 repair、空结果自动重试、子查询门禁与 Trace 展示。
- 黄金报表:Portal 保存/分享/运行报表、个人偏好(收藏/置顶)、表格视图切换。
- SQL Server:配置
sqlserver_*数据源、ChatBIexecute_sql_query执行 T-SQL(含TOP N)。 - 第三方用户同步:配置数据源与字段映射、预览、手动/定时同步、extra_data JSON 写入。
- Office 工具:Word/Excel 生成与下载链接归一化。
- 知识库开关:关闭总开关后管理页与检索工具不可用。
- 品牌个性化:登录页 Tab 顺序、Logo 与产品名展示。
- Redis 诊断:Key 详情查看与选择性清理。
- 回归测试:运行
pytest tests/,确保 ChatBI / 联邦 / 门户相关用例通过。
完整测试清单见 tests/CHECKLIST.md。
💾 Downloads / Assets
本项目 v1.0.5 发布版本关联的源码、Docker 镜像资产归档包及配置文件如下:
- 📦 Source Code (zip):
yunshu-ai-agent-platform-1.0.5.zip - 📦 Source Code (tar.gz):
yunshu-ai-agent-platform-1.0.5.tar.gz - 🐳 Docker Image for Linux amd64 (x86_64):
yunshu-ai-agent_1.0.5_linux-amd64_*.tar - 🐳 Docker Image for Linux arm64 (aarch64):
yunshu-ai-agent_1.0.5_linux-arm64_*.tar - ⚙️ Docker Compose YAML file:
docker-compose.yml
🔗 下载地址: GitHub Releases v1.0.5
📋 Commit Log
| Hash | 描述 |
|---|---|
099181d |
feat: 重构第三方用户同步并增强 SQL Server 查询限制 |
519d9a8 |
fix: 修复 SQL Server 数据源 sqlglot 方言映射导致查询解析失败 |
187df07 |
fix: 修复 binary Redis 客户端下 FT.SEARCH 字典响应解析失败 |
a628687 |
fix: 修复本地元数据 Redis 向量检索与 FT.INFO 解析 |
a097288 |
fix: Docker 镜像安装 SQL Server ODBC 驱动 |
9186e45 |
feat: 增强 Schema 检索诊断日志并优化知识库开关交互 |
3d82cca |
fix: 修复系统配置只读误判并统一会话 ID 生成 |
e4735da |
feat: 知识库总开关、local 元数据同步修复与主助手动态专家清单 |
3ca6bfd |
feat: 新增第三方用户同步功能 |
a628f6b |
fix: 修复 apply-sql-native.sh SQL 切分并补充代码已合协作说明 |
b92b94f |
feat: 新增品牌个性化配置并优化登录页 Tab 顺序 |
f1eee32 |
feat: 新增 SQL Server 数据源全链路支持 |
325181e |
feat: 数据门户 Redis 按 user_id 单 Key 并延长缓存 TTL 至 90 天 |
84fc2c4 |
fix: 修复系统诊断 Redis 操作按钮在窄栏下文字折行 |
89e95cc |
feat: 系统诊断支持 Redis 选择性清理与 Key 详情查看 |
597766e |
feat: 支持智能体中心拖拽排序,并优化行级权限配置下拉样式 |
fe2900f |
feat: 完善 ChatBI 行级权限重写与工具日志提示,并优化 Embed 操作栏 |
25bac5a |
feat: 优化黄金报表沉淀入口与自动填充,并强化查数前置说明 |
668efe4 |
feat: 优化黄金报表体验并新增个人偏好与放大浏览 |
c4bbf73 |
feat: 完善黄金报表共享与权限状态 |
d345dc3 |
feat(chatbi): 新增 Portal 保存报表与分享功能,并支持消息渲染的表格视图切换 |
b974a32 |
feat: 完善黄金报表与模型删除确认 |
7efccf3 |
feat: 优化智能路由层高置信度数据查询分流逻辑,并修复 ChatBI 元数据检索致命错误在 ReAct 内的快速熔断拦截 |
39cf90e |
docs: add routing semantic evidence design |
3b0b53c |
fix(ai): 归一化生成文件下载链接并补充 Office 工具验收项 |
643d64b |
docs(ai): specify generated file link normalization |
b45bb5d |
feat(ai): 新增 Word/Excel 文档工具及生成文件下载能力 |
1fe17aa |
docs(ai): plan office document tools |
3455231 |
docs(ai): specify office document tools |
106a20d |
fix(ai): harden sub-agent delegation |
5dc3c79 |
fix(ai): 优化子代理委派链路,减少重复调用与空返回 |
9f45a06 |
fix(chatbi): 避免 COUNT+SUM 汇总 SQL 被误判为诊断查询 |
724bac9 |
docs(openspec): 归档 sub-agent-delegation 变更并更新主需求规范 |
9560f5c |
feat(ai): 子代理委派、知识库上下文优化与知识库助手外网工具隔离 |
09cd860 |
fix(chatbi): 移除占比/比率结果异常门禁 |
b2ca382 |
docs(tests): 补全 ChatBI 联邦门禁与平台重试相关 CHECKLIST 条目 |
a77d3ec |
feat(chatbi): 联邦子查询门禁、平台重试预算与 join 异常拦截 |
963d1ec |
fix(chatbi): 修复空结果半句话截断,联邦子查询接入 empty_filter |
bc9f89e |
feat(chatbi): 联邦 WHERE 探查与空结果筛选重试策略优化 |
119df3e |
feat(chatbi): WHERE 探查接入 Schema 并增强自动修复 |
f0eeec0 |
test(chatbi): 补全 sql_gates 预检与 gate 分类单元测试 |
290250c |
fix(chatbi): SQL 预检放行 SELECT 别名与 Oracle 伪列 |
48d38f7 |
feat(chatbi): WHERE 条件样例探查与 Schema 预检增强 |
abb278c |
fix(chatbi): 修复联邦 memory_join repair 解析污染与降级列结构 |
78be784 |
fix(chatbi): 优化联邦查询 SQL repair 与降级留空机制 |
ba15808 |
refactor(chatbi): 改进意图提取与数据集前置路由策略 |
d0e771a |
style: 优化查数与联邦查询最终总结及报错提示词文案 |
c263e37 |
feat(chatbi): 联邦 memory_join 计划阶段自动修正与 preflight sqlglot 列校验 |
61681d9 |
feat(chatbi): 引入 SqlQueryBinding 并加强联邦 memory_join 列校验 |
🤝 Contributors
感谢所有参与 v1.0.5 版本发布的开发者!