QihuAI Design
|
82afe14a23
|
fix(wechat/token/market): 修复微信对话时间、Token数据重置、技能市场复活、媒体内联
1. 微信Bot对话记录时间按北京时间渲染(ImBotHub/WechatHistory 的 formatTime 显式 +08:00 + Asia/Shanghai);
2. 新增 /app/api/chat/media/relay 媒体中转端点(白名单 agnES 域名, 经香港代理代取),
改写 _wechat_send_media 用平台中转地址,微信/iLink 可内联播放图片/视频;
3. 删除 014_clean_test_data.sql:该迁移每次重启重跑并 DELETE token_usage_logs/
messages/conversations/knowledge 等,导致 Token 驾驶舱数据每次重启被清空;
4. 002_init_data.sql 移除 market_apps 自动播种(原 WHERE COUNT=0 在用户删空后重启复活),
技能市场交由用户后台维护,重启不再复活。
|
2026-07-16 09:19:23 +08:00 |
|
QihuAI Design
|
da89a27bca
|
fix(wechat-bot): ①对话时间统一北京时间 ②媒体内联发送(微信直看图片/视频) ③媒体生成计入Token驾驶舱 ④清空技能市场
|
2026-07-15 23:37:30 +08:00 |
|
QihuAI Design
|
7739f17594
|
fix(wechat-bot): 修复 AGNES 媒体生成失败——优化步骤相对导入路径错误(从未生效)+ 国内模型直连 + 内容策略重试
|
2026-07-15 22:04:22 +08:00 |
|
QihuAI Design
|
fd2011b93e
|
fix: AGNES 三个模型改走香港代理(实测延迟更低、更稳定)
|
2026-07-15 20:17:44 +08:00 |
|
deploy
|
ccc5f799e1
|
fix(media): AGNES 图像/视频生成加韧性层——指数退避重试+友好错误翻译+Bot解析加固
根因(实测复现): AGNES 外部服务不稳定, 非平台代码问题:
- 视频创建常返 500 publish_video_queue_failed / context deadline exceeded
- 连接偶发重置 Server disconnected
- 视频硬限频 每分钟 1 次 (429 rate limit)
改动:
1. chat.py 新增 _agnes_post_json(): 对 5xx/连接中断做 3 次指数退避重试(2/4s);
4xx(参数错误)不重试直接返回
2. 新增 _friendly_media_err(): 把 AGNES 原始 HTTP/JSON 错误
转译为对用户友好的中文(限频/连接失败/队列繁忙), 不再透传原始报错
3. _generate_media 图像/视频分支改用上述重试+友好错误
4. im_llm.py Bot 媒体结果解析加固: strip 后判 <img>/<video>,
成功返回干净链接; 失败透传友好中文, 绝不把原始提示词/标签甩给用户
验证(容器内实测):
- WEB_IMG OK / WEB_VID OK / BOT_IMG OK (均返回真实 png/mp4)
- 429/断开/队列三类错误均正确转译为友好中文
|
2026-07-15 19:58:06 +08:00 |
|
deploy
|
b88f883d44
|
feat(market): admin用户前台导入的Agent/Skill/MCP自动标记为官方(official)
- POST /market/apps: 当 current_user.role == "admin" 时,source 强制设为 official
- 前端发送 source:/user/ 也会被后端覆盖为 official
- 前台卡片已有 official-badge 徽章展示,无需额外前端改动
|
2026-07-15 18:58:15 +08:00 |
|
deploy
|
6416fb4651
|
fix(admin): 修复注册设置PUT接口——由独立query参数改为接收JSON body
根因:PUT /admin/users/register-settings 参数定义为 phone_required: bool = None 等独立query参数,
但前端发送的是 JSON body {"phone_required":true,"email_required":true}。
FastAPI无法把JSON body映射到独立参数 → 全部收到None → 循环跳过 → DB无更新(提示成功但无效)。
修复:参数改为 body: dict 统一接收JSON,用 body.get() 取值更新 RegisterSetting 表。
|
2026-07-15 18:50:36 +08:00 |
|
deploy
|
148e4a21c2
|
fix: 全面修复6项问题——Auto模型路由/媒体提示词优化/微信Bot/Token驾驶舱/技能市场清空
1. resolve_auto_model: image/video/audio无显式默认时自动发现启用模型(原返回None→文本模型回退→AI说无法生成)
2. 新增_optimize_media_prompt: 调用文本LLM精炼用户原始输入为AGNES高质量提示词(去除对话噪音+英文优化)
3. detect_media_intent: 扩展关键词覆盖多轮对话模式(做图片/生成个图/画一下/制作视频等)
4. chat.py+im_llm.py: 所有httpx调用补trust_env=False+_proxy_for_url, 规避容器坏代理
5. token_usage.py: 模型名回退链(model表→日志自带的model_name→auto标签), 不再显示unknown
6. skills_admin.py: 新增POST /batch-delete批量删除API(ids空则删全部)
7. 技能市场数据已清空, 用户可重新导入技能
|
2026-07-15 17:05:00 +08:00 |
|
deploy
|
4d57987aa5
|
fix(agent): 外部Dify Agent 手动跟随http->https 301重定向并保持POST(测试连接+运行期);qihuyun.com直连
|
2026-07-15 14:30:24 +08:00 |
|
qihu-bot
|
d274733fb3
|
feat(chat): 外部Agent(Dify/n8n/Coze)运行期真实远程调用
- _resolve_market_agents 补齐 platform/agent_endpoint/agent_api_key 字段
- 新增 _call_external_agent 及 dify/n8n/coze 分支; Dify 走SSE流式,兼容
chat/agent(message)与chatflow/workflow(text_chunk/workflow_finished)事件,
失败时surface真实错误; n8n走webhook POST; coze走v3 chat+轮询
- send_message 选中带endpoint的外部Agent时直接远程调用,跳过本地LLM扮演
- Conversation新增ext_agent_conversation_id维持Dify/Coze多轮(迁移016)
- 出网统一trust_env=False+_proxy_for_url直连,规避坏代理502
|
2026-07-15 13:55:04 +08:00 |
|
QihuAI Design
|
d374d464e8
|
feat: 智能Agent接入前连通性/鉴权校验
- 前端技能市场「接入单个Agent」新增「测试连接」按钮,接入前必须校验通过
- 后端 POST /market/apps/verify-agent:dify 走 chat-messages 鉴权探测(trust_env=False 直连),n8n/coze 走 HEAD 可达性探测
- upload_app 对 agent 类型做服务端守卫,密钥无效/不可达直接 400 拒绝
- MarketApp 新增 platform 列(dify/n8n/coze),009 迁移幂等加列
|
2026-07-15 13:01:19 +08:00 |
|
QihuAI Design
|
996d5413da
|
fix: 修复AI聊天/IM多项问题(媒体直连+技能自动发现+agent/mcp上下文)
- Issue4/7: 图像/视频生成对AGNES国内域名强制直连(trust_env=False),修复Server disconnected(代理172.18.0.1:7890返回502)
- Issue8: 修复_parse_skill_content缺失def导致的NameError;新增_discover_installed_skills默认技能自动发现
- Issue2/3: system prompt注入agent资料与mcp描述/endpoint
- Issue7: IM Bot制作图片走Auto路由媒体模型
|
2026-07-15 12:23:56 +08:00 |
|
QihuAI Design
|
bc2899ed09
|
前台8项体验修复: 知识库上传自动刷新; 资产PDF归类; Token驾驶舱媒体统计; AI模糊意图澄清选择; ChatPage增加MCP/附件上传/语音; 技能市场安装态修复+清理演示数据; MCP协议应用改名MCP应用; Agent单应用接入(名称/介绍/API Key)
|
2026-07-15 10:33:43 +08:00 |
|
QihuAI Design
|
463824480b
|
fix: 知识库文档上传(尾斜杠+FormData+真文件接收); AI回复强制Markdown; 平台全功能知识库注入系统提示
|
2026-07-14 23:04:30 +08:00 |
|
QihuAI Design
|
5d1370156e
|
fix: 停止迁移复活默认模型供应商/模型;AI聊天媒体生成改为异步(修复视频请求失败)
- migrations/002_init_data.sql: 移除 model_providers/models 的 INSERT IGNORE 种子,重启容器不再复活 deepseek/openai/通义千问等默认供应商与模型,改由用户在后台大模型库自行维护
- chat.py: 图像/视频生成分支改为立即返回占位(generating=true),后台 asyncio 任务轮询 AGNES 并回写消息内容,避免最长 5 分钟同步轮询阻塞 HTTP 请求导致前端「发送失败:请求失败」
- ChatPage.tsx: 发送后若 assistant_message.generating,每 3s 轮询 getMessages 直至内容更新;页面刷新时若仍有「⏳」占位继续轮询;卸载清理定时器
|
2026-07-14 21:48:39 +08:00 |
|
QihuAI Design
|
a1669374e6
|
feat(kb): 接入 Dify 知识库,移除 FastGPT;AI 聊天产出+用户文档自动入库量化
- 新增 app/dify_kb.py Dify v1 客户端(连通测试/检索/文本入库)
- kb_router 仅保留 Dify 外部检索分支
- knowledge_admin 去掉 FastGPT/RAGFlow,新增 dify 批量入库端点
- chat.py 注入 Dify RAG 上下文 + 助手回答 fire-and-forget 入库
- 前端 Knowledge.tsx 改为 Dify 单服务 UI(可通讯/可用验证+入库按钮)
- DB: external_kb_services 删除 fastgpt,qihuai 设为 https+connected
|
2026-07-14 20:56:53 +08:00 |
|
QihuAI Design
|
d179cc2f02
|
Round6: 前台图片缩略图+下载/视频修复; 后台连接测试单次+自动消失; 导航重组; 存储中文化; 自动化去掉创建按钮; 短信验证码(注册/重置/充值通知)
|
2026-07-14 18:49:27 +08:00 |
|
QihuAI Design
|
ba09017884
|
fix: AGNES图像/视频生成强制经智能路由代理(172.18.0.1:7890),修复容器内直连被重置导致图像生成异常
|
2026-07-14 17:11:12 +08:00 |
|
QihuAI Design
|
fcc84d98df
|
增强后台数据驾驶舱:6张指标卡(近7天活跃/订阅成功/文档数等)+30天Token趋势+操作/审计日志分页与CSV下载
|
2026-07-14 12:00:19 +08:00 |
|
QihuAI Design
|
6525b4d994
|
feat: 补齐缺失页 Phase1 - 多平台IM Bot(企业微信/飞书/QQ/悟空IM)+应用服务页+路由导航
|
2026-07-14 11:38:08 +08:00 |
|
QihuAI Design
|
ab54d7344c
|
refactor: 移除通用频道管理(LangBot)模块,IM Bot 改为直接对接;迁移 _call_real_llm 至 im_llm
|
2026-07-14 08:21:56 +08:00 |
|
QihuAI Design
|
945eeb8ba0
|
feat: 模型库能力默认模型UI + 前台Auto默认模型 + AGNES直连修复 + 意图识别增强
|
2026-07-14 05:47:57 +08:00 |
|
QihuAI Design
|
9b87012248
|
feat(frontend): 首页广告位网格溢出根治(minmax(0,1fr) minmax(0,1.2fr)+min-width:0) + 精选推荐对接平台广告接口 GET /app/api/market/ads
|
2026-07-13 20:01:13 +08:00 |
|
QihuAI Design
|
e38e18fbe7
|
feat(admin): 短信配置独立页+短信宝支持;后台顶部面包屑导航优化
|
2026-07-13 19:24:13 +08:00 |
|
qyyfw
|
ab9cf55321
|
recover: chat.py Auto routing + models.py capability-defaults route (lost in 5d7f32d)
|
2026-07-12 07:12:59 +08:00 |
|
qyyfw
|
e8e5ffa1a9
|
fix: 恢复 rsync 误删的近期开发(agents/skills/mcp/knowledge/workflow/tenant/billing/storage/privacy/promotion/achievement/automation/code-exec/developer/distribution/im-bot/portal/casdoor 等后端模块 + 对应前端页面路由, 补回 main.py 挂载与 App.tsx 路由
|
2026-07-11 11:40:39 +08:00 |
|
qyyfw
|
5d7f32db0a
|
refactor: sync running-container source back to repo for reproducible docker compose build; remove dead code (orphan pipeline.py + 104 stale files from iterative dev) and drop unused app/ mirror dir
|
2026-07-11 06:29:32 +08:00 |
|
qihu
|
1346fbbd4b
|
perf: 前端路由级代码分割+资源长期缓存;后端列表查询封顶与N+1修复;Dockerfile将依赖烤入.venv根治升级崩溃
|
2026-07-11 05:02:14 +08:00 |
|
qyyfw
|
f5968d0f61
|
feat: Auto模式按用户输入意图自动路由视频/图像/语音生成模型
|
2026-07-10 22:04:16 +08:00 |
|
qyyfw
|
363ef7d7b6
|
fix: 修复按能力默认模型/批量测试的路由被 /{id}/test-connection 路径参数拦截导致 404 模型不存在
|
2026-07-10 20:48:38 +08:00 |
|
qyyfw
|
4c372746d5
|
feat: 补全模型能力选项(11种) + 按能力指定默认模型 + Auto自动模式
|
2026-07-10 20:04:38 +08:00 |
|
qyyfw
|
27ba91ae5e
|
feat(admin): 移除后台 Agent/技能/MCP 手动创建按钮,改为仅支持 URL 导入/AI 开发/AI 安装 - 后台 Agent管理/技能管理/MCP服务 移除 创建/添加 按钮 - 后端上传/创建按操作者角色设定默认值:管理员=官方+已发布+免费;用户=用户+待审核+定价自选 - 应用市场 Hub 导入新增 mcp.so / MCPMarket 平台,导入表单增加定价输入(用户可选收费) - 清理全部演示数据(market_apps/mcp_servers/mcp_tool_configs/evolution_skills)
|
2026-07-10 16:21:07 +08:00 |
|
qyyfw
|
d62848ee98
|
feat(chat): support AGNES image/video models in AI chat - backend _generate_media (images/generations + async videos polling) and frontend MarkdownContent media rendering + model capability badges; nginx proxy_read_timeout raised to 600s for long media generation
|
2026-07-10 15:47:03 +08:00 |
|
qyyfw
|
774f1648dc
|
fix(chat/wechat): messages order by created_at,id (sub-second DATETIME(3)); container+MySQL TZ->Asia/Shanghai; correct UTC timestamps to CST; rebuild WeXin Bot history
|
2026-07-10 10:50:06 +08:00 |
|
qyyfw
|
7b7871a14d
|
feat(im): mirror WeChat bot chats into AI chat as WeXin Bot conversation; add conversations.source; migrate history; remove redundant history page
|
2026-07-10 10:09:49 +08:00 |
|
qyyfw
|
7c71d193fc
|
fix(email): support implicit SSL (port 465) for SMTP test; add use_ssl field + encryption selector
|
2026-07-10 09:54:49 +08:00 |
|
WorkBuddy
|
2eeaf1d293
|
fix: 个人微信发送对齐iLink规范(base_info/client_id/ret检查); 会话过期检测+重扫UI; 仅发送成功才写历史
|
2026-07-10 08:00:25 +08:00 |
|
WorkBuddy
|
62f3986e04
|
feat: 个人微信-对话历史持久化+平台内查阅页; 修复第二轮不回复(过滤/字段/重试); 多轮上下文
|
2026-07-10 07:01:39 +08:00 |
|
WorkBuddy
|
950f86325a
|
fix: 个人微信二维码改为后端生成真正可扫的 PNG(前端 <img> 原渲染 HTML URL 失效)
|
2026-07-09 21:29:50 +08:00 |
|
WorkBuddy
|
75a708a14d
|
feat: 个人微信改为前台每用户独立绑定(按 user_id 隔离),后台仅保留全局 Bot
|
2026-07-09 20:53:25 +08:00 |
|
qyyfw
|
9ed9961b50
|
feat(portal): User Portal - frontend portal page + backend API + full integration
- Frontend: UserPortal.tsx with 5 tabs (Overview, API Keys, Recharge, Tenants, Analytics)
- Backend: user_portal.py with 10 endpoints (user profile, API keys, billing, tenants, analytics)
- Main.py: register portal router at /app/api/portal
- api/index.ts: fix corrupted line, add 29 missing adminAPI methods, export request function
- Billing.tsx: fix Package type missing description field
- App.tsx: add portal route
- All 7 portal API endpoints verified passing (7/7)
- API Key creation verified working
- Frontend build: 476 modules, 0 errors
|
2026-07-07 21:16:01 +08:00 |
|
qyyfw
|
66e8b633ea
|
Fix: User Portal deployment - add put function, portal backend, frontend build fix
|
2026-07-07 20:50:21 +08:00 |
|
qyyfw
|
aec63eaf56
|
Feature: Multi-tenant + Billing + Analytics - 3 new modules with 40+ API endpoints
|
2026-07-07 18:53:40 +08:00 |
|
qyyfw
|
839be8f97f
|
feat: membership benefits refinement - permissions and quotas linked to plans
|
2026-07-07 15:39:01 +08:00 |
|
qyyfw
|
0886c26157
|
Phase4剩余: 推广+成就系统前后端完成 (promotion + achievement)
- 新增: Achievement.tsx 成就系统前端页面 (644行)
- 新增: achievement_admin.py 成就系统后端API (9个端点)
- 新增: migration SQL (achievements, user_achievements, achievement_progress_log)
- 更新: api/index.ts 添加推广+成就API方法 (23个方法)
- 更新: App.tsx 添加 /admin/promotion 和 /admin/achievement 路由
- 更新: AdminLayout.tsx 添加成就系统导航项和图标
- 修复: Promotion.tsx 导入路径 (@/utils/api → @/api)
- 前端构建: 472 modules, 11.23s, 成功
- API测试: 全部6个端点返回 code=0
|
2026-07-07 14:51:42 +08:00 |
|
qyyfw
|
7daeae6fc7
|
Phase 4: IM Bot Integration - admin module, frontend, LangBot gateway, routing rules, quick setup wizard
|
2026-07-06 19:59:05 +08:00 |
|
qyyfw
|
891d1ce527
|
Phase G5: Local Agent / Privacy Mode — 4 tables, 19 API endpoints, platform_bridge MCP, PrivacySettings.tsx (740 lines). 25/25 tests pass.
|
2026-07-06 17:18:05 +08:00 |
|
qyyfw
|
0486210133
|
Phase G4: Distribution Builder - SaaS product line mgmt, license keys, config export, frontend UI
|
2026-07-06 16:36:26 +08:00 |
|
qyyfw
|
d2e3147fb8
|
Phase G3: ACP Gateway + DAG Multi-Agent - acp_gateway.py (Agent communication layer, 350L), workflow_admin.py upgraded (async parallel execution + agent_node), Workflow.tsx updated (agent node + real-time streaming + WebSocket)
|
2026-07-06 15:48:37 +08:00 |
|
qyyfw
|
9b3e15ace6
|
Phase G2-1~G2-6: Code Execution Worker - Docker sandbox deployment, backend API (code_exec_admin.py), frontend CodeExecTab, security hardening (read-only FS, non-root, capability dropping, RLIMIT_AS)
|
2026-07-06 14:10:41 +08:00 |
|