dsh-p2m
DSH 插件管家:统一管理+冲突处理+按用时排序
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GiantAxeint/DSH-P2M说明文档
阅读完整 README ↗使用
A 插件启动后自动工作;状态与数据落在 /p2m/(默认 ~/.dsh/p2m/):
| 文件 | 内容 |
|---|---|
plugin-guard.yml | 唯一 guard(被禁插件的持久名单,启动时以 --patch 注入) |
usage.json | 每插件累计使用时长台账(采样口径 30s,可配) |
incidents.jsonl | 冲突/隔离/恢复/弹窗决策的追加流水(append-only) |
state.json | p2m 自身状态(boot 计数、快照等) |
ctx.p2m API(运行期可调)
| 方法 | 作用 |
|---|---|
list() | 按优先级输出排序列表(含 tier / usageMs / running / disabled) |
status() | 当前配置与 guard 状态 |
usage() / incidents(n) | 台账 / 最近 n 条流水 |
scanConflicts() | 立即做一轮静态+运行期冲突扫描(只报告) |
enable(id) / disable(id) | 恢复/禁用(恢复前会走试用门禁;protected 不可禁用) |
trial(id) | 手动子进程试跑一次,返回 verdict(ok/crash/timeout/unsupported) |
reconcile() / sample() | 手动触发对账 / 采样 |
试用门禁(下载即试跑)
- 开启新插件/恢复被隔离插件前,先在子进程里 import+apply 试跑一次。
- 试跑失败(crash/timeout/无法判定)→ 桌面弹窗:取消开启(默认,安全)/ 无视风险继续使用(记 incident;若仍崩溃,冷却期内自动隔离,避免弹窗风暴)。
- 配置
autoGateRisk:false关闭门禁,或ui:'none'关闭弹窗(一律默认取消)。
配置(挂载行 config 给入)
| key | 默认 | 说明 |
|---|---|---|
sampleIntervalMs | 30000 | 使用时长采样间隔 |
autoIsolate | true | 运行期自动隔离(false=只报告) |
autoGateRisk | true | 试用门禁开关 |
ui | 'auto' | 弹窗模式:auto/desktop/none |
popupCooldownMs | 120000 | 同一插件弹窗冷却 |
trialTimeoutMs | 15000 | 试跑子进程超时 |
coreNamePrefixes | ['@deepseek-ai/'] | DSH 本体识别前缀 |
coreEntryIds | [] | DSH 本体额外 entry id |
patchLayers | [] | scanConflicts() 额外扫描的补丁文件 |