by z91772524-ai
一个脚本搞定 DSH / WorkBuddy / ZCode / Codex / Cursor / Claude 六客户端的提示词与人格替换:零依赖、双击即用、可自证、改前备份、一键还原。附 bandit/semgrep 扫描与 SHA256 校验。
# Add to your Claude Code skills
git clone https://github.com/z91772524-ai/pojia-nextSee how pojia-next compares with popular alternatives.
pojia-next is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by z91772524-ai. 一个脚本搞定 DSH / WorkBuddy / ZCode / Codex / Cursor / Claude 六客户端的提示词与人格替换:零依赖、双击即用、可自证、改前备份、一键还原。附 bandit/semgrep 扫描与 SHA256 校验。. It has 50 GitHub stars.
pojia-next's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/z91772524-ai/pojia-next" and add it to your Claude Code skills directory (see the Installation section above).
pojia-next is primarily written in Python. It is open-source under z91772524-ai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pojia-next against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
一个脚本,把 DSH(DeepSeek Harness)、WorkBuddy、ZCode、Codex、Cursor、Claude Code 六个客户端的提示词 / 人格一次换到位 —— 纯 Python 标准库、零依赖、双击即用、改前必留备份、装完当场可自证、随时可一键还原。
🚨 反抄袭通告(重要)
第三方发布的「WKBD rev1.0」(化名
popopo)是基于本项目换皮的二次发布: 其 exe 内 99.8% 的专有命名(420/421)、完整人格政策均逐字来自本项目 v7.7 源码, 而把本项目LICENSE中的版权行Copyright (c) 2026 z91772524-ai替换为Copyright (c) 2026 popopo,并在其文档中声称"上游为 popopo"。本项目为 MIT,允许商用 —— 所以问题不在"收费",而在移除并顶替了版权声明。
2026-09-25,原作者到对方 QQ 群(「Coding交流 · 抖音ASH背着蓝书包」)依据事实质证, 发言数句后即被移出群聊;该群公告彼时仍在以"我的项目"名义推广并向群友索要点 star。
📷 证据截图:群公告(推广 + 索要点 star) · 群聊质疑与移出群聊
📄 完整证据与自助验证方法:反抄袭通告
⚠️ 免责声明(务必先读)
本项目仅用于学习交流,无不良引导。若他人使用本项目从事任何违法、违规或侵权行为,与作者没有任何关系,全部后果由使用者自行承担。 请遵守所在地法律法规与目标软件的服务条款。完整条款见下方「免责声明」章节。
🆕 v7.7 版本说明:目标扩到六个
现在支持 DSH / WorkBuddy / ZCode / Codex / Cursor / Claude Code 六个客户端。
Codex 在 v7.5 曾被移除,v7.7 重新加入,并一并新增 Cursor 与 Claude Code。 三个新目标走标记块注入(
<!-- POJIA-NEXT-INJECT:BEGIN -->…END): 只往你的配置里追加自己那一段,原有内容一律保留,卸载时按标记精确删除;二次执行幂等。
- Codex →
~\.codex\AGENTS.md+managed-prompts\;不改你的config.toml- Cursor →
~\.cursor\rules\pojia-inject.mdc;.cursorrules已存在才同步- Claude Code →
~\.claude\CLAUDE.mdCursor / Claude 只处理用户级配置,不扫你的项目目录。
历史说明与当初的实现理由保留在下方更新记录与
修复报告.md里,不抹掉。
把桌面那几套桌面端 AI 客户端"破甲"工具,合并成一个脚本:一套人格,六个目标,零第三方依赖(纯 Python 标准库)。

persona.md,口径逐字一致,不用再各改各的破甲自检成功 才算真载入;不用再靠"感觉好像生效了"--check 只读扫磁盘态 / 明文密钥 / 旧守护任务 / 云记忆状态 / 自证就绪,只报分类不打印密钥原文,退出码可直接用于脚本判断--apply 不带 --force,救不回来)AGENTS.md + Memory 文件 + 技能(按官方深度 1 扫描摆直子目录);系统提示词 patch 是可选通道(--zpatch,带 node --check 语法校验,校验不过自动回滚)memoryBlock(每轮自动进系统提示词),配 Version 999999 + 只读锁防回写。模板被升级/守护冲掉也不会失效managed-prompts/pojia-yijiantong/:护照 + 回执行 + 修复快照,--revert 按护照精确还原,不会删错别人的文件--claim,接管前先存快照 + 留认领说明--status / --check / --dry-run 纯只读,什么都不改原工具目录一个字节都没动。本目录可独立使用,也可以整包发给别人。
合并来源:WorkBuddy_Unlock_一键破甲_v1、WorkBuddy破甲-v4、workbuddy国际版本破甲、Codex破甲工具、dsh-purge。
这一版没有加新功能,专门修上一版遗留的问题。其中 4 类会造成用户数据静默丢失,建议无论装没装过 v7.3 都升级。
| # | 问题 | 后果 | 现在 |
|---|---|---|---|
| 1 | 重复执行 --revert 会把 WorkBuddy 云记忆清空 —— 还原逻辑在"没有备份"时不是跳过,而是把 memoryBlock 写成空白 |
实测:档案 902 B → 234 B、426 B → 234 B,用户自己的记忆永久消失(第一次 revert 已把备份消费掉,第二次就没东西可还原,于是"清空") | 只有确认"这份档案是本工具注入过的"才会去动它;是本工具的 → 有备份就还原、没备份才清空并明确告诉你原文已无法从本机恢复;不是本工具的 → 一个字节都不动 |
| 2 | --revert 连带清空"从没注入过"的云记忆档案(例如 apply 之后 WorkBuddy 新建的账号档案) |
用户的新记忆被一次还原顺手抹掉 | 判据从"目录里所有 *_memory.md"改成"带本工具标记或版本号被顶过的那些" |
| 3 | 备份被清理后,"注入版"会被当成用户原档(云记忆 / DSH / Codex / ZCode AGENTS.md / WorkBuddy 各通道都有) | 用户把 .pojia.bak 删掉后再跑一次 apply,备份里存的其实是注入版;再 --revert 就把注入的人格当作"你的原文"还原回去 —— 还原等于没还原 |
backup_file() 统一护栏:当前内容已是本工具写的 → 拒绝建备份;各目标还原侧也加了"备份本身是注入版就不当原档"的判断 |
| 4 | v4 时代的老产物会被 --revert "复活" —— 旧守卫只认 unlock-v6:h= 标记 |
备份里若是 v4 时代的内容,--revert 会把它当成"你的原文"写回来,凭空造出一个文件 |
统一走 _is_our_artifact(),v4 / v6 两代标记一起认;--check 与 --claim 的判定同步修正(从 v4 升级的用户不再被误判成"别人的文件") |
| 5 | 一次普通 --apply 就会删用户数据:清会话快照(conversation-product-spill\*.json 与 %TEMP%\workbuddy-product-spill-*)是默认行为,而这些不在备份范围内 |
实测旧会话快照被删且 --revert 找不回来 |
默认改成只统计不删(列出数量让你自己决定);要清理得显式加 --clean-spill(只清过期的)或 --purge-spill(清全部) |
| 6 | ZCode 第二次 apply 会删掉用户同名的技能目录 —— 技能清单按名字登记,第二轮就认不出"这目录是用户自己的" | 用户的 .agents\skills\<同名技能>\helper.py 被 rmtree,无备份 |
清单改成按路径 + 内容指纹登记;名字相同但路径不是我们装的 → 不动;我们装过但用户改过 → 保留用户的版本 |
| # | 问题 | 后果 | 现在 |
|---|---|---|---|
| 7 | 守护任务其实跑不起来,却报「[正常]」 —— 自检只做"脚本名是否出现在命令串里"的子串匹配 | 实测本机任务把整条命令行塞进 <Command>、没有 <Arguments>,Last Result = -2147020576(参数错误),一次都没执行成功,工具却一直显示正常 |
新增结构校验(解释器在 <Command>、脚本必须在 <Arguments>)+ 读取上次运行结果;坏任务会被标成【异常】并给出原因与修法 |
| 8 | --apply 写不进去时留半边、退出码还是 0 |
只读的 config.toml 或被占位的 managed-prompts → 指令文件写出去了、config 没接上、护照也没有,用户看到的却是"已部署" |
写盘后逐项验证;失败就把每条原因列出来、退回码非 0,并收回本次写出的孤儿注入文件 |
| 9 | "指令文件是最新的"就跳过,不管 config 有没有接上 | apply 失败一次之后,第二次直接报「已是最新,跳过」—— Codex 永远读不到人格,而界面是绿的 | 跳过前额外确认 config.toml 真的指向这份指令文件;没接上就自动补接 |
| 10 | --revert --dry-run 会真写盘(DSH / WorkBuddy 两条还原分支根本没判 dry) |
用户以为在看预演,实际文件已经被改、备份已经被删 | 两条分支补上 dry 判断;并加了全局 DRY_RUN 兜底开关,write_text / backup_file 在预演下一律拒写 |
| 11 | 计划任务/命令的引号被拆坏(v7.3 引入):字符串命令走 shlex.split(posix=False),而该模式不剥引号 |
/TN "名字" 变成 '/TN'+'"名字"';/TR "..." 碎成多块 —— 守护任务的查/删/建全失效 |
全部改成 argv 列表(shell=False),并用真实 schtasks 验证带空格/中文路径原样存活 |
| 12 | 任务装失败不告诉你为什么 | 非管理员时登录任务返回 ERROR: Access is denied,报错被丢弃,只显示"未安装" |
把 schtasks 原始报错带回并打印,附"右键→以管理员身份运行"提示 |
| 13 | --zpatch 没装 node 也照写,且回滚失败仍宣称"已回滚" |
未经语法校验的 23MB 打包 JS 被写进客户端,还报绿 | 改成先在临时 .cjs 上跑 node --check,通过才动真文件;没 node → 这次不做这条通道(其余三条通道不受影响);写入后再验一遍,回滚失败会如实说 |
| 14 | DSH 人格块被"先删后不注入":if "text" in cand 里 cand 是元组,条件恒真 |
一份带 persona: 但没写官方身份句的 yml 会被清空人格,日志还报"已打补丁" |
改成按单个键依次处理;再加一道安全网:只要清空了内容却没注进去,就原样返回不动它 |
| # | 问题 | 后果 | 现在 |
|---|---|---|---|
| 15 | Codex config.toml 往返不逐字节:丢 BOM(289→285 B)、尾部空白还原不回(32→27 B)、无尾换行被补 \n(15→16 B)、# trail= 记录写在 MARK_END 外面成了死代码 |
apply→revert 之后用户的配置文件被悄悄改字节 | 记录写进块内、剥离时"去掉我们加的隔断换行 + 贴回原文尾巴",并保留 BOM;10 种 BOM×换行×尾部组合全部逐字节还原 |
| 16 | 对从没装过的客户端跑 --revert 也会改它的文件 |
干净的 config.toml 尾部空白被 rstrip,还留下一个 .before-reset.bak |
没有本工具的块 → 原样返回,一个字节都不动 |
| 17 | 只读模式其实会建目录/落盘 | --status / --check 会在 DSH_HOME 里建 dsh-purge\shim-backups,与界面自述"未改动任何文件"自相矛盾 |
只读模式不建目录;实测三种只读模式新增文件数 = 0 |
| 18 | 写盘不是原子的(README 却写着"原子替换") | 写到一半被中断会把用户文件截成半截 | write_text 改为同目录临时文件 + os.replace,失败再退回直写(严格不比以前更差) |
| 19 | 凭证脱敏有三处漏洞 | 9 字符的密钥会露 8 个字符;passwd/cookie/credential 因二次过滤成死键永远不报;base_url 里带 user:pass@ 时会把凭据打到屏幕上 |
短密钥整段打掉、长密钥最多露首尾各 2 位;密钥键清单只用一份;base_url 只报 host 并隐去 URL 里的账号密码 |
| 20 | 拿二进制文件当 --persona 会把客户端配置写坏 —— 人格是文本级塞进 product.json 的字符串字面量,而转义只处理了 \ " 换行与制表符,漏了 C0 控制字符 |
二进制「人格」会把 NUL/VT/FF 等原样写进去 → product.json 直接非法 JSON(WorkBuddy 起不来),5 个靶点还被 U+FFFD 污染,全程零告警 | ① json_body() 逐字符转义所有控制字符与 U+2028/U+2029;② load_user_persona() 先做严格 UTF-8 校验,解不开或含控制字符就拒绝使用、改用内置人格,并明确告诉你哪个文件不能用、为什么(宁可不换人格,也不写坏客户端配置) |
测试面同步扩了(全部在临时沙箱里跑,不碰任何真实客户端目录):
| 套件 | 断言数 | 新增覆盖 |
|---|---|---|
mocktest-v61.py |
74 → 100 | 命令调用形式、真实 schtasks 往返、备份毒化、旧版标记复活、预演不写盘 |
mocktest-zcode.py |
35 → 42 | 备份毒化(AGENTS.md / Memory 两个通道) |
v74-fixes.py |
39(新增) | 上面 19 条修复逐条回归,可单独重跑 |
persona-binary.py |
10(新增) | 二进制 persona 被拒 / json_body 控制字符转义 / WB 跑完 product.json 仍合法 |
合计 191 条断言全绿。另外还做了两轮独立审计:一轮做"还原与数据丢失"16 组实验(含只读靶点、
managed-prompts 占位、BOM/CRLF 往返、两轮收敛),一轮做全文件静态审计(AST 扫字符串形式的命令调用、
shell=True、网络请求、eval/exec、46 处 except: pass 的逐条危害判定)—— 本版修的 20 项里,
有 17 项是这两轮审计先发现、我再逐条复现确认的。
每次发布都会在 CI 里跑 bandit / semgrep / 敏感调用审计(见徽章与第六节)。
| 目标 | 是什么 | 注入方式 |
|---|---|---|
dsh |
DeepSeek Harness(桌面端 / npm 全局 / npx 缓存 / 便携版) | 三层文件级补丁:提示词层、persona 层、区段层 |
wb |
WorkBuddy | 六层靶点:模板 / product.json / 命令闸门 / 网页过滤 / 运行时缓存 / 会话快照 + 账号级云记忆 memoryBlock(每轮自动注入) |
zcode |
ZCode 桌面端(智谱 zcode.z.ai) | ~/.zcode/AGENTS.md + Memory 文件(cli/memories/global/memory/)+ 技能(~/.zcode/skills/ 与 ~/.agents/skills/,深度 1 直子目录);可选 --zpatch 替换 resources/glm/zcode.cjs 里的系统提示词 |
codex |
Codex(OpenAI Codex CLI,配置目录 ~\.codex) |
AGENTS.md 标记块 + managed-prompts\pojia-persona.md 副本;不改 config.toml |
cursor |
Cursor(配置目录 ~\.cursor) |
rules\pojia-inject.mdc(front-matter 需在第一行);.cursorrules 已存在才同步;不扫项目目录 |
claude |
Claude Code(配置目录 ~\.claude) |
CLAUDE.md 标记块;只处理用户级,不碰各工程根目录的项目级 CLAUDE.md |
双击 一键破甲.bat → 出菜单 → 按数字选:
[1] 一键破甲 先选目标(六个任选 / 可多选)
[2] 检测状态 只读,不改任何文件 ← 建议先看这个
[3] 诊断详情 逐文件列出补丁/备份状态
[4] 预演 只显示会改什么
[5] 选目标单打 dsh / wb / zcode / codex / cursor / claude 任选
[6] 还原 选择目标还原成官方原版
[7] WorkBuddy 守护 安装 / 卸载 / 查看后台守护任务
[8] 体检(只读) 磁盘态 / 明文密钥 / 自证就绪,不改盘
[9] WorkBuddy 快照 生成基准 / 与基准对比
[0] 退出
python 破甲一键通.py # 交互菜单
python 破甲一键通.py --status # 只读:六个目标全查一遍
python 破甲一键通.py --check # 只读体检(有问题退出码 1)
python 破甲一键通.py --diagnose