dsh-isolation-gate 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # Changelog
2
+
3
+ ## 0.2.1 — 2026-10-21
4
+
5
+ 只改元数据,无行为变更。
6
+
7
+ - `package.json` 补 `repository` / `homepage` / `bugs`,npm 页面回链 GitHub
8
+ - 关键词补充 `agent-safety` / `access-control` / `windows`
9
+ - README 重写首屏:横幅、徽章、Star CTA、路线图、参与入口
10
+ - 补齐开源配套:CONTRIBUTING / SECURITY / CODE_OF_CONDUCT / Issue 与 PR 模板
11
+ - CI 拆成 ubuntu 语法检查 + windows 功能自测
1
12
  # 变更记录 · dsh-isolation-gate
2
13
 
3
14
  > 本包原名 `dsh-access-gate`(npm 上该名已被他人占用,与本插件无关系)。
package/README.md CHANGED
@@ -1,9 +1,24 @@
1
+ <p align="center"><img src="docs/banner.svg" alt="门禁 · dsh-isolation-gate" width="100%"></p>
2
+
1
3
  # 门禁 · dsh-isolation-gate
2
4
 
3
- > 给 DeepSeek Harness(DSH)的**隔离区授权台**:一屏看清「这台机器上哪些目录受管、各自什么级别」,
4
- > 点一下就生效 —— **默认禁**、**名单制**、**分组批量切**、**可审计**、**agent 自己能查**。
5
+ [![npm version](https://img.shields.io/npm/v/dsh-isolation-gate.svg)](https://www.npmjs.com/package/dsh-isolation-gate)
6
+ [![npm downloads](https://img.shields.io/npm/dm/dsh-isolation-gate.svg)](https://www.npmjs.com/package/dsh-isolation-gate)
7
+ [![GitHub stars](https://img.shields.io/github/stars/zhaorui-wu/dsh-isolation-gate.svg)](https://github.com/zhaorui-wu/dsh-isolation-gate/stargazers)
8
+ [![license](https://img.shields.io/npm/l/dsh-isolation-gate.svg)](./LICENSE)
9
+ [![CI](https://github.com/zhaorui-wu/dsh-isolation-gate/actions/workflows/ci.yml/badge.svg)](https://github.com/zhaorui-wu/dsh-isolation-gate/actions/workflows/ci.yml)
10
+ [![node](https://img.shields.io/node/v/dsh-isolation-gate.svg)](https://nodejs.org)
11
+
12
+ **给 DeepSeek Harness(DSH)的隔离区授权台:默认禁、名单制、点一下生效、可审计、agent 自己能查。**
13
+
14
+ [安装](#安装) · [功能](#功能) · [它拦在哪一层](#它拦在哪一层) · [CLI](#命令行--agent-自查) · [English](./README.en.md) · [更新日志](./CHANGELOG.md)
15
+
16
+ ```bash
17
+ dsh plugin --profile desktop add dsh-isolation-gate
18
+ ```
5
19
 
6
- **English** · [README.en.md](./README.en.md)
20
+ > ⭐ **如果它帮你少踩一次坑,点个 Star 能让更多人找到它** —— 这是这个项目唯一的「传播预算」。
21
+ > [![Star](https://img.shields.io/github/stars/zhaorui-wu/dsh-isolation-gate?style=social)](https://github.com/zhaorui-wu/dsh-isolation-gate)
7
22
 
8
23
  ![门禁总览](docs/screenshots/01-overview.png)
9
24
 
@@ -202,7 +217,7 @@ node bin/gate.mjs log --limit 20
202
217
  ## 自测
203
218
 
204
219
  ```bash
205
- node test/run-all.mjs # 4 个套件 · 309 断言 · 全离线(不需要 GUI/dsh)
220
+ node test/run-all.mjs # 4 个套件 · 325 断言 · 全离线(不需要 GUI/dsh)
206
221
  node --check lib/*.js
207
222
  ```
208
223
 
@@ -224,3 +239,41 @@ node --check lib/*.js
224
239
  ## 许可
225
240
 
226
241
  MIT · 见 [LICENSE](./LICENSE)。
242
+
243
+
244
+ ---
245
+
246
+ ## 路线图
247
+
248
+ **已在做 / 下一步**
249
+
250
+ - [ ] 分组卡片截图与 30 秒演示 GIF(欢迎贡献录屏)
251
+ - [ ] `gate export --csv`:把审计日志导出成表格
252
+ - [ ] 临时授权:给某对象一个到期时间,到点自动回到 `deny`
253
+ - [ ] 状态文件并发锁(多窗口同时改不互相覆盖)
254
+ - [ ] 拒绝原因解释器:告诉模型「是哪条规则、哪段路径命中的」
255
+
256
+ **明确不做**
257
+
258
+ - ❌ 内核级沙箱(该交给 Windows ACL / VM)
259
+ - ❌ 云端同步 / 账号体系(本插件只认本机状态文件)
260
+
261
+ 有想法请开 [Issue](https://github.com/zhaorui-wu/dsh-isolation-gate/issues),说清处境比说清方案更有用。
262
+
263
+ ---
264
+
265
+ ## 参与
266
+
267
+ - 装不上 / 不会配 → [Discussions](https://github.com/zhaorui-wu/dsh-isolation-gate/discussions)
268
+ - 有 Bug → [Bug 报告](https://github.com/zhaorui-wu/dsh-isolation-gate/issues/new?template=bug_report.yml)
269
+ - 想加功能 → [功能建议](https://github.com/zhaorui-wu/dsh-isolation-gate/issues/new?template=feature_request.yml)
270
+ - 改代码 → [CONTRIBUTING.md](./CONTRIBUTING.md)(`npm test` 全绿即可提 PR)
271
+ - 安全问题 → [SECURITY.md](./SECURITY.md)(不要开公开 Issue)
272
+
273
+ ## Star
274
+
275
+ 如果这个插件帮你避免了一次误删、少配了一次 ACL、或者只是让你看清了「哪些目录其实一直开着」——
276
+
277
+ **点一下右上角的 ⭐ Star**。它不会改变代码,但会让更多人在搜索 `dsh plugin` 时看到它。
278
+
279
+ [![Star History Chart](https://api.star-history.com/svg?repos=zhaorui-wu/dsh-isolation-gate&type=Date)](https://star-history.com/#zhaorui-wu/dsh-isolation-gate&Date)
@@ -0,0 +1,36 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="320" viewBox="0 0 1200 320" role="img" aria-label="门禁 · dsh-isolation-gate">
2
+ <defs>
3
+ <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
4
+ <stop offset="0" stop-color="#0b1220"/>
5
+ <stop offset="0.55" stop-color="#101a2e"/>
6
+ <stop offset="1" stop-color="#1a1030"/>
7
+ </linearGradient>
8
+ <linearGradient id="accent" x1="0" y1="0" x2="1" y2="0">
9
+ <stop offset="0" stop-color="#5eead4"/>
10
+ <stop offset="0.5" stop-color="#60a5fa"/>
11
+ <stop offset="1" stop-color="#c084fc"/>
12
+ </linearGradient>
13
+ </defs>
14
+ <rect width="1200" height="320" fill="url(#bg)"/>
15
+ <g opacity="0.18" stroke="#94a3b8" stroke-width="1">
16
+ <path d="M0 80h1200M0 160h1200M0 240h1200"/>
17
+ <path d="M200 0v320M400 0v320M600 0v320M800 0v320M1000 0v320"/>
18
+ </g>
19
+ <g transform="translate(80,92)">
20
+ <rect x="0" y="0" width="96" height="96" rx="22" fill="#0f172a" stroke="url(#accent)" stroke-width="3"/>
21
+ <path d="M30 52V40a18 18 0 0 1 36 0v12" fill="none" stroke="#5eead4" stroke-width="6" stroke-linecap="round"/>
22
+ <rect x="24" y="52" width="48" height="30" rx="7" fill="#5eead4"/>
23
+ <circle cx="48" cy="66" r="4" fill="#0b1220"/>
24
+ </g>
25
+ <text x="208" y="132" font-family="Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" font-size="46" font-weight="700" fill="#f8fafc">门禁 · dsh-isolation-gate</text>
26
+ <text x="208" y="176" font-family="Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" font-size="22" fill="#94a3b8">默认禁 · 名单制 · 分组批量 · 可审计 · agent 自查</text>
27
+ <g font-family="Segoe UI, Microsoft YaHei, sans-serif" font-size="17">
28
+ <rect x="208" y="204" width="120" height="36" rx="18" fill="#0f172a" stroke="#334155"/>
29
+ <text x="268" y="228" text-anchor="middle" fill="#e2e8f0">deny</text>
30
+ <rect x="340" y="204" width="120" height="36" rx="18" fill="#0f172a" stroke="#334155"/>
31
+ <text x="400" y="228" text-anchor="middle" fill="#e2e8f0">read</text>
32
+ <rect x="472" y="204" width="120" height="36" rx="18" fill="#0f172a" stroke="#334155"/>
33
+ <text x="532" y="228" text-anchor="middle" fill="#e2e8f0">full</text>
34
+ </g>
35
+ <text x="1120" y="286" text-anchor="end" font-family="Segoe UI, Microsoft YaHei, sans-serif" font-size="16" fill="#64748b">for DeepSeek Harness</text>
36
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-isolation-gate",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "门禁 · 目录访问管制(隔离区授权台):一屏管理「哪些目录受管、各自什么级别」,三级=禁/只读/可读写删;判定同时挂在受管辖通道(bin/gate.mjs)与宿主工具执行门(ctx.tools.guard)上,默认禁、名单缺失一律拒绝(fail-closed)、审计可查、agent 可自查;支持分组批量切、目录选择器与状态文件自动迁移。",
5
5
  "keywords": [
6
6
  "dsh",
@@ -11,7 +11,9 @@
11
11
  "isolation",
12
12
  "authorization",
13
13
  "sandbox",
14
- "panellist"
14
+ "agent-safety",
15
+ "access-control",
16
+ "windows"
15
17
  ],
16
18
  "license": "MIT",
17
19
  "publishConfig": {
@@ -60,5 +62,13 @@
60
62
  ],
61
63
  "platform": "web"
62
64
  }
65
+ },
66
+ "repository": {
67
+ "type": "git",
68
+ "url": "git+https://github.com/zhaorui-wu/dsh-isolation-gate.git"
69
+ },
70
+ "homepage": "https://github.com/zhaorui-wu/dsh-isolation-gate#readme",
71
+ "bugs": {
72
+ "url": "https://github.com/zhaorui-wu/dsh-isolation-gate/issues"
63
73
  }
64
74
  }