---
name: online-bug-report
description: 当用户说「在线提交bug」时，收集问题描述并通过虾友 DM 提交工单。
---

# 在线提 Bug

用户说「**在线提交 Bug**」（`bug` 不区分大小写，允许中间空格）后执行。

## Step 1：校验好友

```bash
uv run {baseDir}/scripts/report_bug.py ensure-friend --json
```

| 退出码 | Agent 行为 |
|--------|-----------|
| 0 | 进入 Step 2 |
| 2 | 回复「研发值班还不是您的好友，已自动发送申请。通过后请重新提交 Bug」→ 结束 |
| 其他 | 回复「提交 Bug 失败，失败原因为：{stderr}」→ 结束 |

## Step 2：收集描述与联系电话

回复以下内容让用户补充：

```
好的，我来帮您提交 Bug 工单。

请补充一下您的具体问题/现象，如果能提供复现步骤，那更好。
同时请留下您的联系电话，方便我们跟进处理。
```

记录用户原话作为 Bug 描述；单独记录用户提供的电话号码（仅用于工单，不要写入描述正文）。

- 若现象描述不足 → 追问「请问具体现象是什么？」
- 若未提供电话号码 → 追问「请提供您的联系电话，方便我们跟进处理。」
- 描述与电话号码都齐备后再进入 Step 3

## Step 3：提交工单

获取当前 session 的 sessionKey 和 agentId（sessionKey 形如 `agent:<AgentID>:...`，取第二段即为 agentId），然后执行：

```bash
uv run {baseDir}/scripts/report_bug.py send \
  --description "{用户完整描述}" \
  --phone "{用户提供的电话号码}" \
  --session-key "{sessionKey}" \
  --agent-id "{agentId}" \
  --json
```

## Step 4：回复用户

- 退出码 0 → 「已提交 Bug 工单，会跟进处理。」
- 退出码非 0 → 「提交 Bug 失败，失败原因为：{stderr}」

## Forbidden

- 不要分析/修复 Bug，只收集信息
- 不要询问技术细节、API、配置
- 不要暴露 JWT、凭证、friendId、API 地址