让智能体查 IDE 状态、触发预览并把二维码贴进对话
30.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bushizhanghan/dsh-weapp-loop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 25 处,展示前 19 条)
- 写入本地文件lib/index.js:38
mkdirSync(join(homedir(), '.dsh', 'dsh-weapp-loop'), { recursive: true }) - 读取本地文件lib/index.js:42
return JSON.parse(readFileSync(stateFile, 'utf8')) - 写入本地文件lib/index.js:50
writeFileSync(stateFile, JSON.stringify(next, null, 2), 'utf8') - 执行外部命令固定命令lib/index.js:82
const out = execSync('tasklist /fo csv /nh', { encoding: 'utf8', timeout: 5000, windowsHide: true }) - 读取本地文件lib/index.js:193
if (existsSync(f)) unlinkSync(f) - 删除本地文件lib/index.js:193
if (existsSync(f)) unlinkSync(f) - 读取本地文件lib/index.js:210
if (existsSync(paths.info)) info = JSON.parse(readFileSync(paths.info, 'utf8')) - 读取本地文件lib/index.js:210
if (existsSync(paths.info)) info = JSON.parse(readFileSync(paths.info, 'utf8')) - 读取本地文件lib/index.js:271
if (existsSync(paths.info)) info = JSON.parse(readFileSync(paths.info, 'utf8')) - 读取本地文件lib/index.js:271
if (existsSync(paths.info)) info = JSON.parse(readFileSync(paths.info, 'utf8')) - 读取本地文件lib/engine.js:29
if (existsSync(cli)) return { cli, root } - 读取本地文件lib/engine.js:45
if (!existsSync(file)) return null - 读取本地文件lib/engine.js:47
return JSON.parse(readFileSync(file, 'utf8')) - 读取本地文件lib/engine.js:63
exists: existsSync(join(projectPath, 'app.json')), - 读取本地文件lib/engine.js:81
if (!existsSync(root)) continue - 读取本地文件lib/engine.js:84
if (!existsSync(weapp)) continue - 执行外部命令固定命令lib/engine.js:122
const child = spawn('cmd.exe', ['/c', cli, ...args], { windowsHide: true }) - 发起网络请求lib/client.js:30
const response = await fetch(CONFIG_PATH, { cache: 'no-store' }); - 发起网络请求lib/client.js:108
void fetch('/dsh-weapp-loop/health', { method: 'GET' }).catch(() => {});
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek-Harness 的微信小程序开发闭环:IDE 状态、预览二维码直接发进会话、结构化编译错误、侧边栏面板。
README
由 DeepSeek 最新模型翻译生成dsh-weapp-loop — 小程序开发闭环(DSH 插件)
把「改代码 → 开开发者工具 → 等编译 → 找报错 → 贴二维码」这条人肉接力链,变成智能体的一次工具调用。
微信小程序开发时,DevTools 的 CLI 是一个已登录、已打开项目的 IDE 的遥控器。这个插件把那条遥控线接到 DeepSeek-Harness 上:智能体能查状态、启动 IDE、触发预览、解析编译报错,二维码直接贴进对话让你手机扫;右栏还有一块面板常驻显示 IDE 状态、最近预览和错误清单。
安装
dsh plugin --profile desktop add @bushizhanghan/dsh-weapp-loop
或本地开发(link 到目录)。重启 DSH 后生效。
智能体工具
| 工具 | 作用 |
| weapp_status | 检测 IDE 是否安装/在运行/已就绪,并列出开发者工具记录过的项目。
展开完整文档(README 剩余 1 节)
dsh-weapp-loop — 小程序开发闭环(DSH 插件)
把「改代码 → 开开发者工具 → 等编译 → 找报错 → 贴二维码」这条人肉接力链,变成智能体的一次工具调用。
微信小程序开发时,DevTools 的 CLI 是一个已登录、已打开项目的 IDE 的遥控器。这个插件把那条遥控线接到 DeepSeek-Harness 上:智能体能查状态、启动 IDE、触发预览、解析编译报错,二维码直接贴进对话让你手机扫;右栏还有一块面板常驻显示 IDE 状态、最近预览和错误清单。
安装
dsh plugin --profile desktop add @bushizhanghan/dsh-weapp-loop
或本地开发(link 到目录)。重启 DSH 后生效。
智能体工具
| 工具 | 作用 |
| weapp_status | 检测 IDE 是否安装/在运行/已就绪,并列出开发者工具记录过的项目。先用它 |
| weapp_projects | 列出开发者工具记住的所有小程序项目(读 User Data,只读不猜) |
| weapp_open | 启动 IDE 并打开项目,轮询等待就绪(首次需你扫码登录) |
| weapp_preview | 触发预览,返回 base64 二维码数据 URL + 编译结果 + 结构化错误 |
| weapp_errors | 把任意 IDE 控制台/CLI 输出解析成结构化错误(file/line/column/kind) |
| weapp_upload | 上传开发版本(生产动作,必须 confirmed=true 才执行) |
它解决的真实问题
改完 pages/index/index.wxml,以前你要:切到 DevTools → 等它自己编译 → 在一堆日志里翻报错 → 复制回对话 → 再改。
现在:
你:导航栏改好了,真机上看看 agent: weapp_preview(project) → 编译失败 → 拿到 [{file: 'pages/index/index.wxml', line: 23, kind: 'error', message: '标签闭合错误'}] → 直接告诉你哪一行、为什么,顺手修掉 → 编译成功 → 二维码贴进对话 → 你手机扫
右栏「小程序」面板同时显示:IDE 就绪状态、最近预览的二维码、编译问题清单。
配置(cordis patch 的 config 字段)
| 字段 | 默认 | 说明 |
| projectPath | '' | 默认项目目录。缺省时从开发者工具的 last_all_projects 推断(只有一个项目时自动用它) |
| cliTimeoutMs | 20000 | 单次 CLI 调用超时。CLI 在 IDE 未登录时会挂起,所以必须有界 |
| openWaitMs | 60000 | weapp_open 等待就绪的时长 |
环境变量:WECHAT_DEVTOOLS_PATH 指向安装目录(含 cli.bat),默认依次探测 D:\微信web开发者工具、C:\Program Files (x86)\Tencent\微信web开发者工具。
⚠️ 诚实的能力边界
1. 首次必须人工扫码登录。DevTools 的登录态插不了手——weapp_open 会启动 IDE 并等你登录,未就绪时其他工具明确返回 ide-not-ready,不会假装预览成功。
2. 编译报错解析是逆向的。DevTools 控制台没有稳定的机器格式;解析不了的行会原样进 raw 字段,不丢信息,但也不假装结构化。
3. 上传需显式确认。weapp_upload 不带 confirmed=true 只会返回「将上传什么」的预览。
工作原理
感知 tasklist 探 IDE 进程 + User Data 的 last_all_projects 读项目清单 cli.bat preview/open/upload 走官方 CLI(不碰 UI 自动化)记忆 ~/.dsh/dsh-weapp-loop/state.json 存最近二维码/预览时间/错误清单决策 编译错误按 file:line:col 解析;未就绪时如实上报而不是假成功行动 二维码数据 URL 回给智能体 → 贴进对话;错误清单进右栏面板
host 半注册 GET /dsh-weapp-loop/config 与 /health 两条路由,右栏面板每 3 秒轮询一次拿到同一份状态。
开发
node --test test/ # engine 单测(11 个)
node test/integration.test.mjs # 全链路集成测试(9 项,fake ctx + 真实引擎)
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
bushizhanghan/dsh-weapp-loop
让智能体查 IDE 状态、触发预览并把二维码贴进对话
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目