You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何借助DDEV插件安装自定义命令?ddev get服务命令配置咨询

如何为DDEV服务添加「ddev screenshot」自定义命令?

问题背景

正在为Diffy搭建一款ddev get服务,目的是方便截取本地网站截图,希望提供ddev screenshot命令,想了解推荐的实现方式(推测可通过install.yaml操作)。

推荐实现方式

DDEV官方推荐通过install.yaml配置自定义命令,这也是ddev get生态的标准做法,能让用户一键安装后直接使用命令。具体步骤如下:

  1. 通过install.yaml配置命令
    在项目仓库中创建或编辑install.yaml,添加自定义命令的配置项。示例配置如下:

    commands:
      screenshot:
        description: "截取本地网站截图并同步到Diffy"
        exec: "docker exec -it ${DDEV_WEB_CONTAINER} /var/www/html/.ddev/commands/web/screenshot"
        service: web
        web-environment:
          - DIFFY_API_KEY=${DIFFY_API_KEY}
    
    • description:命令的功能说明,用户执行ddev help screenshot时会显示
    • exec:指定要执行的命令,这里调用web容器内的自定义脚本
    • service:指定命令在web容器中执行(截图工具通常部署在web容器)
    • web-environment:传递必要的环境变量(比如Diffy的API密钥)
  2. 添加自定义截图脚本
    如果需要复杂的截图逻辑,可将脚本放在仓库的commands目录下,再通过install.yaml将脚本复制到DDEV项目的对应路径:

    files:
      - source: commands/screenshot.sh
        target: .ddev/commands/web/screenshot
        executable: true
    

    脚本示例(screenshot.sh)可包含截图工具调用、Diffy API上传等逻辑,比如使用wkhtmltoimage截取页面:

    #!/bin/bash
    wkhtmltoimage http://$DDEV_HOSTNAME /tmp/screenshot.png
    # 调用Diffy API上传截图的逻辑
    curl -X POST https://diffy.website/api/upload \
      -H "Authorization: Bearer $DIFFY_API_KEY" \
      -F "image=@/tmp/screenshot.png"
    
  3. 验证安装与使用
    用户执行ddev get DiffyWebsite/ddev-diffy后,ddev screenshot命令会自动生效,直接运行即可完成截图操作。

优势说明

这种方式完全符合DDEV的扩展规范,用户无需手动配置文件,ddev get会自动完成命令的安装与环境变量配置,降低使用门槛。

内容的提问来源于stack exchange,提问作者Yuriy Gerasimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:32:34