V0.1.2.post1
·
3 commits
to main
since this release
该提交摘要记录了 Amrita Plugin Exec 插件的更新,版本从 0.1.1 升级到 0.1.2.post1。主要变更为重构代码结构、增强配置化和修复工作流。
主要变更:
-
项目结构与构建:
- 将插件代码从
src/amrita/plugins/exec/移动到根目录amrita_plugin_exec/,使其符合标准的 Python 包结构。 - 更新
pyproject.toml,修改包查找路径,并更新插件加载声明。 - 在 CI 工作流 (
CI.yaml和PR.yaml) 中添加uv pip install .步骤,确保插件被正确安装。 - 将工作流中的命令从
nb统一更新为amrita。
- 将插件代码从
-
配置管理:
- 新增
amrita_plugin_exec/config.py文件,使用 Pydantic 定义插件配置模型,支持通过环境变量灵活控制 Docker 执行行为(如是否启用、镜像、Shell 等)。
- 新增
-
功能增强与修复:
amrita_plugin_exec/container_exec.py:- 改为从配置中读取 Docker 主机地址、Shell 名称等参数。
- 使用
asyncio.to_thread包装阻塞的 Docker 调用,避免阻塞事件循环。 - 根据配置决定是否自动移除容器。
- 改进错误日志记录。
amrita_plugin_exec/main.py:- 将命令处理器
execute_in_docker的触发规则rule改为permission参数,并增加对CONFIG.enable_docker的条件检查。 - 优化消息发送和错误处理逻辑。
- 修正了导入顺序。
- 将命令处理器
-
文档与维护:
- 更新
README.md,详细说明了安装方式(推荐使用amrita-cli)、配置选项、权限节点 (amrita.exec.full和amrita.exec.safe) 以及未来计划。 - 在
.gitignore中添加 Amrita 相关的运行时目录(如config/,data/,logs/)。
- 更新
总结:
此次更新将插件重构为标准 Python 包,引入了中心化配置,增强了 Docker 执行的灵活性和安全性,改进了异步处理,并完善了文档。这标志着插件正朝着更规范化、可配置和易维护的方向发展。
Full Changelog: 0.1.2...0.1.1