🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Go 本地开发编排器 ddtcorex/govard

DeepSeek Harness
ddtcorex1 天前有提交已提供中文文档扫描:含敏感能力

GOVARD:基于 Go 的多功能运行时与开发环境

43.2/100
综合分
15
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/ddtcorex/govard.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包govard(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 08:43:22

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    npm/install.js:38
    const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
  • 执行外部命令固定命令
    npm/install.js:50
    execFileSync('curl', ['-fsSL', '--retry', '3', '-o', dest, url], { stdio: 'inherit' });
  • 写入本地文件
    npm/install.js:70
    const out = fs.createWriteStream(dest);
  • 执行外部命令固定命令
    npm/install.js:81
    execFileSync('curl', ['--version'], { stdio: 'ignore' });
  • 读取本地文件
    npm/install.js:90
    hash.update(fs.readFileSync(filePath));
  • 写入本地文件
    npm/install.js:95
    fs.mkdirSync(destDir, { recursive: true });
  • 执行外部命令固定命令
    npm/install.js:97
    execFileSync(
  • 执行外部命令固定命令
    npm/install.js:104
    execFileSync('tar', ['-xzf', archivePath, '-C', destDir], { stdio: 'inherit' });
  • 读取本地文件
    npm/install.js:142
    if (!fs.existsSync(binaryPath)) {
  • 写入本地文件
    npm/install.js:146
    fs.chmodSync(binaryPath, 0o755);
  • 写入本地文件
    npm/install.js:148
    fs.writeFileSync(path.join(BIN_DIR, '.install-source'), 'npm\n');
  • 删除本地文件
    npm/install.js:151
    fs.rmSync(tmpDir, { recursive: true, force: true });
  • 读取本地文件
    npm/run.js:12
    if (!fs.existsSync(binaryPath)) {
  • 执行外部命令来自配置/变量
    npm/run.js:19
    const result = spawnSync(binaryPath, process.argv.slice(2), { stdio: 'inherit' });
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 本地开发环境编排
  • 支持多框架
  • 集成Docker与SSL

基于 Go 的本地开发编排器,支持 Magento、Laravel、Symfony、Next.js、WordPress 等。带 Docker 技术栈、SSL、Xdebug 和桌面仪表盘。

README

由 DeepSeek 最新模型翻译生成
GOVARD:基于 Go 的多功能运行时与开发环境 Govard 是一款专业级本地开发编排器,用 Go 编写。它取代了老旧的 bash 工具链,改用快速的本地二进制文件来管理复杂的容器化环境,主打稳定、速度和开发者体验。 🆚 Govard 的独特之处 | 领域 | Govard 的优势 | | 核心架构 | 原生 Go 二进制文件,直接调用 Docker SDK 做编排,不再靠 shell 脚本拼接。 | | 框架智能识别 | 自动发现框架 + 框架专属蓝图 + 自定义技术栈向导。 | | Magento 深度支持 | 一等公民级的 Magento/OpenMage 工作流(自动接好 env.php/local.xml、表前缀、Varnish/Redis/队列/搜索、专用 php-debug 路由)。 | | 本地 HTTPS/DNS | 内置 Caddy + dnsmasq + 根 CA 自动信任,覆盖 .test 域名。 | | 远程安全 | remote/sync 对敏感目标提供保护(禁止写生产、按范围授权、审计日志)。 | | 部署 | 框架配方驱动一条中立的流水线(deploy),容器沙箱在本地预演,产物模式让 CI 任务无需安装工具链。 | | 团队可复现性 | govard lock + lock.strict 检测不同机器间的环境漂移。
展开完整文档(README 剩余 1 节)
GOVARD:基于 Go 的多功能运行时与开发环境

Govard 是一款专业级本地开发编排器,用 Go 编写。它取代了老旧的 bash 工具链,改用快速的本地二进制文件来管理复杂的容器化环境,主打稳定、速度和开发者体验。

🆚 Govard 的独特之处

| 领域 | Govard 的优势 |
| 核心架构 | 原生 Go 二进制文件,直接调用 Docker SDK 做编排,不再靠 shell 脚本拼接。 |
| 框架智能识别 | 自动发现框架 + 框架专属蓝图 + 自定义技术栈向导。 |
| Magento 深度支持 | 一等公民级的 Magento/OpenMage 工作流(自动接好 env.php/local.xml、表前缀、Varnish/Redis/队列/搜索、专用 php-debug 路由)。 |
| 本地 HTTPS/DNS | 内置 Caddy + dnsmasq + 根 CA 自动信任,覆盖 .test 域名。 |
| 远程安全 | remote/sync 对敏感目标提供保护(禁止写生产、按范围授权、审计日志)。 |
| 部署 | 框架配方驱动一条中立的流水线(deploy),容器沙箱在本地预演,产物模式让 CI 任务无需安装工具链。 |
| 团队可复现性 | govard lock + lock.strict 检测不同机器间的环境漂移。 |
| 恢复工作流 | govard snapshot 在危险操作前快速给本地数据库/媒体文件打检查点。 |

🚀 核心特性

- 一等公民级部署:govard deploy 按框架配方,通过 SSH + rsync 发布一个修订版本,支持原子符号链接切换或原地发布、维护窗口、数据库备份、校验、回滚和续跑——另外还有 govard sandbox,在你本机的容器上预演整条流水线。
- 远程管理(旗舰功能):命名远程,按范围授权(files,media,db,deploy),灵活认证(keychain、ssh-agent、keyfile),安全同步带 dry-run 预演,还有连通性诊断(govard remote test)。
- 共享 SSH 网关:govard-proxy-sshd 给每个沙箱一个稳定地址(ssh -p 2222 <project>@127.0.0.1,含 sftp),不再用临时端口。
- 基础设施主机访问:Elasticsearch/OpenSearch 走 http://<project>.test:9200,RabbitMQ 管理界面走 http://<project>.test:15672——按项目配置 Caddy 路由,无需额外配置。
- 框架发现:Magento 1/OpenMage、Magento 2、Mage-OS、Laravel、Next.js、Emdash、Drupal、Symfony、Shopware、CakePHP、PrestaShop、WordPress 和 Django,外加交互式自定义框架向导。
- 零配置调试:Xdebug 2 和 3,一键开关,按项目隔离。
- 数据库可观测性:实时查询监控(govard db top),导入/同步进度条,Redis/Valkey 管理。
- 静态分析与性能剖析:govard audit(lint、完整性检查、profiler),会话持久化,支持 diff 和重跑。
- VSCode 集成:govard vscode setup [--global] 在容器内运行 Intelephense、PHPStan、PHPCS、PHPUnit 和 Xdebug。
- 全局服务:开箱即用的 Caddy 代理、Mailpit、PHPMyAdmin、Portainer。
- 团队安全网:快照、漂移检测、1Password(op://)密钥引用、可恢复传输。
- 命令行 + 桌面端:同一套引擎,既有终端二进制,也有 Wails 桌面应用;govard self-update 带校验和验证。

🛠️ 安装

选一个渠道,坚持用下去:

| 渠道 | 命令 | 说明 |
| npm | npm i -g @ddtcorex/govard | Node 20+,仅命令行,任意操作系统 |
| Homebrew | brew install ddtcorex/tap/govard | macOS + Linuxbrew,仅命令行 |
| Docker | docker run ghcr.io/ddtcorex/govard:<version> version | 无需安装;适合 CI |
| CI | uses: ddtcorex/setup-govard@v1 | GitHub Actions,可固定版本 |
| 脚本 | curl -fsSL .../install.sh \| bash | 完整安装器(命令行 + 桌面端,视平台支持情况) |

curl -fsSL https://raw.githubusercontent.com/ddtcorex/govard/master/install.sh | bash

安装器会处理系统依赖、启动全局服务、配置 SSL 信任。默认情况下,在 WebKitGTK 6.0 和 GTK 4 可用的 Linux 上(Ubuntu 24.04+、Debian 13+),它还会安装 govard-desktop;传 --cli-only 可显式跳过桌面端,或者在 WebKitGTK 6.0 缺失的环境(Ubuntu 22.04、Debian 12 以及所有非 Linux 平台)让安装器自动回退到仅命令行。带标签的发布版本还提供 .deb/.pkg 安装包,包括单独的 govard-desktop_<version>_linux_<arch>.deb —— 完整选项见发布页和安装指南。不要在同一台机器上混用渠道(/usr/bin 和 /usr/local/bin 下的二进制会冲突)。

主机侧命令无需 Docker 即可运行(govard capabilities 会列出每条命令的要求);依赖容器的命令会以 3 退出并返回 CAPABILITY_MISSING,而不是中途失败。详情见无需 Docker 运行。

贡献者从源码构建(./install.sh --source -y,需要 Go 1.25+、Node 24+ 以及桌面端所需的 pnpm);见 CONTRIBUTING.md。

💻 用法

1. 初始化并启动

govard init # scan the project, generate .govard.ymlbash
govard env up # 渲染 compose,启动整套服务(govard up 也可以) govard shell # 进入应用容器

2. 远程主机与同步 bash govard remote add staging --host staging.example.com --user deploy --path /var/www/app govard remote copy-id staging govard remote test staging govard sync --source staging --destination local --full --plan # 先试运行 govard sync --source staging --destination local --full

prod 远程主机默认写保护;文件/媒体同步走可断点续传的 rsync。完整文档:远程主机与同步。

3. 部署 bash govard deploy plan staging # 列出全部任务,不连接任何主机 govard deploy check staging # 预检:连通性、目录结构、权限、php、磁盘 govard deploy staging --yes # 部署本地 HEAD(或 --revision <sha>) govard deploy releases staging # 查看目标主机上有什么 govard deploy rollback staging # 回滚到上一个发布版本

先对着容器演练一遍,或者把构建拆到 CI 里: bash govard sandbox up --profile full --php 8.3 govard deploy --remote sandbox --yes govard sandbox down --purge

- 完整指南:部署
- 实战配置(Luma、Hyvä、主题、模式、webroot):部署案例

4. 日常运维 bash govard db dump -e staging # 导出 / 导入 / 查询 / top govard debug on # 为当前项目开关 Xdebug govard snapshot create # 高风险升级前打个检查点 govard audit run # 静态分析,会话可持久化 govard tunnel start # 通过 cloudflare 暴露本地(需要装好二进制)

命令参考(快捷方式、别名、全部命令):CLI 命令。

SSL 与 HTTPS

Govard 通过 Caddy + 本地根 CA 为每个 .test 域名提供 HTTPS,由 dnsmasq 把 .test 解析到回环地址。只需把解析器指向它一次:

| 系统 | 配置 |
| Linux(systemd-resolved) | 在 /etc/systemd/resolved.conf.d/ 下设置 DNS=127.0.0.1 + Domains=~test |
| macOS | echo "nameserver 127.0.0.1" \| sudo tee /etc/resolver/test |

然后 govard svc up 会自动信任根 CA(写入系统证书库,并尽力导入浏览器)。细节与排障:SSL 与域名。

🌍 全局服务

所有项目共享(通过 govard svc):

| 服务 | URL | 凭据 |
| Mailpit | https://mail.govard.test | 无需认证;SMTP:mail:1025 |
| PHPMyAdmin | https://pma.govard.test | 项目数据库凭据 |
| Portainer | https://portainer.govard.test | admin / AdminGovard123$ |
| Search API | http://<project>.test:9200 | 无需认证(Elasticsearch/OpenSearch) |
| RabbitMQ UI | http://<project>.test:15672 | guest / guest |
| SSH 网关 | ssh -p 2222 <project>@127.0.0.1 | 你加入白名单的密钥(govard gateway allow-key) |

命令行快捷方式:govard open mail|db|portainer。

每个项目的管理面板都用与 Portainer 相同的账号: admin / AdminGovard123$。克隆出来的项目或旧项目实际拿到什么,见应用管理员。

📚 文档

完整文档(自动同步到 GitHub Wiki):

- 快速上手 - 安装与第一个项目的工作流
- 命令行命令 - 快捷方式、工具、诊断、实用程序
- 配置 - .govard.yml、配置档、远程、蓝图注册表
- 部署 + 案例研究
- 远程与同步 - 设置、流程、审计日志、远程数据库操作
- SSL 与域名 - HTTPS、CA 信任、路由
- 框架 - 支持矩阵与框架说明
- 桌面应用 - 桌面界面与开发模式工作流

🤝 贡献

构建、测试,以及必须走的头脑风暴 → 编写计划 → 执行计划工作流,都在 CONTRIBUTING.md 和 AGENTS.md 里。推送前的快速检查:make test && make build。

📜 许可证

基于 MIT 许可证分发。更多信息见 LICENSE。

由 ddtcorex 用 ❤️ 开发
预览分享卡片长什么样 ↓ddtcorex/govard
分享 · DeepSeek Harness Hub
ddtcorex/govard

GOVARD:基于 Go 的多功能运行时与开发环境

这是你的仓库?认领条目

回到顶部