← ClaudeAtlas

deepseek-weblisted

通过 UI 自动化驱动 DeepSeek 网页版聊天(chat.deepseek.com)——自动检测/启动浏览器、窗口自动移回主屏并最大化(副屏/离屏/最小化自愈)、新建会话、发送消息、读取回复;内置 probe-windows/probe-buttons/probe-menu 探测工具 + 「锚点→候选→验证→降级」UI 发现方法链。纯 UIA,零鼠标不抢焦点。统一入口 scripts/deepseek-web.ps1。历史变更见 CHANGELOG.md。
AndersOnLin4/andersonlin4-skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill AndersOnLin4/andersonlin4-skills
# DeepSeek 网页版驱动 入口脚本 `scripts/deepseek-web.ps1`(与本 SKILL.md 同目录),纯 UIA 零鼠标。 > 历史版本(v1/v2)已归档,不随本目录分发;v1→v2→v3 变更见 `CHANGELOG.md`。 ## 铁律:先确保窗口就位,再操作 每个需要窗口的动作都会**自动前置 ensure**:选中的 DeepSeek 窗口若最小化则还原;窗口中心不在主屏工作区(副屏、被拖出屏幕)则自动 `MoveWindow` 回主屏;最后 `SW_MAXIMIZE` 放大化。主 Agent 不需要关心浏览器窗口"在哪块屏、是否最小化"——直接发动作指令即可。仅 `probe-windows` 例外(纯诊断,保证 ensure 本身出问题时也能排障)。 ## 铁律:UI 发现方法链——锚点 → 候选 → 验证 → 降级 **不写死坐标、不盲目信任控件名。** 网页改版/换分辨率/换屏后控件名、位置都可能变。当标准动作报错(`DEEPSEEK_WEB_ERROR:` 开头)时,按下面方法链逐步探测: 1. **锚点**:先定位最稳定的元素——聊天输入框(`probe-buttons` 第一行,Name 含「发送消息」且支持 ValuePattern 的 Edit) 2. **候选**:在锚点的相对区域内按「角色 + 模式」收候选(发送按钮 = 输入框右下、支持 Invoke 的 Button;新对话 = 侧栏含「新对话」文字的 Text 的上级可 Invoke 元素);`probe-buttons` 列出全部按钮的 Name | x,y,w,h | 模式 3. **验证**:动手前 `probe-menu -ButtonAt 'x,y'` 展开候选、看菜单/弹层内容确认身份,确认了再操作 4. **降级**:窗口元素坐标全负/异常 → `probe-windows` 看窗口 rect 是否在屏内,不在就跑一次 `ensure`;菜单项找不到 → 弹层挂在 RootElement 下(已按浏览器进程顶层窗口子树搜索,不会卡死);全部失败 → 把 probe 输出带给用户,说明"网页改版超出 skill 已知范围",不要硬点 标准排障顺序:`probe-windows`(窗口层)→ `probe-buttons`(控件层)→ `probe-menu`(菜单层)→ 定位目标 → Invoke/SetValue 操作。 ## 用法(pwsh 工具;每个新进程先执行第一句) ```powershell $s = '<本 skill 目录>\scripts\deepseek-web.ps1' # 已设 DSH_HOME 时也可:Join-Path $env:DSH_HOME 'skills\deepseek-web\scripts\deepseek-web.ps1' Set-ExecutionPolicy -Scope Process Bypass -Force & $s -Action status & $s -Action ensure # 手动确保:窗口移回主屏并最大化 & $s -Action open # 没有窗口时新开(默认自动复用已有 DeepSeek 窗口) & $s -Action send -Text '...' -NewW