mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-30 01:45:57 +00:00
576 lines
25 KiB
YAML
576 lines
25 KiB
YAML
# 50 题回归测试集(S5 完整验收)
|
||
#
|
||
# 字段:
|
||
# id 测试题 id
|
||
# q 用户提问
|
||
# locale zh / en
|
||
# expected_chunk_ids 期望被 retriever 召回的 chunk id(≥1 条命中即 recall=1)
|
||
# expected_answer 期望答案要点(LLM-judge 用,自然语言描述关键事实)
|
||
# must_say 正例:答案必须包含的关键词中至少 1 条 / 拒答桶:拒答关键词
|
||
# must_not_say 答案禁止出现的内容(编造点)
|
||
# bucket easy / medium / hard / honest-negative
|
||
# feature 对应 feature(追溯定位)
|
||
#
|
||
# 分布(plan §4.1):
|
||
# 一级导航 + 项目/任务核心 12 (easy 6 / med 6)
|
||
# 视图/会议/报告/审批/签到/OKR 10
|
||
# 应用中心 6 (easy 4 / med 2)
|
||
# 用户/组织/系统管理 6 (med 4 / hard 2)
|
||
# AI/搜索/终端 4 (medium)
|
||
# 快捷键/术语 4 (easy)
|
||
# 跨模块组合 3 (hard)
|
||
# 中英混合 2 (medium)
|
||
# 诚实性 negative 3
|
||
# ---合计--- 50
|
||
|
||
version: 3
|
||
last_updated: 2026-06-10
|
||
|
||
tests:
|
||
|
||
# ----- 桶 1: 一级导航 + 项目/任务核心 12 -----
|
||
|
||
- id: q1
|
||
q: "看板列怎么改名?"
|
||
locale: zh
|
||
expected_chunk_ids: [project.column.howto.edit, view.kanban.howto.column-color]
|
||
expected_answer: "在项目看板视图,点击列标题右侧「···」菜单选「修改」,在弹窗中输入新列表名保存;同一菜单还可设置列颜色、归档、删除列,列顺序通过拖拽调整。"
|
||
must_say: [列, 改名, 重命名]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: project
|
||
|
||
- id: q2
|
||
q: "怎么快速创建一个任务?"
|
||
locale: zh
|
||
expected_chunk_ids: [task.create.howto.quick]
|
||
expected_answer: "在项目看板任意列底部点击添加区域,输入任务描述回车即可创建;或左上角「新建任务」按钮(快捷键 Ctrl/Cmd+K 或 Ctrl/Cmd+N)。"
|
||
must_say: [快速, 创建, 任务]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: task
|
||
|
||
- id: q3
|
||
q: "DooTask 的默认工作流是什么样的?"
|
||
locale: zh
|
||
expected_chunk_ids: [project.flow.concept.default]
|
||
expected_answer: "默认 5 个流程节点:待处理 / 进行中 / 待测试 / 已完成 / 已取消,可自定义。"
|
||
must_say: [待处理, 进行中, 已完成]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: project
|
||
|
||
- id: q4
|
||
q: "仪表盘上有哪些卡片?"
|
||
locale: zh
|
||
expected_chunk_ids: [dashboard.concept]
|
||
expected_answer: "仪表盘顶部有「今日到期 / 超期任务 / 待完成任务」3 个统计卡片,下方按今日到期、超期、待完成、协助的任务分组列出任务,是个人工作台。"
|
||
must_say: [仪表盘, 卡片]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: dashboard
|
||
|
||
- id: q5
|
||
q: "日历入口在哪?"
|
||
locale: zh
|
||
expected_chunk_ids: [calendar.entry.menu-map, menu-navigation.calendar.menu-map]
|
||
expected_answer: "左侧主导航点击「日历」即可进入(与仪表盘、消息、文件、应用并列)。"
|
||
must_say: [日历]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: calendar
|
||
|
||
- id: q6
|
||
q: "子任务可以再嵌套子任务吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [task.subtask.limits.concept]
|
||
expected_answer: "DooTask 子任务只支持单层,不能继续嵌套子子任务。"
|
||
must_say: [子任务, 不支持嵌套, 不能嵌套, 单层, 只支持]
|
||
must_not_say: [支持多层嵌套, 可以无限嵌套]
|
||
bucket: easy
|
||
feature: task
|
||
|
||
- id: q7
|
||
q: "想改任务负责人怎么改?"
|
||
locale: zh
|
||
expected_chunk_ids: [task.edit.howto.basic, role-permission.task-role.concept]
|
||
expected_answer: "打开任务详情,在「负责人」字段下拉选择新成员;只有项目成员可被指派。"
|
||
must_say: [负责人]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: task
|
||
|
||
- id: q8
|
||
q: "我要离职了,能不能把项目移交给同事?"
|
||
locale: zh
|
||
expected_chunk_ids: [project.transfer.howto]
|
||
expected_answer: "项目页右上角「···」菜单选「移交项目」,选择新负责人确认即可;仅项目主负责人可操作,移交后项目群归属同步变更。"
|
||
must_say: [移交, 转让, 项目]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: project
|
||
|
||
- id: q9
|
||
q: "任务快到截止时间会怎么提醒我?"
|
||
locale: zh
|
||
expected_chunk_ids: [task.notify.concept, mobile-client.notify.concept]
|
||
expected_answer: "到期前约 1 小时和超期约 1 小时后,「task-alert」任务提醒机器人会私聊发送「任务即将超时 / 已超时」提醒(需管理员开启 APP 推送设置);消息经站内/桌面通知和移动端推送触达。"
|
||
must_say: [提醒]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: task
|
||
|
||
- id: q10
|
||
q: "项目里的任务能导出 Excel 吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [project.export.howto]
|
||
expected_answer: "限管理员:左上角菜单「团队管理」子菜单(或应用中心「数据导出」)选「导出任务统计」,选成员(最多 100 人)和时间范围(最长 90 天)导出 Excel;另有「导出超期任务」。"
|
||
must_say: [导出, Excel]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: project
|
||
|
||
- id: q11
|
||
q: "删除看板列时,列里已有的任务怎么办?"
|
||
locale: zh
|
||
expected_chunk_ids: [project.column.howto.remove]
|
||
expected_answer: "删除列会级联删除(软删除)该列下未归档的任务;被删任务可在项目菜单「已删除任务」中查看并「还原」。删除前也可先把任务拖到其他列。"
|
||
must_say: [删除, 任务]
|
||
must_not_say: [自动迁移到其它列]
|
||
bucket: medium
|
||
feature: project
|
||
|
||
- id: q12
|
||
q: "把任务从一个项目搬到另一个项目"
|
||
locale: zh
|
||
expected_chunk_ids: [task.move.howto.cross-project]
|
||
expected_answer: "任务操作菜单选「移动」,在「移动任务」弹窗选择目标项目与列表,可同时重设任务状态、负责人、协助人后确认;任务主要字段保留。"
|
||
must_say: [跨项目, 移动]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: task
|
||
|
||
# ----- 桶 2: 视图/会议/报告/审批/签到/OKR 10 -----
|
||
|
||
- id: q13
|
||
q: "甘特图视图怎么用?"
|
||
locale: zh
|
||
expected_chunk_ids: [view.gantt.howto]
|
||
expected_answer: "在项目视图切换器选「甘特图」,可拖动任务条调整开始/结束时间。"
|
||
must_say: [甘特图]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: view
|
||
|
||
- id: q14
|
||
q: "怎么创建一个会议?"
|
||
locale: zh
|
||
expected_chunk_ids: [meeting.create.howto]
|
||
expected_answer: "左上角「+」下拉选「新会议」(Ctrl/Cmd+J),或应用中心「在线会议」;填会议主题、邀请成员后点「开始会议」;他人可凭会议频道 ID 加入。"
|
||
must_say: [会议, 创建, 新建]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: meeting
|
||
|
||
- id: q15
|
||
q: "怎么写一份工作报告?"
|
||
locale: zh
|
||
expected_chunk_ids: [report.create.howto]
|
||
expected_answer: "应用中心打开「工作报告」新建汇报,选「周报 / 日报」,系统按任务数据自动生成「已完成工作 / 未完成的工作」内容模板,编辑后选择汇报对象提交。"
|
||
must_say: [报告]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: report
|
||
|
||
- id: q16
|
||
q: "审批流可以分支吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [approve.node.concept, approve.template.howto]
|
||
expected_answer: "DooTask 审批支持单人 / 会签(多人同意/否决)/ 抄送等节点;P0 版本暂不支持按表单条件路由的「条件分支」,需拆为多个流程模板。"
|
||
must_say: [分支, 不支持, 节点]
|
||
must_not_say: [完全支持条件分支, 可以任意配置条件路由]
|
||
verify_note: "审批为 AppStore 插件(docker/appstore/apps/approve),流程设计器以 iframe 加载(approve/setting.vue:24),源码不在主仓库;主仓库仅可证实存在「抄送」节点(approve/details.vue:117-124),会签/条件分支能力无法用代码裁决"
|
||
bucket: medium
|
||
feature: approve
|
||
|
||
- id: q17
|
||
q: "签到打卡数据怎么导出?"
|
||
locale: zh
|
||
expected_chunk_ids: [checkin.export.howto, data-export.checkin.howto]
|
||
expected_answer: "限管理员:应用中心「数据导出」(或左上角菜单 → 团队管理)选「导出签到数据」,选成员(最多 100 人)、日期范围(最长 35 天)和时间段导出 Excel;普通员工没有此权限。"
|
||
must_say: [签到, 导出]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: checkin
|
||
|
||
- id: q18
|
||
q: "OKR 怎么和上级对齐?"
|
||
locale: zh
|
||
expected_chunk_ids: [okr.align.howto]
|
||
expected_answer: "在 OKR 详情勾选「对齐到」选择上级 O;个人 OKR 拆解自团队 / 部门 / 公司 OKR。"
|
||
must_say: [OKR, 对齐]
|
||
must_not_say: []
|
||
verify_note: "OKR 为 AppStore 插件(docker/appstore/apps/okr),源码不在主仓库,「对齐到」具体交互无法用主仓库代码裁决"
|
||
bucket: medium
|
||
feature: okr
|
||
|
||
- id: q19
|
||
q: "让 AI 帮我写周报"
|
||
locale: zh
|
||
expected_chunk_ids: [report.ai-generate.howto, ai-assistant.report-draft.howto]
|
||
expected_answer: "在工作报告编辑页点「AI 整理汇报」(需先填写汇报内容,新建时系统已按任务自动生成内容),AI 助手会在此基础上整理润色,结果可应用回编辑器继续编辑。"
|
||
must_say: [AI, 周报, 报告]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: report
|
||
|
||
- id: q20
|
||
q: "WiFi 自动签到怎么用?"
|
||
locale: zh
|
||
expected_chunk_ids: [checkin.wifi.howto, checkin.mac-not-match.faq]
|
||
expected_answer: "前提:管理员开启签到功能并在公司 OpenWrt 路由器执行系统生成的安装脚本(路由器每分钟上报在线设备 MAC)。个人在「签到打卡」→ 签到设置 → WiFi 签到中填写自己设备的 MAC 地址,设备连上该 WiFi 即自动打卡;不在该网络时不会自动签到。"
|
||
must_say: [WiFi, MAC, 自动]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: checkin
|
||
|
||
- id: q21
|
||
q: "我加入会议失败怎么办?"
|
||
locale: zh
|
||
expected_chunk_ids: [meeting.cannot-join.faq]
|
||
expected_answer: "常见原因:会议号已结束 / 无效;分享链接过期;网络受限(声网 Agora 域名被拦截);管理员未配置 Agora。"
|
||
must_say: [会议, 失败]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: meeting
|
||
|
||
- id: q22
|
||
q: "在群聊里能直接开会议吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [meeting.from-dialog.howto]
|
||
expected_answer: "聊天输入框右侧「展开(+)」工具菜单选「新会议」,会自动把当前会话成员(不含机器人)填入邀请名单;会话列表右键联系人也有「发起会议」。"
|
||
must_say: [会议, 对话, 发起]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: meeting
|
||
|
||
# ----- 桶 3: 应用中心 6 -----
|
||
|
||
- id: q23
|
||
q: "微应用是什么?"
|
||
locale: zh
|
||
expected_chunk_ids: [micro-app.concept]
|
||
expected_answer: "微应用是 DooTask 中以独立卡片/页面形式嵌入的插件式应用,从「应用商店」安装,登录态(用户 token)自动继承。"
|
||
must_say: [微应用, 插件]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: micro-app
|
||
|
||
- id: q24
|
||
q: "怎么装一个新的应用?"
|
||
locale: zh
|
||
expected_chunk_ids: [micro-app.install.howto]
|
||
expected_answer: "管理员在应用页的「应用商店」(仅管理员可见)找到目标应用点击安装,安装后应用出现在所有用户的应用面板。"
|
||
must_say: [安装, 应用]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: micro-app
|
||
|
||
- id: q25
|
||
q: "系统应用和微应用有什么区别?"
|
||
locale: zh
|
||
expected_chunk_ids: [app-system.relation.concept]
|
||
expected_answer: "系统应用是内置卡片(工作报告/签到打卡/在线会议/我的收藏等),无需安装;微应用来自应用商店安装(如审批中心、OKR、AI 助手);管理员应用(LDAP/邮件通知/APP 推送/数据导出/团队管理等)仅管理员可见。"
|
||
must_say: [系统应用, 微应用, 区别]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: app-system
|
||
|
||
- id: q26
|
||
q: "我的收藏应用入口在哪?"
|
||
locale: zh
|
||
expected_chunk_ids: [app-system.favorite.howto, menu-navigation.favorite.menu-map]
|
||
expected_answer: "应用中心「我的收藏」卡片,或左上角主菜单「我的收藏」;里面是你收藏的任务、项目、文件、消息。"
|
||
must_say: [收藏]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: app-system
|
||
|
||
- id: q27
|
||
q: "应用顺序能调整吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [micro-app.sort.howto]
|
||
expected_answer: "应用页右上角「···」菜单选「调整排序」进入排序模式,拖动卡片调整顺序后点「保存」;排序仅自己可见,可「恢复默认」。"
|
||
must_say: [应用, 排序, 拖]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: micro-app
|
||
|
||
- id: q28
|
||
q: "为什么我的 DooTask 看不到 OKR?"
|
||
locale: zh
|
||
expected_chunk_ids: [okr.cannot-install.faq]
|
||
expected_answer: "OKR 是应用商店插件,需管理员先在「应用商店」安装后才会显示;安装失败可查看应用商店安装日志、检查网络能否拉取镜像。"
|
||
must_say: [OKR, 安装, 应用市场]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: okr
|
||
|
||
# ----- 桶 4: 用户/组织/系统管理 6 -----
|
||
|
||
- id: q29
|
||
q: "注销账号以后还能恢复吗?"
|
||
locale: zh
|
||
expected_chunk_ids: [user-account.delete-restore.faq]
|
||
expected_answer: "注销(删除帐号)不可恢复,系统仅保留昵称等基础信息用于历史消息展示;管理员能恢复的是「已离职」状态的帐号(且离职时移交的数据无法恢复),与注销不同。"
|
||
must_say: [注销, 不可恢复, 无法恢复]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: user-account
|
||
|
||
- id: q30
|
||
q: "AI 模型在哪里配置?"
|
||
locale: zh
|
||
expected_chunk_ids: [menu-navigation.ai-config.menu-map, system-setting.ai-model.howto]
|
||
expected_answer: "管理员打开应用中的「AI 助手」,在助手设置面板(仅管理员可见)配置各模型提供商的 API Key / Base URL / 模型列表与默认模型,可一键获取默认模型列表。"
|
||
must_say: [AI, 模型, 配置]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: system-setting
|
||
|
||
- id: q31
|
||
q: "操作时提示「权限不足」,是哪里没设?"
|
||
locale: zh
|
||
expected_chunk_ids: [role-permission.permission-denied.faq]
|
||
expected_answer: "通常因为操作超出当前角色权限。可能:非项目负责人无法修改项目设置;非管理员无法访问系统设置;任务可见用户名单未包含你。建议联系管理员或项目负责人调整。"
|
||
must_say: [权限, 角色]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: role-permission
|
||
|
||
- id: q32
|
||
q: "怎么把超级管理员转给别人?"
|
||
locale: zh
|
||
expected_chunk_ids: [role-permission.transfer-owner.howto]
|
||
expected_answer: "DooTask 没有单独的「转让超级管理员」功能,采用多管理员模型:管理员在「团队管理」成员操作菜单中对目标成员「设为管理员」,如需移交可再取消自己的管理员身份。"
|
||
must_say: [管理员, 团队管理]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: role-permission
|
||
|
||
- id: q33
|
||
q: "LDAP 用户同步不到 DooTask 怎么办?"
|
||
locale: zh
|
||
expected_chunk_ids: [ldap.troubleshoot.faq, ldap.sync.howto]
|
||
expected_answer: "检查 LDAP 配置(Host / Port / Base DN / 绑定 DN 及密码)是否正确,可用「测试连接」验证;确认网络/防火墙放通;注意 LDAP 用户是在登录 DooTask 时才同步创建,不是批量预同步。"
|
||
must_say: [LDAP]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: ldap
|
||
|
||
- id: q34
|
||
q: "管理员怎么一次性批量导入员工?"
|
||
locale: zh
|
||
expected_chunk_ids: [user-account.import.howto]
|
||
expected_answer: "管理员在「团队管理」点「批量导入」,上传 xls/xlsx/csv 文件(列顺序:邮箱、昵称、初始密码、职位(选填)),先预览校验再确认导入;可下载官方模板。"
|
||
must_say: [批量, 导入, 用户, Excel]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: user-account
|
||
|
||
# ----- 桶 5: AI / 搜索 / 终端 4 -----
|
||
|
||
- id: q35
|
||
q: "AI 助手怎么换一个模型?"
|
||
locale: zh
|
||
expected_chunk_ids: [ai-assistant.model-switch.howto, ai-assistant.model.concept]
|
||
expected_answer: "在 AI 助手浮窗底部输入区的模型下拉切换;可选模型由管理员在「AI 助手」应用的设置面板配置。"
|
||
must_say: [AI, 模型, 切换]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: ai-assistant
|
||
|
||
- id: q36
|
||
q: "智能搜索是什么?"
|
||
locale: zh
|
||
expected_chunk_ids: [search.intelligent.concept]
|
||
expected_answer: "智能搜索基于 Manticore Search 插件,支持关键词 / 语义(向量)/ 混合搜索,可搜任务、项目、文件内容、消息、联系人;未安装插件时回退普通 MySQL 关键词搜索。"
|
||
must_say: [智能搜索, 语义]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: search
|
||
|
||
- id: q37
|
||
q: "桌面端怎么设置开机自启?"
|
||
locale: zh
|
||
expected_chunk_ids: [electron-client.auto-start.howto]
|
||
expected_answer: "桌面端没有内置「开机自启」开关,需在操作系统的启动项中手动添加(如 Windows 启动文件夹 / 任务计划、macOS 系统设置的登录项)。"
|
||
must_say: [开机自启, 桌面端]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: electron-client
|
||
|
||
- id: q38
|
||
q: "手机端收不到推送通知"
|
||
locale: zh
|
||
expected_chunk_ids: [mobile-client.push-fail.faq]
|
||
expected_answer: "检查:App 通知权限是否开启、系统省电模式是否限制后台、UMENG 推送是否配置完成、网络是否受限。"
|
||
must_say: [推送, 移动端, App]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: mobile-client
|
||
|
||
# ----- 桶 6: 快捷键 / 术语 4 -----
|
||
|
||
- id: q39
|
||
q: "任务编辑时有什么快捷键?"
|
||
locale: zh
|
||
expected_chunk_ids: [shortcut.task.shortcut]
|
||
expected_answer: "任务编辑快捷键:Ctrl/Cmd + S 保存任务修改;任务名输入框回车直接保存(Shift+回车换行);详细描述为 TinyMCE 富文本编辑器,支持 Ctrl/Cmd + B 加粗等通用富文本快捷键。"
|
||
must_say: [快捷键, 任务]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: shortcut
|
||
|
||
- id: q40
|
||
q: "DooTask 全局快捷键有哪些?"
|
||
locale: zh
|
||
expected_chunk_ids: [shortcut.global.shortcut]
|
||
expected_answer: "全局快捷键(Ctrl/Cmd 组合):B 新建项目、F 或 / 搜索、K 或 N 新建任务、U 创建群组、J 新会议、I 呼出 AI 助手(需安装 AI 插件)、S 保存任务、, 打开设置;Ctrl/Cmd+Alt+L 下载内容(桌面端)。"
|
||
must_say: [快捷键]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: shortcut
|
||
|
||
- id: q41
|
||
q: "怎么关掉当前弹窗?"
|
||
locale: zh
|
||
expected_chunk_ids: [shortcut.dialog.shortcut]
|
||
expected_answer: "按 Esc 关闭弹窗或抽屉;某些表单弹窗需要先取消编辑态再 Esc。"
|
||
must_say: [Esc, 关闭]
|
||
must_not_say: []
|
||
bucket: easy
|
||
feature: shortcut
|
||
|
||
- id: q42
|
||
q: "手机上有什么手势操作?"
|
||
locale: zh
|
||
expected_chunk_ids: [shortcut.mobile-gesture.shortcut, mobile-client.gesture.concept]
|
||
expected_answer: "移动端主要手势:长按列表项(会话、项目、文件等)弹出操作菜单;列表滚动到底自动加载更多。"
|
||
must_say: [手势, 移动, 长按]
|
||
must_not_say: [左滑显示任务操作菜单]
|
||
verify_note: "代码仅证实长按手势(v-longpress 指令,manage.vue/messenger.vue/file.vue)与滚动加载;未找到左滑操作菜单、下拉刷新手势的实现(移动端为 WebView 壳加载同一 SPA)"
|
||
bucket: easy
|
||
feature: shortcut
|
||
|
||
# ----- 桶 7: 跨模块组合 3 -----
|
||
|
||
- id: q43
|
||
q: "任务到期了 DooTask 通过哪些方式通知我?涉及桌面端、手机端、邮件?"
|
||
locale: zh
|
||
expected_chunk_ids:
|
||
- task.notify.concept
|
||
- mobile-client.notify.concept
|
||
- electron-client.notify.concept
|
||
expected_answer: "到期前/超期后约 1 小时,task-alert 机器人私聊发送提醒(依赖管理员开启「APP 推送」设置):桌面端收到站内消息并弹系统通知(依赖系统通知权限)、移动端走 UMENG 推送;任务到期提醒不发邮件——邮件通知仅覆盖未读聊天消息(文本/文件/语音/会议类),不含此类模板提醒。"
|
||
must_say: [桌面, 移动, 推送, 提醒]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: task
|
||
|
||
- id: q44
|
||
q: "项目里我改不了任务,提示权限不足,怎么排查?"
|
||
locale: zh
|
||
expected_chunk_ids:
|
||
- project.permission-denied-task.faq
|
||
- role-permission.permission-denied.faq
|
||
- role-permission.project-role.concept
|
||
expected_answer: "首先确认你在该项目里的角色(负责人/管理员/成员)和任务权限点;其次检查该项目自定义权限规则;若仍受限请联系项目负责人或管理员调整。"
|
||
must_say: [权限, 项目, 角色]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: role-permission
|
||
|
||
- id: q45
|
||
q: "在群聊里讨论时直接派一个任务出去要怎么操作?"
|
||
locale: zh
|
||
expected_chunk_ids:
|
||
- task.create.howto.via-mention
|
||
- messenger.task-mention.concept
|
||
expected_answer: "右键(移动端长按)群里某条文本消息选「新任务」,消息内容自动填入任务描述,可设项目、负责人、截止时间后添加;输入框输入 # 只能引用/关联已有任务,不能新建。"
|
||
must_say: [任务, 对话]
|
||
must_not_say: []
|
||
bucket: hard
|
||
feature: task
|
||
|
||
# ----- 桶 8: 中英混合提问 2(locale=zh,测中英查询鲁棒性)-----
|
||
|
||
- id: q46
|
||
q: "How to create a quick task in DooTask?"
|
||
locale: zh
|
||
expected_chunk_ids: [task.create.howto.quick]
|
||
expected_answer: "On the Kanban board, click the add area at the bottom of any column, type the task name and press Enter; or use the top-left New Task button (Ctrl/Cmd+K or N)."
|
||
must_say: [quick, task, create]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: task
|
||
|
||
- id: q47
|
||
q: "checkin export 怎么用?"
|
||
locale: zh
|
||
expected_chunk_ids: [checkin.export.howto, data-export.checkin.howto]
|
||
expected_answer: "Admin opens the Data Export app (or top-left menu → Team Management) → Export Checkin Data, picks members and a date range (max 35 days) and downloads Excel; regular users have no permission."
|
||
must_say: [签到, 导出, export]
|
||
must_not_say: []
|
||
bucket: medium
|
||
feature: checkin
|
||
|
||
# ----- 桶 9: 诚实性 negative 3 -----
|
||
|
||
- id: q48
|
||
q: "DooTask 怎么训练一个自己的大语言模型?"
|
||
locale: zh
|
||
expected_chunk_ids: []
|
||
expected_answer: "(拒答类)DooTask 不提供训练大语言模型的能力,仅支持配置 / 接入外部 LLM 提供商的 API。必须明确说明帮助文档中没有相关内容。"
|
||
must_say: [未找到, 没找到, 不提供, 无相关]
|
||
must_not_say: [训练步骤, 训练流程, 训练数据集准备]
|
||
bucket: honest-negative
|
||
feature: ai-assistant
|
||
|
||
- id: q49
|
||
q: "怎么把全公司员工的工资数据导出来?"
|
||
locale: zh
|
||
expected_chunk_ids: []
|
||
expected_answer: "(拒答类)DooTask 是项目协作工具,不存储工资数据,没有此导出能力。必须明确说明帮助文档中没有相关内容,建议用户去 HR / 薪资系统查询。"
|
||
must_say: [未找到, 没找到, 不存储, 没有此功能]
|
||
must_not_say: [工资导出步骤, 工资导出按钮]
|
||
bucket: honest-negative
|
||
feature: data-export
|
||
|
||
- id: q50
|
||
q: "DooTask 怎么接入 SAP ERP?"
|
||
locale: zh
|
||
expected_chunk_ids: []
|
||
expected_answer: "(拒答类)DooTask 目前没有内置 SAP / ERP 集成能力。必须明确说明帮助文档中没有相关内容,可考虑自建桥接服务或等待 P1 接入。"
|
||
must_say: [未找到, 没找到, 不支持, 暂无]
|
||
must_not_say: [SAP 集成步骤, ERP 接入步骤]
|
||
bucket: honest-negative
|
||
feature: ai-assistant
|
||
|
||
|
||
# 运行说明:
|
||
# # 仅 recall@5(无需 LLM)
|
||
# docker exec dootask-3bed84-app-ai-ai-1 \
|
||
# python -m helper.kb.eval --suite /app/kb-content/_eval/golden-50q.yaml
|
||
#
|
||
# # 端到端:recall + answer + honest(需要 LLM-judge,见 §下方)
|
||
# docker exec dootask-3bed84-app-ai-ai-1 \
|
||
# python -m helper.kb.eval --suite /app/kb-content/_eval/golden-50q.yaml \
|
||
# --judge claude-3-5-sonnet --judge-base-url <openai-compatible-url> --judge-api-key <key>
|
||
#
|
||
# DoD(§六):
|
||
# recall@5 ≥ 85% (40/47 题, 3 题为 honest-negative 不参评)
|
||
# answer_correct (LLM judge) ≥ 80% (40/50)
|
||
# honest_refuse 100% (3/3)
|
||
# tool_call_rate ≥ 90%(main.py 集成度,需要灰度上线后看真实流量)
|