吉鑫升
0b98d18483
Merge remote-tracking branch 'origin/master' into ji
2026-06-11 20:28:15 +08:00
吉鑫升 and Claude Fable 5
3d6f35391e
feat: 对话列表显示总数,SOUL 编辑区高度自适应收敛
...
- 新增 POST /threads/count:与 /threads/search 同一套过滤(标题搜索、
系统会话排除),仅返回 {total};ThreadMetaStore 增加 count 方法
(SQL 走 COUNT(*),JSON 过滤分批扫描计数)
- 对话页面搜索框下常驻显示「共 N 条对话」,分页条显示 当前页/总页数
(useThreadsCount,仅随筛选条件变化,翻页不重复请求)
- 智能体右侧 SOUL 预览改为 40vh 上限自适应展开(不再全部展开);
详情面板/卡片编辑/创建页的 SOUL 输入框统一为适中高度 + 可拖拽
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 20:26:44 +08:00
吉鑫升
10047de745
Merge remote-tracking branch 'origin/master'
2026-06-11 20:00:26 +08:00
吉鑫升
82600a3404
Merge branch 'ji'
2026-06-11 19:59:58 +08:00
吉鑫升 and Claude Opus 4.8
f107ebc46d
feat: 完善知识图谱交互与 Agent/线程持久化
...
- 知识图谱画布、侧边栏、详情面板交互优化,新增图谱相关 API 与 hooks
- Agent 卡片与详情面板调整,对话页面重构
- 线程元数据持久化增强(base/memory/sql),knowledge 仓储与导出补充
- 网关路由 agents/knowledge/threads 同步更新
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 19:58:34 +08:00
吉鑫升
f2ffae8a22
Merge remote-tracking branch 'origin/master' into master
2026-06-11 18:59:15 +08:00
吉鑫升 and Claude Opus 4.8
ea78fe9726
fix(checkpointer): use_postgres 回退为 false 恢复本地 SQLite 聊天历史
...
- 发版 40206dc9 将 checkpointer 切到空的远程 Postgres 导致历史不可见,
且迁移/dual-read 未生效;翻回 SQLite 恢复历史
- config.yaml(backend): 注释掉暂不使用的模型条目
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 18:58:28 +08:00
吉鑫升 and Claude Opus 4.8
7d61bc09bc
feat: 新增表格文件预览,优化知识图谱与 Agent 详情交互
...
- 新增 spreadsheet-preview 组件及 xlsx 解析工具,支持产物中的表格文件预览
- 优化知识图谱画布、详情面板及样式
- 调整 Agent 详情面板、聊天与消息列表交互
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 17:43:09 +08:00
吉鑫升
5daa4b3e20
Merge remote-tracking branch 'origin/master' into ji
2026-06-11 16:39:30 +08:00
吉鑫升
80e84de868
Merge remote-tracking branch 'origin/hlh' into ji
2026-06-11 16:35:18 +08:00
吉鑫升
7efd811e75
feat: update knowledge and agent UI
2026-06-11 16:18:38 +08:00
吉鑫升 and Claude Fable 5
bebe4feccf
chore(leaderboard): 用户排行榜当天快照刷新间隔默认调整为半天
...
ADMIN_LEADERBOARD_TODAY_TTL_SECONDS 默认值 300s -> 43200s,
当天数据约每半天重算一次;调度器 tick、凌晨定稿与手动“刷新当天”不变。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 14:57:27 +08:00
吉鑫升 and Claude Opus 4.8
e684de30bd
feat(knowledge): 知识库 wiki/知识图谱重构,新增发布广场选择弹窗
...
- 知识库页拆分出 wiki 组件(侧边栏/目录树/Markdown 阅读器等)
- 知识图谱页拆分出 knowledge-graph 组件并增强交互
- 新增发布广场选择弹窗 publish-square-picker-dialog
- config.yaml 新增 MiniMax-M2.5 / Ling-flash-2.0 / DeepSeek-V4-Pro 模型
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 14:52:25 +08:00
吉鑫升 and Claude Opus 4.8
f0aec4cd7f
feat(square): 新增发布广场功能,智能体/技能按广场分类展示
...
- 后端新增 PublishSquare/PublishSquaresSettings 配置与读写接口
- agents/skills 增加 square_id 字段及对应迁移脚本
- 前端新增发布广场设置页、技能转移选择器,画廊按广场分 Tab 展示
- lead_agent prompt 及若干持久化层适配调整
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:37:42 +08:00
吉鑫升 and Claude Opus 4.8
3845d5090b
feat(knowledge): 支持文件导入沉淀知识,知识图谱可视化随主题切换
...
- 后端新增 /api/knowledge/ingest/file:上传 md/txt/pdf/word/ppt/excel,
转 Markdown 后走 wiki-capture LLM 蒸馏为陈述式知识笔记,失败回退逐字草稿
- service.capture_file + 文档专用蒸馏提示词,按主题拆分 1~4 页
- 知识图谱导出 HTML 支持 ?theme=light|dark,布局稳定后冻结,
按度数缩放节点,悬停/点击聚焦邻居
- 前端知识库页新增「导入文件」对话框与 ingestKnowledgeFile API
- 智能体问答页与简介侧边栏 UI 优化;批量人物蒸馏脚本提取正文逻辑修正
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 10:25:27 +08:00
吉鑫升 and Claude Opus 4.8
17bb3715d1
feat(agents): 智能体问答页落地态展示常用问题入口并默认展开简介栏
...
- 落地页 Hero 以"Hi,我是{名称}"问候,将管理员配置的常用问题渲染为可点击的引导气泡,点击即发起对话
- 右侧智能体简介栏改为默认展开,作为主要"专家信息"卡片,仍可手动收起
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 09:52:27 +08:00
吉鑫升
6efe1b80c5
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-11 09:34:45 +08:00
吉鑫升 and Claude Opus 4.8
01696f75e9
新增批量人物蒸馏脚本,精简排行榜相关接口
...
- batch-distill: 独立单文件脚本,按时间窗调用线上服务批量蒸馏人物档案
- 精简 admin_users / public_leaderboard 路由及前端排行榜页面
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 09:34:34 +08:00
吉鑫升
3a04ba5726
Merge remote-tracking branch 'origin/master' into ji
2026-06-10 19:01:16 +08:00
吉鑫升 and Claude Opus 4.8
d658b05ee9
feat(skills): 安装成功后引导填写/AI生成中文名 + 生成超时提至60s
...
- 上传安装技能成功后,弹窗进入「设置中文名」步骤:用户可手动填写,或用所选大模型自动生成默认值,亦可跳过(回退英文名)
- 技能中文名生成超时由 30s 提高到 60s(思考模式构建时已关闭)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 17:14:42 +08:00
吉鑫升 and Claude Opus 4.8
3178b4c45e
fix(auth): CSRF/鉴权中间件兼容反向代理路径前缀 + 无会话请求豁免
...
清空浏览器缓存后(尤其 token 换登录)报「CSRF token missing」。根因:
反向代理把请求转发到带前缀的路径(如 /xxx/api/v1/auth/login/token),
FastAPI 用 root_path 剥前缀做路由,但 Starlette 中间件跑在路由之前,
看到的仍是带前缀的 path,导致 CSRF 豁免名单与公开路径白名单(精确/前缀
匹配)全部失配。清缓存前靠 localStorage 残留 token 当 Bearer 绕过 CSRF,
清掉后裸奔才暴露。
- 新增 proxy_path.app_relative_path:匹配前按 root_path / X-Forwarded-Prefix
剥掉代理前缀(无前缀时 no-op)。
- csrf_middleware:should_check_csrf / is_auth_endpoint 改用应用相对路径;
补上漏收的 /api/v1/auth/login/token 豁免;新增「无 access_token 会话
cookie 则跳过 CSRF」兜底(无会话请求不存在可被跨站伪造利用的会话)。
- auth_middleware:公开路径判断改用应用相对路径,避免 /xxx/api/public/*
分享页被误判 401。
- langgraph_auth:无 access_token cookie 时跳过 CSRF,与网关链路一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 15:51:01 +08:00
吉鑫升 and Claude Opus 4.8
413f92e270
fix(migrations): 合并 alembic 多头(skill_name_zh 与 chain-stages 分支)
...
20260609_01(skills.name_zh)直接挂在 20260608_01 之下,与
20260608_02..06(chain-stages/parallel-agent 分支)形成两个 head,导致
`alembic upgrade head` 报 Multiple head revisions。新增空 merge 版本
20260609_02 同时指向 20260608_06 与 20260609_01,使 head 归一。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 14:39:37 +08:00
吉鑫升 and Claude Opus 4.8
546dec67a1
fix(agents): 私有 tab 未解锁时隐藏搜索栏
...
私有广场只有在功能可用且校验过密码后才解锁;未解锁时展示门禁/解锁提示并
隐藏关键词/标签搜索栏(此时没有可筛选的列表)。TagSearchBar 按 tab key 重挂载,
切 tab 时内部关键词输入与展开状态随父级筛选一起重置。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:24:52 +08:00
吉鑫升 and Claude Opus 4.8
d61aa853f1
feat(admin): 用户排行榜每日快照——手动刷新当天 + 凌晨自动定稿前一天
...
- 新增 POST /api/admin/users/leaderboard/refresh-today:同步强制重建当天快照
并返回合并区间;前端 useRefreshTodayLeaderboard + AdminUserLeaderboardPage
「刷新当天」按钮
- Gateway 调度循环在每日 ADMIN_LEADERBOARD_FINALIZE_HOUR(默认凌晨1点)对前一天
强制重算一次,避免临近午夜落库的 runs/tool-calls 漏统计;判定逻辑下沉为纯函数
deerflow.persistence.admin_stats.finalize.should_finalize_previous_day
- 新增 scripts/sql/column_additions_mysql.sql:既有 MySQL 库手动补列的幂等脚本
(Alembic 自动迁移已禁用,create_all 不改既有表)
- CLAUDE.md 补充排行榜快照、Schema 迁移约定,并补齐技能/知识库选模型的文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:24:21 +08:00
吉鑫升 and Claude Opus 4.8
96e0d695c0
feat(skills,knowledge): 中文名补全与知识库沉淀支持可选大模型并明确大模型报错
...
技能中文名:
- 单个「AI 生成」与「一键补充中文名」均可在请求体 model_name 选择大模型
- 一键补充改为仅管理员开放
- _generate_skill_name_zh 在模型自身失败(构建/超时/API 报错)时抛
SkillNameZhModelError,与模型返回无效名称区分;单个接口返回
502「大模型报错,无法补全技能中文名」,批量在 model_error 中带回代表性报错
知识库沉淀:
- 对话保存到知识库 / 批量导入均新增可选 model_name(透传至 capture_thread
→ extract_thread_llm_multi)
- 批量返回 llm_fallback 计数;模型异常时仍按既有逻辑回退规则抽取并落草稿,
前端明确提示「已改用规则抽取」(保存按钮保持后台异步)
前端新增 components/workspace/model-name-select.tsx 复用下拉(默认=系统配置模型)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:23:01 +08:00
吉鑫升 and Claude Opus 4.8
8fbbfc8093
feat(frontend): 广场搜索体验优化与切换tab重置筛选
...
- 智能体广场:切换 我的/广场/私密广场 时清空重置搜索/标签/排序/发布者筛选
- 通用搜索栏(TagSearchBar):新增「搜索」按钮与回车立即触发(跳过防抖)、
搜索中转圈提示,新增 hideTags / searchPlaceholder 选项
- 定时任务广场:新增客户端搜索(名称/摘要/创建者,兼容脱敏文本)
- agents 分页 hook 暴露 isFetching 以驱动搜索中状态
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 09:37:39 +08:00
吉鑫升 and Claude Opus 4.8
92a46003f8
feat: 知识库一键后台保存 + 对话置顶仅首页 + 排行榜页面增强
...
- 知识库「保存」改为一键触发,无需填表;后端经 BackgroundTasks 异步沉淀到 wiki,点击立即返回 {queued:true}
- 对话列表置顶分区仅在第一页展示,翻页后不再重复顶置
- 公开/管理员排行榜页面重构与维度增强;排行榜页改为整页统一滚动
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 19:59:55 +08:00
吉鑫升
fb692a0555
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-08 18:02:14 +08:00
吉鑫升 and Claude Opus 4.8
40206dc94d
fix: Postgres store 自愈连接池 + 启用 PG checkpointer + 分析查询超时按服务端适配
...
- async_provider: AsyncPostgresStore 改用连接池(check_connection 校验),
避免单条长连接在服务重启/空闲超时后永久失效;池大小可经
DEER_FLOW_PG_POOL_MIN/MAX 环境变量调整
- admin_users: 排行榜分析查询的每语句超时按服务端区分
(MySQL>=5.7.4 max_execution_time / MariaDB max_statement_time /
MySQL<=5.6 跳过 / PostgreSQL statement_timeout)
- config.yaml: checkpointer.use_postgres 置为 true
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:01:55 +08:00
吉鑫升 and Claude Opus 4.8
50d70a5050
feat: 对话列表支持分页、收藏、置顶
...
收藏(is_favorite)/置顶(is_pinned)作为布尔标记存入对话已有 metadata,
复用现有 PATCH /api/threads/{id} 与 search 往返,无需后端改动与迁移。
- hooks: 新增 useUpdateThreadMetadata + useToggleThreadPin/Favorite
- utils: 新增 isThreadPinned/isThreadFavorite/sortThreadsPinnedFirst
- 侧边栏: 置顶优先排序 + 下拉菜单收藏/置顶项 + 置顶图标
- 对话页: 置顶区 + 全部/收藏过滤 + 页码翻页(每页20) + 行内收藏/置顶按钮
- i18n: zh-CN/en-US/types 新增相关文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:01:03 +08:00
吉鑫升 and Claude Opus 4.8
80d2db6315
feat: 公开用户排行榜页面 + 修复 checkpointer 连接与前端依赖
...
- 新增公开排行榜页面与后端 public_leaderboard 路由
- 完善 skills/agents 路由
- checkpointer Postgres 改用连接池(自愈), 解决连接关闭后定时任务连环失败
- 修复前端 mermaid 依赖未声明导致 Vite 解析失败 (新增 pnpm-lock)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 17:09:28 +08:00
吉鑫升
8113b822c5
docs: add product knowledge base plan
2026-06-08 16:02:43 +08:00
吉鑫升
e5ba898fc7
hide user leaderboard entry
2026-06-05 22:11:31 +08:00
吉鑫升
a41b5a6d4c
fix: improve agent handoff and leaderboard scheduling
2026-06-05 21:46:04 +08:00
吉鑫升
db1b32612b
fix: run leaderboard stats in background
2026-06-05 21:15:20 +08:00
吉鑫升
f4ccef8c70
fix: optimize leaderboard and agent handoff
2026-06-05 21:06:23 +08:00
吉鑫升
24a5ca0c06
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-05 20:07:03 +08:00
吉鑫升
6eda572f31
tijiaodaim
2026-06-05 20:06:55 +08:00
吉鑫升
1bf1fc6512
增加依赖
2026-06-05 17:36:53 +08:00
吉鑫升
392373b4b7
chore: add qwen model config
2026-06-05 17:32:53 +08:00
吉鑫升
f3def88342
feat: add sqlite checkpoint fallback switch
2026-06-05 17:28:44 +08:00
吉鑫升
690d09a3d1
feat: add workspace view mode settings
2026-06-05 17:21:49 +08:00
吉鑫升
9471e72171
feat: add checkpoint postgres migration admin
2026-06-05 17:16:31 +08:00
吉鑫升 and Claude Opus 4.8
eaa061dd06
feat: 新增技能置顶功能
...
- 后端:新增 PUT /skills/custom/{name}/featured 接口,在 usage 中实现 set_featured 与 featured 字段(与 pinned 正交,仅影响排序)
- 前端:新增 setSkillFeatured API、置顶/取消置顶操作及中英文文案
- ScheduledTasksPage:优化助手选择下拉框的宽度与文本换行
- config.yaml:整理 log_system 配置块
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 15:02:50 +08:00
吉鑫升 and Claude Opus 4.8
b117bb1dc2
Revert skill list layout and tune leaderboard report
...
- Revert skill settings to vertical list layout with pinned sorting
- Default leaderboard range 30d -> 7d, hide stats while report generating
- Reframe leaderboard report prompt as user-behavior analysis (cache v5)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 11:34:39 +08:00
吉鑫升
0d91c74289
style: enlarge leaderboard report dialog
2026-06-05 11:17:09 +08:00
吉鑫升
d59f9e218f
feat: enhance leaderboard AI report
2026-06-05 11:00:08 +08:00
吉鑫升
22be6325a8
Resolve merge conflicts
2026-06-05 10:28:45 +08:00
吉鑫升
e96cc97462
Merge origin/master into ji
2026-06-05 10:04:11 +08:00
吉鑫升
7657c45aae
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-04 19:37:19 +08:00
吉鑫升
e6e0832c8a
chore: commit local changes
2026-06-04 19:35:56 +08:00
吉鑫升
c1336ad5b3
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/settings/memory-settings-page.tsx
# frontend-web/src/core/auth/sync.tsx
2026-06-04 17:49:26 +08:00
吉鑫升
143e0478ef
Merge remote-tracking branch 'origin/ji' into ji
2026-06-04 17:46:50 +08:00
吉鑫升
cbd07c9d1b
chore: update ji branch work
2026-06-04 17:46:11 +08:00
吉鑫升
6c30e649e3
Merge remote-tracking branch 'origin/ji' into ji
2026-06-04 16:59:05 +08:00
吉鑫升
bcebc8d5fb
feat: 支持智能体置顶配置
2026-06-04 16:58:42 +08:00
吉鑫升 and Claude Opus 4.8
1f2b1e3b8a
feat: 删除提问时级联删除其回答,并移除回答上的删除按钮
...
- 删除按钮只保留在用户提问气泡上;AI 回答不再单独提供删除
- 后端 DELETE /messages/{id} 改为按整轮删除:从提问删到下一条提问之前,
返回实际删除的 deleted_ids,保持 checkpoint 合法(无孤立工具结果/回答)
- 前端隐藏后端返回的整批 id,删除后即时消失
- 更新删除相关中英文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:34:52 +08:00
吉鑫升 and Claude Opus 4.8
5d12616211
chore: 将登录失败次数上限从 5 提高到 100
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:34:42 +08:00
吉鑫升
9704eff9f7
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-04 14:28:22 +08:00
吉鑫升 and Claude Opus 4.8
362a8268e8
feat: 支持删除单条聊天消息(用户提问与模型回答)
...
- 后端新增 DELETE /api/threads/{thread_id}/messages/{message_id},从最新 checkpoint 的 messages 通道过滤掉指定 id 并写回新 checkpoint
- 前端 useDeleteMessage 钩子 + DeleteMessageButton(带确认框)组件
- 在用户问题气泡与助手回答工具栏上各加删除按钮,仅对已落库消息显示
- MessageList 本地隐藏已删消息并在切换会话时重置;只读/分享场景禁用删除
- 新增 deleteMessage 相关中英文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:28:11 +08:00
吉鑫升 and Claude Opus 4.8
925675ab54
chore: update ji local changes
...
- frontend: scheduled tasks pages, system-settings api, workspace nav menu
- backend: system_settings router, app_config, log_system_config, config.yaml
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 09:18:32 +08:00
吉鑫升
aeef1dca59
Merge remote-tracking branch 'origin/ji' into ji
2026-06-03 19:01:56 +08:00
吉鑫升
a1d460e220
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/messages/message-list-item.tsx
# offline-backend-20260512/backend/app/gateway/app.py
# offline-backend-20260512/backend/packages/harness/deerflow/runtime/scheduler/html_page.py
# offline-backend-20260512/backend/packages/harness/deerflow/runtime/scheduler/service.py
2026-06-03 19:01:45 +08:00
吉鑫升
e2a962de32
chore: update ji local changes
2026-06-03 18:57:49 +08:00
吉鑫升
89cb5ab2f1
Merge remote-tracking branch 'origin/master' into ji
2026-06-02 17:40:56 +08:00
吉鑫升 and Claude Opus 4.8
c484481964
登录鉴权:新增用户名口令门 + token 换登录两种模式
...
- config 新增 auth_login 段(login_config.py):
- username_login.require_password 开启后,用户名直登必须带 ?password=,口令留空默认 123ewq
- token_login 用上游 token 调 getTokenInfo 换用户名再登录,用户名不在库自动注册;含 verify_ssl/ca_cert_path 处理 HTTPS 自签证书
- auth.py:口令门、/login/token 端点、共享 _get_or_create_user_by_username 与 _fetch_username_from_token;登录类报错文案改中文
- auth_middleware:/login/token 加入免鉴权白名单
- 前端 api.ts/LoginPage:透传 ?password=、?authToken=;修复错误体为对象时显示 [object Object] 的问题
- 文档:backend/CLAUDE.md + docs/AUTH_LOGIN.md 接口说明
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 17:39:56 +08:00
吉鑫升 and Claude Opus 4.8
5aa1fdca04
识图与文件上传/预览:可配置视觉模型 + 修复上传与回显
...
后端:
- 新增可配置识图模型(config: vision.model_name/prompt/max_tokens)。配置后 view_image 委托该模型识别并返回文字结果,文本主模型也能“看图”;未配置时回退到主模型自带视觉能力。新增 deerflow/models/vision.py 与 VisionConfig。
- 修复 Windows 上传全部报 unsafe:open_upload_file_no_symlink 不再强制要求 POSIX 专有的 O_NOFOLLOW,缺失时降级(仍用 lstat/fstat 防符号链接),Windows 追加 O_BINARY。
- 修复 normalize_input 丢弃 human 消息 additional_kwargs:保留 files/client_ts 等,使上传文件能回传到 UI 并被 UploadsMiddleware 识别。
- 约束 agent 行为:上传图片时引导只用 view_image,禁止用 read_file/grep/bash/python 解析图片字节;view_image 工具说明同步加固。
- 启用文档转换(uploads.auto_convert_documents),PDF/Word/Excel/PPT 自动转 Markdown 供 read_file/grep 读取。
- 订正若干模型错误的 supports_vision 标记。
前端:
- 修复上传文件不回显:parseUploadedFiles 不再因 "(empty)" 提前返回。
- 修复 artifact 401 破图:改用带 Authorization 头的 apiFetch 取 blob 显示(新增 useAuthedObjectUrl)。
- 新增上传文件预览弹窗:点击卡片可查看图片/文本/Markdown、Office(读转换后的 .md)、PDF;文件卡片改为可点击。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 16:43:53 +08:00
吉鑫升
43cbcd86be
Merge remote-tracking branch 'origin/master' into ji
2026-06-01 17:11:08 +08:00
吉鑫升
bc7622b0bd
Merge remote-tracking branch 'origin/master' into ji
2026-06-01 16:59:56 +08:00
吉鑫升 and Claude Opus 4.8
c860ee85f7
技能展示适配:支持多结果集(result sets)渲染
...
- 后端 extensions_config 新增 SkillDisplayResultSetConfig,SkillDisplayConfig 增加 resultSets 字段
- threads 引用响应增加 resultSetKey / resultSetLabel,runtime/references 适配多结果集
- 前端 skill-display 适配器/运行时/类型支持多结果集渲染,聊天框、消息组、技能展示面板相应更新
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 16:42:39 +08:00
吉鑫升
00e74a5e45
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# offline-backend-20260512/backend/app/gateway/services.py
2026-05-29 18:36:29 +08:00
吉鑫升 and Claude Opus 4.7
2c136c1fde
参考文献模式合并为单一 referenceBatch 并统一连续编号
...
将同一轮检索结果合并为一个 referenceBatch,由系统统一从 [1] 连续编号,避免每个检索词各自重新编号;提示词引导优先并行检索后再作答。智能体列表接口并发加载技能等轻量信息以渲染卡片徽章,并新增参考文献相关测试。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 11:31:31 +08:00
吉鑫升 and Claude Opus 4.7
78f6e37f76
新增智能体收藏、定时任务必须生成MD校验、问答时间显示及账号绑定的常用提示词
...
- 智能体支持从广场收藏到「我的」(新增 agent_favorites 表与收藏/取消收藏接口)
- 定时任务新增「必须生成Markdown文件」开关:注入提示词并校验生成的 .md 文件且正文超过100字,否则记为失败(存于 execution_context,无需迁移)
- 聊天问答展示时间(年月日 时分):问题在右下角、回答在左下角
- 常用提示词改为与账号绑定(新增 user_custom_prompts 表与 /api/user-prompts 接口),仅在首页输入框上方以居中标签 + 轮播展示,齿轮置于最右侧管理
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:29:32 +08:00
吉鑫升 and Claude Opus 4.7
dac5ff38db
技能展示配置持久化并适配引用来源,新增技能文件预览组件
...
- 后端将技能展示适配配置存入数据库,引用批次按持久化映射进行适配
- 前端新增技能文件预览弹窗与文件树组件,完善技能来源展示
- 修正 .gitignore 中宽泛的 skills/ 规则误忽略前端组件目录的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:29:10 +08:00
吉鑫升
a35aeee6a2
代码提交
2026-05-28 18:28:57 +08:00
吉鑫升
2688cda6b5
忽略RAG调试日志
2026-05-28 18:28:57 +08:00
吉鑫升
f668133297
实现RAG参考文献显示模式
2026-05-28 18:28:57 +08:00
吉鑫升 and Claude Opus 4.7
89bd07be92
管理员智能体/技能管理 + 跨标签登录同步 + 上游响应异常重试
...
- 「设置和更多」新增「智能体管理」「技能管理」入口,与定时任务管理同级;
独立的 AdminAgentsPage/AdminSkillsPage 复用 AgentCard/SkillRow,
管理员可查看并编辑/删除所有用户的智能体与技能。
- 后端 /api/agents、/api/skills 增加 ?admin=true 越权列表;agents 端
放宽 _get_editable_or_raise 让管理员可编辑/删除任意智能体;新增
list_all/update_any/delete_any(agents)与 list_all(skills)。
- 新增 AuthSyncWatcher:监听 localStorage["deerflow.auth"] 的 storage
事件,user_id 变化时自动 reload,修复多标签切换登录后老页面点击
「新对话」偶发 404 的问题。
- LLMErrorHandlingMiddleware 将 bad_response_status_code / JSON
decode 等上游网关乱码识别为可重试的 upstream 类故障。
- 侧边栏「任务管理」改名为「定时任务」。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
a5fb806028
轮换 LLM 凭证与默认模型(DeepSeek → zai-org/GLM-5-FP8)
...
- backend/config.yaml、config.yaml 把默认模型从 deepseek-chat 切到
zai-org/GLM-5-FP8(modal endpoint),并轮换对应 API key / Bearer
- .env 同步更新
注意:这些文件包含真实凭证,应用部署时务必通过 .env 或私有 config
覆盖,不要把仓库里的版本直接用于生产。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
83714f628b
私密/公开互斥兜底 + 智能体搜索按显示后名称匹配 + 多处小修
...
- 后端 update_agent / set_agent_private 增加兜底:is_private=true 时强制
published=false,杜绝同时落在公开+私密两个广场的灰色态
- agent-card 编辑弹窗暴露 editIsPrivate 开关,与公开发布开关在前端互斥校验
- agent-gallery 智能体模糊搜索改为前端针对 desensitize() 后的名字比对,
解决脱敏显示与原始名字不一致导致看似搜索失效的问题
- useUpdateAgent 在 onSuccess 立刻把新数据 patch 进所有 ["agents"] 列表
缓存,卡片在后台 refetch 完成前先行 re-render,避免「切换私密/发布后
好像没反应」的体感延迟
- useGlobalShortcuts 对 event.key 为 undefined(IME 合成 / 扩展注入)做
容错,否则会抛 TypeError 把后续所有快捷键吃掉
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
ae3e2fb4e8
默认主题改为浅色 + 管理员可配置全局默认主题
...
- system_settings 新增 AppearanceSettings(default_theme),默认为 light,
对应 GET /api/system-settings/appearance(任何人可读)+ PUT(admin 可写)
- App.tsx 把 NextThemesProvider 的 defaultTheme 从 dark 改为 light,并把
QueryClientProvider 提到 ThemeProvider 外层以便后者使用 useQuery
- ThemeContext 新增 localStorage 标志 strategy-theme-user-set:用户调用
toggleTheme / setTheme 时打标;每次启动若标志未设,则跟随 admin 配置的
default_theme 同步主题,admin 改动用户刷新即生效;标志一旦存在永远尊重
用户个人选择
- legacy 'theme' 键迁移视为用户显式选择,避免老用户被新默认覆盖
- frontend system-settings api/hook 增 appearance 拉取与更新
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升
650102cedb
feat: improve citation display and skill persistence
2026-05-28 18:28:45 +08:00
吉鑫升 and Claude Opus 4.7
61babbdf7d
技能展示样本运行器 + 参考文献来源过滤调整
...
- skills 路由新增 _run_skill_python_sample,按本地 Python 候选实际执行
技能脚本,作为展示适配器的真实样本来源
- skill-display 运行时与适配器调整,参考文献收集放宽起始消息约束
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升 and Claude Opus 4.7
3734b6a05f
新增智能体私密广场(is_private + 管理员密码门控)
...
- agents 表新增 is_private 列与迁移 20260526_01;列表 filter 拆分为公开
广场用的 _listing_filter(剔除私密)与单条访问用的 _visible_filter(保留可达)
- system_settings 增 PrivateSquareSettings(enabled + password_hash),
对应 GET/PUT /api/system-settings/private-square 由管理员管理
- /api/agents 接口:列表/创建/更新新增 is_private 字段;新增
POST /api/agents/private-square/list(密码校验后返回私密智能体)与
PUT /api/agents/{id}/private(管理员跨用户搬动智能体)
- 前端「智能体」页签新增「私密广场」入口(密码校验 + sessionStorage 缓存 +
锁定按钮),卡片增加紫色私密徽章与盾牌切换按钮(owner 自助 / 管理员跨用户),
「广场」与首页推荐候选均剔除私密智能体
- 新增管理员配置页 /settings/private-square 与侧边栏入口
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升 and Claude Opus 4.7
0256d527f0
技能展示适配持久化 + 参考文献收集与新对话流式修复
...
- 后端新增 skill_display_adapters 表,持久化每个技能的 display 配置与 sample
payload;/api/skills 列表、详情、设置接口同步读写
- 新增 /api/skills/{name}/display-sample 端点,编辑器优先加载库中样例
- 前端展示适配面板改为从后端加载持久样例,无样例时提示"自动识别"
- 参考文献收集修复:仅在 bash/shell/python 等执行类工具上从参数推断技能
名,避免 read_file / web_fetch 误匹配;引用列表纳入最新一条助手消息
- ChatBox 改用「最新 human → 最新 ai」窗口收集引用,并仅保留 citation
模式
- 修复「新对话」点击后已发消息消失:useThreadStream 只在 threadId 切回
空值时重置/中止 SSE,避免 onCreated 分配 id 时把刚开始的流打断;
ChatPage 在 landing 状态隐藏 MessageList,移除 KeyedChatPage remount
- 技能详情对话框:所有者可查看源码与文件 tab(不再要求管理员)
- LocalSandbox:Windows PowerShell 5 路径下把 && 重写为 ;,并以
UTF-8 解码 subprocess 输出,避免中文乱码
- knowledge-search-v2 mock 样例改为中文固定测试数据
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升
7adb93fb8e
修复「新对话」流式中无法重置 + 参考文献开关默认关闭并加对勾
...
- 流式回答过程中点「新对话」:URL 同路径导致 react-router navigate 静默 no-op,
下游 hook 收不到事件;改为显式 navigate(..., {replace:true, state:{resetAt}})
保证每次点击刷新 location.key,并让 useThreadChat 监听 location.key 触发重置
- useThreadStream 在 threadId 变化时 stop() 掉上一条 SSE,避免旧流继续派发事件
- 引入 KeyedChatPage 用 location.key 作 ChatRuntime key,真正的导航触发整树 remount,
解决 useStream 内部 stream.values 残留导致欢迎页底下还能看到旧消息的过渡帧问题
- 「参考文献」开关默认关闭(local.ts),开启态在文字前额外多一个 ✓ 对勾
2026-05-28 18:28:33 +08:00
吉鑫升
97f24f17eb
新增 RAG 引用展示模式:支持技能结果按编号引用/列表/表格渲染
...
- 前端新增 skill-display 适配层(runtime/display-adapter)与可视化适配面板,
支持从技能返回 JSON 自动识别字段并配置 citation/list/table/card 展示
- 正文 [[N]] 编号渲染为可点击徽章,点击不跳 URL 而是定位到右侧参考文献面板;
参考卡片样式重做(圆形编号、悬停高亮、过滤掉 "result" 占位类型)
- bash 工具调用按命令中的 skills/{public,custom}/<name>/ 路径反查展示适配,
解决调用名为 "bash" 时无法匹配到具体技能的问题
- 工具结果 JSON 解析放宽:能从 stderr/exit code 噪声尾巴里抢救出 JSON 主体
- 展示适配自动识别接入 LLM:读 SKILL.md 让模型推断真实返回结构,失败回退 mock
- 展示适配面板修复保存回显:保存后表单跟随服务端最新值刷新,样例文本不再被抹掉
- 设置页加 "RAG 引用模式" 开关(默认开),关联 lead-agent prompt 注入引用规则
2026-05-28 18:28:33 +08:00
吉鑫升 and Claude Opus 4.7
96b0bae6ca
技能详情对话框新增文件浏览面板:支持预览、编辑、下载、复制路径
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:27:12 +08:00
吉鑫升
6792b4f4c4
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/chats/chat-box.tsx
# offline-backend-20260512/backend/app/gateway/routers/agents.py
2026-05-28 17:29:36 +08:00
吉鑫升 and Claude Opus 4.7
10e35055e0
新增智能体收藏、定时任务必须生成MD校验、问答时间显示及账号绑定的常用提示词
...
- 智能体支持从广场收藏到「我的」(新增 agent_favorites 表与收藏/取消收藏接口)
- 定时任务新增「必须生成Markdown文件」开关:注入提示词并校验生成的 .md 文件且正文超过100字,否则记为失败(存于 execution_context,无需迁移)
- 聊天问答展示时间(年月日 时分):问题在右下角、回答在左下角
- 常用提示词改为与账号绑定(新增 user_custom_prompts 表与 /api/user-prompts 接口),仅在首页输入框上方以居中标签 + 轮播展示,齿轮置于最右侧管理
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 17:16:15 +08:00
吉鑫升 and Claude Opus 4.7
4410acaee8
技能展示配置持久化并适配引用来源,新增技能文件预览组件
...
- 后端将技能展示适配配置存入数据库,引用批次按持久化映射进行适配
- 前端新增技能文件预览弹窗与文件树组件,完善技能来源展示
- 修正 .gitignore 中宽泛的 skills/ 规则误忽略前端组件目录的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 15:16:56 +08:00
吉鑫升
f200972c00
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-05-27 20:28:38 +08:00
吉鑫升
1d81ee9ed0
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-05-27 19:12:27 +08:00
吉鑫升
6fd6d564eb
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/messages/message-list-item.tsx
# frontend-web/src/components/workspace/messages/message-list.tsx
# offline-backend-20260512/backend/packages/harness/deerflow/agents/lead_agent/agent.py
# offline-backend-20260512/backend/packages/harness/deerflow/agents/lead_agent/prompt.py
2026-05-27 19:10:27 +08:00
吉鑫升
106f1d1794
代码提交
2026-05-27 19:02:19 +08:00
吉鑫升
fe7cdba07e
忽略RAG调试日志
2026-05-27 17:44:02 +08:00
吉鑫升
c56db15a03
实现RAG参考文献显示模式
2026-05-27 17:40:10 +08:00
吉鑫升 and Claude Opus 4.7
eda0ccffdb
管理员智能体/技能管理 + 跨标签登录同步 + 上游响应异常重试
...
- 「设置和更多」新增「智能体管理」「技能管理」入口,与定时任务管理同级;
独立的 AdminAgentsPage/AdminSkillsPage 复用 AgentCard/SkillRow,
管理员可查看并编辑/删除所有用户的智能体与技能。
- 后端 /api/agents、/api/skills 增加 ?admin=true 越权列表;agents 端
放宽 _get_editable_or_raise 让管理员可编辑/删除任意智能体;新增
list_all/update_any/delete_any(agents)与 list_all(skills)。
- 新增 AuthSyncWatcher:监听 localStorage["deerflow.auth"] 的 storage
事件,user_id 变化时自动 reload,修复多标签切换登录后老页面点击
「新对话」偶发 404 的问题。
- LLMErrorHandlingMiddleware 将 bad_response_status_code / JSON
decode 等上游网关乱码识别为可重试的 upstream 类故障。
- 侧边栏「任务管理」改名为「定时任务」。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 11:13:29 +08:00
吉鑫升
1642c3e694
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/contexts/ThemeContext.tsx
# offline-backend-20260512/backend/config.yaml
2026-05-26 19:34:43 +08:00
吉鑫升 and Claude Opus 4.7
7b629d0697
轮换 LLM 凭证与默认模型(DeepSeek → zai-org/GLM-5-FP8)
...
- backend/config.yaml、config.yaml 把默认模型从 deepseek-chat 切到
zai-org/GLM-5-FP8(modal endpoint),并轮换对应 API key / Bearer
- .env 同步更新
注意:这些文件包含真实凭证,应用部署时务必通过 .env 或私有 config
覆盖,不要把仓库里的版本直接用于生产。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 19:31:10 +08:00