pack-Agent
by aoye516
把任意 AI Agent 打包成可移植的 dsh 模式(preset)仓库 / Package any AI agent into a portable dsh preset repo
安装
dsh plugin --profile web add github:aoye516/pack-AgentGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
简体中文 | English
把任意 AI Agent 打包成可移植的 dsh 模式(preset)仓库。
打包结果是一个 GitHub 仓库,仓库本身就是 dsh preset:克隆到 ~/.dsh/.agent-presets/<id> 即可在 dsh 模式选择器中使用。
这是什么
pack_agent.py 把一个 AI Agent —— 来自 Claude Code、Codex、opencode、aider、Cursor、已安装的 dsh preset,或任意用 JSON/YAML manifest 描述的自定义 Agent —— 打包成可移植的 dsh preset 仓库:
| 路径 | 内容 |
|---|---|
agent.cordis.yml |
dsh 组装文件(基础 preset + MCP + 工具 + skills 接线) |
preset.yml |
模式名称 / 描述(模式选择器显示) |
AGENTS.md |
合并后的 Agent 指令 + memory |
skills/ |
收集到的 skills(每个 skill 一个目录) |
tools/ |
打包的自定义工具插件 |
assets/ |
需要附带的其他文件 |
.env.example |
MCP token 占位符(绝不包含真实密钥) |
install.sh |
一键安装脚本 |
pack_agent.py |
打包器本身,方便以后重新打包 |
特性
- 多来源:dsh preset(
--from-dsh)、Claude Code(~/.claude.json、skills、CLAUDE.md、项目.mcp.json)、Codex(~/.codex/config.toml、memory、skills)、opencode / aider / Cursor(--source opencode|aider|cursor),或通用 manifest - MCP 脱敏:token/密钥自动替换为
process.env.AGENT_MCP_*占位符并写入.env.example,任何敏感信息都不会进仓库 - memory 脱敏:
--memory safe既剔除赋值式密钥,也剔除行内形似凭据的 token(URL 和正常文本不受影响) - MCP 过滤:
--mcp-include、--mcp-exclude、--exclude-local-mcp(剔除本机专用服务) --dry-run只预览不打任何文件;--verbose打印详细发现过程--push自动 git init 并推送到 GitHub(有gh时直接建仓库)
环境要求
- Python 3.9+
pip install pyyaml(Python < 3.11 解析 TOML 还需pip install tomli)
快速开始
# 自动检测本机的 dsh / Claude Code / Codex / opencode / aider / Cursor,合并打包
python3 pack_agent.py --id my-agent --name "我的 Agent" --description "..." --out dist/my-agent
# 只打包某个已安装的 dsh preset
python3 pack_agent.py --from-dsh standard --id my-agent --out dist/my-agent
# 用 manifest 打包任意 Agent
python3 pack_agent.py --manifest agent.manifest.json --out dist/my-agent
# 先预览,不写任何文件
python3 pack_agent.py --manifest agent.manifest.json --out dist/my-agent --dry-run
# 只保留 github MCP、剔除本机服务
python3 pack_agent.py --id my-agent --mcp-include github --exclude-local-mcp --out dist/my-agent
# 打包并推送到 GitHub
python3 pack_agent.py --id my-agent --push --repo my-agent --public
命令行参考
| 参数 | 说明 |
|---|---|
--id |
模式 id(kebab-case 目录名)。默认取 --out 或 my-agent |
--name、--description |
模式选择器里显示的名称 / 描述 |
--out |
输出目录。默认 ./dist/<id> |
--source |
auto(默认,合并所有检测到的来源)、dsh、claude、codex、opencode、aider、cursor、generic |
--from-dsh <id> |
以已安装的 dsh preset 为基底(隐含 --source dsh) |
--manifest <path> |
描述通用 Agent 的 JSON/YAML manifest |
--skills [名称...] |
要包含的 skill 名称/路径;不带值 = 一个都不包含。默认:全部发现的 |
--mcp-config <path> |
额外的 MCP 配置文件(JSON/YAML/TOML,可重复) |
--mcp-include <name> |
只包含这些 MCP(可重复 / 逗号分隔) |
--mcp-exclude <name> |
排除这些 MCP(可重复 / 逗号分隔) |
--exclude-local-mcp |
剔除本机专用 MCP(home/本地路径、localhost URL) |
--agent-md <path> |
要包含的指令文件(可重复) |
--memory |
auto(默认)/ full / safe / none |
--memory-files <path> |
额外的 memory 文件(可重复) |
--extra-file <src:dst> |
把额外文件/目录复制到 assets/<dst>(可重复) |
--tool <path> |
把自定义工具插件打包进 tools/(可重复) |
--base-preset <id> |
非 dsh 来源时的基底 preset。默认 standard |
--dry-run |
只打印计划,不写任何文件 |
--verbose |
详细发现 / 脱敏输出 |
--push、--repo、--public、--private |
git init 并推送到 GitHub |
--yes |
跳过所有确认提示 |
Manifest 格式
{
"id": "my-agent",
"name": "My Agent",
"description": "A packaged agent",
"skills": ["/path/to/skill-dir", "skill-name-from-common-roots"],
"mcp": {
"github": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "ghp_xxx" }
}
},
"agent_md": ["/path/to/AGENTS.md"],
"memory": {
"mode": "safe",
"files": ["/path/to/memory.md"]
},
"tools": [
"/path/to/tool.mjs",
{"path": "/path/to/tool-dir", "id": "my-tool", "name": "./tools/tool-dir/index.mjs", "config": {}}
],
"extra_files": [
{"src": "/path/to/file", "dst": "notes/guide.md"}
]
}
安装打包结果
在目标机器上:
git clone --depth 1 https://github.com/you/my-agent ~/.dsh/.agent-presets/my-agent
或进入仓库运行:
./install.sh https://github.com/you/my-agent my-agent
然后重启 dsh,在模式选择器中选择新模式。MCP 需要的环境变量见 .env.example。
安全说明
- MCP 的 token/密钥不会写入仓库,只生成
process.env.AGENT_MCP_*占位符和.env.example。 - memory 默认
safe模式,行内形似凭据的 token 也会被剔除;确实需要全量保留时用--memory full。 - 发布前建议检查
AGENTS.md、skills/、assets/里没有意外包含的敏感信息。
License
MIT © aoye516
原始 README: https://github.com/aoye516/pack-Agent/blob/main/README.md ↗
同类插件
查看全部 →
deepseek-harness
从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

dsh-plugin
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。

dsh-tongflow
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。

helloagents
AI 编码 CLI 的工作流层:技能、项目知识、交付检查、更安全的配置写入与可恢复执行

dsh-ai-novel-writer
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。

rea
用 agent 逆向任何东西:从应用行为到原生二进制