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

如何运行shell命令捕获输出写入UML图,实现git SHA自动注入脚注

UML脚注新增Git SHA标识实现方案

需求背景

现有UML工具已支持脚注功能,可自动生成图片创建日期、创建用户等信息,现需将Git Commit SHA加入脚注,需要新增类似%date()的内置预处理器函数,支持传入Shell命令及参数执行,并返回命令的输出文本,预期用法为%sys_call("git rev-parse --short=10 HEAD")。

实现步骤

  • 新增%sys_call()预处理器内置函数,入参为合法的Shell命令字符串
  • 函数内部调用系统Shell执行传入命令,捕获标准输出内容,自动去除首尾换行、空白字符后返回
  • 新增异常兼容逻辑:命令执行报错、无执行权限、当前目录不是Git仓库等异常场景下,返回预设占位符(如unknown_commit),避免UML渲染流程中断

配置示例

脚注模板配置:
生成时间:%date(%Y-%m-%d %H:%M) | 创建用户:%current_user() | Git版本:%sys_call("git rev-parse --short=10 HEAD")
实际渲染效果参考:
生成时间:2024-05-22 16:47 | 创建用户:wangwu | Git版本:f83d29c7e0

注意事项

  • 需对传入%sys_call()的命令做安全校验,拦截高危操作指令,避免命令注入风险
  • 执行命令时建议设置1-2秒的超时阈值,避免异常命令阻塞UML生成流程

内容的提问来源于stack exchange,提问作者Curtis Lehman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:27:07