QihuAI Design
e8a1791c9f
chore(align): sync Git with running container as authoritative source
...
Standards alignment (STANDARDS_AUDIT_2026-07-24): Phase 1 标准化核心 +
Phase 2 质量层 landed in the running container and captured in Git so the
three sources (container := image := Git) agree.
Backend (Phase 1 标准化核心):
- mcp_client.py: replaced hand-rolled JSON-RPC with official `mcp` SDK
(ClientSession, streamable_http/sse transports, protocol auto-negotiation)
- core/otel.py + core/observability.py: standard OpenTelemetry SDK bridge
(OTLP gRPC), wired to Grafana Alloy (qihu-aiflow-alloy:4317) which forwards
metrics to Prometheus; emits aiflow_span_duration_ms / aiflow_span_count
- deployments: Grafana Alloy container + Prometheus remote-write receiver
Backend (Phase 2 质量层):
- core/rag_pipeline.py: standardized RAG (recursive overlap chunking +
rerank hook) reusing pgvector_search
- core/llm_client.py: SDK-ified LLM + embeddings (aembed/embed) collapsing
hand-rolled httpx calls; trust_env=False to bypass container proxy
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-24 12:18:51. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-24 12:18:52 +08:00
QihuAI Design
acde481bed
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-24 07:44:19. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-24 07:44:19 +08:00
QihuAI Design
26075272d6
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-23 22:42:43. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-23 22:42:46 +08:00
QihuAI Design
a1fd8b074d
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-23 22:16:24. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-23 22:16:25 +08:00
QihuAI Design
2721da5d4c
feat: 思考过程展示优化 — 先展开再自动收拢
...
AiProcessBlock 改进:
- 超时从 2.6s 延至 6s,用户有充足时间阅读思考链路
- 新增 aiProcessPulse 脉冲高亮动画,强调'思考过程刚出炉'
- 展开时自动 scrollIntoView,确保不被正文遮挡
- 摘要文案改为'AI 思考 / 执行过程(N步 — 自动收拢中...)'
CSS 新增:
- .ai-process-fresh 脉冲动画 + summary 文字高亮
- @keyframes aiProcessPulse: 0→50%→100% 边框扩散+收拢
2026-07-23 22:00:49 +08:00
QihuAI Design
9d67b0544c
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-23 19:43:56. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-23 19:43:56 +08:00
QihuAI Design
4a95657030
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-23 16:04:25. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-23 16:04:26 +08:00
QihuAI Design
d3d8d62b94
fix(media): repair JSON_CONTAINS auto-routing + reconcile stale backend tests
...
CI / gate (push) Has been cancelled
Real bug:
- capability_registry.resolve_auto_model and chat_media._build_media_route used
`Column.op("JSON_CONTAINS")(col, val)`, but SQLAlchemy's op() accepts only ONE
argument -> TypeError on every image/video/audio auto-route, silently failing
media generation (caught as "后台生成异常"). Replaced with func.json_contains().
Test reconciliation (no production behavior change):
- tests/test_context_engine.py: tiktoken upgrade made the hardcoded len//2 token
estimates wrong; relax to tokenizer-agnostic assertions and add
structured_memory=None to the _Summary mock (code now branches on it).
- tests/test_regression_r1r2r3.py: R3 FakeModel lacked `name` (code reads m.name);
also the assertion assumed a literal '超时' string, but the failover architecture
catches model-level exceptions and writes a user-understandable error marker
instead. Align the assertion to the real contract: a media failure/timeout must
be written back as a user-understandable error message, never left as '生成中…'.
CI gate: 28 backend pytest + 15 frontend vitest all green.
2026-07-23 09:16:31 +08:00
QihuAI Design
a08ec87b22
chore(align): sync Git with running container as authoritative source
...
One-time alignment to close drift between the running container
(qihu-aiflow / image qihuaiflow:with-deps) and this Git repository.
Container hotfixes previously persisted only via `docker commit` are now
captured in Git so Git becomes the single source of truth.
Backend:
- chat_service.py: accumulated fixes incl. EigenFlux README guidance
- chat_context.py / chat_media.py: URL/web-repo context injection
- api/url_reader.py: NEW SSRF-safe web/README reader (Issue #725 )
- skills_admin.py & Skills.tsx: 14-scene capability unification
- pgvector_search.py, orchestrator.py, platform_knowledge.py,
market.py, admin/models.py: drift sync
Frontend:
- ChatPage.tsx: collapsible AI think/act block (Issue #724 )
- MarketPage / EvolutionDashboard / TokenDashboard styling sync
Migrations:
- 018_normalize_marketapp_scene.sql: fixed capability allowlist
(prevents capability wipe on restart)
Alignment performed 2026-07-23 05:42:47. No deletions; secrets/venv/node_modules/
caches were not touched (tracked-source-only copy).
2026-07-23 05:42:48 +08:00
QihuAI Design
49f7503978
fix(models): widen market_apps.skill_content to MEDIUMTEXT for large SKILL.md
2026-07-22 12:42:43 +08:00
QihuAI Design
6da8c3938e
fix(admin/mcp): prevent unnecessary wrapping in table headers and badges
2026-07-22 08:54:03 +08:00
QihuAI Design
6d06f9165c
feat(skills): auto-tag+classify existing 60 skills, auto-tag on import, 409 uniqueness check, add tags column to admin
2026-07-22 07:58:40 +08:00
qihu-dev
c32eed39bd
feat(chat): 收拢式AI思考/执行过程可视化 + 修复span(name)重复传参导致技能/MCP执行崩溃
2026-07-22 00:17:54 +08:00
QihuAI Design
46528eddbb
fix(market): 补齐MarketApp ORM category/tags字段 + 硬化导入管道(空内容兜底生成SKILL.md + GitHub直链归一)
2026-07-21 20:25:55 +08:00
QihuAI Design
97125d7b65
T4: AnySearch 改为全局固定配置 + 修复外部服务弹窗 UI
2026-07-21 19:27:27 +08:00
QihuAI Design
3c9d9518b1
T4: AnySearch 联网检索接入 (anysearch_client trust_env直连 NO_PROXY, kb_router use_web RRF融合, chat_context 自动注入联网上下文, admin 支持 anysearch 服务类型, 新增 POST /api/knowledge/web-search 端点)
2026-07-21 18:29:51 +08:00
QihuAI Design
be7d792dc2
T3: TreeSearch 结构化文档两级检索 (build_kb_tree + tree_search BM25+向量融合, 接入 kb_router 为 tree_chunk 源, 新增 GET /api/knowledge/tree-search)
2026-07-21 12:56:57 +08:00
qihu-dev
e30e385f11
T2: 递归再压缩 + Semantica式结构化长期记忆层(结构化记忆列/抽取/注入)
2026-07-21 12:38:59 +08:00
qihu-dev
6890570142
T1: 修复 chat_context SyntaxError(/n 损坏) 并激活 pgvector 混合检索接入聊天KB
2026-07-21 12:21:06 +08:00
QihuAI Design
75f53a7e8a
fix: 文生图/视频测试连接走媒体端点直连(_proxy_for_url 增加 images/videos 直连规则),绕过智能路由代理重置长连接导致的 Server disconnected;gpt-image-2/agnes 测试连接恢复。配合 models.py 的 1024x1024 size 与 chat_media.py 的 failover 路由(默认模型第一顺位)。
2026-07-20 22:26:30 +08:00
QihuAI Design
0b00d6da45
fix: 文生图连接测试 size 1024x1024 + 媒体端点智能推导 + 图像/视频模型 failover 路由(默认模型第一顺位)
2026-07-20 22:11:53 +08:00
QihuAI Design
7674729804
test(frontend): extract Markdown renderer to utils/markdown.ts + add vitest regression tests
CI / gate (push) Has been cancelled
v2026.07.20.2030
2026-07-20 20:32:36 +08:00
QihuAI Design
11b80b90f4
fix(migrations): MariaDB 兼容幂等化 privacy_mode 列与 distributions 种子插入
CI / gate (push) Has been cancelled
v2026.07.20.1930
2026-07-20 19:37:57 +08:00
QihuAI Design
71a6403e5b
fix: 加宽 skill_trajectory_links.atom_id 列 VARCHAR(36)->128 修复 DataError(1406);TraceIdFilter 从 root logger 移至 handler 修复子 logger %(trace_id)s KeyError 日志刷屏;evolution scheduler 循环增加 db.rollback() 兜底;附带 models.py CRLF->LF 归一。
CI / gate (push) Has been cancelled
v2026.07.20.1902
2026-07-20 19:02:40 +08:00
QihuAI Design
5def2697de
fix(chat): image send 500 + table/newline formatting (v2026.07.20.1708)
CI / gate (push) Has been cancelled
v2026.07.20.1708
2026-07-20 17:08:20 +08:00
QihuAI Design
612ce37518
audit fixes: align all frontend timestamps to Beijing time + debounce MarketPage search (vv2026.07.20.1)
CI / gate (push) Has been cancelled
v2026.07.20.1
2026-07-20 15:38:55 +08:00
QihuAI Design
d55a496ff4
Phase 4.3 ACA: MCP.tsx protocol selector panel + api ACA methods (v2026.07.19.12)
CI / gate (push) Has been cancelled
v2026.07.19.12
2026-07-20 14:45:21 +08:00
QihuAI Design
72d6f9ab66
Phase 4.1+: mermaid diagrams + YAML workflow buttons + agents API (v2026.07.19.11)
CI / gate (push) Has been cancelled
v2026.07.19.11
2026-07-20 09:24:40 +08:00
QihuAI Design
79c27795a8
Phase 4.2+4.3: YAML workflow spec + ACA protocol abstraction (v2026.07.19.10)
CI / gate (push) Has been cancelled
v2026.07.19.10
2026-07-19 20:17:49 +08:00
QihuAI Design
c716dab851
Phase 4.1+: expose version/verified/security_scan/dependencies in admin get_all_apps
CI / gate (push) Has been cancelled
2026-07-19 19:29:48 +08:00
QihuAI Design
669c16b0a0
Phase 4.1: 技能市场安检引擎 + 版本化 + 绿标 (v2026.07.19.9)
CI / gate (push) Has been cancelled
v2026.07.19.9
2026-07-19 19:15:35 +08:00
QihuAI Design
71fc502a92
Phase 3.3 前端: 后台 Agent 编排图 JSON 编辑器(载入/校验/保存/清除/示例)
CI / gate (push) Has been cancelled
2026-07-19 16:55:20 +08:00
QihuAI Design
96b3f0af37
Phase 3.3 多 Agent 编排图引擎: orchestration JSON 列 + 拓扑并行引擎 + local/external/reduce 节点 + 工具沙箱继承 + 后台编排 API
CI / gate (push) Has been cancelled
v2026.07.19.8
2026-07-19 16:41:27 +08:00
QihuAI Design
3b34ba78b8
feat(agents): Phase3.2 Agent凭据Fernet加密存储 写入加密+调用点解密+返回脱敏+主密钥持久化防竞态 [v2026.07.19.7]
CI / gate (push) Has been cancelled
v2026.07.19.7
2026-07-19 15:27:15 +08:00
QihuAI Design
0600c37b9e
feat(agents): Phase3.1 工具/MCP权限沙箱(tool_policy) 白名单+预算熔断+每轮上限+后台管理UI [v2026.07.19.6]
CI / gate (push) Has been cancelled
v2026.07.19.6
2026-07-19 12:34:40 +08:00
QihuAI Design
2969544d54
feat(observability): Phase2.3 媒体/LLM 可观测面板(后端归因聚合+前端页) 并修复 token_usage_logs trace_id 写入(chat_service/im_llm) [v2026.07.19.5]
CI / gate (push) Has been cancelled
v2026.07.19.5
2026-07-19 10:18:14 +08:00
QihuAI Design
491f31cead
refactor(context): Phase2 上下文引擎升级 分层记忆+压缩+隔离 [v2026.07.19.4]
CI / gate (push) Has been cancelled
v2026.07.19.4
2026-07-19 09:29:57 +08:00
QihuAI Design
a7a57f9a03
refactor(observability): Phase2.2 成本归因 trace_id列+token日志写入+LLM/MCP/媒体子span [v2026.07.19.3]
CI / gate (push) Has been cancelled
v2026.07.19.3
2026-07-19 08:51:28 +08:00
QihuAI Design
6aefdfa5c2
refactor(observability): Phase2.1 统一可观测基座 trace_id+结构化日志+span计时 [v2026.07.19.2]
CI / gate (push) Has been cancelled
2026-07-19 07:47:25 +08:00
QihuAI Design
1b6a184d27
refactor(chat): split 10070-line monolith into 8 service submodules (Phase1) [v2026.07.19.1]
CI / gate (push) Has been cancelled
v2026.07.19.1
2026-07-19 00:59:03 +08:00
QihuAI Design
4167e23e50
ci: add minimal CI gate (pre-push hook + ci_gate.py + dormant Gitea workflow) [v2026.07.18.5]
CI / gate (push) Has been cancelled
v2026.07.18.5
2026-07-19 00:01:07 +08:00
QihuAI Design
dd10245ad5
test: 前端 vitest 测试基建 (Phase0) — 北京时间渲染回归 4 用例全绿
v2026.07.18.4
2026-07-18 23:47:21 +08:00
QihuAI Design
1744ff40ce
test: 回归用例 R1/R2/R3 固化三个反复问题 (Phase0) — 9 用例全绿
v2026.07.18.3
2026-07-18 23:36:01 +08:00
QihuAI Design
13578ba4c2
test: 后端 pytest 测试基建 (Phase0) — 6 用例全绿 + 部署前备份SOP合规
v2026.07.18.2
2026-07-18 23:29:55 +08:00
QihuAI Design
9e9c506ba9
release: v2026.07.18.1 (prod) — Phase0 工程纪律止血:部署前镜像备份SOP + 版本号规范 + 测试基建
v2026.07.18.1
2026-07-18 23:19:18 +08:00
QihuAI Design
1ea7ea352f
chore: remove accidental .bak file
2026-07-18 13:54:19 +08:00
QihuAI Design
d593d8dc42
fix: 显式选中技能/MCP 时优先按工具资料回答 + 媒体任务超时/日志
...
- _build_system_prompt 末尾增加【最高优先级覆盖规则】:用户明确选择技能/MCP 并询问其介绍/功能/用法时,
必须只基于该工具资料作答,禁止引用平台知识库中技能市场/MCP/平台能力的通用描述。
- _generate_media_task 增加启动/结束日志,对图像生成加 90s 超时、视频 300s 超时,避免异步任务挂死导致前端一直显示“生成中”。
2026-07-18 13:52:26 +08:00
QihuAI Design
1578d68f95
fix: 修复前台4项问题(MCP列举/微信技能上限/Word资产栏/技能MCP反馈) + 同步容器live状态
...
- #549 平台MCP列举: 注入全量已启用MCP清单, AI不再凭空编造
- #550 微信Bot技能自动发现上限 15->300
- #551 知识库Word文档同步资产后Word栏可见 + 双向删除同步(assets/knowledge级联软删)
- #552 对话反馈实际使用的技能/MCP(used_mcp字段), 含历史消息序列化
- 同步容器内其他未提交live改动(im_bot_platform/TokenDashboard/WechatBot/ChatPage)
2026-07-18 08:06:37 +08:00
QihuAI Design
7fb7c07f57
fix(admin/skills): 支持删除从市场导入的 MarketApp 技能
2026-07-17 22:25:47 +08:00
QihuAI Design
cc35c61fbd
fix: 技能市场分类映射缺失+筛选chip激活态配色;聊天显式选中技能时正确介绍技能并精简回复排版
2026-07-17 21:45:30 +08:00