Skip to content

Releases: AmritaBot/plugin-exec

V0.1.2.post1

18 Jan 04:58

Choose a tag to compare

该提交摘要记录了 Amrita Plugin Exec 插件的更新,版本从 0.1.1 升级到 0.1.2.post1。主要变更为重构代码结构、增强配置化和修复工作流。

主要变更:

  1. 项目结构与构建

    • 将插件代码从 src/amrita/plugins/exec/ 移动到根目录 amrita_plugin_exec/,使其符合标准的 Python 包结构。
    • 更新 pyproject.toml,修改包查找路径,并更新插件加载声明。
    • 在 CI 工作流 (CI.yamlPR.yaml) 中添加 uv pip install . 步骤,确保插件被正确安装。
    • 将工作流中的命令从 nb 统一更新为 amrita
  2. 配置管理

    • 新增 amrita_plugin_exec/config.py 文件,使用 Pydantic 定义插件配置模型,支持通过环境变量灵活控制 Docker 执行行为(如是否启用、镜像、Shell 等)。
  3. 功能增强与修复

    • 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 的条件检查。
      • 优化消息发送和错误处理逻辑。
      • 修正了导入顺序。
  4. 文档与维护

    • 更新 README.md,详细说明了安装方式(推荐使用 amrita-cli)、配置选项、权限节点 (amrita.exec.fullamrita.exec.safe) 以及未来计划。
    • .gitignore 中添加 Amrita 相关的运行时目录(如 config/, data/, logs/)。

总结:

此次更新将插件重构为标准 Python 包,引入了中心化配置,增强了 Docker 执行的灵活性和安全性,改进了异步处理,并完善了文档。这标志着插件正朝着更规范化、可配置和易维护的方向发展。

Full Changelog: 0.1.2...0.1.1

V0.1.2

18 Jan 04:53

Choose a tag to compare

Full Changelog: V0.1.1...0.1.2

Release V0.1.1

30 Dec 07:18
0f12894

Choose a tag to compare

✨ feat(exec): 新增docker容器执行功能并重构权限检查

  • 新增 container_exec.py 模块,提供在docker容器中安全执行命令的功能
  • 重构命令执行插件,将原有 /exec 命令拆分为 /exec (docker) 和 /exec.host (宿主机)
  • 新增独立的权限检查器 docker_checkhost_check 以区分执行环境权限
  • 在docker执行中实现资源限制与安全隔离,包括内存、CPU、进程数限制和只读文件系统

Release V0.1.0

30 Dec 05:38

Choose a tag to compare

📝 docs(README): 更新项目文档以反映插件功能

- 将项目标题从通用模板更改为具体插件名称(amrita-plugin-exec)
- 添加详细的功能描述,说明插件用途
- 提供完整的安装指南,包含uv和pip两种方式
- 添加基本的使用方法说明,列出可用命令