Skip to content

V0.1.2.post1

Choose a tag to compare

@JohnRichard4096 JohnRichard4096 released this 18 Jan 04:58
· 3 commits to main since this release

该提交摘要记录了 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