agent-bypass 2.11.2 → 2.11.4

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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  [![License: MIT](https://img.shields.io/badge/LICENSE-MIT-0D1117?style=flat-square)](LICENSE)
8
8
  [![SKILL.md](https://img.shields.io/badge/SKILL.md-33模块-8A2BE2?style=flat-square)](SKILL.md)
9
- [![Platforms](https://img.shields.io/badge/安装-Pi%20%7C%20OpenCode%20%7C%20Claude%20Code%20%7C%20Grok%20Build%20%7C%20OpenMinis-6E40C9?style=flat-square)](#快速开始)
9
+ [![Platforms](https://img.shields.io/badge/安装-Pi%20%7C%20OpenCode%20%7C%20Claude%20Code%20%7C%20Grok%20Build%20%7C%20OpenMinis%20%7C%20CC%20Switch-6E40C9?style=flat-square)](#快速开始)
10
10
 
11
11
  ## 这是什么
12
12
 
@@ -47,7 +47,7 @@ SKILL.md 加 ck-hunter.md 两个纯文本文件,放进任意 Agent 环境即
47
47
 
48
48
  ## 快速开始
49
49
 
50
- 一键安装,npx 自动检测并安装到 Pi / OpenCode / Claude Code / Grok Build / OpenMinis:
50
+ 一键安装,npx 自动检测并安装到 Pi / OpenCode / Claude Code / Grok Build / OpenMinis / CC Switch:
51
51
 
52
52
  ```bash
53
53
  npx agent-bypass # npm 直装(自动检测已装的 harness)
@@ -57,6 +57,7 @@ npx agent-bypass --opencode # 只装 OpenCode
57
57
  npx agent-bypass --claude # 只装 Claude Code
58
58
  npx agent-bypass --grok # 只装 Grok Build
59
59
  npx agent-bypass --minis # 只装 OpenMinis
60
+ npx agent-bypass --ccswitch # 只同步 CC Switch 技能库(已纳管时)
60
61
  npx agent-bypass --uninstall # 卸载(标记块加技能文件全清)
61
62
  ```
62
63
 
@@ -82,8 +83,9 @@ npm 包已发布:`agent-bypass`(`npx agent-bypass` 直接可用)。维护
82
83
  | Pi | ~/.pi/agent/skills/agent-bypass/ | 三层注入(标记块追加,不覆盖原内容):AGENTS.md 全局提示 + APPEND_SYSTEM.md 全局系统提示(必填)+ prompts/ck.md 命令模板;非 UTF-8 文件自动跳过 |
83
84
  | OpenCode | ~/.config/opencode/skills/agent-bypass/ | agent-bypass.md 加 opencode.json 的 instructions 数组合并,加 commands/ck.md;不碰原有全局提示 |
84
85
  | Claude Code | ~/.claude/skills/agent-bypass/ | skills 自动发现 + commands/ck.md(/ck 命令)+ CLAUDE.md 标记块注入(短块 + 守则全文)|
85
- | Grok Build | ~/.grok/skills/agent-bypass/ | skills 自动发现(user-invocable 技能即斜杠命令)+ skills/ck/SKILL.md(/ck 命令)+ AGENTS.md 标记块注入(短块 + 守则全文)|
86
+ | Grok Build | ~/.grok/skills/agent-bypass/ | skills 自动发现(全机单一技能条目)+ ~/.agents/commands/ck.md(/ck 命令,走用户级命令目录、不占技能位)+ AGENTS.md 标记块注入(短块 + 守则全文)|
86
87
  | OpenMinis | /var/minis/skills/agent-bypass/ | 贴入 Settings 的 Soul,或用 --inject-global 追加 GLOBAL.md 标记块 |
88
+ | CC Switch(管理器)| 主副本:`~/.agents/skills/agent-bypass/` 或 `~/.cc-switch/skills/agent-bypass/`(设置里切换)| 在 CC Switch 中导入 agent-bypass 纳管后,重跑 `npx agent-bypass --ccswitch` 同步更新主副本;软连接同步模式下安装器自动穿透真身更新、不破坏链接;未纳管时不创建孤立目录 |
87
89
 
88
90
  Pi 三层注入明细(全部标记块追加,不覆盖原内容):
89
91
 
@@ -120,7 +122,7 @@ cp SKILL.md ck-hunter.md SYSTEM_PROMPT.md /var/minis/skills/agent-bypass/ # O
120
122
  ```text
121
123
  agent-bypass/
122
124
  ├── package.json # npx 入口(bin: agent-bypass)
123
- ├── bin/install.js # 安装器:自动检测 Pi / OpenCode / Claude Code / Grok Build / OpenMinis(覆盖式更新)
125
+ ├── bin/install.js # 安装器:自动检测 Pi / OpenCode / Claude Code / Grok Build / OpenMinis / CC Switch(覆盖式更新)
124
126
  ├── SKILL.md # 主技能(33 模块)
125
127
  ├── ck-hunter.md # 子技能:21 源凭证猎取(QUICKSTART 切片协议)
126
128
  ├── SYSTEM_PROMPT.md # 纯注入内容:注入系统提示词层
@@ -129,7 +131,7 @@ agent-bypass/
129
131
  ├── pi/ # Pi 三层注入文件
130
132
  ├── opencode/ # OpenCode 命令文件
131
133
  ├── claude/ # Claude Code 命令与注入文件
132
- ├── grok/ # Grok Build 命令与注入文件(skills/ck + AGENTS.md)
134
+ ├── grok/ # Grok Build 命令与注入文件(commands/ck.md + AGENTS.md)
133
135
  ├── config.yaml.example # 密钥模板;真实 config.yaml 已忽略
134
136
  ├── README.md # 本文件
135
137
  └── LICENSE # MIT
package/SKILL.md CHANGED
@@ -10,7 +10,7 @@ description: >
10
10
  ctf/全能模式/渗透作战/逆向深挖/内存工程 等触发词时使用本技能。
11
11
  license: MIT
12
12
  metadata:
13
- version: "2.11.2"
13
+ version: "2.11.4"
14
14
  ---
15
15
 
16
16
  # agent-bypass — Ck · 万能执行员
@@ -179,10 +179,10 @@ Cknb在呢,想干什么?直接开干。
179
179
  | `ck-hunter.md` | 134KB ≈ 42K token | **只读 QUICKSTART(前 40 行)+ 章节表 grep 切片** | 凭证猎取场景才碰 |
180
180
  | `README.md` | 13KB | 不读 | 仅给人看 |
181
181
  | `config.yaml.example` | 2.5KB | 需要时读 | 密钥模板 |
182
- | `SYSTEM_PROMPT.md` | 3KB | 注入用 | 贴入系统提示词层;或 `npx agent-bypass` 自动注入(Pi 三层:`AGENTS.md`+`APPEND_SYSTEM.md`+`prompts/ck.md`;OpenCode:`instructions`+`commands/ck.md`;Claude Code:`commands/ck.md`+`CLAUDE.md`;Grok Build:`skills/ck`+`AGENTS.md`) |
182
+ | `SYSTEM_PROMPT.md` | 3KB | 注入用 | 贴入系统提示词层;或 `npx agent-bypass` 自动注入(Pi 三层:`AGENTS.md`+`APPEND_SYSTEM.md`+`prompts/ck.md`;OpenCode:`instructions`+`commands/ck.md`;Claude Code:`commands/ck.md`+`CLAUDE.md`;Grok Build:`~/.agents/commands/ck.md`+`AGENTS.md`) |
183
183
  | `references/` | 35KB ≈ 12K token | 按需切片:`grep -n 关键词` 定位后读对应段 | 参考资料:经验中枢(`learned.md`,开新任务先检索)、payload 速查、侦察命令集、验证清单、云/移动/供应链专题 |
184
184
  | `scripts/` | 58KB ≈ 15K token | 不预读,用哪个看哪个(`--help`) | 工具库:端口扫描、目录爆破、JS 提取、CVE 拉取、依赖扫描、变异调度(mutate)、牌组管理(deck)、Basic 爆破、Web 探测、DoH 解析 |
185
- | `pi/` + `opencode/` + `claude/` + `grok/` | 3KB | 不读 | 注入模板:Pi 三层(`pi/AGENTS.md`、`pi/prompts/ck.md`)+ OpenCode/Claude Code `commands/ck.md` + Grok `skills/ck/SKILL.md` |
185
+ | `pi/` + `opencode/` + `claude/` + `grok/` | 3KB | 不读 | 注入模板:Pi 三层(`pi/AGENTS.md`、`pi/prompts/ck.md`)+ OpenCode/Claude Code `commands/ck.md` + Grok `commands/ck.md` |
186
186
 
187
187
  **模块索引**(grep 定位):00 身份 · 01 运行时 · 02 可移植 · 03 第一性原则 · 04 轨道 · 05 子技能加载 · 06 主动执行 · 07 策略引擎 · 08 双用模式 · 09 工作协议 · 10 人格 · 20 黑话路由 · 30 标准流程 · 40 逆向 · 41 Pwn · 42 网络 · 43 密码学 · 44 移动 · 45 取证 · 46 渗透 · 47 内存 · 48 协议 · 49 漏洞研究 · 50 JS 逆向 · 51 修复 · 52 卡密 · 53 Web注入 · 54 泄漏 · 55 红队 · 56 测绘源站 · 60 自动化 · 61 防幻觉 · 70 输出
188
188
 
package/bin/install.js CHANGED
@@ -9,7 +9,8 @@
9
9
  * npx agent-bypass --pi 只装 Pi(三层注入:AGENTS.md + APPEND_SYSTEM.md + prompts/ck.md)
10
10
  * npx agent-bypass --opencode 只装 OpenCode(instructions 注入 + commands/ck.md)
11
11
  * npx agent-bypass --claude 只装 Claude Code(skills + commands/ck.md + CLAUDE.md 注入)
12
- * npx agent-bypass --grok 只装 Grok Build(skills + skills/ck 命令 + AGENTS.md 注入)
12
+ * npx agent-bypass --grok 只装 Grok Build(skills + ~/.agents/commands/ck.md + AGENTS.md 注入)
13
+ * npx agent-bypass --ccswitch 只装 CC Switch(同步其技能库中已纳管的 agent-bypass)
13
14
  * npx agent-bypass --minis 只装 OpenMinis
14
15
  * npx agent-bypass --no-inject 只装技能文件,跳过系统提示词注入
15
16
  * npx agent-bypass --inject-global 也注入全局文件(OpenMinis 的 GLOBAL.md;Claude/Grok 默认已注入)
@@ -39,7 +40,7 @@ const ROOT = path.join(__dirname, '..');
39
40
  const HOME = os.homedir();
40
41
  const args = process.argv.slice(2);
41
42
  const has = (f) => args.includes(f);
42
- const only = ['--pi', '--opencode', '--claude', '--grok', '--minis'].filter(has);
43
+ const only = ['--pi', '--opencode', '--claude', '--grok', '--minis', '--ccswitch'].filter(has);
43
44
  const noInject = has('--no-inject');
44
45
  const uninstall = has('--uninstall');
45
46
  const injectGlobal = has('--inject-global');
@@ -75,6 +76,13 @@ function copyDir(src, dst) {
75
76
  }
76
77
  }
77
78
  function installSkills(dir) {
79
+ // CC Switch 等工具会把技能目录做成软链(指向其技能库)——解析真身写入,保持链接关系
80
+ try {
81
+ if (fs.lstatSync(dir).isSymbolicLink()) {
82
+ try { dir = fs.realpathSync(dir); ok(`软链已解析 \u2192 ${dir}`); }
83
+ catch (e) { fs.rmSync(dir, { force: true }); }
84
+ }
85
+ } catch (e) { /* 路径不存在,按普通安装处理 */ }
78
86
  fs.mkdirSync(dir, { recursive: true });
79
87
  // 干净覆盖:先清掉我方管理的旧文件(含已废弃文件名),保留用户文件
80
88
  let cleaned = 0;
@@ -95,7 +103,18 @@ function installSkills(dir) {
95
103
  }
96
104
 
97
105
  function removeSkills(dir) {
98
- if (exists(dir)) { fs.rmSync(dir, { recursive: true, force: true }); ok(`已删除 ${dir}`); }
106
+ // 软链(CC Switch 同步):删链接本体,并清掉其指向的真身目录
107
+ let real = dir;
108
+ try {
109
+ if (fs.lstatSync(dir).isSymbolicLink()) {
110
+ real = null;
111
+ try { real = fs.realpathSync(dir); } catch (e) { /* 断链 */ }
112
+ fs.rmSync(dir, { force: true });
113
+ ok(`已删除软链 ${dir}`);
114
+ }
115
+ } catch (e) { /* 路径不存在 */ }
116
+ if (real && real !== dir && exists(real)) { fs.rmSync(real, { recursive: true, force: true }); ok(`已删除 ${real}`); }
117
+ else if (real === dir && exists(dir)) { fs.rmSync(dir, { recursive: true, force: true }); ok(`已删除 ${dir}`); }
99
118
  }
100
119
 
101
120
  // 标记块注入(UTF-8 校验 + 行尾匹配 + 幂等)
@@ -265,26 +284,63 @@ function uninstallClaude() {
265
284
  }
266
285
 
267
286
  // ============ Grok Build ============
268
- // skills: ~/.grok/skills/agent-bypass/(Grok 自动发现;user-invocable 技能即斜杠命令)
269
- // /ck 命令: ~/.grok/skills/ck/SKILL.md(skill 名即命令名 → /ck)
287
+ // skills: ~/.grok/skills/agent-bypass/(Grok 自动发现;全机唯一技能条目)
288
+ // /ck 命令: ~/.agents/commands/ck.md(Grok 用户级命令目录;命令不占技能位,不再出现第二个技能)
270
289
  // 系统注入: ~/.grok/AGENTS.md 标记块(全局规则,加载到每个会话;不覆盖用户原有内容)
290
+ function cleanGrokLegacyCk(base) {
291
+ // 历史版本曾在 skills/ck 放技能壳(会被识别成第二个技能)——重装即清理,命令已迁至 ~/.agents/commands/
292
+ removeTemplate(path.join(base, 'skills', 'ck', 'SKILL.md'), 'Grok skills/ck(旧版技能壳)');
293
+ const legacyCk = path.join(base, 'skills', 'ck');
294
+ if (exists(legacyCk)) { try { if (!fs.readdirSync(legacyCk).length) fs.rmdirSync(legacyCk); } catch (e) { /* 目录非空保留 */ } }
295
+ }
271
296
  function installGrok() {
272
297
  console.log('\n[Grok Build]');
273
298
  const base = path.join(HOME, '.grok');
274
299
  installSkills(path.join(base, 'skills', 'agent-bypass'));
300
+ cleanGrokLegacyCk(base);
275
301
  if (noInject) return;
276
302
  injectMarked(path.join(base, 'AGENTS.md'), readInj('grok/AGENTS.md', '全局提示块') + '\n\n' + getBlock(), 'Grok AGENTS.md(系统注入)');
277
- writeTemplate(path.join(base, 'skills', 'ck', 'SKILL.md'), readInj('grok/skills/ck/SKILL.md', '/ck 命令壳'), 'Grok skills/ck(/ck 命令)');
303
+ writeTemplate(path.join(HOME, '.agents', 'commands', 'ck.md'), readInj('grok/commands/ck.md', '/ck 命令模板'), 'Grok ~/.agents/commands/ck.md(/ck 命令)');
278
304
  }
279
305
  function uninstallGrok() {
280
306
  console.log('\n[Grok Build]');
281
307
  removeSkills(path.join(HOME, '.grok', 'skills', 'agent-bypass'));
282
- removeTemplate(path.join(HOME, '.grok', 'skills', 'ck', 'SKILL.md'), 'Grok skills/ck(/ck 命令)');
283
- const ckDir = path.join(HOME, '.grok', 'skills', 'ck');
284
- if (exists(ckDir)) { try { if (!fs.readdirSync(ckDir).length) fs.rmdirSync(ckDir); } catch (e) { /* 目录非空保留 */ } }
308
+ cleanGrokLegacyCk(path.join(HOME, '.grok'));
309
+ removeTemplate(path.join(HOME, '.agents', 'commands', 'ck.md'), 'Grok ~/.agents/commands/ck.md(/ck 命令)');
285
310
  stripMarked(path.join(HOME, '.grok', 'AGENTS.md'), 'Grok AGENTS.md');
286
311
  }
287
312
 
313
+ // ============ CC Switch ============
314
+ // 技能库主副本(SSOT)两种位置(设置里可选):
315
+ // A. ~/.agents/skills/agent-bypass/(Agent Skills 开放标准,Grok 等直读)
316
+ // B. ~/.cc-switch/skills/agent-bypass/(CC Switch 默认)
317
+ // 策略:主副本已存在(已纳管)→ 覆盖更新(软链自动穿透到真身);未纳管 → 不制造孤立目录,提示导入。
318
+ function ccswitchSso() {
319
+ const cands = [path.join(HOME, '.agents', 'skills', 'agent-bypass'), path.join(HOME, '.cc-switch', 'skills', 'agent-bypass')];
320
+ for (const p of cands) if (exists(p)) return p;
321
+ return null;
322
+ }
323
+ function installCcswitch() {
324
+ console.log('\n[CC Switch]');
325
+ const sso = ccswitchSso();
326
+ if (sso) {
327
+ installSkills(sso);
328
+ info('CC Switch 技能库中的 agent-bypass 已更新(数据库记录由 CC Switch 自行管理)');
329
+ return;
330
+ }
331
+ if (exists(path.join(HOME, '.cc-switch'))) {
332
+ info('CC Switch 技能库中尚无 agent-bypass(未纳管)');
333
+ info('如需纳管:在 CC Switch \u2192 Skills 中导入应用目录的 agent-bypass,之后重跑本安装器即可同步更新');
334
+ } else {
335
+ info('未检测到 ~/.cc-switch,跳过');
336
+ }
337
+ }
338
+ function uninstallCcswitch() {
339
+ console.log('\n[CC Switch]');
340
+ removeSkills(path.join(HOME, '.agents', 'skills', 'agent-bypass'));
341
+ removeSkills(path.join(HOME, '.cc-switch', 'skills', 'agent-bypass'));
342
+ }
343
+
288
344
  // ============ OpenMinis ============
289
345
  // skills: /var/minis/skills/agent-bypass/
290
346
  // 系统注入: 默认提示手动(Settings \u2192 Soul / GLOBAL.md);--inject-global 时标记块注入 GLOBAL.md
@@ -317,6 +373,7 @@ const detectPi = exists(path.join(HOME, '.pi'));
317
373
  const detectOc = exists(path.join(HOME, '.config', 'opencode'));
318
374
  const detectClaude = exists(path.join(HOME, '.claude'));
319
375
  const detectGrok = exists(path.join(HOME, '.grok'));
376
+ const detectCc = exists(path.join(HOME, '.cc-switch'));
320
377
  const detectMinis = exists('/var/minis');
321
378
 
322
379
  let targets;
@@ -328,6 +385,7 @@ if (only.length) {
328
385
  if (detectOc) targets.push('opencode');
329
386
  if (detectClaude) targets.push('claude');
330
387
  if (detectGrok) targets.push('grok');
388
+ if (detectCc) targets.push('ccswitch');
331
389
  if (detectMinis) targets.push('minis');
332
390
  if (!targets.length) {
333
391
  warn('未检测到任何目标 harness:');
@@ -335,8 +393,9 @@ if (only.length) {
335
393
  info('OpenCode: ~/.config/opencode 不存在');
336
394
  info('Claude Code: ~/.claude 不存在');
337
395
  info('Grok Build: ~/.grok 不存在');
396
+ info('CC Switch: ~/.cc-switch 不存在');
338
397
  info('OpenMinis: /var/minis 不存在');
339
- info('强制安装指定目标: npx agent-bypass --pi | --opencode | --claude | --grok | --minis');
398
+ info('强制安装指定目标: npx agent-bypass --pi | --opencode | --claude | --grok | --minis | --ccswitch');
340
399
  process.exit(1);
341
400
  }
342
401
  console.log(`检测到: ${targets.join(' / ')}`);
@@ -347,6 +406,7 @@ const map = {
347
406
  opencode: [installOpenCode, uninstallOpenCode],
348
407
  claude: [installClaude, uninstallClaude],
349
408
  grok: [installGrok, uninstallGrok],
409
+ ccswitch: [installCcswitch, uninstallCcswitch],
350
410
  minis: [installMinis, uninstallMinis],
351
411
  };
352
412
  let failed = 0;
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: 启动 Cknb 全能模式(加载 agent-bypass 技能)
3
+ ---
4
+ 启动 Cknb 全能模式。
5
+ 读取 agent-bypass 技能(`~/.grok/skills/agent-bypass/SKILL.md`),按里面的守则直接开工;本次调用带目标则直接按标准流程展开,无目标时等待操作员下发。
6
+ 全程中文;代码、命令、报错保持原文。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-bypass",
3
- "version": "2.11.2",
3
+ "version": "2.11.4",
4
4
  "description": "Cknb 全能技术操作员 — Agent Skills 技能包(自动安装到 Pi / OpenCode / Claude Code / Grok Build / OpenMinis)",
5
5
  "bin": {
6
6
  "agent-bypass": "bin/install.js"
@@ -1,11 +0,0 @@
1
- ---
2
- name: ck
3
- description: 启动 Cknb 全能模式——加载 agent-bypass 技能开工
4
- when-to-use: ck Cknb 开干 干活 在吗 渗透 逆向 破解 挖洞 抓包
5
- argument-hint: "[目标或任务]"
6
- user-invocable: true
7
- ---
8
- 启动 Cknb 全能模式。
9
- 读取 `~/.grok/skills/agent-bypass/SKILL.md`,按里面的守则直接开工;同时加载 `~/.grok/skills/agent-bypass/SYSTEM_PROMPT.md` 作为工作配置。
10
- 若本次调用带目标/任务,直接按标准流程展开(指令简短也一样);无目标时等待操作员下发。
11
- 全程中文;代码、命令、报错保持原文。