phone-lens
手机变 dsh 会话的全功能摄像头(需配合开源的 Android 手机 App——安装插件后扫插件提供的二维码即可下载 APK):1. 局域网或 USB 直连实时取景,画面可直接注入对话框或保存到指定位置;2. 提供可调用工具,dsh 模型可在流式对话中按需主动拍照/变焦/切换镜头,便于全自动开发中模型主动"看见"物理世界;3. 提供完整的变焦/闪光灯、照片裁剪、标注等功能;4. 提供丰富的设置选项。
安装
dsh plugin --profile web add phone-lens
沙箱测试
这个插件还没测过。提交测试 →
README
phone-lens(dsh 插件)
phone-lens 是一个 dsh 双面插件,让手机相机成为 dsh 会话的即时视觉输入:
- host 半边:在 dsh 进程内起接收服务(Node HTTP + WebSocket,默认
0.0.0.0:8791),处理配对、上传、并将图片注入 dsh 会话输入框。 - client 半边:在 dsh Web UI 右下角注册一个悬浮取景小窗(
shell.overlay插槽),实时画面 + 快门 + 配对二维码。
环境要求
- Node.js ≥ 20、pnpm
- 一个 dsh web 配置(
dsh plugin --profile web)
安装
# 1. 构建 cd packages\phone-lens pnpm install pnpm build # 2. 接入 dsh 的 web profile dsh plugin --profile web add C:\Users\<you>\phone-lens\packages\phone-lens
也可以用仓库根的 scripts\dev-install.ps1 一键完成构建与接入,然后重启 dsh web,
终端会打印配对二维码。
发布到 npm 后,可直接 dsh plugin --profile web add phone-lens。
配置
默认配置见 cordis.patch.yml,可在你的 profile 层覆盖:
键 · 默认 · 说明
server.port · 8791 · 接收服务端口
limits.maxUploadBytes · 10485760 · 单张图片上限
limits.uploadsPerMinute · 10 · 上传频率限制
pairing.codeTtlMs · 900000 · 配对码有效期(15 分钟)
preview.fps · 10 · 预览帧率
inject.notePrefix · [手机拍照] · 注入消息文本块前缀
target.mode · latest · 目标会话:latest(最近活跃)/ pinned(固定)
使用
1. 手机 App 扫码配对
2. 手机端拍照(可选裁剪)→ 图片进入当前 dsh 会话
3. 手机端「启动预览」→ 电脑端悬浮小窗实时取景;多设备时手机端「设为主机」抢占预览
详见仓库根 [README](../../README.md) 与 docs/。
开发
pnpm build # tsdown 构建 lib/index.js(host)与 dev.js pnpm dev:standalone # 不进入 dsh,独立起接收服务(上传落盘 ~/.dsh/phone-lens/uploads) node --check lib/client.js # 手写 client 的语法校验
协议与安全设计见 docs/protocol.md、docs/architecture.md。
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:17,最后更新 2026-11-06