跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

系统提示覆盖

用 GEMINI_SYSTEM_MD 环境变量用你自己的 Markdown 文件完全替换 Gemini CLI 的内置系统提示:启用方式、变量替换与注意事项。

指导 Gemini CLI 的核心系统指令可以用你自己的 Markdown 文件完全替换,由 GEMINI_SYSTEM_MD 环境变量控制。该变量让 CLI 用外部 Markdown 文件作为系统提示,完全覆盖内置默认值。这是完全替换,不是合并:使用自定义文件时,原来的核心指令都不再适用,除非你自己把它们包含进来。这个功能面向需要强制严格的、项目特定行为或创建定制角色的高级用户。官方建议先把当前默认系统提示导出到文件,审阅后再有选择地修改或替换。

如何启用

可以在 shell 里临时设置环境变量,或通过 .gemini/.env 文件持久化:

  • 使用项目默认路径(.gemini/system.md):GEMINI_SYSTEM_MD=true 或 GEMINI_SYSTEM_MD=1,CLI 读取 ./.gemini/system.md(相对于当前项目目录)
  • 使用自定义文件路径:GEMINI_SYSTEM_MD=/absolute/path/to/my-system.md;也支持相对路径(相对于当前工作目录解析)和波浪号展开(如 ~/my-system.md)
  • 禁用覆盖(使用内置提示):GEMINI_SYSTEM_MD=false 或 0,或取消设置该变量

覆盖已启用但目标文件不存在时,CLI 会报错:missing system prompt file '<path>'。

快速示例

  • 用项目文件做一次性会话:GEMINI_SYSTEM_MD=1 gemini
  • 用 .gemini/.env 为项目持久化:创建 .gemini/system.md,然后在 .gemini/.env 里加 GEMINI_SYSTEM_MD=1
  • 使用主目录下的自定义文件:GEMINI_SYSTEM_MD=~/prompts/system.md gemini

界面标识

GEMINI_SYSTEM_MD 生效时,CLI 会在界面里显示 |⌐■_■| 标识,提示处于自定义系统提示模式。

变量替换

使用自定义系统提示文件时,可以用这些变量动态包含内置内容:${AgentSkills}(注入所有可用 agent skills 的完整一节,含标题)、${SubAgents}(注入可用子智能体的完整一节,含标题);官方文档还列出其他可用变量,以官方原文为准。