吉鑫升 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
吉鑫升 and Claude Opus 4.7
67d5e43ec4
标题生成强制关闭 think 模式,回答速度指示器默认开启
...
- TitleMiddleware 给模型实例注入 extra_body 关 think(覆盖 Zhipu GLM 与 Qwen/vLLM 两套写法),并兜底剥离不闭合/残留的 <think> 标签,避免 GLM5 起标题时长时间思考与标签泄漏。
- 前端 streamSpeedMeterEnabled 默认改为 true,设置项描述同步为"默认开启"。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 18:03:24 +08:00
吉鑫升 and Claude Opus 4.7
f8e3a3e5b4
公开定时任务页:每条记录标题前加 M月D日 前缀
...
同名任务多次执行后列表全是同一行,加上日期前缀方便扫描;
用 muted-foreground + text-xs + font-normal 弱化,不喧宾夺主。
Tooltip / title / 删除确认弹窗内的文案也同步带上日期。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 16:38:44 +08:00
吉鑫升
ef410e298d
Merge remote-tracking branch 'origin/master' into ji
2026-05-22 16:23:11 +08:00
吉鑫升 and Claude Opus 4.7
80fc2a9240
新增技能目录重新扫描接口与分页,关掉技能安全扫描的配置开关
...
- 后端新增 POST /api/skills/reconcile-custom:扫描 custom 目录,把磁盘存在但 DB 无记录的技能登记到调用者名下(published=false),附 4 个单元测试
- 前端技能列表加"重新扫描技能目录"按钮,列表分页每页 10 条
- SkillsConfig 新增 security_scan.enabled(默认 true)用于关闭 LLM 安全扫描;scan_skill_content 在开关关闭时直接放行
- 智能体卡片/对话页长名 truncate 显示 + loading 占位
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 16:22:42 +08:00
吉鑫升
b6a2c9336e
Merge remote-tracking branch 'origin/master' into ji
2026-05-22 14:25:23 +08:00
吉鑫升 and Claude Opus 4.7
ba2bc46042
智能体对话选 Agent 直达、澄清问题批量提交、LLM 错误中文化等
...
- 前端:新会话选 Agent 后直接跳转并自动发送,智能体页输入框宽度与首页对齐
- 前端:澄清卡片支持多选+多问题合并提交,消除单题逐一发送的割裂感
- 前端:定时任务弹窗 Agent 下拉支持长描述截断,避免撑破布局
- 后端:ask_clarification 支持同回合多次调用以提多个独立问题
- 后端:LLM 错误处理与定时任务失败提示统一改为中文
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 14:24:29 +08:00
吉鑫升
c74be2b789
Merge branch 'master' into ji
2026-05-22 10:58:20 +08:00
吉鑫升 and Claude Opus 4.7
a258122e22
定时任务:修复智能体执行 422、新增描述字段、公开页删除按钮等
...
- 定时任务执行时按 agent.id 解析智能体,老数据中存的中文显示名会回退按 name 查找,避免 422
- scheduled_tasks 表新增 description 字段(迁移 20260522_01),创建/编辑表单支持,公开页标题下显示
- 公开页(/public/scheduled-tasks/{id})新增删除单次执行记录入口,使用样式化 Dialog 确认
- 公开页左侧标题区精简:去掉 schedule/timezone/最近状态两行;执行列表标题剥离尾部时间戳,"计划"改为"执行时间"
- 工作区定时任务列表:超长标题改为按字符换行不再截断;按 created_at 倒序(新建任务在前)
- 启动 Alembic 升级加超时与单独线程,MySQL 缺库时自动 CREATE DATABASE
- vite build 增加 8GB 内存上限
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:55:59 +08:00
吉鑫升 and Claude Opus 4.7
a892f55cb2
Merge branch 'master' into ji
...
冲突解决:
- frontend-web/src/pages/AgentChatPage.tsx: 保留 HEAD 的 isLandingState +
AgentWelcome 欢迎页扩展,丢弃 master 的旧版 InputBox 风格
- offline-backend-20260512/backend/config.yaml: 保留 HEAD 的对齐注释格式;
master 引入的中文 bank_mission / bank_retain_mission 已自动合入
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 20:31:49 +08:00
吉鑫升
ac4424bab2
代码修改
2026-05-21 20:19:44 +08:00
吉鑫升 and Claude Opus 4.7
843eda6fea
fix: 公开接口豁免 CSRF 校验
...
/api/public/ 命名空间下的匿名 PUT/POST 请求没有会话 cookie,
被 CSRF 中间件拦在 403。auth 中间件已放行该前缀,CSRF 这里补齐豁免,
让公开定时任务页的编辑保存能正常调用。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 17:45:54 +08:00
吉鑫升
643f9b2c76
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/pages/AgentChatPage.tsx
2026-05-21 17:44:09 +08:00
吉鑫升 and Claude Opus 4.7
53bbb9b15b
feat: 公开定时任务页支持正文/MD 切换与内联编辑
...
- 公开查看器右侧改为 Tabs:MD 附件优先、然后是「正文」;标签使用文件名(去后缀)
- 新增内联编辑:正文与 MD 文件均可编辑保存,每个 Tab 支持 Word 下载
- 后端新增公开 PUT 端点(/runs/{run_id}/files/{i}、/runs/{run_id}/body),服务层提取 _apply_run_file_edit 并新增 admin_update_run_file / admin_update_run_body
- 列表过滤:仅展示 succeeded 且有正文或可用 MD 的执行记录;后端在响应中标记每个文件 available,前端隐藏磁盘已缺失的 MD Tab
- 左侧任务名与右侧执行记录标题均改为可换行 + Tooltip 显示完整内容
- .gitignore 增加 frontend-web/dist
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 15:53:43 +08:00
吉鑫升
f1d58983c2
feat: 智能体精选排序与新对话智能体选择器
...
- 后端新增 featured_order 字段及精选排序 API(/agents/selector、/agents/{id}/featured、/agents/featured/order),移除 user_agent_pin 表
- 前端新对话页 (ChatPage) 与输入框 (InputBox) 接入 agent-selector,选中后跳转 AgentChatPage 并通过 sessionStorage 透传首条消息
- 新增管理员智能体管理弹窗 (agent-manage-dialog) 支持精选添加/移除/上下移动
2026-05-21 14:39:12 +08:00
吉鑫升 and Claude Opus 4.7
6971ea5f9c
fix: 修正 config.yaml 中 minimax 模型条目缩进,避免 YAML 解析失败
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 19:45:52 +08:00
吉鑫升
cee38f93c8
Merge remote-tracking branch 'origin/master' into ji
2026-05-20 19:38:00 +08:00
吉鑫升 and Claude Opus 4.7
fa5a6b8176
fix: 技能详情弹窗宽度自适应
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 19:37:46 +08:00
吉鑫升
313290b22c
Merge remote-tracking branch 'origin/master'
2026-05-20 17:06:06 +08:00
吉鑫升 and Claude Opus 4.7
d339db4799
feat: 公开定时任务页面、Word 导出、定时任务实时刷新与技能详情重构
...
- 新增 /public/scheduled-tasks/:taskId 公开只读访问页与对应的
/api/public/scheduled-tasks 后端路由(无需登录)
- 新增对话整体 / 单条消息 / Markdown 工件 "另存为 Word (.docx)" 能力
- 定时任务列表与运行列表在任务执行中自动轮询刷新,并新增"正在执行"标记
- 定时任务运行消息接口在事件存储为空时回退到 LangGraph checkpoint,
让正在执行的任务也能立即看到提示词与流式输出
- 技能详情对话框由折叠面板改为 Tab 切换(Detail / SKILL.md),
并支持 Rendered / Raw 切换、一键复制
- config.yaml 增加 database (MySQL) 与 checkpointer (SQLite) 配置块
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 17:04:58 +08:00
吉鑫升
7e75c5b9b9
Merge remote-tracking branch 'origin/master' into ji
2026-05-19 19:58:59 +08:00
吉鑫升 and Claude Opus 4.7
777c3b0079
fix: 定时任务执行过程实时刷新——RunJournal 增加按时间 flush
...
RunJournal 原本只在缓冲满 20 条或运行结束时才把事件落库,短运行会在结束前一直查不到消息,导致定时任务执行详情页的「执行过程」一直显示「暂无执行消息」。
新增 _FLUSH_INTERVAL_SECONDS=3s 的按时间 flush(由 _put 驱动);flush 失败时退回缓冲并重新抛出以便区分成败;flush 成功后若缓冲仍有残留则补一次 flush,失败则不重试避免空转。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 18:18:14 +08:00
吉鑫升
cf8185498a
Merge branch 'ji'
2026-05-19 17:22:45 +08:00
吉鑫升 and Claude Opus 4.7
bf34b7df4e
fix: 修复 Memory V2 合并导致的启动崩溃
...
master 的 Memory V2 重构删除了 memory/updater.py,admin_users.py 仍从中导入 get_memory_data 导致启动 ImportError。改用 BuiltinFileProvider 读取 V2 的 USER.md / 各 agent MEMORY.md;前端 MemoryBucketView 同步改为渲染 V2 条目列表。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 17:22:27 +08:00
吉鑫升 and Claude Opus 4.7
028c5a34e6
fix: 速度胶囊每轮只显示一次 + 技能调用按 run 合并统计
...
速度胶囊:原本每条 AI 消息都渲染,agentic 多轮 LLM 调用会出现多个胶囊。改为只在每轮 turn-final 消息(下一条 human 之前的最后一条 AI 消息)显示。
技能统计:tool_call_metrics 改为按 (run_id, skill_name) upsert 合并——同一 run 内同一技能的多次调用/重试合并为一行;任一成功即记成功,全部失败则记一行 error 并累积所有报错信息;非技能调用不受影响。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 17:22:17 +08:00
吉鑫升
4c38055d38
Merge remote-tracking branch 'origin/master' into ji
2026-05-19 16:28:39 +08:00
吉鑫升 and Claude Opus 4.7
87fcbc5bfb
chore: vite 构建产物使用相对路径 (base: "./")
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 16:28:29 +08:00
吉鑫升
bd1efd8026
Merge branch ji into master: 工具/技能调用统计 + 用户活动审计 + 标签多选筛选
2026-05-19 09:28:44 +08:00
吉鑫升 and Claude Opus 4.7
4940e0d8ed
feat: 工具/技能调用统计 + 用户活动审计 + 标签多选筛选
...
- 任务1: 用户管理/定时任务管理移入左下角菜单, 从侧边栏删除原入口
- 任务2: 管理员查看用户问答(读 LangGraph checkpoint)与记忆, 新增 admin_users 路由与审计页
- 任务3: 标签筛选改为顶部多选标签栏(OR), agents/skills/scheduled_tasks 三端
- 任务4: 新增 tool_call_metrics 表 + ToolMetricsMiddleware + tool-metrics 路由,
工具/技能调用统计并入大模型统计页, 含错误分类
- 技能识别: lead agent 经 read_file 加载 /mnt/skills/<cat>/<name>/SKILL.md 调用技能,
中间件扫描工具参数里的 skills/{public,custom}/{name}/ 路径还原 skill_name
- 单元测试 tests/test_tool_metrics_middleware.py (18 项全过)
- 附: SQLite->MySQL 切换后清理脚本
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 00:59:15 +08:00
吉鑫升 and Claude Opus 4.7
e3cde9be25
feat: 定时任务运行详情执行过程视图 + 管理员下载删除 + MySQL 迁移修复
...
定时任务:
- 运行详情页新增「执行过程」标签页,按 agent_run_id 拉取该次运行的
agent 消息(GET /scheduled-tasks/runs/{id}/messages),运行中每 4s
自动刷新,可观察卡住的任务停在哪一步
- 详情页「返回」按钮回到来源列表(普通/管理员)并重新选中原任务
- 管理员可下载、删除任意用户的执行记录(DELETE /runs/{id} 加管理员兜底)
MySQL 兼容修复:
- 合并迁移 20260518_06 汇合 ai-writing 与 thread-shares 两个 head
- 20260517_02 改用 SQLAlchemy Core 构造,规避保留字 key 的 1064 报错
- list_messages_by_run 各事件存储补 user_id 形参以保持接口一致
测试: 新增 test_scheduled_task_admin_run_delete.py
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 21:13:58 +08:00
吉鑫升
449703a6f0
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# offline-backend-20260512/backend/app/gateway/deps.py
2026-05-18 19:35:16 +08:00
吉鑫升 and Claude Opus 4.7
358d5c72a6
feat: 业务库切换 MySQL + 修复定时任务运行详情递归与重名 500
...
- 业务 ORM 数据支持 MySQL 后端(asyncmy),新增 PortableJSON/
BeijingDateTime 可移植列类型、迁移脚本与切库脚本
- 修复 GET /api/scheduled-tasks/runs/{id} 的 _load_run 无限递归
(误调用自身,应委托 service.get_run)导致的 RecursionError 500
- 定时任务名按用户唯一:create/update/admin_update 主动校验,
冲突抛 DuplicateTaskNameError,路由转 409 而非裸 IntegrityError 500
- 补充回归测试 test_scheduled_task_run_lookup / _name_uniqueness
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 19:34:14 +08:00
吉鑫升
2a4fccde70
Merge remote-tracking branch 'origin/likun'
2026-05-18 15:41:36 +08:00
吉鑫升
d6f018e581
Merge branch 'master' into ji
2026-05-18 15:39:57 +08:00
吉鑫升 and Claude Opus 4.7
e0c1cb6581
feat: 定时任务管理 + 会话只读分享
...
定时任务:
- 管理员可查看/编辑/删除/触发全部用户的定时任务(新增 /api/scheduled-tasks/admin/* 接口与管理页)
- 卡死任务恢复:单次执行超 30 分钟超时重试(最多 3 次),耗尽后标记 failed;看门狗回收服务重启遗留的「执行中」任务
会话分享:
- 新增「只读链接」分享模式,生成公开免登录的只读对话快照页(/share/:code)
- 公开接口 /api/public/shares/* 提供对话快照与图片附件
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 15:39:40 +08:00
吉鑫升
4761677676
Merge remote-tracking branch 'origin/master' into ji
2026-05-18 10:03:49 +08:00
吉鑫升 and Claude Opus 4.7
f61d053010
feat(skills): 新增技能详情字段并统一发布图标
...
- 技能新增 detail 字段(skills 表新增列 + Alembic 迁移),
由管理员或技能发布者编辑,内置/公开技能仅管理员可编辑
- 新增 PUT /api/skills/{name}/detail 接口,GET/列表接口返回 detail
- 新增可复用的技能详情弹窗组件,支持 Markdown 渲染与内联编辑
- 智能体创建/编辑选技能、智能体卡片技能徽章均可查看技能详情
- 将定时任务/智能体/技能的发布图标统一为 Globe/Lock
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 10:03:37 +08:00
吉鑫升
3b951efd13
Merge remote-tracking branch 'origin/master' into ji
2026-05-15 16:54:56 +08:00
吉鑫升
33161c5bad
Merge remote-tracking branch 'origin/likun' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/artifacts/artifact-file-detail.tsx
# frontend-web/src/components/workspace/code-editor.tsx
# frontend-web/src/components/workspace/input-box.tsx
# frontend-web/src/pages/ChatPage.tsx
# offline-backend-20260512/backend/app/gateway/routers/artifacts.py
2026-05-15 16:54:10 +08:00
吉鑫升 and Claude Opus 4.7
ed4909a28d
chore: 纳入 skill_evolution 运行时配置文件
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:29:26 +08:00
吉鑫升
afc517b3a7
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/agents/agent-gallery.tsx
# frontend-web/src/components/workspace/settings/skill-settings-page.tsx
2026-05-15 16:27:56 +08:00
吉鑫升 and Claude Opus 4.7
646cb8caeb
feat: 标签管理功能 + 问答前缀对用户隐藏
...
标签管理:
- 新增 tags/tag_assignments 持久化层、迁移、/api/tags 路由
- 标签分智能体/技能/定时任务三类, 仅同类型可互打, 仅 admin 可增删改与打标签
- 三类资源列表支持按名称模糊检索与按标签筛选(走后端查询参数)
- 前端新增标签管理页、TagPickerDialog(点击即时绑定)、彩色标签 chip
问答前缀:
- 前缀不再拼入消息 content, 改存 additional_kwargs 由 PromptPrefixMiddleware
在调模型前临时注入, 用户界面看不到前缀但模型仍收到
- 修正 thread_existed 闸门导致首轮前缀被跳过的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:19:08 +08:00
吉鑫升
aeba15eb16
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/pages/WorkspaceRoutes.tsx
# offline-backend-20260512/backend/packages/harness/deerflow/persistence/models/__init__.py
2026-05-15 11:21:48 +08:00
吉鑫升 and Claude Sonnet 4.6
28948975db
Merge: 解决 ScheduledTaskRunDetailPage 合并冲突
...
保留 HEAD 的编辑功能 import(useCallback、Edit3、Loader2、Save、X),
同时采用 b78672 中的 useRouteNavigate 自定义导航 hook。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 19:29:35 +08:00
吉鑫升
3ea33e1dee
大模型速度增加提示
2026-05-14 19:12:14 +08:00
吉鑫升
481e718d86
Merge remote-tracking branch 'origin/master'
2026-05-13 21:02:27 +08:00
吉鑫升 and Claude Opus 4.7
29f74afbf6
fix(scheduler): give every scheduled run its own throwaway thread
...
All scheduled tasks for a user shared one scheduler thread, so each run
appended its messages to the same LangGraph checkpoint. Over time the
history blew past the model's input window and every task on that
account started failing with context-too-long.
_execute_task now mints a fresh thread_id per run and threads it through
ensure_thread_meta / snapshot / start_run / extract_*. The per-task
scheduler_thread_id column is left in place for backwards compatibility
but no longer drives the LLM call.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 20:58:23 +08:00
吉鑫升
a2f7157bc3
chore: remove .claude/settings.local.json from tracking
...
Followup to previous commit which only landed the .gitignore rule but
left the file still tracked in the index.
2026-05-13 20:14:37 +08:00
吉鑫升
e6591abfbc
chore: stop tracking .claude/settings.local.json
...
This file holds per-user Claude Code permission allowlists and should not
be shared across the team. Adding it to .gitignore and removing from the
index; existing working copies are preserved.
2026-05-13 20:14:00 +08:00
吉鑫升
50bda1ddee
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/agents/agent-card.tsx
# frontend-web/src/pages/NewAgentPage.tsx
2026-05-13 20:10:21 +08:00
吉鑫升
31abad86d5
智能体配置
2026-05-13 20:04:06 +08:00
吉鑫升
83d7fa26fe
Merge remote master docs
2026-05-13 17:28:04 +08:00
吉鑫升
a27206c543
Update local frontend and backend changes
2026-05-13 17:17:42 +08:00
吉鑫升
faca2c9a2d
Merge branch 'likun' into master
2026-05-13 17:02:22 +08:00
吉鑫升
aa034f8669
定时任务订阅模式
2026-05-13 14:59:27 +08:00
吉鑫升
839386f0b4
test: verify new remote push
2026-05-13 14:23:55 +08:00
吉鑫升
cf2e4bdd9c
智能体分权
2026-05-13 11:36:17 +08:00
吉鑫升
e7a455f22e
Initial commit: deerflow-server (frontend-web + offline-backend-20260512)
2026-05-13 09:36:15 +08:00