Skip to content

Commit 045e758

Browse files
authored
Merge pull request #41 from BaiduNetdiskAIBot/main
fix(baidu-drive): 优化 Agent 授权链接的 markdown 输出格式,兼容移动端点击
2 parents 555cd7c + 76ad361 commit 045e758

3 files changed

Lines changed: 24 additions & 9 deletions

File tree

skills/baidu-drive/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ argument-hint: "[操作指令]"
6565
每次触发时按顺序执行:
6666

6767
1. **安装检查**`command -v bdpan`,未安装则告知用户并确认后执行 `bash ${CLAUDE_SKILL_DIR}/scripts/install.sh`(用户确认后可加 `--yes` 跳过安装器内部确认)
68-
2. **登录检查**`bdpan whoami`,未登录则引导执行 `bash ${CLAUDE_SKILL_DIR}/scripts/login.sh`
68+
2. **登录检查**`bdpan whoami`,未登录则引导执行 `bash ${CLAUDE_SKILL_DIR}/scripts/login.sh`。(**重要:** 向用户展示授权链接时,必须将链接提取到代码块外部,并严格使用 Markdown 格式 `[点击此处完成授权登录](URL)` 进行回复,确保手机端可点击)
6969
3. **路径校验**:验证远端路径在 `/apps/bdpan/` 范围内
7070

7171
---

skills/baidu-drive/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.6.0
1+
v1.7.0

skills/baidu-drive/scripts/login.sh

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,20 +119,35 @@ else
119119
exit 1
120120
fi
121121

122-
# 显示授权链接(支持 OSC 8 终端超链接,可直接点击打开浏览器)
122+
# 显示授权链接
123123
echo ""
124124
echo -e "${BLUE}========================================${NC}"
125125
echo -e "${BLUE}请在浏览器中打开以下链接完成授权:${NC}"
126126
echo -e "${BLUE}========================================${NC}"
127127
echo ""
128-
# OSC 8 超链接格式:\e]8;;URL\e\\显示文本\e]8;;\e\\
129-
# 支持 iTerm2, VS Code Terminal, Wezterm, GNOME Terminal, Windows Terminal 等
130-
# 不支持的终端会优雅降级,只显示文本
131-
echo -e "\033]8;;${AUTH_URL}\033\\${YELLOW}${AUTH_URL}${NC}\033]8;;\033\\"
128+
# 纯文本单独一行输出,不附带任何 ANSI/OSC 转义序列。
129+
# 无论是真实终端、日志采集,还是 AI Agent(如小艺 claw 等)抓取 stdout 文本
130+
# 再转发展示给用户,都能拿到一个完整、干净、可直接复制/点击的 URL。
131+
# 注意:此前版本使用 OSC 8 超链接转义序列(\e]8;;URL\e\\显示文本\e]8;;\e\\)
132+
# 在同一行内嵌入了两次 URL,在非真实终端环境(如部分 Agent 的输出解析逻辑)
133+
# 下容易被截断或错误拼接,导致用户拿到的链接不可用。
134+
echo "${AUTH_URL}"
132135
echo ""
136+
# 提供给 AI Agent 的 Markdown 格式,便于 Agent 直接抓取并放到代码块外
137+
echo -e "${YELLOW}Agent请提取以下Markdown格式回复给用户(需放在代码块外):${NC}"
138+
echo "[👉 点击此处打开授权页面](${AUTH_URL})"
139+
echo ""
140+
# 仅在真实交互式终端下,额外附加 OSC 8 可点击版本作为增强体验
141+
# (支持 iTerm2、VS Code Terminal、Wezterm、GNOME Terminal、Windows Terminal 等)。
142+
# 当 stdout 被管道/重定向或被 Agent 捕获时 [ -t 1 ] 为 false,不会输出该转义
143+
# 序列,从而避免被非终端场景的文本解析逻辑误处理。
144+
if [ -t 1 ]; then
145+
echo -e "\033]8;;${AUTH_URL}\033\\${YELLOW}👆 点击此处直接打开授权页面(如终端支持)${NC}\033]8;;\033\\"
146+
echo ""
147+
fi
133148
echo -e "${BLUE}========================================${NC}"
134149
echo -e "${YELLOW}提示:${NC}"
135-
echo -e "${YELLOW}1. 可直接点击上方链接打开浏览器(如终端支持${NC}"
150+
echo -e "${YELLOW}1. 可直接复制上方链接到浏览器打开(支持的终端也可直接点击${NC}"
136151
echo -e "${YELLOW}2. 链接有效期为 10 分钟${NC}"
137152
echo -e "${YELLOW}3. 授权成功后,浏览器会显示一个 32 位授权码${NC}"
138153
echo -e "${YELLOW}4. 请复制授权码并粘贴到下方${NC}"
@@ -180,4 +195,4 @@ if bdpan whoami &> /dev/null; then
180195
else
181196
log_error "登录失败,请检查授权码是否正确"
182197
exit 1
183-
fi
198+
fi

0 commit comments

Comments
 (0)