npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-computer-use-vision

v0.1.1

Published

Windows computer-use capability for DeepSeek Harness: screenshot → vision model → simulated mouse/keyboard input, with self-evolving knowledge base.

Readme

Computer Use Vision — DSH 插件

Windows 桌面「识图 + 模拟操作」能力,作为 DeepSeek Harness 插件运行。

让纯文本模型(DeepSeek、MiMo 等无多模态能力的 LLM)也能:

  1. 看屏幕:截图 → 调外部 vision 模型(默认阿里云百炼 qwen-vl-max)→ 得到文字描述和坐标
  2. 操作电脑:SendInput 模拟鼠标点击/拖拽、键盘快捷键/文字输入
  3. 越用越聪明:内置自进化应用技巧库(knowledge/),每次使用后沉淀新快捷键、新坑位、新解法

出处与致谢

本插件的 Skill 层源代码(SKILL.md、scripts/、knowledge/)取自:

wimi321/windows-computer-use-skill 一个面向 Windows 的顶级 computer-use skill,内置独立 runtime 与 MCP server。 原项目采用 MIT 许可。

本插件在此基础上做了以下改动:

  • 适配 DSH 插件体系:将 skill 内容封装为 ctx.skills.register() 注册,新增 defineTool 工具层(computer-see/click/rightclick/drag/type/key/scroll/knowledge)
  • 双模式支持:插件模式(工具注册)+ 纯 skill 模式(pwsh 回退)
  • ESM/CJS 兼容修复assets/scripts/package.json 强制 vision.js 按 CommonJS 加载,解决 DSH 仓库内 "type": "module" 导致的 require is not defined 问题
  • 自进化知识库保留:knowledge/ 目录原样保留,agent 操作后可继续沉淀经验
  • DSH bundle manifest:添加 dsh.bundle + cordis.patch.yml,支持 dsh plugin add 一键安装

感谢 wimi321 的原始工作。

架构

本插件遵循 DSH 的 skill + tool 混合形态

┌──────────────────────────────────────────────┐
│  Skill 层(怎么想)                            │
│  computer-use-vision (SKILL.md)               │
│  工作流 · 优先级 · 安全规则 · 自进化协议        │
│  resourceBase → assets/ (knowledge/, scripts/) │
└──────────────┬───────────────────────────────┘
               │ 模型加载后调用
┌──────────────▼───────────────────────────────┐
│  Tool 层(怎么做)                             │
│  computer-see / click / type / key / scroll    │
│  defineTool → ctx.tools.register              │
│  内部封装 PowerShell/Node 脚本                 │
└──────────────┬───────────────────────────────┘
               │ child_process / DSH shell
┌──────────────▼───────────────────────────────┐
│  Windows 原生层                               │
│  capture.ps1 → vision.js → input.ps1          │
│  SendInput (NET) · OpenAI-compatible API       │
└──────────────────────────────────────────────┘

工具参考

| 工具名 | 作用 | 典型参数 | |---|---|---| | computer-see | 截图 + vision 模型描述 | prompt, window_title? | | computer-click | 鼠标左键点击 | x, y | | computer-rightclick | 鼠标右键点击 | x, y | | computer-drag | 鼠标拖拽 | from_x/y, to_x/y, modifiers? | | computer-type | 文字输入(剪贴板) | text | | computer-key | 键盘快捷键 | keys(如 "Ctrl+A") | | computer-scroll | 滚轮滚动 | x, y, delta | | computer-knowledge | 查询技巧库 | action(list/search/app), query? |

所有坐标均为屏幕物理像素(DPI 感知),computer-see 返回的坐标可直接用于 computer-click

配置

cordis.yml 中启用并配置:

plugins:
  - name: dsh-computer-use-vision
    config:
      visionBaseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1"  # OpenAI 兼容端点
      visionModel: "qwen-vl-max"        # 任意 OpenAI 兼容 vision 模型
      visionApiKey: ""                   # 留空则读 VISION_API_KEY 环境变量
      visionTimeoutMs: 30000
      commandTimeoutMs: 10000

Key 读取优先级config.visionApiKey > 环境变量 VISION_API_KEY > DASHSCOPE_API_KEY

支持任何 OpenAI 兼容的 vision 服务(阿里云百炼 / OpenAI / 中转等),改 visionBaseUrlvisionModel 即可。

安装到 DSH

方式一:--patch 加载(开发/测试)

# 在 DSH 仓库目录下,通过 junction link 开发
mklink /J packages\shell\computer-use D:\code\ai\computer-use-vision
pnpm install
npx tsc -b packages/shell/computer-use/tsconfig.json

# 通过 --patch 加载
pnpm dsh web --patch ./packages/shell/computer-use/cordis.patch.yml

方式二:dsh plugin add(正式安装)

# 打包后安装到 profile
dsh plugin add dsh-computer-use-vision --profile default

方式三:纯 Skill 模式(无需插件)

只把 SKILL.md 放进 .agents/skills/computer-use-vision/,通过 skill 工具加载。 模型用 pwsh 工具直接调用 assets/scripts/ 下的脚本(见 SKILL.md 底部「Skill 模式命令」)。

# 配置 Vision Key
$env:VISION_API_KEY = "sk-xxx"

# 直接调用脚本
powershell -NoProfile -ExecutionPolicy Bypass -File assets/scripts/see.ps1 -Prompt "描述屏幕"
powershell -NoProfile -ExecutionPolicy Bypass -File assets/scripts/input.ps1 click -X 960 -Y 540

自进化知识库

assets/knowledge/ 目录是自进化应用技巧库。每个应用一个 Markdown 文件,包含:

  • 识别特征:如何判断当前是该应用
  • 已验证快捷键:实测有效的快捷操作
  • 坑位记录:已知问题和解法
  • 待验证区:存疑的条目

模型每次操作结束后必须输出自进化报告,有更新时写入 knowledge/apps/<应用>.md 并追加 REPORTS.md 日志。

安全规则

  1. 不操作:登录/认证对话框、密码管理器、系统安全/隐私设置、支付页面
  2. 移动优先于删除:覆盖/替换前必须确认
  3. 剪贴板保护:剪切后禁止用剪贴板型输入;粘贴前验证
  4. 最小操作序列:只做任务所需的最小操作
  5. 不注入终端命令:不碰 Win 键组合
  6. 立即停止:用户中断或环境异常(锁定/弹窗)立即报告

依赖

  • Windows:PowerShell 5.1+ / .NET(SendInput)— 已内置于 Windows
  • Node.js:≥ 18(vision.js 零第三方依赖)
  • 外部服务:OpenAI 兼容的 vision API(默认阿里云百炼 qwen-vl-max)

开发

# 在 DSH 仓库内开发(通过 junction link)
cd <dsh-repo>
pnpm install
npx tsc -b packages/shell/computer-use/tsconfig.json

# 或直接在本目录(需要 DSH workspace 依赖可用)
pnpm run build      # tsc -b

构建输出在 lib/types/(ESM JS + .d.ts 声明),无需额外 bundler。

项目结构

computer-use-vision/
├── README.md                # 本文件
├── package.json             # dsh-computer-use-vision(含 dsh.bundle)
├── cordis.patch.yml         # DSH bundle 插件行声明
├── tsconfig.json            # 继承 DSH tsconfig.base.json
├── SKILL.md                 # 双模式技能指令(插件工具 + pwsh 回退)
├── SKILL.original.md        # 原始技能文档(保留参考)
├── src/                     # 插件 TypeScript 源码
│   ├── index.ts             # 入口(name/inject/Config/apply)
│   ├── types.ts             # 纯类型
│   ├── command.ts           # 命令执行抽象(RunCommand 接口)
│   ├── windows-driver.ts    # Windows 驱动(封装脚本调用)
│   ├── tools.ts             # 8 个 defineTool 定义
│   ├── skill.ts             # ctx.skills.register 技能注册
│   └── invariant.ts         # 包清单注册
├── lib/types/               # 构建输出(tsc -b,ESM JS + .d.ts)
├── assets/
│   ├── SKILL.md             # 技能指令(canonical,被 skill.ts 读取)
│   ├── scripts/             # PowerShell/Node 脚本
│   │   ├── see.ps1, capture.ps1, input.ps1
│   │   ├── vision.js(+ package.json 强制 CJS)
│   │   └── knowledge.ps1
│   └── knowledge/           # 自进化技巧库
│       ├── INDEX.md, REPORTS.md, _TEMPLATE.md
│       └── apps/            # 各应用技巧文件
└── examples/
    └── workflow.md

许可

MIT —— 详见 LICENSE

Skill 层源代码(scripts/、knowledge/、SKILL.md)取自 wimi321/windows-computer-use-skill,原项目同为 MIT 许可。