让智能体标注磁盘目录,由你决定清理并预览执行
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add vlln/dsh-pancha该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 21 处,展示前 21 条)
- 读取本地文件index.mjs:43
if (!existsSync(newData) && existsSync(oldData)) { - 写入本地文件index.mjs:44
try { renameSync(oldData, newData) } catch { try { cpSync(oldData, newData, { recursive: true }) } catch { } } - 读取本地文件index.mjs:62
const exists = (path) => { try { statSync(path); return true } catch { return false } } - 读取本地文件index.mjs:304
const info = await stat(root) - 读取本地文件index.mjs:593
const info = await stat(root) - 发起网络请求lib/client.js:271
const res = await fetch(url, { headers: { accept: 'application/json' }, ...init }) - 写入剪贴板lib/client.js:799
await navigator.clipboard.writeText(e.path) - 读取本地文件lib/src/scan.mjs:23
const dirents = await readdir(root, { withFileTypes: true }) - 读取本地文件lib/src/scan.mjs:64
const st = await lstat(path) - 读取本地文件lib/src/scan.mjs:82
frame.list = await readdir(frame.dir, { withFileTypes: true }) - 读取本地文件lib/src/scan.mjs:98
const st = await lstat(child) - 读取本地文件lib/src/ledger.mjs:21
const parsed = JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件lib/src/ledger.mjs:59
mkdirSync(base, { recursive: true }) - 写入本地文件lib/src/ledger.mjs:61
writeFileSync(tmp, JSON.stringify(data)) - 写入本地文件lib/src/ledger.mjs:62
renameSync(tmp, file) - 读取本地文件lib/src/organize.mjs:13
const st = await stat(cur) - 读取本地文件lib/src/organize.mjs:26
await lstat(path) - 读取本地文件lib/src/organize.mjs:49
st = await lstat(from) - 读取本地文件lib/src/organize.mjs:56
toStat = await stat(to) - 写入本地文件lib/src/organize.mjs:79
await mkdir(to, { recursive: true }) - 写入本地文件lib/src/organize.mjs:80
await rename(from, plan.dest)
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
盘查:把磁盘变成一张可审查、可批注、可执行的盘面,Agent 标注、你来做决定(DeepSeek Harness 插件)
README
由 DeepSeek 最新模型翻译生成盘查 · Pancha
把磁盘变成一张可审查、可批注、可执行的盘面。智能体负责看懂每个目录,你负责做决定,执行前一定先预览。
盘查:树图 + 检查器
Finder 和 SpaceSniffer 只回答「哪个文件夹大」,不回答「它是什么、删了会怎样」。
真要清理时,你得自己翻进去看、自己判断、自己记住哪些不能动——一次只能处理一个目录。
盘查把这一步交给工具:智能体为每个目录写一句语义(是什么、能不能清理、依据是什么),你只需要在盘面上做决定。和「让智能体直接删」的区别是——它没有执行权,只能写标记,真正移动文件必须由你点「执行清理」。
30 秒安装
在 dsh web 里:打开 Plugins → 添加插件,输入 github:vlln/dsh-pancha,点安装。
用命令行:
dsh plugin --profile web add github:vlln/dsh-pancha
- 生效:装完刷新页面,无需重启宿主。
- 前置:dsh 0.2.x(在 0.2.1-rc.1 上验证)。
- 卸载:dsh plugin --profile web remove dsh-pancha。
- 装不上时:先在 Plugins 页看是否显示「加载失败」,多半是 dsh 版本不匹配。
装好后左侧栏会出现 盘查,Plugins 页的「已安装插件」里也能看到它和图标。
展开完整文档(README 剩余 1 节)
盘查 · Pancha 把磁盘变成一张可审查、可批注、可执行的盘面。智能体负责看懂每个目录,你负责做决定,执行前一定先预览。 盘查:树图 + 检查器 Finder 和 SpaceSniffer 只回答「哪个文件夹大」,不回答「它是什么、删了会怎样」。 真要清理时,你得自己翻进去看、自己判断、自己记住哪些不能动——一次只能处理一个目录。 盘查把这一步交给工具:智能体为每个目录写一句语义(是什么、能不能清理、依据是什么),你只需要在盘面上做决定。和「让智能体直接删」的区别是——它没有执行权,只能写标记,真正移动文件必须由你点「执行清理」。 30 秒安装 在 dsh web 里:打开 Plugins → 添加插件,输入 github:vlln/dsh-pancha,点安装。 用命令行: dsh plugin --profile web add github:vlln/dsh-pancha - 生效:装完刷新页面,无需重启宿主。 - 前置:dsh 0.2.x(在 0.2.1-rc.1 上验证)。 - 卸载:dsh plugin --profile web remove dsh-pancha。 - 装不上时:先在 Plugins 页看是否显示「加载失败」,多半是 dsh 版本不匹配。 装好后左侧栏会出现 盘查,Plugins 页的「已安装插件」里也能看到它和图标。 第一次打开会自动建一个一次性会话并扫描主目录,几秒后出现方块。 用起来 看 列表视图 树图按体积占位,facet 色条告诉你这一层被归成了哪几类;点开方块,右侧显示语义、依据和历史体积曲线。 列表视图把 1 像素以下的小项也列出来,方便逐项过。 定 - K 保留、D 待清理、空格 循环三态,Backspace 清除;多选时作用于全部。 - 方块立刻变样:保留是绿框 ✓,待清理是红底 ✕,智能体标的还会带一个小 A。 - 你的决定优先于智能体的语义;它只能写「异议」,不能改你的决定。 执行 点 执行清理 → 逐项预览(源是否还在、目标是否冲突)→ 确认后移到废纸篓。 macOS 拒绝写废纸篓时退到 $DSH_HOME/trash/<时间戳>/,界面会写明去向。 成功后记成一批,点「撤销这批」可以移回。 让智能体参与 对话 扫描结束后自动补语义,扫描过程中也会先对已读到的部分动手;点 让智能体提方案 让它挑一批最有把握的。 右上角 对话 打开抽屉,可以直接问它、看它这一轮做了什么。 智能体能力 | 工具 | 说明 | | disk_canvas_scan | 扫描一个目录(默认主目录)的直接子项,返回体积最大的若干项 | | disk_canvas_state | 读当前盘面:计划、条目、你的决定;wait:false 可在扫描中读 | | disk_canvas_claim | 给某个路径写一条语义(一句话 + 类别 + 依据) | | disk_canvas_mark | 直接标一批决定(和用户按键是同一份数据),只补没决定的 | | disk_canvas_object | 对你不同意的决定写一句异议,不改决定 | | disk_canvas_history | 读账本里的历史扫描与增量 | 约束来自投递消息里的提示词:只分析、标注、预览,不直接改动文件。这是软约束——默认会话本身仍有文件/命令工具;要工具级隔离,需要自己加一个受控 preset。 安全与数据 - 扫描只读 readdir / stat,不跟随符号链接,不修改任何文件。 - 执行只做「移动到废纸篓」,没有删除接口;逐项检查冲突,单项失败不影响其它项。 - 扫描快照、决定、智能体语义存在 $DSH_HOME/data/dsh-pancha/ledger.json,只在本机,不上传。 - 没有遥测;只有你绑定的会话会把扫描结果摘要发给模型。 兼容性 | dsh 版本 | 状态 | | 0.2.1-rc.1 | ✅ 已验证(2026-10-20) | | 其它 0.2.x | ⚠️ 未验证——升级后若侧栏入口消失或面板空白,多半是 client 槽位改名 | 官方 Desktop 未验证;web 与 desktop 的安装互不相通,各装一次。 已知限制 - 只扫描当前层的直接子项,逐层下钻;不建全盘索引。 - 执行只有「移动」一种动作,没有重命名 / 归档 / 压缩。 - 废纸篓权限随宿主环境而异;被拒时走插件回收目录,恢复入口是「撤销这批」。 - 智能体语义是「一句结论 + 依据」,不保证正确;决定权在用户。 插件管理 装/卸/启停用官方命令行:dsh plugin --profile web add|remove dsh-pancha;已装插件在侧边栏 Plugins 页 里查看与配置。Desktop 上从应用内的 Plugins 页安装与管理。 反馈 - Bug / 想法:Issues - 喜欢的话给个 ⭐:vlln/dsh-pancha 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
vlln/dsh-pancha
让智能体标注磁盘目录,由你决定清理并预览执行
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9