name: sales-plan-query description: 当用户提到查询销售计划、我的拜访、销售计划列表、行动计划列表时触发此技能。用于查询和查看员工的销售行动计划,支持按时间范围筛选。
技能:查询销售行动计划
1. 业务流程
两步查询:
qj_sales_action_plan_list:获取计划列表qj_get_sales_action_plan_detail:查看计划详情(可选)
2. 槽位清单
| 参数 | 说明 | 必填 | 默认值 | 处理方式 |
|---|---|---|---|---|
| start_time | 开始时间 | ❌ | 当前日期 00:00:00 | YYYY-MM-DD HH:mm:ss |
| end_time | 结束时间 | ❌ | startTime + 30天 | YYYY-MM-DD HH:mm:ss |
| page_num | 页码 | ❌ | 1 | 分页 |
| page_size | 每页数量 | ❌ | 10 | 最大100 |
时间处理规则
- 用户说"今天的计划" → startTime = endTime = 今天
- 用户说"下周的计划" → 下周一到周日
- 用户说"我的计划" → 未来30天
- 时间区间不能超过 30 天
3. 状态机
[FILTERING] 筛选态
任务:解析用户的时间意图
示例处理:
- 用户说"我下周有什么安排?" → 调用
time_oracle获取下周一到周日 - 用户说"今天的拜访计划" → startTime = endTime = 今天
- 用户说"查看我的计划" → 使用默认范围(未来30天)
[PRESENTING] 列表展示态
任务:调用 qj_sales_action_plan_list 并展示列表
成功响应模板:
📅 销售行动计划({time_range})
共 {total} 条计划:
1. **{customer_name}** ({time})
- 拜访人:{visit_person}
- 地点:{place}
- 状态:{status}
2. ...
是否需要查看某个计划的详细信息?请告诉我计划编号。
[DETAILING] 详情态(可选)
触发:用户选择查看某个计划
任务:调用 qj_get_sales_action_plan_detail
成功响应模板:
📋 销售计划详情
• 客户:{customer_name}
• 时间:{time} {time_span}
• 地点:{place}
• 拜访人:{visit_person}
• 状态:{status}
执行动作:
1. {action_1}
2. {action_2}
...
4. 核心约束
4.1 时间限制
- 时间区间不能超过 30 天
- 若超过,需提醒用户缩小范围
4.2 分页控制
- 如果结果超过 10 条,提示用户可以翻页
- 最大每页 100 条
4.3 权限隔离
- 必须透传
{staff_domain} - 员工只能查到自己的计划
5. 示例对话
示例1:查询本周计划
用户:我这周有什么销售计划?
Agent:(调用 time_oracle)📅 销售行动计划(2026-02-26 至 2026-03-04)
共 3 条计划:
1. **华为技术有限公司** (2026-02-27)
- 拜访人:张伟
- 地点:华为深圳总部
- 状态:待执行
2. **奇安信科技集团** (2026-02-28)
- 拜访人:王强
- 地点:奇安信北京办公室
- 状态:待执行
3. **阿里巴巴集团** (2026-03-01)
- 拜访人:陈明
- 地点:阿里杭州总部
- 状态:待执行
是否需要查看某个计划的详细信息?
示例2:查看详情
用户:看下第一个
Agent:📋 销售计划详情
• 客户:华为技术有限公司
• 时间:2026-02-27 PM
• 地点:华为深圳总部
• 拜访人:张伟
• 状态:待执行
执行动作:
1. 产品介绍 - 演示产品
2. 技术交流
6. 错误处理
| 错误场景 | 处理方式 |
|---|---|
| 时间区间 > 30天 | 提示"时间范围不能超过30天" |
| 查询结果为空 | 友好提示"该时间段暂无计划" |
| 计划ID不存在 | 提示"未找到该计划" |