预览本地网页并点选元素写批注,交给编码智能体修改
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/niobium617/dsh-vibecode-studio.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 28 处,展示前 28 条)
- 写入本地文件spikes/s1/host.ts:149
await appendFile(metricsPath, `${line}\n`, 'utf8') - 读取本地文件spikes/s1/run.ts:71
const info = await stat(path) - 写入本地文件spikes/s1/run.ts:76
await mkdir(libDir, { recursive: true }) - 写入本地文件spikes/s1/run.ts:90
await mkdir(buildDir, { recursive: true }) - 读取本地文件spikes/s1/run.ts:105
const code = await readFile(outfile, 'utf8') - 写入本地文件spikes/s1/run.ts:117
await writeFile(join(libDir, 'client.js'), wrapped, 'utf8') - 发起网络请求spikes/s1/run.ts:270
const response = await fetch(`${base}${PULL_PATH}?wait=1&after=${after}`, { - 发起网络请求spikes/s1/run.ts:316
const response = await fetch(`${base}${STREAM_PATH}`, { - 写入本地文件spikes/s1/run.ts:399
await writeFile(benchPath, `${JSON.stringify({ - 读取本地文件spikes/s1/soak.mjs:30
const packageMtimes = async () => Promise.all(packageFiles.map(async (file) => (await stat(file)).mtimeMs)) - 写入本地文件spikes/s1/soak.mjs:106
await mkdir(dirname(outPath), { recursive: true }) - 写入本地文件spikes/s1/soak.mjs:107
await writeFile(outPath, `${JSON.stringify(summary, null, 2)}\n`, 'utf8') - 读取本地文件spikes/s2/build.ts:17
return `${((await stat(path)).size / 1024).toFixed(1)} KiB` - 写入本地文件spikes/s2/build.ts:21
await mkdir(libDir, { recursive: true }) - 写入本地文件spikes/s2/build.ts:35
await mkdir(buildDir, { recursive: true }) - 读取本地文件spikes/s2/build.ts:50
const code = await readFile(outfile, 'utf8') - 写入本地文件spikes/s2/build.ts:62
await writeFile(join(libDir, 'client.js'), wrapped, 'utf8') - 读取本地文件spikes/s3/run.ts:431
const fixtureHtml = await readFile(fixturePath, 'utf8') - 写入本地文件spikes/s3/run.ts:493
await writeFile(resultsPath, `${JSON.stringify({ - 写入本地文件spikes/s4/run.ts:309
await writeFile(resultsPath, `${JSON.stringify(output, null, 2)}\n`) - 写入本地文件spikes/s7/run.ts:2556
await mkdir(join(ROOT, '.tmp', 'logs'), { recursive: true }) - 发起网络请求spikes/s7/run.ts:2590
const response = await fetch(url, init) - 写入本地文件spikes/s7/run.ts:3301
await writeFile(RESULTS_PATH, `${JSON.stringify(result, null, 2)}\n`, 'utf8') - 执行外部命令固定命令spikes/s8/run.ts:191
child = spawn('cmd.exe', ['/d', '/s', '/c', command], { - 执行外部命令来自配置/变量spikes/s8/run.ts:199
child = spawn(process.execPath, args, { - 发起网络请求spikes/s8/run.ts:241
const res = await fetch(`http://127.0.0.1:${port}/`, { signal: AbortSignal.timeout(500) }) - 写入本地文件spikes/s8/run.ts:615
await mkdir(logDir, { recursive: true }) - 写入本地文件spikes/s8/run.ts:617
await writeFile(resultPath, `${JSON.stringify(summary, null, 2)}\n`)
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的可视化 Vibe Coding 插件:在侧栏预览本地 Web 应用,点选元素写批注,把结构化上下文交给编码 Agent。
README
由 DeepSeek 最新模型翻译生成DSH Vibecode Studio
给 DeepSeek Harness 的可视化反馈回路:在 DSH 里预览本地 Web 应用,指出哪里不对,把结构化批注交给编码智能体——不用来回截图。
📖 第一次使用?直接看图文使用说明(5 分钟上手 + 界面导览)
界面导览(真实预览截图,已脱敏;点图看完整说明):① Studio 标签页 ② 五个页签 ③ 状态行/更多 ④ 地址栏 ⑤ 预览画布 ⑥ 拾取提示/元素卡片 ⑦ 批注气泡 ⑧ 底部抽屉。
最大特色:实时预览 + 点选页面元素,直接让 DSH 改。
不用截图、不用描述“左边那个蓝色按钮”。点中它,写一句要改成什么,Agent 收到的是选择器、源码位置和 DOM 上下文。
最大特色:实时预览 + 点选元素,直接改
1. 在 DSH 右栏实时预览本地应用 —— 流式 JPEG 约 30 fps,页面可点击、输入、滚动。
2. 点选出问题的元素,写下修改意见 —— 自动带出选择器、role / 可访问名称、DOM 片段,以及 React / Vue / Svelte 开发态源码位置。
3. 一键发送到对话 —— 批注进入 composer 草稿,Agent 用 vibe_annotation_get / vibe_observe / vibe_preview 读取结构化上下文并修改代码;不会自动发送,也不会自动提交。
展开完整文档(README 剩余 1 节)
DSH Vibecode Studio 给 DeepSeek Harness 的可视化反馈回路:在 DSH 里预览本地 Web 应用,指出哪里不对,把结构化批注交给编码智能体——不用来回截图。 📖 第一次使用?直接看图文使用说明(5 分钟上手 + 界面导览) 界面导览(真实预览截图,已脱敏;点图看完整说明):① Studio 标签页 ② 五个页签 ③ 状态行/更多 ④ 地址栏 ⑤ 预览画布 ⑥ 拾取提示/元素卡片 ⑦ 批注气泡 ⑧ 底部抽屉。 最大特色:实时预览 + 点选页面元素,直接让 DSH 改。 不用截图、不用描述“左边那个蓝色按钮”。点中它,写一句要改成什么,Agent 收到的是选择器、源码位置和 DOM 上下文。 最大特色:实时预览 + 点选元素,直接改 1. 在 DSH 右栏实时预览本地应用 —— 流式 JPEG 约 30 fps,页面可点击、输入、滚动。 2. 点选出问题的元素,写下修改意见 —— 自动带出选择器、role / 可访问名称、DOM 片段,以及 React / Vue / Svelte 开发态源码位置。 3. 一键发送到对话 —— 批注进入 composer 草稿,Agent 用 vibe_annotation_get / vibe_observe / vibe_preview 读取结构化上下文并修改代码;不会自动发送,也不会自动提交。 点「发送到对话」只写入 composer 草稿;改完后状态行提示「文件已改动」,刷新预览继续下一处。 👉 完整的 5 分钟上手流程、功能导览与排障:使用说明(图文) 状态:pre-alpha,未发布。 M0–M6 已完成,G0–G6 各道关卡全部通过:内嵌预览、检查/批注、API 工作台、智能体工具(vibe_status/vibe_observe/vibe_annotation_get/vibe_preview)、Vibe Studio 预设、/vibe、内置技能,以及 M6 的验证与加固工作(验证服务和面板、真实 DSH 端到端测试、浸泡测试、安全加固、打包与文档)。G6 对照 SPEC §2.3 拿到 8/8。M6 已合入 main(合并提交 f2f5342)。包仍刻意保持 private 且未发布——发布清单见 RELEASE.md。go/no-go 与回退决策见 G0 评审。 📖 使用说明(图文) · 中文简介 · 安装与使用 · 发布 · 安全策略 · 安全审计 · 设计 · 任务计划 · 开发日志 · M2 手册 · M3 手册 · M4 手册 · M5 手册 · M6 手册 · 界面与项目方向 · 后续方向 · 验证接口对接 中文简介 DSH Vibecode Studio 是面向 DeepSeek Harness(DSH) 的可视化 Vibe Coding 插件:在 DSH 侧栏里直接预览本地 Web 应用,点选页面元素写下修改意见,再把这些带上下文的批注交给编码智能体,省掉「截图 → 粘贴 → 用文字描述」的来回。 它解决什么问题 Vibe coding 的关键是让智能体「看见」结果。截图会丢失元素身份、交互上下文和截图外信息;本插件把预览本身变成反馈界面: 1. 本地 Web 应用在 DSH 右栏中预览,帧以流式 JPEG 传输,断流时回退到拉取式 JPEG。 2. 点击页面元素即可添加批注,无需离开预览。 3. 多条批注先进入批注队列,审核后再交接,不自动发送。 4. 智能体收到的是结构化上下文——路由、选择器、元素信息、源码位置和修改意见,而不是一张不透明的图片。 当前进度 - M0 / G0 已通过:S1 传输、S2 composer 交接、S3 screencast/输入/中文、S4 拾取/源码四个 spike 均完成,结论与回退方案见 spikes/G0.md。 - M1 完成并通过 G1:包脚手架与构建链、host ESM 入口、client loader bundle、contracts v1 契约、右栏 Studio shell 与标签页、ctx.connection 传输、测试 harness 与 Vite fixture、.vibe 设置与设置面板均已完成。 - M2 完成并通过 G2:预览闭环(screencast/帧路由/输入/工具栏/生命周期)、Console/Network 采集与抽屉、.vibe 设置已在 Host、Web 与隔离 Desktop 载体验证;G2 三端实测 24.4–25.9 fps。手动复测步骤见 手动测试手册。 - M2.5 / U01 已完成(Layout v2):预览页改为画布优先——常驻仅状态行、地址行、底部 tab,视口参数移入设置与「更多」菜单,Console/Network 改为覆盖式抽屉;三档面板(320/400/500px)无横向溢出,舞台占面板 85.6%,实测 26.2 fps。方向与验收见 界面与项目方向。 - M3 完成并通过 G3:元素拾取与选择器、元素上下文、React/Vue/Svelte 源码适配、标注气泡与队列、保存通知、composer 草稿交接、标注历史均已完成;G3 四项验收通过(50/50 源码命中、标注 ≤ 4 KB、3 动作进 composer、不自动发送)。手动复测步骤见 M3 手动测试手册。 - M4 完成并通过 G4:HTTP 发送(取消/超时/重定向/大响应)、请求构建(query/headers/body/auth)、响应查看(JSON 树/HTML/图片/二进制/分页)、环境与密钥引用、集合与历史、cURL 导入导出、OpenAPI 导入、内置断言、预览抓包回放均已完成;FR-API-01–10、12 通过,FR-API-11(Cookie jar)按 D8 延后。界面按 M4 人工审核意见整改(U04):首屏只留「方法 + URL + 发送」与响应区,其余收进「更多配置」与「更多工具」抽屉,新增新手/专业模式(默认新手并记忆)与内置 loopback 示例请求,术语改为 URL 参数/身份验证/结果校验/收藏。手动复测步骤见 M4 手动测试手册,配套本地目标服务 tools/m4-manual-server.mjs。 - M5 完成并通过 G5:智能体侧能力就绪——四个工具(vibe_status / vibe_observe / vibe_annotation_get / vibe_preview)、Vibe Studio preset、斜杠命令 /vibe、内置技能 vibecoding-studio;工具 schema 经 DSH 校验,越权动作(非 loopback、跨源、关闭截图后的 screenshot)在审批前即拒绝。手动复测步骤见 M5 手动测试手册。 - M6 已完成并通过 G6,已合并入 main(合并提交 f2f5342):验证服务与验证面板、真实 DSH 的 E2E 主链路、30 分钟 / 100 次标注的 soak、安全加固(pnpm test:security,见安全审计)、打包与文档(USER-GUIDE.md、RELEASE.md)。G6 对照 SPEC §2.3 的 8 条逐项达标(GO);干净 vibe-dev 安装已验证:tarball 227.1 kB / 11 个文件,--dump-config 组合树含插件行,/api/vibe/health 正常,Studio E2E 通过;隔离 Desktop 载体验证 5 个页签与验证抽屉可用,真实 desktop profile 未被修改。手测步骤见 M6 手动测试手册;M6 之后的选题建议见后续开发方向。 - 尚未发布:包保持 "private": true;发布需要用户明确批准,步骤与回滚见 RELEASE.md。spikes/ 保留为 spike 证据。 MVP 能力(M0–M6 已完成) - 仅限 localhost 的内嵌预览,默认 30 fps 流式 JPEG,拉取式回退。 - 页面元素拾取与标注 overlay,支持 React / Vue / Svelte 开发态源码定位。 - 批注队列、气泡与历史;交接前可审核。 - 通过公开 InputActions 把结构化文本写入 composer 草稿,不自动发送;截图走「复制 PNG + 手动粘贴」。 - 会话级多页面 tab;密钥只存放在 ctx.credentials,UI 只读取 describe 元数据。 - API 工作台、Agent 工具与 /vibe 命令、验证面板与打包(M4/M5/M6)。 安全边界 - 预览目标默认只允许 localhost;拒绝 file:、chrome:、devtools:、云元数据与私网地址。 - 不自动发送批注、不自动批准、不自动提交;截图不作为唯一证据。 - host/client 通信只走 ctx.connection,不直接使用 ctx.webServer。 - CDP 只连接已启动或已批准的 loopback 端点,不暴露到网络,并清理进程树。 快速开始 需要 Node.js 24、pnpm 11,以及 DSH 0.2.1-rc.2 或更新版本。只装进开发 profile vibe-dev,不要动 desktop / web。 pnpm install pnpm build # lib/index.js + lib/agent.js + lib/client.js npm pack # 产出 dsh-vibecode-studio-0.1.0.tgz dsh plugin --profile vibe-dev add file:<绝对路径>/dsh-vibecode-studio-0.1.0.tgz dsh --profile vibe-dev --no-open --host 127.0.0.1 --port 4317 开发时也可用 dsh plugin --profile vibe-dev add link:<本仓库绝对路径>,每次 pnpm build 后重启 DSH。 右栏「新标签页 → Vibe Studio」打开界面。第一次使用建议先看使用说明(图文);打包、干净安装验证与发布流程见发布说明。 完整设计见 SPEC,任务顺序见 todo.md,开发记录见 DEVLOG,自己复测功能见 M2 手动测试手册、M3 手动测试手册、M4 手动测试手册 与 M5 手动测试手册,界面与产品方向见方向文档。 为什么 智能体能看到结果时,vibe coding 效果最好。现在通常的做法是截个图,粘贴到对话里,再用文字描述问题。这样会丢掉元素身份、交互上下文,以及截图里看不到的一切。 DSH Vibecode Studio 把预览本身变成反馈界面: 1. 应用跑在 localhost,在 DSH 侧栏标签页里预览。 2. 点任意元素就能附上批注,不用离开页面。 3. 把多条批注收进一个批次,审核后发送到 composer。 4. 智能体收到的是结构化上下文——路由、选择器、包围盒、批注——而不是一张看不懂的图。 控制权始终在智能体手里。批注只是准备好交给 composer;不会自动发送、自动批准或自动提交。 计划中的 MVP - 仅限 localhost 的嵌入式预览,带流式 JPEG 传输和拉取 JPEG 回退(S1 两者都验证过;见传输报告)。 - 元素拾取器和标注浮层,渲染在实时预览之上。 - 批量标注托盘,交接前可先审阅。 - Composer 交接:插入一条结构化、可编辑的消息;在 DSH 开放公共附件 API 之前,截图走复制粘贴回退。 - 会话级页面标签页,支持多页面流程。 - 凭据不会到达页面;UI 只读取 describe 元数据。 仓库结构 docs/ product spec, user guide, release/security notes, capability map, UI direction src/ product package (host, client, contracts) tests/ Vitest unit/component/integration, Playwright E2E, security suite, soak runner fixtures/ vite-basic React app plus the security-injection fixture tasks/ implementation plan, ordered task list, handoff state spikes/ s1/ T001 transport spike: pull JPEG vs multipart stream s2/ T002 composer handoff spike: public InputActions + clipboard fallback s3/ T003 screencast, input latency, and Chinese IME spike s4/ T004 element picking and React/Vue/Svelte source mapping spike G0.md T005 spike review: go/no-go and final fallback decisions G0–G6 已通过,M1–M6 已完成:根包构建出 host lib/index.js、agent lib/agent.js 和 loader 包装的 lib/client.js,另外还有智能体预设用的 presets/ 和 skills/;测试放在 tests/,fixture 放在 fixtures/。 开发 环境要求:Node.js 24、pnpm 11,手动跑插件需要 DeepSeek Harness 0.2.1-rc.2 或更新版本。 pnpm install pnpm typecheck pnpm build # host + agent + client bundles npm pack --dry-run # package contents check pnpm test # Vitest: node + jsdom projects pnpm test:security # injection / redaction / origin / credential suites pnpm test:e2e # Playwright; real-DSH carrier via VIBE_DSH_BIN pnpm test:soak # 30 min + 100 annotations stability run pnpm fixture:dev # fixture only → http://127.0.0.1:4320 pnpm spike:s1:build # bundle S1 host/client (required before linking) pnpm spike:s1 # local 10 s pull-vs-stream benchmark node spikes/s1/soak.mjs ... # 10 min Web/Desktop soak; see spikes/s1/REPORT.md pnpm spike:s2:build # bundle S2 host/client (required before linking) pnpm spike:s3 --seconds 10 # screencast, input latency, Chinese IME pnpm spike:s4 # picker and React/Vue/Svelte source hits spikes/s1/package/lib/ 和 spikes/s2/package/lib/ 是生成产物,已加入 gitignore。链接前先构建,再执行 dsh plugin --profile vibe-dev add link:<absolute-path>;否则 DSH 链接到的包没有 host/client 入口点。基准测试、浸泡测试或人工验收运行期间,不要重新构建已链接的包;DSH 会热重载客户端,导致结果失效。S2 的手动步骤及其剪贴板限制见 spikes/s2/run.md。 这些 spike 安装到一个一次性 DSH 配置档(vibe-dev)里;绝不能直接装进 desktop 或 web。 工程护栏 - 所有 host/client 流量都走 ctx.connection;不要直接用 ctx.webServer。 - 页面和 API 内容一律视为不可信;密钥只放在 ctx.credentials 里。 - 预览目标默认是 localhost。file:、chrome:、devtools:、云元数据和私有网络目标一律拒绝。 - CDP 只连接已启动且已批准的端点,绝不暴露到网络。 - 不自动发送、批准、提交,也不接受仅凭截图的证据。 完整约定见 docs/SPEC-vibecoding-studio.md,按序排列的计划见 tasks/todo.md。 参与贡献 欢迎早期阶段的贡献,尤其是协议和传输方面的评审。请先读 CONTRIBUTING.md。安全报告请遵循 SECURITY.md。 免责声明 这是一个独立开源项目,与 DeepSeek 无关联,未获其背书或赞助。「DeepSeek」和「DeepSeek Harness」仅用于描述插件运行所在的宿主。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
niobium617/dsh-vibecode-studio
预览本地网页并点选元素写批注,交给编码智能体修改
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,173已汉化DeepSeek 客户端
74.4
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,308已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,897已汉化DSH
71.2
这是你的仓库?认领条目