Releases: AmritaBot/plugin-exec
Releases · AmritaBot/plugin-exec
V0.1.2.post1
该提交摘要记录了 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
V0.1.2
Full Changelog: V0.1.1...0.1.2
Release V0.1.1
✨ feat(exec): 新增docker容器执行功能并重构权限检查
- 新增
container_exec.py模块,提供在docker容器中安全执行命令的功能 - 重构命令执行插件,将原有
/exec命令拆分为/exec(docker) 和/exec.host(宿主机) - 新增独立的权限检查器
docker_check和host_check以区分执行环境权限 - 在docker执行中实现资源限制与安全隔离,包括内存、CPU、进程数限制和只读文件系统
Release V0.1.0
📝 docs(README): 更新项目文档以反映插件功能 - 将项目标题从通用模板更改为具体插件名称(amrita-plugin-exec) - 添加详细的功能描述,说明插件用途 - 提供完整的安装指南,包含uv和pip两种方式 - 添加基本的使用方法说明,列出可用命令