Skip to content

Releases: zm1990s/kb-agent

v2.3

Choose a tag to compare

@zm1990s zm1990s released this 01 Aug 10:33

新增

Kimi CLI 引擎支持

  • 新增 Kimi CLI(@moonshot-ai/kimi-code)作为第三个 Agent 引擎后端
  • 支持 managed:kimi-code(官方 API)和 OpenAI 兼容格式两种 provider
  • 新增 KIMI_CLI_PATH / KIMI_CONFIG_DIR 环境变量
  • examples/kimi_config.toml.example 提供完整配置模板

定时任务引擎选择

  • 每个定时任务可独立选择执行引擎(Claude CLI / Codex CLI / Kimi CLI)
  • 数据库迁移 042:scheduled_tasks 表新增 engine_backend 字段,存量任务默认保持 claude_cli

变更

  • 文档前置条件更新,明确三种引擎的凭据与配置要求
  • examples/ 目录新增 codex_config.toml.examplekimi_config.toml.example

修复

  • 修正 chat_engine_desc 描述("默认 Agent 引擎",不再写死为 Claude CLI)
  • 修正 Chat+ 引擎下拉 i18n key 解析失败问题

v2.2.1

Choose a tag to compare

@zm1990s zm1990s released this 21 Jul 07:00

v2.2.1 发布说明

基于 v2.2 的对话稳定性修复版本,核心解决「切换菜单返回后生成流中断/不更新」问题。

新能力

  • 普通对话后台生成:普通「对话」对齐聊天+,生成跑在后台 detached 任务里——切换菜单、关闭标签页均不中断生成,返回时自动重连续看流式输出;侧边栏跳动圆点、停止按钮、计时续接全部对齐聊天+。

Bug 修复

  • 聊天+ 切走返回后 thinking 不实时更新:根因为 Next.js 内置 gzip 压缩了经反代的 SSE 响应——gzip 攒够压缩块才输出,导致重连流事件被缓冲、直到生成结束才一次性解出。修复:关闭 Next 内置压缩(compress:false)+ SSE 端点声明 Content-Encoding: identity + _relay 增加 : ping 心跳(catchup 后立即 + 空闲每 10s)破开缓冲并保活连接。
  • 思考计时器切走再切回归零:改用服务器单调时钟的 elapsed_seconds 反推本机时钟锚点,全程 Date.now()-anchor 计时,免疫客户端/服务端墙钟偏移,切走再切回不再归零。
  • 重连健壮性:挂载重连改依赖轮询完成后重跑(避免读到过期闭包值);持久化跳过挂载首帧(避免空值覆写 sessionStorage 快照);切走时保留 streamingBlocks 快照供返回即时展示;补充 finished-while-away 处理。

多语言补齐

  • 聊天+「思考过程」折叠标题补齐 5 语言(原为硬编码中文)。
  • 侧边栏「定时任务」补齐繁体中文/日语/韩语(原仅简体/英文,日语界面报错)。

升级说明

无新增 DB 迁移。docker compose up --build 重建镜像即可(前端 compress:false、后端 SSE 头改动均需重建生效)。

v2.2

Choose a tag to compare

@zm1990s zm1990s released this 20 Jul 13:09

v2.2 发布说明

新功能

  • 会话导出:对话(普通对话 + 聊天+)支持导出为 Markdown、Word (.docx)、PDF 三种格式;PDF 使用 ReportLab 渲染,含封面标题、蓝色分隔线、代码块 indigo 左竖线、引用块灰色左竖线、页脚页码
  • 聊天+ 定时任务:支持创建定时任务,调度类型覆盖每隔 N 分钟 / 每天 / 每周(选周几)/ 每月(选日期),可选执行时刻(UTC);每次执行自动创建独立 chatplus 会话,工作目录 chatplus/conv_xxx,支持收集输出文件;立即运行后会话列表自动刷新
  • 附件原始文件名:Session Files 中的附件名称现在使用用户上传时的原始文件名,而非 UUID 存储键

Bug 修复

  • 定时任务 CHECK 约束:修复 scheduled_tasksschedule_type 约束仅允许 interval/daily,导致保存每周/每月任务报 CheckViolationError(migration 041)
  • ORM timezone 不匹配:修复 ScheduledTask 时间字段缺少 DateTime(timezone=True),导致 worker 执行时报 can't subtract offset-naive and offset-aware datetimes
  • 定时任务开关错位:修复启用开关圆点使用 absolute 定位溢出,遮住右侧运行按钮

体验优化

  • 交互模式按钮缩小为 text-xs,减少工具栏占用
  • 用户提示词:定时任务面板「初始消息」字段改为更直观的「用户提示词」(5 语言同步)
  • 多语言补全:交互模式按钮、导出弹窗加载中/选择消息等硬编码中文全部补充 i18n

升级说明

DB 迁移(040_scheduled_tasks_weekly_monthly041_scheduled_tasks_fix_check)由 backend 启动时自动执行,make prod 即可。

v2.1

Choose a tag to compare

@zm1990s zm1990s released this 20 Jul 03:08

v2.1 发布说明

基于 v2.0 的 Bug 修复与安全加固版本。

Bug 修复

  • 自动退出问题:access token 60 分钟过期后不再强制跳转登录,改为静默换取新 token(sliding refresh token),用户无感知续期
  • 查看历史会话报错:修复 GET /conversations/{id} 因合并冲突遗留 _require_chat 引用导致 500 错误,前端显示"请求失败,请重试"
  • 升权后角色不同步:role 改为从 JWT payload 实时解析,不再依赖 localStorage 缓存,管理员改权后立即生效

安全加固

  • Sliding Refresh Token:refresh token 存于 httpOnly cookie(JS 不可读),30 天有效,每次使用自动 rotate;退出时服务端同步吊销
  • Cloudflare IP 白名单:前端 middleware 三重校验(source IP CIDR + CF-Connecting-IP header + CF-Ray 格式),支持 CF_IP_WHITELIST_ENABLED 开关
  • Claude hooks 双层防护:PreToolUse 拦截 Bash/Write/Edit 中的 env 读取(覆盖多语言及多厂商凭据前缀);PostToolUse 对已写入文件落盘脱敏(KEY=[REDACTED]

其他

  • Skill 交互模式修复:执行 Skill 后 Agent 不再遗忘 ask-user 协议
  • 文档预览:支持 Markdown 渲染及全文显示
  • 聊天+ 稳定性:修复长任务断流误报失败

升级说明

DB 迁移(037_refresh_tokens)由 backend 启动时自动执行,make prod 即可。

v2.0

Choose a tag to compare

@zm1990s zm1990s released this 19 Jul 09:43
996ca7d

新特性

Skill 库

  • 内置 Skill 注册/加载框架(SKILL.md 格式、bundle、audit)
  • 图标搜索 skill(iconfont/Iconify),自动过滤临时输出文件

聊天+

  • 交互模式:模型可主动向用户弹出选项进行澄清(ask-user 协议)
  • 后台生成与分离式任务:断开连接不中止生成,支持重连续看
  • 支持读取原始文档(全文传给 Claude,不再截断摘录)
  • 附件上传:支持随对话携带文件
  • 统计区分 chatplus / chat 两类来源

其他

  • SMTP 配置迁移至系统设置页面,无需重启即可修改

安全加固

  • 多语言 env 泄漏防护:PreToolUse hook 扩展覆盖 Write/Edit/MultiEdit;新增 Go/PHP/Tcl/R/PowerShell/Lua/jq/shell 内置命令检测;已知服务商前缀扩展至 15 个,语义后缀兜底正则覆盖未来新服务商
  • 落盘脱敏:新增 PostToolUse hook,文件写入后原地替换敏感 KEY=value;shell 重定向目标文件同步脱敏
  • 凭据值特征检测:补充 OpenAI sk-proj-/sk-、Google AIza、Azure hex、Bearer token 格式
  • 7 项安全漏洞修复(SQL 注入、路径穿越、XSS、越权等)
  • hook 审计日志hook-activity.log 记录每次调用详情,security-violations.log 记录违规事件
  • Cloudflare IP 白名单:前端 Edge Middleware 三重校验(source IP CIDR + CF-Connecting-IP + CF-Ray),通过 CF_IP_WHITELIST_ENABLED=true 启用

修复

  • 修复交互模式调用 Skill 后 Agent 遗忘 ask-user 协议(协议移至 prompt 末尾)
  • 修复升/降权后前端菜单不同步(role 改为从 JWT payload 实时解析,不再缓存于 localStorage)
  • 修复聊天 RBAC 越权(按 chat/chatplus 来源分别校验权限)

升级说明

  • 数据库新增迁移,升级前请备份并按序执行 infra/postgres/migrations/ 下新增脚本
  • RBAC 模块新增 chatplusskills,共 9 个模块;需为用户组配置对应权限后相关功能才可见
  • 新增环境变量见 .env.example;Cloudflare 白名单开关在 docker-compose.prod.yml 中配置

版本说明

  • 支持 5 种语言:简体中文、繁体中文、英文、日文、韩文

v1.2.1

Choose a tag to compare

@zm1990s zm1990s released this 19 Jul 08:04

修复

  • 安全修复:修复聊天 RBAC 越权漏洞——普通用户在无 chat 模块权限时仍可发起对话,现已正确拦截并返回 403

版本说明

  • 基于 v1.2,仅包含安全修复,无功能变更
  • 支持 5 种语言:简体中文、繁体中文、英文、日文、韩文

v1.2

Choose a tag to compare

@zm1990s zm1990s released this 18 Jul 04:16

新特性 / 改进

管理界面布局优化

  • 空间管理:创建按钮紧跟列表显示,不再固定在底部
  • 用户组与权限:改为左侧菜单 + 右侧内容面板布局,与空间管理风格一致
  • 系统设置 - 常规:5 个配置区块改为左侧导航菜单,点击切换右侧内容
  • 系统设置 - 内置提示词:5 条提示词改为左侧列表,右侧单卡片编辑(含历史/Diff 功能不变)
  • 系统设置 - AI 引擎:3 个配置区块改为左侧菜单导航

修复

  • 修复系统设置语言 i18n key 错误(setting_* 误放入 admin namespace,已移至 settings

版本说明

  • 支持 5 种语言:简体中文、繁体中文、英文、日文、韩文

v1.1

Choose a tag to compare

@zm1990s zm1990s released this 17 Jul 05:21

新功能

  • 文档回收站:删除文档后进入回收站,30 天内可恢复,后台每日自动清理过期文档
  • 空间写权限开放:文档上传、删除、重命名、替换、重归类等操作对空间 owner/editor 均开放,不再要求全局 admin
  • Claude CLI 流式 thinking:对话时 AI 推理过程实时流式展示,刷新后可折叠查看
  • 会话标题实时推送:新会话标题生成后通过 SSE 事件推送,消除首次显示竞态
  • AI 引擎设置 tab:引擎选择、按任务模型配置、按任务 HTTP Header 配置合并为独立 tab
  • 任务级 HTTP Header 配置:4 类 LLM 任务各自可配置 HTTP Header,支持 Portkey 等网关路由
  • 自助找回密码:邮箱 6 位验证码,1 分钟限速,5 次错误锁定
  • 注册邮箱验证:注册后需点击邮件链接激活
  • 登录暴力破解防护:连续失败锁定账号
  • 对话 token 级流式输出:答案逐字流式渲染
  • 启动时自动执行 SQL 迁移:全新环境无需手动初始化数据库
  • 移动端响应式汉堡菜单

问题修复

  • 修复 admin 用户使用对话功能报 403 的问题
  • 修复流式输出不生效的问题
  • 修复 thinking 折叠块不显示(闭包问题)
  • 修复文档列表横向滚动在生产构建中被截断
  • 修复任务 Header 默认值 JSON 序列化问题

文档

  • 新增用户手册 docs/USER.md(含截图)
  • 同步更新 README / DESIGN / ROADMAP / SECURITY

v1.0

Choose a tag to compare

@zm1990s zm1990s released this 15 Jul 10:15

主要功能

认证与权限

  • 邮箱+密码注册(域名后缀白名单,DB 维护)、JWT 登录
  • 用户管理:启用/禁用、重置密码、分配 admin 角色
  • 用户组:多维规则(邮箱域名/邮箱/角色)自动入组,支持手动全量重算
  • RBAC:权限绑定用户组(组 × 模块 × none/read/write),7 个模块(对话/文档/空间/用户/设置/统计/新动态),admin 绕过一切

空间管理

  • Workspace 隔离:成员按个人 ∪ 用户组授权(并存)
  • 空间按组授权,组内成员自动获访问,可撤销
  • 空间删除并打包下载全部文档

文档管理

  • 批量/整目录上传(保持目录结构,单次最大 200 MB)
  • 后台归类:Claude CLI 一趟产出分类 + 摘要 + 标签 + 可搜正文(支持 AWS Bedrock)
  • 目录树:拖拽移动、改层级、改名;文档删除/移动/替换/重命名
  • 全字段展示 + 自定义列 + 搜索;文件预览
  • 处理任务日志可查,失败可重试(reprocess)

对话查询

  • Agent 式两阶段索引问答:Phase 1 摘要判断,Phase 2 按需拉取原文
  • SSE 流式输出工作阶段、Markdown 气泡 UI
  • 多轮上下文、多会话历史、会话命名(AI 摘要 + 用户编辑 + Pin)
  • 答案附引用文档与原文下载链接

新动态

  • 定时摘要(daily/weekly/biweekly/monthly,可配提示词)
  • 邮件订阅派发(SMTP),前端展示卡片

数据统计

  • 用量报表(按天/用户/动作聚合)、下载记录清单、对话记录清单、系统日志查看

系统设置

  • 品牌配置(Logo/名称)
  • 引擎选择(Claude CLI;Codex/OpenClaw 预留灰显)
  • 按任务模型配置:归类/对话/新动态/会话标题各自独立选模型(model::classify / chat / whatsnew / title
  • 提示词管理:版本历史、对比 diff、一键回滚
  • SMTP 配置、注册域名白名单维护、新动态定时配置

前端

  • Next.js 16.2.10 + React 19,单端口入口(/api/* 反代后端)
  • 5 语言国际化:简体中文 / 繁体中文 / English / 日本語 / 한국어,NavBar 一键切换,localStorage 持久化
  • RBAC 菜单显隐;LLM 产物 Markdown 净化渲染(防 XSS)

部署

  • Docker Compose 开发模式(HMR)+ 生产模式(代码烤入镜像,next build 构建阶段完成)
  • 后端容器非 root 运行;单端口公网暴露