- 新增 MCP client 配置加载,支持 CLI/chat 通过配置文件接入 MCP - 完善 chat 交互命令,支持参数查看、事件查看、checkpoint 列表与加载 - 增加 LLM action 后诊断能力,支持真实 LLM 和本地规则兜底 - 将 chat 人工确认点接入 LangGraph interrupt/checkpointer - 更新 README、流程图、待办文档和打包说明 - 补充相关单元测试
78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# Linux 解压即用打包说明
|
|
|
|
## 目标
|
|
|
|
`build_linux_self_contained.sh` 会在 Linux x86_64 构建机上生成一个自带 Python 运行时和 Python 依赖的发布包。目标机器解压后可以直接运行,不需要额外安装 Python 或 pip 依赖。
|
|
|
|
## 构建机要求
|
|
|
|
- Linux x86_64
|
|
- `bash`
|
|
- `python3`,需要带 `venv` 模块
|
|
- 构建时需要访问 Python 包索引,用于安装 PyInstaller 和项目依赖
|
|
|
|
该脚本不支持在 Windows 上交叉构建 Linux 包。建议在和目标环境 glibc 版本相同或更旧的 Linux 发行版上构建,以提高二进制兼容性。
|
|
|
|
## 构建命令
|
|
|
|
```bash
|
|
bash packaging/build_linux_self_contained.sh
|
|
```
|
|
|
|
默认会安装 `.[mcp,chat]`,即包含 MCP 可选依赖和 chat 交互增强依赖。如果只想打最小包:
|
|
|
|
```bash
|
|
PACKAGE_EXTRAS= bash packaging/build_linux_self_contained.sh
|
|
```
|
|
|
|
构建产物:
|
|
|
|
```text
|
|
dist/linux_self_contained/pam-deploy-agent-linux-x86_64/
|
|
dist/linux_self_contained/pam-deploy-agent-linux-x86_64.tar.gz
|
|
```
|
|
|
|
发布目录只会包含运行必需文件:
|
|
|
|
```text
|
|
pam-deploy-agent-linux-x86_64/
|
|
run.sh
|
|
pam-deploy-agent
|
|
doc_scripts/
|
|
deploy.sh
|
|
config.txt.example
|
|
PAM_AUTO_DEPLY_SKILL.md
|
|
mcp_client.example.json
|
|
README.md
|
|
LICENSE
|
|
```
|
|
|
|
说明:
|
|
|
|
- `doc_scripts` 不会打入项目设计文档、测试脚本、Windows bat/PowerShell 脚本。
|
|
- 发布包内的 `README.md` 来自 `packaging/README_packaged_agent.md`,只说明打包后 Agent 的使用方式。
|
|
- 发布包内的 `mcp_client.example.json` 是 MCP stdio 配置示例,需要按真实 MCP server 修改。
|
|
- 项目开发用 README 不会复制到发布包内。
|
|
|
|
## 解压后运行
|
|
|
|
```bash
|
|
tar -xzf pam-deploy-agent-linux-x86_64.tar.gz
|
|
cd pam-deploy-agent-linux-x86_64
|
|
./run.sh --help
|
|
./run.sh chat --config doc_scripts/config.txt.example --strategy fake --checkpoint runtime/checkpoints/demo.json
|
|
```
|
|
|
|
`run.sh --help` 是发布包专用的中文帮助,会解释命令、参数、环境变量和常见示例。`run.sh` 会切换到发布目录再启动可执行程序,因此默认的 `doc_scripts/...` 相对路径可以正常工作。
|
|
|
|
## 包大小评估
|
|
|
|
最终大小以脚本末尾打印的 `du` 结果为准。按当前依赖结构预估:
|
|
|
|
| 构建方式 | 压缩包大小 | 解压后大小 | 主要影响因素 |
|
|
| --- | ---: | ---: | --- |
|
|
| 默认包含 MCP 依赖 | 60-110 MB | 160-300 MB | PyInstaller 运行时、langgraph、mcp 及其依赖 |
|
|
| `PACKAGE_EXTRAS=` 最小包 | 45-75 MB | 120-200 MB | PyInstaller 运行时、langgraph 及基础依赖 |
|
|
|
|
当前项目源码和脚本文档本身体积很小,包大小主要由 Python 运行时、PyInstaller bootloader、第三方依赖和动态库决定。
|