 AdministratorandClaude Opus 4.8
|
d9afaca51f
|
feat(scheduled-tasks): 新增 HTML 页面定时任务(生成/预览/收藏/技能)
后端:
- 新增 task_kind=html_page 任务类型,与普通定时任务并存,配置存 execution_context(无需迁移)
- 执行流水线:智能体检索数据 -> 选定模型渲染 HTML -> 清洗/校验 -> 失败自动修复 -> 完整性闸门(缺 doctype/html/head/body/title 或残留脚本即失败) -> 归档 index.html -> 落库
- 新增 scheduled_html_pages / html_page_favorites 表与 store;收藏去重(不可重复)、可删除、收藏时提取可复用风格
- HTML 预览接口(鉴权 + 公开)、收藏接口
- 渲染注入已启用的 HTML 技能(metadata.kind=html_page);全程使用用户所选模型,去除硬编码 GLM-5
- 定时任务跳过 TitleMiddleware,避免标题生成回退默认模型
前端:
- 创建/编辑弹窗增加任务类型与 HTML 配置(页面要求/限制/参考收藏页/模型下拉)
- 运行详情页与公开页 iframe 沙箱预览 HTML;收藏按钮(已收藏禁用)
- 参考收藏页可选可删
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-02 23:46:20 +08:00 |
|
fengxiangdebaozi
|
fb43c036f6
|
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
|
2026-06-02 21:15:53 +08:00 |
|
fengxiangdebaozi
|
9ae6184dc1
|
业务链条
|
2026-06-02 21:15:46 +08:00 |
|
董宏凯
|
7efedc7b44
|
ai写作修改
|
2026-06-02 20:36:22 +08:00 |
|
 AdministratorandClaude Opus 4.8
|
e1e9be8daa
|
fix(auth): token 登录将令牌放入 Authorization: Bearer 头
token 换登录调上游 getTokenInfo 时参数传错:原来发静态头
Authorization: Bearer admin + 令牌放 access_token cookie。上游实际
从 Authorization: Bearer <token> 头读取令牌。
- 鉴权头改为 "Bearer "+前端传入 token,删除 access_token cookie
- service_authorization 配置项弃用(保留兼容,不再参与请求)
- 新增回归测试 test_token_login_upstream_call.py
- 同步更新 AUTH_LOGIN.md / CLAUDE.md / config.yaml 注释 / login_config 文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-02 19:33:38 +08:00 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 xuhdandClaude Sonnet 4.6
|
73700cca54
|
fix(ai_writing): 笔记来源素材使用真实检索分数并打印请求日志
- 笔记 chunk 的 relevance_score 改用接口返回的 score 字段(向量相似度/RRF),接口无分数时降级为位置估算
- _search_notebook 增加 INFO 级日志,输出每次请求的 payload 和响应 status/body,便于调试
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 16:31:57 +08:00 |
|
吉鑫升
|
bc7622b0bd
|
Merge remote-tracking branch 'origin/master' into ji
|
2026-06-01 16:59:56 +08:00 |
|
 吉鑫升andClaude 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 |
|
 xuhdandClaude Sonnet 4.6
|
e4983be9d7
|
fix: 解决 merge 冲突,恢复笔记来源字段
合并 master 时冲突导致 notebook_search_space_id / notebook_source_ids
被覆盖,现补回;同时兼容 master 新增的 material_source / model_name 字段。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-01 14:22:55 +08:00 |
|
xuhd
|
e30b44dae1
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
|
2026-06-01 14:21:20 +08:00 |
|
 董宏凯andClaude Opus 4.8
|
5d0bafd651
|
AI写作:新增素材来源选项(知识库/技能检索)
写作表单新增「素材来源」下拉:知识库(默认 web/intranet 检索)/
技能检索(用已启用技能编排检索)。用户选择后素材收集专家首次检索
据此决定检索方式。
- state 新增 material_source 通道(缺省 knowledge_base,兼容老 session)
- researcher 首次检索(无干预)时按来源决定 is_skill_search;
PAUSE-1「启用技能检索」按钮仍独立有效
- 前端 AIWritingRequest.materialSource + 表单下拉 + hook 提交 material_source
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 12:58:50 +08:00 |
|
 xuhdandClaude Sonnet 4.6
|
b749c78efa
|
feat: AI写作集成笔记来源,支持多文档多选检索
- 前端 AIWritingForm 新增笔记来源选择器(笔记本单选 + 文档多选 checkbox)
- AIWritingRequest 类型新增 noteSearchSpaceId / noteSourceIds 字段
- AIMaterial.sourceType 新增 notebook 类型
- useAIWritingStream startWriting 时自动获取 notebook_token 并携带笔记参数
- 后端 AIWritingState 新增 notebook_search_space_id / notebook_source_ids 字段
- researcher 节点新增 _search_notebook,解析 API 返回的 documents/chunks,
每个 chunk 作为独立素材(source_type=notebook)混入素材包
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-01 11:47:37 +08:00 |
|
xuhd
|
22b93e32eb
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
|
2026-06-01 10:49:53 +08:00 |
|
 董宏凯andCursor
|
633a350bfc
|
AI写作:技能检索进度反馈与超时兜底
检索等待时 SkillStepsCard 显示 spinner;单技能检索 25s 超时避免卡死;前后端增加 skill-timing 调试日志。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-31 14:42:51 +08:00 |
|
 董宏凯andCursor
|
838cae0d2d
|
圆桌草稿持久化:localStorage 迁至后端 MySQL
新增 /api/roundtable-drafts 草稿 CRUD 与会话级推荐历史;前端 useDraftPersistence 改走 api/drafts,删除本地 drafts.ts。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-31 00:23:25 +08:00 |
|
董宏凯
|
24e92c437d
|
ai写作bug修改
|
2026-05-29 22:16:19 +08:00 |
|
fengxiangdebaozi
|
be37779472
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
|
2026-05-29 20:17:07 +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 |
|
fengxiangdebaozi
|
786ddaa38f
|
代码修改
|
2026-05-29 18:07:45 +08:00 |
|
fengxiangdebaozi
|
a9332c0ab0
|
技能联调
|
2026-05-29 15:22:28 +08:00 |
|
fengxiangdebaozi
|
07ad87365f
|
作家写作
|
2026-05-29 11:42:30 +08:00 |
|
 吉鑫升andClaude 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 |
|
fengxiangdebaozi
|
1a122eb7fd
|
代码修改
|
2026-05-29 11:19:58 +08:00 |
|
 xuhdandClaude Sonnet 4.6
|
ebe1678b30
|
Merge origin/master into xuhd
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-28 18:31:16 +08:00 |
|
董宏凯
|
d018ecd805
|
速度优化
|
2026-05-28 18:29:44 +08:00 |
|
董宏凯
|
ef1481be63
|
智能体查询优化
|
2026-05-28 18:29:37 +08:00 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
董宏凯
|
4f8b0f1c67
|
ai写作修改
|
2026-05-28 18:29:10 +08:00 |
|
吉鑫升
|
a35aeee6a2
|
代码提交
|
2026-05-28 18:28:57 +08:00 |
|
吉鑫升
|
f668133297
|
实现RAG参考文献显示模式
|
2026-05-28 18:28:57 +08:00 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
吉鑫升
|
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 |
|
吉鑫升
|
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 |
|
 吉鑫升andClaude 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 |
|
董宏凯
|
d2f3eba434
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
# Conflicts:
# frontend-web/src/components/workspace/chats/chat-box.tsx
# frontend-web/src/pages/StrategyRoutes.tsx
# offline-backend-20260512/backend/app/gateway/routers/agents.py
|
2026-05-28 15:36:11 +08:00 |
|
 吉鑫升andClaude 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 |
|
xuhd
|
e2b676caaa
|
修复
|
2026-05-28 10:00:40 +08:00 |
|
董宏凯
|
d94c0aae4b
|
速度优化
|
2026-05-27 23:12:02 +08:00 |
|
董宏凯
|
9ccc473982
|
智能体查询优化
|
2026-05-27 22:23:37 +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 |
|
吉鑫升
|
c56db15a03
|
实现RAG参考文献显示模式
|
2026-05-27 17:40:10 +08:00 |
|
董宏凯
|
621fdc9244
|
Merge branch 'dhk-1' into 'master'
Dhk 1
See merge request knowledge-base-bj/deerflow-server!64
|
2026-05-27 08:02:37 +00:00 |
|
董宏凯
|
d6b88b842d
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
|
2026-05-27 15:31:00 +08:00 |
|