Simon
|
53b7bbcff7
|
chore(root): 收纳根目录调试产物与项目级文件
**项目级文件**:
- configs/mkdocs.yml mkdocs 站点配置
- jumpserver-webcli/ANALYSIS.md webcli 调试分析报告
- jumpserver-webcli/CHANGELOG.md webcli 变更日志
- jumpserver-webcli/deploy_0802_*.txt 0802 部署调试输出(4 个)
- jumpserver-webcli/diag_0802_*.txt 0802 诊断输出(3 个)
- jumpserver-webcli/diag_184715.txt 18:47:15 诊断输出
- tests/test_quick_rules.py quick_rules API 测试
- temp/ 临时调试脚本目录(5 个:check_tables + 调试 + rename_dzpc + ts-check + inspect_batch)
**交付报告**:
- overview.md 「结束会话失败」修复交付报告(2026-07-30,ChatPanel.vue 三件套修复)
**会话调试上下文**:
- dedup_context.txt / dedup2.txt 去重调试上下文
- pattern_check.txt / pattern_context.txt 模式检查
- option_button_context.txt / option_select_context.txt 选项按钮/选择上下文
- qid.txt 会话 ID 记录
- yixuan_context.txt 艺璇任务上下文
- final_check.txt 最终检查
**部署脚本输出**:
- deploy_v11.txt / deploy_h5_v11.txt v11 部署命令输出
合计 27 文件(含 1 项目文档 + 22 调试上下文 + 4 jumpserver webcli 调试 + 1 mkdocs 配置 + 1 测试 + 1 temp/ + 2 部署输出)
|
2026-08-03 18:49:44 +08:00 |
|
Simon
|
7864ab404b
|
feat(scripts): 收纳运维/部署/修复/调试脚本到 scripts/ 目录
**目录结构**:
- scripts/ 顶层运维/工具脚本(20 个)
- scripts/deploy/ 一键部署脚本(deploy_*.py / upload_*.py / redeploy.py 等 8 个)
- scripts/fix/ 一次性修复脚本(fix_*.py / fix_*.cypher / fix_*.sql 等 9 个)
- scripts/debug/ 调试脚本集合(check_*.py/sql、test_*.py、debug_*.py 等 42 个)
**ops-tools/jms_ops.py**:jumpserver-ops skill 默认路径修复
- 从 'jumpserver-automation-shareable' 改为 'jumpserver-ops'
- 同步更新注释(优先 JP_SKILL_DIR 环境变量)
**典型脚本用途**:
- scripts/deploy-v1.2.ps1 / -staging.ps1:一键部署 v1.2 到生产 / staging
- scripts/init_quick_rules.sql:quick_rules 表初始数据
- scripts/gen_admin_token.py:生成 admin JWT token(调试用)
- scripts/build-and-verify.sh:v1.1 实施验证脚本
- scripts/verify_*.sh / .py:API/quick_rules 验证
- scripts/fix/*.py:环境修复(compose、env_key、itsm_bridge 等)
合计 81 文件 + 3317 行 / - 1 行
|
2026-08-03 18:48:02 +08:00 |
|
Simon
|
44e77dcb0e
|
chore(docs): docs/ 目录全面重新编号 + 重组
**重构前**(旧编号 02-11):
- docs/02-产品需求/ → 00 产品规划/PRD
- docs/03-技术架构/ → 01-05 子目录散落
- docs/04-原型设计/ → 01-02 产品设计(HTML 原型)
- docs/05-原型设计/ → screens/
- docs/06-测试素材/ → 02-E2E / 03-功能 / 04-版本测试
- docs/07-项目管理/ → 任务说明书/日报/计划
- docs/08-安全审计/ → 审计报告
- docs/09-堡垒运维/ → toolbox / deploy
- docs/10-项目管理/ → 任务说明书(重复)
- docs/11-历史归档/ → deploy-nas-archived
**重构后**(新编号 00-07,语义化):
- docs/00-产品开发流程与文档管理规范.md
- docs/00-版本迭代总览.md
- docs/01-产品文档/ (PRD/原型/认证/会话/AI 服务/坐席/集成)
- docs/02-技术文档/ (技术方案/架构图/重构记录/前端改造/实现配置)
- docs/03-测试文档/ (E2E/功能用例/版本报告/缺陷单)
- docs/04-运维文档/ (部署运维/运维指南)
- docs/05-运营文档/ (品牌推广/用户手册)
- docs/06-安全审计/ (审计报告)
- docs/07-项目管理/ (任务说明书/日报/计划/看板)
**净收益**:
- 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号)
- 消除 02-产品需求 与 10-项目管理 的编号重叠
- 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录)
- 把运维/安全/项目管理从 0X 散落改为 04/06/07
合计 494 文件 + 78495 行 / - 14076 行
|
2026-08-03 18:46:55 +08:00 |
|
Simon
|
3a44141eac
|
chore(config): 同步 src/ 路径迁移 + nginx SPA 路由 + 文档图简化
**src/ 路径迁移配套**:
- docker-compose.yml: backend context ./backend → ./src/backend
- docker-compose.yml: bind mount ./app → ./src/backend/app
- docker-compose.dev.yml: 3 个 bind mount 同步调整
- Dify 双路径超时从 12s 提到 20s(2026-07-20 用户反馈高峰期超时)
**nginx SPA 路由修复**(前端路由 /itagent/x → /itagent/index.html):
- nginx/nginx.conf: 加 try_files $uri /itagent/index.html
**生产环境 nginx 反代重写**:
- deploy-server/nginx.conf: 从 33 行 localhost 模板改为 357 行完整反代
- 新增 /itdesk /itagent /itadmin /itportal /itterminal/itportal/meetingroom
路由规则
- 反代到 backend:8000 (API + WS)
- / 根路径反代到数据查询平台
**架构图简化**(精简但保留关键类/时序):
- docs/class-diagram.mermaid: 215 行 → 59 行
- docs/sequence-diagram.mermaid: 115 行 → 35 行
合计 6 文件 + 470 行 / - 293 行
|
2026-08-03 18:46:10 +08:00 |
|
Simon
|
969f524962
|
feat(REQ-通用-005): v1.1 选项选择持久化方案实施
参考:docs/02-技术文档/技术架构/实施报告-REQ-通用-005-v1.1.md
方案:docs/02-技术文档/技术架构/技术方案-REQ-通用-005-选项选择持久化-v1.1-正式方案.md
4 个子任务全部完成:
- T01 基础设施(BackendObserver 服务 + WS 广播)
- T02 Bug 6(conversation.ts option 状态持久化)
- T03 Bug 4(h5_ai_task.py:443 still_thinking 兜底)
- T04 Bug 5+Req 7(ChatPanel.vue collapsed 折叠 + WS 监听)
文件清单:
- 后端 API:4 文件(api/router/ws + 新增 api/backend_observer)
- 后端 service:1 文件(services/backend_observer.py)
- 后端 tasks:1 文件(h5_ai_task.py 兜底)
- 后端 tests:2 文件(test_backend_observer + test_h5_mask_option_select)
- 前端 stores:1 文件(conversation.ts 持久化 + WS 订阅)
- 前端 composables:1 文件(useH5WebSocket.ts 选项广播监听)
- 前端组件:2 文件(ChatPanel.vue 折叠 + MessageBubble.vue 状态展示)
- 前端 package.json:2 文件(agent + h5 dependencies)
- 前端 scripts:1 文件(measure-option-latency.mjs 端到端测量)
- 前端 types:1 文件(components.d.ts 声明)
合计 16 文件 + 1053 行 / - 12 行。
|
2026-08-03 18:45:46 +08:00 |
|
Simon
|
5adcb4852a
|
fix(alembic): 053 down_revision 笔误修正
down_revision 之前误写为文件名 '052_diagnostic_queue_quiz_closing',
应为 052 迁移的实际 revision id '052_diag_queue_quiz'。
影响范围:
- alembic history 直接抛 KeyError: '052_diagnostic_queue_quiz_closing'
- 任何 alembic upgrade / stamp head 操作均无法解析完整链
- 之前未被发现的根因:生产 alembic_version 长期停在 052,从未尝试解析后续链
验证(生产环境 2026-08-03 17:03 P1 治理任务):
- 修复前:alembic history → KeyError
- 修复后:052 → 053 → 054 → 055 → 056(moderation) → 057 链完整解析
- alembic stamp 057_troubleshooting_templates 已成功执行
- 数据库实际状态确认:conversations.is_archived / messages.reply_source /
quick_rules / sensitive_words / privacy_patterns / moderation_logs /
troubleshooting_templates 均已存在,迁移链与数据库一致
|
2026-08-03 18:34:41 +08:00 |
|
Simon
|
22909fb3bd
|
docs: 补充 #134 相关 PRD-009 + 技术方案 #002 交叉引用 (#134)
**新增**
- `docs/01-产品文档/04-坐席工作台/PRD-REQ-坐席-009-会话状态Tab筛选-v1.0.md`
- 7 段结构:背景与目标 / 需求说明(5 个 FR + 状态映射规则 + 跨段渲染)/ 用户故事 & 10 项 AC / 交互示意 / 不在本 PRD 范围 / 关联文档 / 变更记录
- 明确边界:未实现"Tab 数量徽章 + 空状态文案",后续 #135 候选
**修改**
- `docs/02-技术文档/技术架构/技术方案-REQ-坐席-002-AI辅助消息框-v1.0.md`
- §3.1 组件架构图:ConversationList.vue 增加 2 行注释(说明筛选 Tab + 数据源)
- 文末追加"📌 增量变更记录(不破坏 v1.0 原结构)"段:交叉引用 PRD #009 / 任务 #134 / 原型 v1.2 / commit 566bb46
**未改**
- 不动架构图层级 / 不动其他组件的描述 / 不破坏 v1.0 原 §1-§12 结构
- 不在 #002 中重写需求细节(这些都在 PRD #009 集中管理,避免文档冗余)
- `docs/04-运维文档/部署运维/01-项目总览与部署手册-20260704.md` / `开发交付概览.md` grep 通过无相关描述,无需更新
**关联**
- #134 落地代码:commit `566bb46`
- 已同步文档:PRD #009(新建)+ 技术方案 #002(增量段)
**操作失误修复**
- 起草时通过 Write 工具误将 PRD #009 写到了 `D:\资料\03-产品文档\` 而非项目内的 `D:\资料\03-项目开发\wecom_it_smart_desk\docs\01-产品文档\`(少了一个目录层级 + 中文章段编号错位)
- 修复:用 PowerShell `Move-Item` 把文件移到正确路径,递归清理空目录 `D:\资料\03-产品文档\`(只含我自己刚建的 1 个文件 + 2 个空目录,无误删任何个人文件)
|
2026-08-03 17:58:22 +08:00 |
|
Simon
|
566bb46cd4
|
feat(agent): 坐席端左栏会话状态 Tab 顺序调整 + 默认显示待处理 (#134)
**改动**
- `src/frontend-agent/src/components/conversation/ConversationList.vue`
- `filterTags` 数组顺序倒置:`[全部, 待处理, 进行中, 已完成]` → `[待处理, 进行中, 已完成, 全部]`
- `activeFilter` 初始值 `'all'` → `'pending'`(坐席日常首选入口)
- `docs/07-项目管理/任务说明书/任务说明书-134-坐席端左栏会话状态Tab顺序调整+默认显示待处理.md`(新增)
**未改**
- 不动 store(`myConversations` / `colleagueConversations` / `historyConversations` 划分准确)
- 不动 `applyFilters` 逻辑(status 映射正确:pending→queued、active→serving/ai_handling、done→resolved)
- 不动 ConversationItem.vue / 样式 / backend API
- 不重命名 `activeFilter` 的 key(保持 `'pending' | 'active' | 'done' | 'all'` 后向兼容)
**部署**
- 构建:`npm run build` 6.20s 通过,新 main chunk `index-BK_U7e10.js`(旧 `index-BDGZ_gcJ.js`),Workspace chunk 唯一 `D44-5RYv.js`
- 打包:`packages/frontend-agent-dist-0803-133.tar.gz` 576,913B(25 个文件,0 累积污染)
- jumpserver-V2 全程免登录(cache 19.7h 内有效)
- 备份链:`/opt/wecom-it-desk/frontend-agent/dist.bak.0803_pre133`
**验证**
- 服务端(curl 绕用户/CDN 缓存):HTTP 200 + main JS hash 变更 + Workspace=1 + 备份存在 ✅
- 浏览器无痕模式:用户 2026-08-03 17:48 确认"显示已更新"(默认激活"待处理" + Tab 顺序倒置)✅
- v1.2 原型与实际页面 Tab 顺序一致 ✅
**任务编号修正**
- 起草时用了 #133,但该编号已被当日另一任务 `voice_asr.py POST /asr auth 加固` 占用
- 沿用 #132 后下一个空号 → 实际为 **#134**
|
2026-08-03 17:49:42 +08:00 |
|
Simon
|
a20606f328
|
fix(security): troubleshooting_templates 5 端点加 auth + MOCK 替换 ORM
P0 安全修复(连续 2 次巡检标记):
1. 5 端点全部加 auth 依赖
- GET list/detail → Depends(get_current_user)(任何已登录用户)
- POST/PUT/DELETE → Depends(require_admin)(仅 admin)
2. 进程内 MOCK_TEMPLATES → PostgreSQL troubleshooting_templates 表
- ORM model 早已注册但缺迁移 → 新建 057_troubleshooting_templates.py
- 8 套预设模板在冷启动时通过 seed_default_troubleshooting_templates 插入
- 容器重启不再丢数据
3. 5 源调用方审计通过(与 voice_asr.py P0 修复同款教训):
- H5 端 api/troubleshooting-templates.ts:只读
- Admin 端 api/troubleshooting.ts + Flowcharts.vue:5 端 CRUD 全套
- Agent 端 api/troubleshooting.ts:只读
- service_routes.py:仅注册无反向调用
- tests:无相关调用
4. 端到端验证(生产环境实测):
- GET no-auth → 403
- GET invalid-token → 401
- GET admin token → 200 + 8 items
- POST admin (sxn) → 201 + 新建 UUID
- POST 非 admin → 拒绝(业务 code 1002)
- PUT/DELETE admin → 200 + 字段更新/删除
- 容器重启后 → 8 套数据仍在(DB 持久化生效)
文件改动:
- alembic/versions/057_troubleshooting_templates.py(新建, 79 行)
- app/api/troubleshooting_templates.py(重写 720→859 行)
- app/main.py(1071→1082, +11 行 seed 调用)
相关 P1 跟进(已同步滴答清单):
- 053-056 迁移脱节(生产 alembic_version=052)
- 缺 2 索引 idx_tpl_category / idx_tpl_active
Refs: voice_asr.py P0 修复(5 来源审计教训)
|
2026-08-03 16:27:10 +08:00 |
|
Simon
|
b321e3dabd
|
chore(repo): 重组项目源码目录至 src/ 下 (#重组)
- 顶级源码目录 backend/ frontend-h5/ frontend-admin/ frontend-terminal/ frontend-agent/ 物理移动到 src/ 下
- frontend-agent/ HEAD 中原本只跟踪 dist 备份和零散配置(无业务源码),本次作为新模块首次纳入
- 强化 .gitignore: 覆盖历史 dist 备份(dist.bak/ dist_bak*/ dist-clean/ dist_old/ 等)、node_modules_old/、前端部署 bin chunk(*-part*.bin / p[0-9].bin)、src/backend/uploads/ + src/backend/media/(运行时上传)
- 备注: docs/ 目录重组(01-产品设计→01-产品文档 等)暂留 working tree,本次未入库
|
2026-08-03 15:42:28 +08:00 |
|
Simon
|
7886f2f523
|
kfid路由窗口: 5类别映射企微客服链接(ROUTING_TARGETS配置化,弃用business_contacts个人名片)+ send_service_card新函数 + ContactCard支持service_url点击打开客服会话(行政→机票酒店前台/人力→共享服务/财务→报销服务台/法务→行政法务/物业→物业服务)
|
2026-07-18 11:24:10 +08:00 |
|
Simon
|
28bc4bda3b
|
docs: C7/C8 完成状态更新
|
2026-07-18 10:53:00 +08:00 |
|
Simon
|
05304aec9c
|
C7/C8: employees.last_login_ip 列补全(ALTER TABLE 迁移)+ redis decode 兼容修复 7 处(wecom_service×2/employee_directory×3/auth_wecom_sso×2,统一 isinstance 保护模式)
|
2026-07-18 10:50:27 +08:00 |
|
Simon
|
928f4bb337
|
docs: 批次4死代码大扫除完成 + D1合并上线状态
|
2026-07-18 10:35:40 +08:00 |
|
Simon
|
b997a683ce
|
批次4死代码大扫除: 删triage三件套(H5零挂载)+ /approval/keywords端点 + scheduler.py孤儿模块 + 3个.bak文件 + get_reply_stream(~96行)
|
2026-07-18 10:22:07 +08:00 |
|
Simon
|
6a5f01ff90
|
docs: D1合并状态更新(后端双模已部署,待Dify发布v1.3)
|
2026-07-18 02:47:12 +08:00 |
|
Simon
|
6f545fe0b6
|
D1正式合并: 后端双模支持(主Dify读intent_type,无字段降级旧路径)+ ai_service透传路由字段 + Dify Prompt v1.3(新增路由意图标注规则+场景4)
|
2026-07-18 02:46:28 +08:00 |
|
Simon
|
1bfc00559a
|
docs: 批次3管线化完成 + 24h观察期标记 + D1分步实施决策
|
2026-07-18 02:34:51 +08:00 |
|
Simon
|
bfac494b01
|
批次3-P1-3: process_h5_ai_reply管线化重构(主函数312行→76行,try/except 11对→1对,9步骤函数)+ D1止血(路由意图超时15s→8s)
|
2026-07-18 02:31:46 +08:00 |
|
Simon
|
2681e7b0bf
|
docs: P1-7完成 + 批次2全部完成 + C7/C8预存在问题记录
|
2026-07-18 02:19:12 +08:00 |
|
Simon
|
6cbee00dc0
|
P1-7(完成): Redis密码轮换(硬编码→.env注入,32位新密码已生效,老密码WRONGPASS验证失效)+ APP_ENV=production传入容器(修复生产UA校验和IP白名单未生效)
|
2026-07-18 02:16:56 +08:00 |
|
Simon
|
f9be3547d9
|
docs: P1-6 完成状态更新
|
2026-07-18 02:03:55 +08:00 |
|
Simon
|
59609b1d8d
|
P1-6: WS死路由清理+结单确认断链修复 - 删ai_reply_chunk/quiz_diagnostic_answer死路由 + pending_close_request改为resolve_confirm对齐后端 + 挂载ResolveConfirmCard(修复坐席结单员工端不可见的功能断链)
|
2026-07-18 02:03:13 +08:00 |
|
Simon
|
9cbf2650e1
|
P1-4b: Matcher优先级修正 - title匹配提到category之前(title是Dify判断的具体意图,比大类更精确,真实场景: approval_type=账号权限申请+title=VPN账号申请应输出单卡)
|
2026-07-18 01:42:05 +08:00 |
|
Simon
|
6e74631ecb
|
docs: P1-2/P1-4/P1-7部署完成记录 + pack-upload通道铁律
|
2026-07-18 01:34:40 +08:00 |
|
Simon
|
555a16c310
|
docs: 更新12-重构记录状态看板 - P1-2/P1-4/P1-7部分代码完成待部署 + 待部署清单
|
2026-07-18 01:18:11 +08:00 |
|
Simon
|
5dd8436cde
|
P2-1(部分): 删除孤儿组件 InputBox.vue/MessageItem.vue + store死代码 showApprovalCard/closeApprovalCard/approvalCardVisible(P0-3误报确认,组件备份于.workbuddy/tmp/orphan-backup)
|
2026-07-18 01:17:08 +08:00 |
|
Simon
|
2a4db59f02
|
P1-7(部分): 3个潜伏bug修复 - main.py app_root未定义/scheduler.py AsyncIOSScheduler拼写/config.py logger未定义
|
2026-07-18 01:13:33 +08:00 |
|
Simon
|
873f3176e8
|
P1-4: Matcher死分支删除+匹配失败兜底全量卡片 + 补全18模板icon/desc/category字段(v3.0未生效) + title匹配增强
|
2026-07-18 01:10:18 +08:00 |
|
Simon
|
aeb4e0cf39
|
P1-2: 统一Dify调用点 - 删除detect-intent死链路(approval/byod) + routing_service共享client修复连接泄漏 + 前端死代码清理
|
2026-07-18 01:05:20 +08:00 |
|
Simon
|
af392f2bf0
|
P1-1: AIService/AIHandler 真单例 + lifespan close httpx 连接池(修复连接泄漏)
|
2026-07-18 00:36:13 +08:00 |
|
Simon
|
a6518bff03
|
P0-6: Dify超时预算切分 native/proxy 各12s(修复proxy兜底不可达,变量已注入容器)
|
2026-07-18 00:28:15 +08:00 |
|
Simon
|
54481525f4
|
P0-3/P0-4/P0-5: 快捷申请全量卡片端点+RecommendCard崩溃修复+WS全字段透传(部署v16)
|
2026-07-18 00:05:59 +08:00 |
|
Simon
|
18a639919c
|
v3.2: 降级结果已含card_data时跳过重复匹配(避免approval_type=None误报匹配失败)
|
2026-07-17 23:39:20 +08:00 |
|
Simon
|
6932e5a449
|
P0-2: compose environment 声明 DIFY_NATIVE_*(修复 v2.1 原生直连未上线,服务器已验证变量注入)
|
2026-07-17 23:21:28 +08:00 |
|
Simon
|
939de70e48
|
P0-1: 删除 docker-compose-override.yml + deploy-server 两份 workers=2→1(预防性修复,服务器根 compose 已是 workers=1)
|
2026-07-17 23:16:40 +08:00 |
|
Simon
|
3ed86d5fb3
|
v3.1 + 批次0: 智能回复重构基线 - ApprovalMatcher + 关键词降级 + 文档速修 + v4.0任务书面化
|
2026-07-17 23:08:59 +08:00 |
|
Simon
|
5a77a89ab1
|
Merge remote-tracking branch 'origin/main' into feature/message-reliability
pre-toolbar-v1.9
|
2026-07-13 02:18:48 +08:00 |
|
Simon
|
449c6d4875
|
feat: 2026-07-12~13 全量更新 - AI对话链路改造+H5 v4/v5+坐席端v5+上下文感知诊断+知识库迭代3
## H5 员工端 v4 (2026-07-13 00:48 已部署)
- 人工按钮三态文案统一为"人工坐席"
- 按钮位置移至发送键和语音按钮上方(垂直堆叠)
- 点按钮直接调 store.shakeAgent(),删除 CallAgentModal 弹窗动画
- 截图快捷键提示改为"截图->粘贴:Alt+Shift+A-Ctrl+V ---> Ctrl+V"
- 移动端隐藏截图提示(CSS 媒体查询)
- AI转人工提示改为"已为您呼叫人工坐席,请稍等!"
- 坐席接入提示改为"坐席正在查看您的信息,请等待处理回复!"
- 删除"摇铃呼叫坐席"入口和文案
- 删除孤儿组件 MessageList.vue + shake 动画 CSS
## H5 员工端 v5 (2026-07-13 02:08 已部署)
- RightPanel v2.1:删除"软件安装"和"资源权限"标签页
- 移除标签栏,智能推荐(DynamicRecommend)直接展示
- 删除 SoftwareDownloads/ApprovalLinks 引用和相关 CSS
## AI 对话链路全栈改造 Phase 1-6 (已部署)
- Phase 1: Dify JSON输出 + 后端blocking解析 + 双WS推送 + 错误降级
- Phase 2: 关键词收窄(~25强意图词) + 两级分类Prompt + 删除前端checkApprovalIntent
- Phase 3: WS扩展(ai_thinking+dynamic_recommend) + ai_structured气泡 + RightPanel v2 + 选项回传
- Phase 4: VisionService接入 + 图片消息融合(5秒窗口) + 降级策略
- Phase 5: 坐席端ai_thinking指示器 + ai_structured/byod_card渲染 + handleNewMessage修复
- Phase 6: diagnosis_stage(6值) + response_time_ms计时 + 慢响应告警(>10s)
## 坐席端 v5 (2026-07-13 01:38 已部署)
- ai_structured/byod_card 只读渲染
- AI思考指示器 UI
- handleNewMessage 透传 msg_type/extra_data 修复
- 布局优化v2.0: QuickReplyBar L1+L2悬浮 + ReplyBox左右分区 + 右栏260/560px切换
- 键盘快捷键v2.3: 纯数字路由 + ESC分层撤销 + Shift+Space用event.code
## 上下文感知智能诊断闭环 (2026-07-12 已部署)
- 三层诊断(API→Script→AI) + 三段排队(VIP→info_locked→not locked)
- 答题插队 + 五场景关闭
- 迁移052(6表+6列) + queue_service + quiz_service + closing_service
- H5前端: QueueWaiting + RightPanel双Tab + InputBar三态 + ResolveConfirmCard
- 坐席前端: pending_close结单流程 + 信息锁定(Dify步骤完成+有效回答率≥70%)
## 知识库迭代3 (2026-07-12 已部署)
- 分诊交互(H5+坐席+Dify独立应用)
- 拓扑预览(ECharts只读)
- 代答排除(4种匹配器: keyword/regex/intent/category)
- 迁移051 + 44文件43测试通过
## 后端变更
- 6个Python文件改造(h5_ai_task.py/h5.py/ai_service.py/closing_service.py等)
- funny_phrase_service.py: shake/connected/keyword 默认文案更新
- session_service.py: 企微消息文案同步
- 新增: queue.py/quiz.py/triage.py/exclusion_rules.py 等API端点
- 新增: diagnostic.py/quiz.py/triage_session.py 等模型
- 新增: closing_service/queue_service/quiz_service/triage_service 等服务
## 文档更新
- CHANGELOG.md: 新增 [未发布] 区全部变更记录
- 项目管理主文档 v2.5: 新增v0.7.3版本 + 已完成看板 + 最近搞定
- 版本记录: 新增v0.7.3条目
- AI对话链路实施计划: Phase 1-6 全部标记✅已实施
- 新增架构图/时序图/类图(mermaid)
## 部署路径修正
- 服务器项目根路径: /opt/wecom-it-desk/
- 所有前端dist均为ro bind mount,只能在宿主机源路径操作
- 服务器nginx /h5/ 是静态文件服务(非proxy_pass)
- elFinder上传二进制不可靠(MD5不匹配),改用base64分块上传
|
2026-07-13 02:17:03 +08:00 |
|
Simon
|
bea288e414
|
feat: 2026-07-11 全量更新 - 代办集成+会议室预定+知识迭代修复+UI统一+Bug修复
== 已部署上线 (9项) ==
- 代办事项真实数据源集成 (企微审批API 8bug修复链)
- H5/坐席端 Logo样式统一+绿色背景
- 视频引导页修复 (localStorage key v2)
- 坐席端 v9 Vue版本修复 (ElMessage._context)
- 截图按钮 v10 修复 (getDisplayMedia user gesture)
- 扫码样式恢复+H5扫码登录跳转修复
- H5截图快捷键提示
== 代码完成待部署 (3项) ==
- 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查)
- 会议室预定-小鱼易联终端 (40文件, 40/40测试通过)
- IT资产升级审批推送 (asset_service.py)
== 需求文档 (2项) ==
- 坐席端AI辅助消息框-PRD (4项新功能确认)
- 坐席端布局优化建议 v2.0 (7天计划)
== 新增文档 ==
- 日报-2026-07-11.md
- 知识迭代Bug修复报告-20260711.md
- 会议室预定-部署指南.md
- CHANGELOG.md 更新
== 测试 ==
- test_todo_integration.py: 40/40
- test_meetingroom.py: 40/40
- test_bugfix_ki_suggestions.py: 21/21
v2026.07.11-evening
|
2026-07-11 23:13:10 +08:00 |
|
Simon
|
3d152fc8eb
|
chore: docs update + docker-compose + H5 login
|
2026-07-09 13:46:48 +08:00 |
|
Simon
|
db70a3a6a8
|
feat(admin): AuditLogs + RuntimeLogs views + RBAC role management
|
2026-07-09 13:46:20 +08:00 |
|
Simon
|
d480aa4c1d
|
feat(backend): RBAC admin roles + runtime logs service
|
2026-07-09 13:46:15 +08:00 |
|
Simon
|
7ffc6c8e23
|
chore: add dist-deploy/ dist-v2/ to .gitignore
|
2026-07-09 13:46:08 +08:00 |
|
Simon
|
adc1933038
|
chore: align .workbuddy/memory tracking - keep MEMORY.md tracked, untrack scratch daily log
|
2026-07-09 12:29:05 +08:00 |
|
Simon
|
4c7a8d0278
|
chore: extend .gitignore for residual scratch/build cache (2026-07-09 cleanup)
补充忽略 ops-tools/ dist-new/ _tmp_* *.timestamp-*.mjs fix_redis.sh /test/ backend/scripts/create_test_agent.py, 使工作树仅剩工具态 .workbuddy 改动。
|
2026-07-09 11:52:08 +08:00 |
|
Simon
|
e4e2de47bb
|
docs: test reports + knowledge iteration design + PRDs
提交 OTP/RBAC/Tier0/Tier1/P0+P2 测试报告、方案A E2E 验证、知识库迭代设计(PRD/mermaid/html 原型)、项目状态看板更新; 根配置 docker-compose.yml/mkdocs.yml。
|
2026-07-09 11:50:19 +08:00 |
|
Simon
|
584c975e7f
|
feat(admin): knowledge iteration + ragflow ingestion views
新增 KnowledgeIteration/RagflowIngestion 视图; api/troubleshooting/admin store 适配; 锁定 pnpm-lock.yaml。
|
2026-07-09 11:50:08 +08:00 |
|
Simon
|
018c87e10b
|
feat(agent): approval queue inline card + exclusion panel
新增 ApprovalQueue 视图、ApprovalInlineCard/AgentExclusionPanel 组件与 useApprovalQueue; 对话/API 适配; public 静态资源。
|
2026-07-09 11:50:07 +08:00 |
|
Simon
|
12d89dfb35
|
feat(h5): confidence gate + triage + image uploader + ws composable
新增 ConfidenceGateBanner/ImageUploader/TriageCard 组件与 useConfidenceGate; useH5WebSocket 增强; 对话/API 适配。
|
2026-07-09 11:49:50 +08:00 |
|