Commit Graph

60 Commits

Author SHA1 Message Date
Wenjie Zhang
99aae1c00a feat: 重构智能体元数据系统,从集中式 YAML 迁移到分布式 TOML 配置 2025-11-07 12:28:58 +08:00
Wenjie Zhang
cf5f1a3d7e feat: 修复消息渲染不完整的 bug 2025-11-05 10:15:17 +08:00
Wenjie Zhang
181341db48 feat: 为智能体操作实现人工审批机制
- 新增 HumanApprovalModal 组件,用于处理用户对关键操作的审批。
- 引入 useApproval 可组合项,用于管理审批状态和逻辑。
- 更新 AgentChatComponent 以显示审批模态框并处理审批操作。
- 增强消息处理功能,支持工具调用合并并改进对 AI 消息块的处理。
- 重构各种组件和 API,以整合新的审批流程,确保代理交互期间的流畅用户体验。
2025-11-01 21:34:16 +08:00
Wenjie Zhang
2936f84ba1 feat: 添加 SqlReporterAgent,支持生成 SQL 查询报告并调用图表工具 2025-10-25 22:49:20 +08:00
Wenjie Zhang
a1fdcbc36c style: ruff format 2025-10-24 00:11:52 +08:00
miluELK
d53a32e6b8 feat:对部分代码提出了修改建议,用TODO高亮了。修改了AgentManager添加智能体的方法,现在可以通过自动遍历Agents目录来获取,方便切换到private分支管理私有代码 2025-10-23 14:08:08 +08:00
Wenjie Zhang
d56cec5002 refactor: 适配了 langchain v1 版本,但并引入新特性,仅无兼容性错误 2025-10-23 01:39:01 +08:00
Wenjie Zhang
0ee327cb97 refactor: 重构 config 模块 2025-10-22 11:51:32 +08:00
Wenjie Zhang
578682abfa feat: 优化聊天代理功能,增加时间成本计算;调整对话状态管理,确保消息流处理更流畅;更新样式以提升用户体验。 2025-10-15 02:37:42 +08:00
Wenjie Zhang
50d2cf850f feat: 更新模型配置和选择逻辑,修改为通过 model_spec 统一指定模型格式 2025-10-14 02:27:15 +08:00
Wenjie Zhang
b36f6e78f3 refactor(time): 重构应用程序中的日期时间处理
- 新增工具模块 `datetime_utils.py`,用于统一处理UTC和上海时区
- 在 `manager.py`、`models.py` 等后端文件中,将直接操作日期时间的代码替换为工具函数
- 更新前端组件,使用 `dayjs` 进行时区感知的日期格式化和解析
- 移除冗余的日期格式化逻辑,将其集中到工具函数中
- 通过确保所有时间戳均以亚洲/上海时区显示,提升用户体验
2025-10-13 15:08:54 +08:00
Wenjie Zhang
6986378e02 fix: 修复消息中断时带来的消息显示问题 2025-10-12 23:45:17 +08:00
Wenjie Zhang
4bc9a7010f fix: 优化消息保存逻辑,避免重复保存用户消息,简化日志记录 2025-10-12 21:12:52 +08:00
Wenjie Zhang
3600c7f9b7 fix: 修复部分场景下历史记录保存异常的问题。回退到使用 AsyncSaver的双线备份消息模式 2025-10-12 16:04:46 +08:00
Wenjie Zhang
2ac690eb81 feat: 更新聊天代理和任务管理器,支持通过线程ID管理消息,优化日志记录和敏感内容检查 2025-10-12 13:09:29 +08:00
Wenjie Zhang
cfc9b903de style(dashboard): uv lint 2025-10-08 21:54:10 +08:00
Wenjie Zhang
e13f98f16f feat(dashboard): 新增调用统计时间序列数据接口及组件
- 在后端新增获取调用统计时间序列数据的接口,支持按模型、智能体、Token和工具分类统计
- 前端实现调用统计组件,展示不同时间范围内的调用数据
- 更新样式以提升用户体验,整合统计信息展示
- 优化仪表板布局,增强可视化效果
2025-10-07 00:15:14 +08:00
Wenjie Zhang
23f8fed679 feat(chat): 增强对话中断处理,优化用户体验
- 在 chat_agent 函数中添加对客户端主动中断连接的处理,尝试保存已生成的部分内容
- 更新前端 AgentChatComponent.vue,新增发送或中断功能,确保用户可以中断对话生成并刷新消息历史
- 优化状态处理,确保中断状态下的消息历史刷新逻辑正常工作
2025-10-06 21:44:17 +08:00
Wenjie Zhang
f28adaaff8 feat(chat): 优化工具调用输出处理,确保兼容性和稳定性
- 在 chat_agent 函数中,确保工具调用输出为字符串类型,避免 SQLite 不支持列表类型的问题
- 更新 load_chat_model 函数,新增 stream_usage 参数以支持流式使用
- 移除不必要的代码,简化 utils.py 文件,提升可读性
- 优化 AgentStatsComponent.vue,移除冗余样式,提升性能和用户体验
2025-10-06 21:07:33 +08:00
Wenjie Zhang
cdb381b0e9 feat(feedback): 新增消息反馈功能,支持用户对消息的点赞和点踩
- 在 chat_router 中添加了提交和获取消息反馈的 API 接口
- 在 dashboard_router 中更新统计信息,包含反馈统计数据
- 新增 MessageFeedback 数据模型,存储用户反馈信息
- 前端实现反馈提交和状态获取功能,优化用户体验
- 更新 DashboardView 以展示用户反馈统计信息
2025-10-05 14:50:34 +08:00
Wenjie Zhang
804bcc1abc feat(chat): 更新工具调用管理,支持 LangGraph tool_call_id 精确匹配
- 在 chat_agent 函数中,新增对 LangGraph tool_call_id 的支持,优化工具调用的保存和更新逻辑
- 修改数据库模型,新增 langgraph_tool_call_id 字段以便于匹配
- 更新时间戳字段命名为 created_at 和 updated_at,确保一致性
- 优化前端时间处理,确保使用正确的时间字段
2025-10-04 22:59:25 +08:00
Wenjie Zhang
c46dd7b073 feat! (memory)!: 重新实现了对话管理的存储与管理,不再依赖于 MemorySaver
BREAKING CHANGE: 使用了新的存储结构,因此之前存储的历史记录将不再支持迁移
2025-10-04 22:21:30 +08:00
Wenjie Zhang
790c068eb6 fix(docs): 更新 README 和文档路径,添加 MinIO 存储模块文档
- 修改 README 中的模型配置路径,确保指向正确的配置文件位置
- 新增 MinIO 存储模块文档,提供基本使用和高级使用示例
- 更新内容审查机制和品牌信息配置的相关路径
- 移除旧的用户模型和线程模型,重构数据库模型管理
- 优化代码结构,确保数据库管理器和模型的导入路径一致
2025-09-23 10:48:44 +08:00
Wenjie Zhang
680dd92457 lint: Python Ruff Lint 2025-09-19 01:32:07 +08:00
Wenjie Zhang
782eb4ae31 refactor(chat): 优化异步调用及增强内容审查机制
- 将chat_router中的predict_async重命名为call_async并调用model.call替代model.predict
- 在流式消息处理中新增加基于LLM的内容审查
- 配置类中增加enable_content_guard_llm及对应LLM模型配置项
- 兼容models.private.yaml替代旧的models.private.yml文件名
- chat_model及embedding模块统一将predict方法重命名为call或encode,增强接口语义
- ContentGuard新增基于LLM的内容合规检测功能,支持动态加载审查模型
- 更新静态模型配置提示,建议使用models.private.yaml文件
- 新增示例CSV测试数据文件,补充测试用例基础数据
2025-09-19 00:57:53 +08:00
Wenjie Zhang
342c541645 feat(guard): 添加内容审查模块并集成至聊天服务(默认关闭)
- 新增内容审查关键词库 src/static/bad_keywords.txt,支持自定义敏感词
- 实现内容审查插件 src/plugins/guard.py,提供敏感词检测功能
- 配置新增 enable_content_guard 选项,支持开关内容审查功能
- 聊天路由 chat_router.py 集成输入和输出内容审查逻辑,拦截敏感内容
- 前端设置页增加内容审查开关,方便管理员启用或禁用该功能
- 错误时前端显示详细错误信息,并停止消息流,提升用户体验
- README 添加服务安全说明文档,介绍内容审查机制与配置方法
2025-09-18 20:33:38 +08:00
Wenjie Zhang
aebe63ce1c lint: 代码格式化 2025-09-18 20:32:33 +08:00
Wenjie Zhang
04f49f48d5 feat(agent): 添加智能体元数据支持和示例问题展示
- 新增智能体元数据配置文件及图标资源
- 在聊天界面中显示智能体图标和示例问题
- 更新 changelog 中已完成的任务项
2025-09-09 20:25:48 +08:00
Wenjie Zhang
f1c843addc refactor: 清理未使用的导入和优化代码格式 2025-09-02 01:08:42 +08:00
Wenjie Zhang
7641ab3699 stylle: 使用更加严格的风格检查以及代码格式化方法 2025-09-01 22:37:03 +08:00
Wenjie Zhang
63da8d9733 feat(chatbot): 添加MCP工具支持并优化工具管理逻辑
实现MCP服务器工具的动态加载和管理功能
重构工具获取逻辑以支持MCP工具和本地工具的混合使用
优化前端工具调用结果显示样式
移除未使用的工具相关代码
添加工具序列化转换工具函数
2025-09-01 03:38:46 +08:00
Wenjie Zhang
221f4af213 fix(chatbot): 修复智能体工具获取和权限问题
- 修改工具获取逻辑,使用智能体实例的工具列表
- 将工具获取接口的权限从管理员改为普通用户
- 更新日志格式,添加行号信息
- 修复前端工具获取时未传递智能体ID的问题
2025-08-31 10:27:58 +08:00
Wenjie Zhang
b524ca687b feat(agents): 重构智能体系统,引入Context替代Configuration
- 将Configuration重构为Context,支持动态工具配置
- 新增state.py和tools.py模块,优化状态管理和工具处理
- 移除旧的tools_factory.py和registry.py
- 更新前端API引用路径,修复brandApi命名错误
- 调整README和更新日志,反映架构变更
- 优化智能体历史记录管理,改进SQLite检查点
- 修复默认智能体加载和工具展示问题
2025-08-31 00:34:26 +08:00
Wenjie Zhang
808485aa5e refactor(tools): 重构工具工厂返回工具列表而非字典
feat(ui): 在代理视图头部添加品牌名称显示
style(ui): 调整代理视图头部内边距和样式

fix(chatbot): 修复工具选择逻辑以匹配新工具结构

chore: 删除未使用的深度研究代理相关代码文件
2025-08-29 20:54:49 +08:00
Wenjie Zhang
402ff52739 refactor(tools_factory): 重构工具工厂模块,优化工具管理和错误处理
- 重命名工具获取函数为 get_buildin_tools 和 get_buildin_tools_info
- 改进工具ID生成和描述构建逻辑
- 添加详细的日志记录和错误处理
- 优化知识库工具创建流程,避免闭包问题
- 分离静态工具和知识库工具获取逻辑
- 增强计算器和知识图谱查询工具的错误处理
2025-08-24 20:12:15 +08:00
Wenjie Zhang
e3bb35a383 refactor(knowledge): 移除未使用的HistoryManager类及其引用
清理不再使用的历史管理功能,简化代码结构
2025-08-24 13:01:52 +08:00
Wenjie Zhang
386a2c422f feat: 优化聊天界面样式和交互体验
- 将默认对话标题从"新对话"改为"新的对话"
- 调整聊天侧边栏的背景色和悬停效果
- 在空聊天状态添加输入框
- 重构智能体选择器为弹窗模式
- 改进消息输入组件支持单行/多行模式
- 优化加载动画和生成状态指示器
2025-08-09 23:18:19 +08:00
Wenjie Zhang
75c52a3855 feat(router): 添加工具路由,更新聊天和智能体相关功能,优化工具获取逻辑 2025-07-24 00:45:47 +08:00
Wenjie Zhang
770d098f05 refactor(database): 文件结构优化,顺便修复了 chroma 的 embedding 错误 2025-07-23 19:21:45 +08:00
Wenjie Zhang
9d58ebc13c refactor(agent): 将智能体相关的名称参数更改为ID,优化智能体管理逻辑 2025-07-22 17:30:00 +08:00
Wenjie Zhang
9d9101a3e5 refactor(router): 更新系统路由 2025-07-22 17:29:38 +08:00
Wenjie Zhang
24e3937aa2 fix: 将当前用户ID转换为字符串格式,以确保在数据库查询中正确匹配 2025-07-22 04:10:00 +08:00
Wenjie Zhang
9bc5b086f9 chore: 移除 Chat 、Retriever 相关代码,知识库与知识图谱默认开启且无法修改
- 删除 retriever.py 文件,移除不再使用的检索器逻辑。
- 更新 base_router.py,简化重启逻辑,移除 retriever.restart() 调用。
- 修改 config.py,移除知识库和知识图谱的配置项。
- 更新前端组件,调整与知识库相关的显示逻辑,确保界面一致性。
- 修改路由配置,移除与聊天相关的路由,优化用户导航体验。
2025-06-27 01:52:59 +08:00
Wenjie Zhang
a6857c3e21 style: fix ruff check 2025-05-24 11:29:45 +08:00
Wenjie Zhang
6475170c4b refactor: 重构智能体管理和基础代理类
- 将 AgentManager 类中的方法重命名为更具描述性的名称,并优化了代理的注册和实例化逻辑。
- 添加了线程ID和用户ID字段到基础代理类,并改进了获取历史消息的逻辑,增加了错误处理。
- 在 ChatbotAgent 中确保创建图时设置 checkpointer,并处理可能的异常。
2025-05-20 22:21:51 +08:00
Wenjie Zhang
44fad724bf feat: 更新依赖并优化组件
- 在 pyproject.toml 中添加了 colorlog、langchain-deepseek 和 langchain-together 依赖。
- 修改了 chat_router.py 中的日志记录方式。
- 重命名 tools_factory.py 中的函数以更好地描述其功能。
- 更新了配置文件以支持新的模型选择。
- 优化了前端组件的样式和功能,包括侧边栏和消息输入框的交互体验。
2025-05-20 20:49:50 +08:00
Wenjie Zhang
77ce5a25da feat: Agent 消息保存在SQLite 中 2025-05-16 23:46:25 +08:00
Wenjie Zhang
6212f5c456 fix: 修复普通用户的权限问题 2025-05-15 23:45:14 +08:00
Wenjie Zhang
a292e69b22 feat: 添加消息记录云端保存
主要修改:
1. 服务端新增 Thread 模型,用于存储对话列表信息,但不保存实际的历史记录
2. langgraph 配置了 InMemorySaver,添加 thread_id 参数,消息对话保存在内存中(服务重启后丢失)
3. 添加获取历史记录的 API 接口,从内存中获取
4. 添加 Graph 的单例模式,get_runnable_agent 导致的重复创建 Agent 实例的情况。
5. 优化 Agent 管理页面,更容易配置,更容易调试
6. 添加独立页面的侧边栏。
2025-05-15 22:37:50 +08:00
Wenjie Zhang
b01abfcf71 feat: Agent配置可以同步在用户侧了,用户侧会使用 config file 中的配置 2025-05-13 19:49:54 +08:00