边车服务 (Sidecars)
边车服务(Sidecars)是与 Antigravity 并行运行的后台进程。Antigravity 负责管理边车服务的生命周期,自动启动它们,并在它们崩溃或报错时重新启动。它们对于持久后台脚本、定时循环任务以及响应事件非常有用。
配置方式 (Configuration)
Antigravity 通过搜索 sidecar.json 配置文件来发现边车服务。它们可以定义在两个位置:
- 全局边车服务:位于
~/.gemini/config/sidecars/ - 插件边车服务:位于
~/.gemini/config/plugins/<pluginName>/sidecars/
每个边车服务都有自己的专属目录,且该目录名称将被用作边车服务的 ID。从插件加载的边车服务,其 ID 格式为 <pluginName>/<sidecarName>。
边车服务的目录必须包含一个 sidecar.json 文件,也可以包含其他辅助文件(如待运行的脚本)。该目录同时也会作为执行边车服务命令的当前工作目录。
示例目录结构
~/.gemini/config/sidecars/
├── sidecar1/
│ ├── sidecar.json
│ └── script.py
└── sidecar2/
└── sidecar.json
~/.gemini/config/plugins/
└── my-plugin/
└── sidecars/
└── plugin-sidecar/
└── sidecar.json配置模式 (Config Schema - sidecar.json)
- command (string):要执行的命令/可执行文件(例如
python3或/bin/bash)。与builtin互斥。 - builtin (string):要执行的内置命令。目前支持
schedule。与command互斥。 - args (string[]):可选。传递给命令或内置函数的参数。
- restart_policy (string):可选。重启行为。可选值为
always、on-failure或never。默认为always。 - description (string):可选。关于边车服务作用的易读描述。
- env (object):可选。为边车服务进程设置的环境变量映射。
- display_name (string):可选。在用户界面(UI)中显示的名称。
command或builtin必须设置其中之一。
示例
json
{
"description": "Background worker",
"command": "python3",
"args": [
"worker.py"
],
"restart_policy": "on-failure"
}json
{
"description": "Hourly agent to triage review requests.",
"builtin": "schedule",
"args": [
"0 * * * *",
"agentapi",
"new-conversation",
"Give me a summary of incoming review requests."
]
}用户启用配置 (User Configuration - config.json)
除非用户在全局配置文件(位于 ~/.gemini/config/config.json)中显式启用,否则边车服务默认是禁用的。
- enabled (boolean):是否启用该边车服务。
- projectId (string):可选。在使用
agentapi创建对话时关联的项目 ID。
示例
json
{
"sidecars": {
"sidecar1": {
"enabled": true
},
"my-plugin/plugin-sidecar": {
"enabled": true,
"projectId": "<projectId>"
}
}
}运行时数据 (Runtime Data)
边车服务产生的运行时数据存储在 ~/.gemini/antigravity/sidecar_data/<sidecarId>/ 中。
包括以下内容:
- data/:存放任何持久化数据的子目录。该路径可以通过环境变量
ANTIGRAVITY_EXECUTABLE_DATA_DIR获取。 - logs/:自动生成的带时间戳的
stdout和stderr日志。 - events/:为
agentapi调用记录的 JSON 文件。
schedule 内置命令 (Builtin)
schedule 是用于运行周期性循环命令的内置调度程序。
json
{
"builtin": "schedule",
"args": [
"* * * * *",
"<command>",
"<arg1>",
"<arg2>"
]
}第一个参数是标准的 5 字段 Cron 表达式。其余参数是要在指定计划中运行的命令及其参数。
agentapi 工具
边车服务可以使用 agentapi CLI 来以编程方式与 Antigravity 交互。该可执行文件会被自动添加到边车服务的环境变量 PATH 中,直接调用 agentapi 即可。
创建新对话
bash
agentapi new-conversation <prompt>[!IMPORTANT] 边车服务在创建新对话时必须已设置
projectId。
发送消息
bash
agentapi send-message <conversation_id> <prompt>
Gemini 中文文档