Jelajahi Sumber

docs: initialize qiwei skill backlog

gangvy 1 bulan lalu
melakukan
c463bbb281
5 mengubah file dengan 277 tambahan dan 0 penghapusan
  1. 19 0
      README.md
  2. 158 0
      todolist/2026-08-04-webui-evolva-optimization.md
  3. 36 0
      todolist/README.md
  4. 51 0
      todolist/TEMPLATE.md
  5. 13 0
      todolist/backlog.md

+ 19 - 0
README.md

@@ -0,0 +1,19 @@
+# QIWEI Skill
+
+通用版企业微信 Agent 技能包独立仓库。
+
+## 仓库定位
+
+- 本仓库只维护可复用的企业微信技能、MCP、工作台、监听与安装发布能力。
+- 客户业务定制、真实数据、凭据、运行数据库、会话、日志和房源业务不进入本仓库。
+- 后续通用版本开发、测试、发版均以本仓库 `master` 为准。
+
+## 目录
+
+- `todolist/`:外部反馈、竞品调研、优化想法、实施状态和验收证据。
+- 其余技能包源码:待当前 WebUI 优化验收后,从通用版包迁入。
+
+## 当前状态
+
+仓库基础结构已建立。首个任务为客服工作台 WebUI、监听接入策略和执行轨迹优化,详见 [todolist/2026-08-04-webui-evolva-optimization.md](todolist/2026-08-04-webui-evolva-optimization.md)。
+

+ 158 - 0
todolist/2026-08-04-webui-evolva-optimization.md

@@ -0,0 +1,158 @@
+# 客服工作台 WebUI 与 Evolva 竞品学习优化
+
+- 日期:2026-08-04
+- 状态:in-progress
+- 优先级:P0/P1/P2
+- 范围:generic
+- 目标版本:待实施验收后确定
+
+## 目录
+
+1. [来源](#来源)
+2. [原始反馈归纳](#原始反馈归纳)
+3. [竞品可借鉴能力](#竞品可借鉴能力)
+4. [现状审计](#现状审计)
+5. [实施计划](#实施计划)
+6. [安全与产品决策](#安全与产品决策)
+7. [验收清单](#验收清单)
+8. [实施进度](#实施进度)
+
+## 来源
+
+- 客户反馈:`E:\新建文件夹\WXWork\1688855615758934\Cache\File\2026-08\20260804-webui-issue.md`
+- Evolva 源码:[github.com/koppx/Evolva](https://github.com/koppx/Evolva)
+- Evol 官网:[www.evolai.cn](https://www.evolai.cn/)
+
+## 原始反馈归纳
+
+1. 客户群和私聊会话应按最新消息稳定排序,便于快速找到刚收到消息的会话。
+2. 新私聊联系人需要可配置地加入监听范围,而不是只能手动批量补采。
+3. 新联系人可配置欢迎语,并避免重复发送。
+4. 私聊详情需要“采集当前会话”,减少对白名单全部会话的无差别补采。
+5. AI 监听默认开启,但用户人工关闭后不能被自动重新拉起。
+6. 工作台顶部区域过高,主要会话区需要占满剩余视口,减少上下滚动。
+7. Agent 工作台颜色需收敛到语义 CSS 变量,默认采用 Fmode 蓝紫与中性灰,并允许租户覆盖。
+
+## 竞品可借鉴能力
+
+### 借鉴
+
+- 把聊天、工具、文件和任务状态放在统一工作空间,降低页面切换成本。
+- 使用 `Plan -> Act -> Observe -> Evaluate -> Evolve` 表达 Agent 执行阶段。
+- 工具活动日志可展开/收起,并显示状态、耗时、脱敏参数摘要、结果与失败。
+- 支持会话续接、执行证据、checkpoint、artifact 和 metrics 等可恢复线索。
+- 高风险工具操作具备一次、本会话、拒绝等清晰授权语义。
+
+### 不照搬
+
+- 不迁移 Evolva 的 Python/TUI 架构。
+- 不新建与现有 `toolTrace`、审计或响应监控重复的数据存储。
+- 底层没有可靠取消能力时,不展示虚假的取消按钮。
+- 不把任意新联系人自动外发作为通用默认值。
+
+## 现状审计
+
+### 已具备,避免重复开发
+
+- 私聊详情“采集当前会话”。
+- 顶部“补采全部白名单”。
+- AI 监听默认开启。
+- 人工关闭监听后保持关闭。
+- 群聊白名单拒绝与私聊白名单热更新基础能力。
+- 群聊列表已有最新时间降序的基础逻辑。
+
+### 已确认缺陷
+
+- 私聊数据库查询虽按时间降序,但服务层重算公开展示时间后没有再次排序,实际大量会话存在错序。
+- 群聊排序缺少“空时间末尾”和“相同时间稳定排序”的明确规则。
+- Agent 工作台顶部信息区过高,主体不能稳定占满首屏。
+- Agent 区域仍存在橙色根品牌变量和较多硬编码绿色,租户主题难以统一覆盖。
+
+## 实施计划
+
+### P0:工作台布局、排序和主题
+
+- 压缩顶部为 sticky 命令栏,只保留账号、在线/监听状态、全局模式、白名单数、待回复数和关键操作。
+- 将设置和提醒移入抽屉,三栏工作台使用 `100dvh`/`calc()` 占满剩余视口并独立滚动。
+- 私聊和群聊都采用最新消息降序、空时间末尾、相同时间稳定的规则。
+- 未回复/超时仅作为状态标识,不改变最新消息主排序。
+- Agent 工作台改用品牌、页面、面板、文字、边框、focus、success、warning、error 等语义 token。
+- 默认 Fmode 蓝紫 + 中性灰,租户通过 `data-theme` 或变量覆盖;不机械重写全站颜色。
+
+### P1:新联系人接入与欢迎语
+
+- Workbench settings 作为运行真源。
+- 新增 `GET/POST /api/agent/intake-policy`。
+- 固定字段:`mode`、`welcomeEnabled`、`welcomeText`、`welcomeSendMode`。
+- 模式:`allowlist_only`、`auto_enroll_review`、`auto_enroll_autopilot`。
+- `auto_enroll_review` 强制会话为 review,不继承全局 autopilot。
+- `auto_enroll_autopilot` 必须由管理员显式选择并二次确认。
+- 未知群聊继续拒绝;仅通过群聊校验后的未知私聊可按策略纳入。
+- 欢迎语按账号 + 联系人幂等,失败状态可重试并保留审计。
+
+### P2:活动与工具轨迹
+
+- 右侧洞察区增加可折叠活动轨迹。
+- 复用现有 tool trace、audit 和 response monitor。
+- 展示阶段、工具名、状态、耗时、脱敏参数摘要、结果、失败、重试和审计入口。
+- 仅在底层真实支持时开放取消/重试;否则保留已有 regenerate 能力。
+
+### 迁移与仓库治理
+
+- 业务安装副本先验证,再把等价通用能力同步到通用技能包。
+- 当前任务验收完成后,把通用技能包迁入 `E:\workspace\QIWEI-skill`。
+- 迁移时保留本仓库 `.git` 和 `todolist/`,禁止整包覆盖。
+- 不迁入房源 Provider、小牛默认值、真实房源数据、凭据、`.env.local`、outputs、数据库、Session、日志或 `node_modules`。
+
+## 安全与产品决策
+
+| 场景 | 通用默认 | 约束 |
+| --- | --- | --- |
+| 未知私聊 | `allowlist_only`,忽略 | 不创建会话、不写消息、不外发 |
+| 自动纳入审核 | `auto_enroll_review` | 只生成草稿,强制 review |
+| 自动纳入自动回复 | 默认关闭 | 管理员二次确认后才允许 |
+| 未知群聊 | 拒绝 | 不因私聊接入策略放宽 |
+| 欢迎语 | draft/review | 账号 + 联系人幂等,失败可重试 |
+| 人工关闭监听 | 保持关闭 | 后台启动不得覆盖人工选择 |
+| 工具参数 | 脱敏 | UI、日志和审计均不显示凭据 |
+
+## 验收清单
+
+### 功能和安全
+
+- [ ] 私聊最新消息排序:含空时间末尾和相同时间稳定性。
+- [ ] 群聊最新消息排序:含空时间末尾和相同时间稳定性。
+- [ ] strict/allowlist 模式未知联系人仍被忽略。
+- [ ] `auto_enroll_review` 新私聊只生成草稿,不自动外发。
+- [ ] 未知群聊不被自动纳入。
+- [ ] 欢迎语一次性、重启幂等、失败可重试。
+- [ ] 人工关闭监听后不会被自动拉起。
+- [ ] 活动轨迹参数和结果已脱敏。
+
+### UI
+
+- [ ] 1440x900 首屏可完成主要会话操作,无页面级上下拖动。
+- [ ] 1280x720 无重叠、按钮文字不溢出、三栏稳定。
+- [ ] 390x844 移动端无重叠且主要操作可达。
+- [ ] 设置/提醒抽屉与活动轨迹可正常展开收起。
+- [ ] 默认主题和租户变量覆盖均通过截图检查。
+
+### 包与发布
+
+- [ ] 业务安装副本 `node --check`、agent/runtime/preview/package/property smoke 通过。
+- [ ] 通用包 `node --check`、agent/runtime/preview/package smoke 通过。
+- [ ] Playwright 截图与 DOM 尺寸记录齐全。
+- [ ] 独立仓库迁移后敏感信息扫描为 0。
+- [ ] 独立仓库完整测试通过并提交 `master`。
+- [ ] 未经单独确认不发布 npm。
+
+## 实施进度
+
+| 节点 | 状态 | 当前结果 |
+| --- | --- | --- |
+| A 现状审计 | verified | 已确认复用能力、私聊错序根因、群聊稳定排序缺口、API 字段和安全模式 |
+| B P0 实施 | in-progress | 布局、排序、主题与三视口验收进行中 |
+| C P1/P2 实施 | in-progress | 接入策略、欢迎语、轨迹与安全回归进行中 |
+| D 联调复核 | blocked | 等待 B/C 完成后执行 |
+| E 独立仓库迁移 | triaged | 待通用包验收后迁入并推送 master |
+

+ 36 - 0
todolist/README.md

@@ -0,0 +1,36 @@
+# Todolist 管理规范
+
+本目录是 QIWEI Skill 的统一需求入口。内部反馈、客户建议、竞品案例和实施过程中发现的问题均先在这里登记,再进入开发。
+
+## 记录原则
+
+1. 一项主题一个 Markdown 文件,命名为 `YYYY-MM-DD-short-topic.md`。
+2. 原始反馈保留事实和来源,分析结论与原始意见分开书写。
+3. 每项任务必须标注适用范围:`generic`、`business-only` 或 `research-only`。
+4. 通用能力才进入本仓库;客户专属业务留在客户项目,通过文档记录边界。
+5. 不记录密码、Token、Session、手机号、客户聊天原文或其他敏感值。
+6. 状态统一使用 `idea`、`triaged`、`in-progress`、`blocked`、`verified`、`released`、`rejected`。
+7. 完成必须附测试、截图、提交或发版证据,不能只把状态改为完成。
+
+## 工作流
+
+```text
+新反馈/外部案例
+  -> 登记原始来源与目标
+  -> 判断通用/业务边界
+  -> 进入 backlog 排优先级
+  -> 实施与风险控制
+  -> 自动化测试和人工验收
+  -> 更新状态、版本与证据
+```
+
+## 文件索引
+
+- [backlog.md](backlog.md):全部任务的短索引和当前优先级。
+- [TEMPLATE.md](TEMPLATE.md):新增任务模板。
+- [2026-08-04-webui-evolva-optimization.md](2026-08-04-webui-evolva-optimization.md):本轮 WebUI 与竞品学习任务。
+
+## 更新方式
+
+后续补充统一直接修改本目录并提交 Git。若一个反馈同时包含多个独立问题,应拆为多个任务文件,并在 `backlog.md` 建立索引。
+

+ 51 - 0
todolist/TEMPLATE.md

@@ -0,0 +1,51 @@
+# 任务标题
+
+- 日期:YYYY-MM-DD
+- 状态:idea
+- 优先级:P2
+- 范围:generic | business-only | research-only
+- 负责人:待定
+- 目标版本:待定
+
+## 原始来源
+
+- 反馈人/渠道:
+- 外部链接:
+- 本地材料:
+
+## 原始问题
+
+只记录可验证事实,不在这里混入解决方案。
+
+## 目标与非目标
+
+### 目标
+
+- 
+
+### 非目标
+
+- 
+
+## 方案
+
+- 
+
+## 风险与边界
+
+- 
+
+## 验收清单
+
+- [ ] 功能测试
+- [ ] 回归测试
+- [ ] UI/交互验收(如适用)
+- [ ] 敏感信息扫描
+- [ ] 文档和版本记录
+
+## 实施记录
+
+| 日期 | 状态 | 结果/证据 |
+| --- | --- | --- |
+| YYYY-MM-DD | idea | 初始登记 |
+

+ 13 - 0
todolist/backlog.md

@@ -0,0 +1,13 @@
+# QIWEI Skill Backlog
+
+最后更新:2026-08-04
+
+| 优先级 | 状态 | 范围 | 任务 | 来源 | 验收出口 |
+| --- | --- | --- | --- | --- | --- |
+| P0 | in-progress | generic | 单屏客服工作台、稳定最新消息排序、语义主题变量 | 客户反馈 + Evol/Evolva | 三视口截图、排序测试、两份包回归 |
+| P1 | in-progress | generic | 新私聊接入策略、欢迎语、幂等与审计 | 客户反馈 | 安全矩阵、接口测试、监听联调 |
+| P2 | in-progress | generic | 活动/工具轨迹、任务证据和可观测性 | Evol/Evolva | 轨迹脱敏、失败/重试展示、审计入口 |
+| P1 | triaged | generic | 当前通用技能包迁入独立仓库并建立发布基线 | 仓库治理 | 完整测试、敏感扫描、提交并推送 master |
+
+详细设计与进度见 [2026-08-04-webui-evolva-optimization.md](2026-08-04-webui-evolva-optimization.md)。
+