DeepSeek Harness 插件

dsh-client-ui-slingshot

A playful slingshot toy for the dsh web GUI: drag to aim, fire a stone, shatter UI elements and watch them tumble off screen — then pop back, good as new.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
JingkaiTang/dsh-client-ui-slingshot
最近更新
2026年8月17日
分类
趣味扩展
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/JingkaiTang/dsh-client-ui-slingshot
插件名:dsh-client-ui-slingshot
作者:JingkaiTang

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

弹弓玩具 · dsh slingshot toy 🪀

![弹弓玩具演示](assets/slingshot-demo.gif)

A playful, purely-visual toy for the dsh web GUI. A wooden slingshot lives in the bottom-right corner of the page (drag it anywhere!):

1. 拖拽瞄准 — press and hold the leather pouch, drag it backwards (Angry-Birds style). A dotted arc previews where the stone will fly. 2. 松手发射 — release to fire the stone. 3. 打碎元素 — the stone shatters the first UI element it hits: the element is cloned into shards that burst apart, and the whole wreckage tumbles off the screen under gravity. 4. 自动恢复 — once it has fallen out of the viewport, the original element pops back with a small animation. Nothing in the GUI is ever permanently damaged — html/body and the toy itself are never targeted, and the layout is preserved the whole time (the original is only visibility:hidden while its clone flies).

Extra features:

  • 🪵 手柄拖动 — the slingshot has a leather grip handle at the bottom of

the trunk (orange-brown, with grip ridges and a grab cursor). Press and drag it to move the slingshot anywhere on the screen (clamped to the viewport) — no mode toggles. The position is persisted in localStorage and restored after reload; the collapsed launcher button follows the gun.

  • 🔊/🔇 sound toggle — WebAudio-synthesized boings, crashes and pops (no

assets), muted and state persisted in localStorage.

  • 💥 score counter (persisted).
  • Collapsible widget: ✕ hides it into a small launcher button that pulses and

shows a "where did it go" tip.

  • The client bundle is part of the dsh client HMR chain: edit

lib/client.js and the running page hot-swaps the plugin without a refresh.

安装(给使用者)

DSH 0811 起不再有官方 repository 插件机制,客户端插件统一挂进 web profile:

1. 把本包放进 profile 的模块解析路径(二选一): - 直接把 dsh-client-ui-slingshot 目录复制/软链到 ~/.dsh/profiles/node_modules/@t7kai/ 下,或 - 用 plugin-registry 控制台 git 源安装: dsh plugin --profile web add "github:<你的账号>/dsh-client-ui-slingshot#main" 2. 在 ~/.dsh/profiles/web/cordis.patch.yml 注册一行(配置层 HMR 热生效,无需重启):

``yaml - insert: - id: ui-slingshot name: '@t7kai/dsh-client-ui-slingshot' ``

3. 刷新浏览器页面,右下角出现弹弓 🪀(点击 ✕ 可收起;位置、声音、得分自动记忆)。

发布到 dshfind 插件超市

1. 将本仓库推送到 GitHub(公开仓库)。 2. 给仓库添加 dsh-plugin topic(仓库页 → About → Topics,或 gh repo edit <owner>/<repo> --add-topic dsh-plugin)。 3. dshfind.com/zh/plugins 每日自动同步该 topic 下的仓库 (star、贡献者、增长数据),无需提交申请。可选:再打上 deepseek-harnessdshcordis 等 topic 增加曝光。

Files

FilePurpose
package.jsonPackage manifest: dsh.client.platform = "web" + dsh.bundle.client = "./lib/client.js" declarations + ./client export (the dsh client-modules contract)
lib/index.jsHost-side no-op plugin (the loader row needs a valid host entry; the toy is browser-only)
lib/client.jsThe whole toy — vanilla DOM, no dependencies, ModuleLoader bundle format
README.mdThis file

How it is wired in

  • The package lives in the session workspace and is linked into the profile's

module resolution: ~/.dsh/profiles/node_modules/@t7kai/dsh-client-ui-slingshot → <workspace>/dsh-client-ui-slingshot

  • ~/.dsh/profiles/web/cordis.patch.yml registers the loader row

ui-slingshot (@t7kai/dsh-client-ui-slingshot); the profile patch layer is hot-reloaded by the running server, so the row and its bundle are served without a restart (a one-time page refresh picks the new plugin up).

Removing the toy

Delete the ui-slingshot row from ~/.dsh/profiles/web/cordis.patch.yml and remove the symlink ~/.dsh/profiles/node_modules/@t7kai/dsh-client-ui-slingshot. A page refresh unloads it.