首页
/ Starship 高级配置完全指南:Transient Prompt、右侧提示、Claude Code 状态栏与样式字符串

Starship 高级配置完全指南:Transient Prompt、右侧提示、Claude Code 状态栏与样式字符串

2026-09-07 14:52:15作者:房伟宁

本篇技术指南聚焦 Starship shell 提示符项目(docs/advanced-config 主题 及其中文简体翻译所对应的 docs/es-ES/advanced-config/README.md)中无法仅靠编辑 starship.toml 完成的进阶配置技巧。当你需要控制多行提示的“瞬时化”(transient)行为、在 bash/zsh/cmd 中注入 pre-prompt 与 pre-execution 钩子、启用右侧提示与续行提示、自定义窗口标题、为 Claude Code 定制 statusline,或深入理解样式字符串(Style String)时,本文将逐一给出可直接复制运行的配置片段,并结合仓库初始化脚本与模块源码揭示其底层实现原理。读完后,你将能够把 Starship 从“开箱即用的提示符”升级为完全贴合个人工作流的交互终端核心。

[!WARNING] 本文介绍的配置方案位于高级范畴,Starship 后续版本可能会调整相关行为与 API。若升级后出现异常,请以新版官方文档与 CHANGELOG.md 为准。

一、Transient Prompt(瞬时提示符):让历史命令提示符“退场”

所谓瞬时提示符,是指在你执行命令后,用一段自定义字符串替换掉上一次打印出来的提示符。它的典型价值在于:当屏幕上的历史命令已经堆积很长时,不必再保留每一行的完整提示信息,从而降低视觉噪音。Starship 官方文档针对不同 shell 给出了各自的启用与自定义方案。

1. PowerShell:Enable-TransientPrompt

在 PowerShell 会话中执行 Enable-TransientPrompt 即可开启,写入 $PROFILE 后则永久生效;需要临时关闭时使用 Disable-TransientPrompt

默认情况下,输入行的左侧会被替换为 >。若要自定义替换内容,请定义名为 Invoke-Starship-TransientFunction 的函数。例如让此处显示 Starship 的 character 模块:

function Invoke-Starship-TransientFunction {
  &starship module character
}

Invoke-Expression (&starship init powershell)

Enable-TransientPrompt

从仓库的 PowerShell 初始化脚本 可以看到这些函数名是 Starship 初始化逻辑真正检查的“约定钩子”:当内部状态 $script:TransientPrompt 为真且存在 Invoke-Starship-TransientFunction 时,渲染逻辑会转而调用它来生成替换文本;同时脚本会扫描并导出 Enable-TransientPrompt / Disable-TransientPrompt 两个会话命令,并在渲染 prompt 前检查是否存在 Invoke-Starship-PreCommand(见下文“pre-execution”章节)。也就是说,你只需要“定义同名函数”,Starship 的初始化脚本会自动接入这些自定义行为。

2. Cmd:clink set prompt.transient + Lua 钩子

在 Cmd 中,Clink 允许用自定义字符串替换先前打印的提示符。开启命令只需执行一次:

clink set prompt.transient <value>

其中 <value> 支持三档取值:

  • always:总是替换上一次的提示符;
  • same_dir:仅当工作目录与上次相同时才替换;
  • off:关闭瞬时提示(即不替换)。

左侧默认替换为 >。要自定义,请在 starship.lua 中定义 starship_transient_prompt_func,该函数会把当前 prompt 以字符串形式传入供你复用。例如在这里显示 character 模块(注意通过 rl.getvariable('keymap') 传递当前按键映射,保证 character 模块能按 vi/emacs 模式切换提示符号):

function starship_transient_prompt_func(prompt)
  return io.popen("starship module character"
    .." --keymap="..rl.getvariable('keymap')
  ):read("*a")
end
load(io.popen('starship init cmd'):read("*a"))()

右侧默认为空。要自定义右侧替换内容,定义 starship_transient_rprompt_func。例如显示最后一条命令启动的时间:

function starship_transient_rprompt_func(prompt)
  return io.popen("starship module time"):read("*a")
end
load(io.popen('starship init cmd'):read("*a"))()

需要留意的是,starship module time 这类调用实际上每次都启动一次 starship 子进程,再经由 io.popen 捕获其标准输出,因此请保持函数内部逻辑轻量,避免让每个 prompt 周期产生明显延迟。

3. Fish:enable_transience

Fish 使用内建函数 enable_transience 开启,写入 ~/.config/fish/config.fish 后永久生效,用 disable_transience 随时关闭。与其它 shell 不同,Fish 只在“命令行非空且语法正确”时打印瞬时提示符,即空行或残缺命令不会触发替换。

左侧默认替换为一个粗体绿色的 。自定义方式同样是定义 starship_transient_prompt_func

function starship_transient_prompt_func
  starship module character
end
starship init fish | source
enable_transience

右侧默认为空,定义 starship_transient_rprompt_func 即可自定义,例如显示最后一条命令启动的时间:

function starship_transient_rprompt_func
  starship module time
end
starship init fish | source
enable_transience

查看仓库的 Fish 初始化脚本 可以发现,enable_transience / disable_transience 的真实作用是注册/擦除回车键的临时绑定:它把 \r 绑定到内部函数 __starship_transient_execute,并在 fish_postexec 事件(__starship_reset_transient)后重置状态。同时脚本在执行时会把 --terminal-width--status--pipestatus--keymap--cmd-duration--jobs 等上下文参数透传给 starship_transient_prompt_func,这与 Cmd 场景下手动透传 --keymap 的意图一致——自定义函数相当于一次对 starship module 子命令的代理调用。

4. Bash:基于 Ble.sh v0.4+ 的瞬时提示

Bash 需要借助 Ble.sh(v0.4 及以上版本)框架来实现瞬时提示。在 ~/.bashrc 中加入:

bleopt prompt_ps1_transient=<value>

这里的 <value> 是冒号分隔的字段组合,可用字段为 alwayssame-dirtrim,规则如下:

  • prompt_ps1_final 为空且 prompt_ps1_transient 非空时,离开当前命令行后 PS1 指定的 prompt 会被擦除;
  • <value>trim,多行 PS1 只保留最后一行,其余行被擦除;
  • 否则命令行会如同设置了 PS1= 一样被重绘;
  • <value>same-dir 且当前工作目录与上一条命令结束时不同,则忽略 prompt_ps1_transient 选项(即回到不替换的行为)。

左右两侧的自定义写入 ~/.blerc(或 ~/.config/blesh/init.sh):

  • 配置左侧替换内容:设置 Ble.sh 的 prompt_ps1_final 选项,例如显示 character 模块:
bleopt prompt_ps1_final='$(starship module character)'
  • 配置右侧替换内容:设置 prompt_rps1_final 选项,例如显示最后一条命令启动的时间:
bleopt prompt_rps1_final='$(starship module time)'

二、自定义 pre-prompt 与 pre-execution 钩子

pre-prompt 钩子在每次绘制提示符之前执行,pre-execution 钩子在每条命令真正运行之前执行。Starship 依据各 shell 的能力给出了不同的注入方式。

Cmd(Clink):最灵活的 starship.lua 钩子

Clink 为 Cmd 提供了非常灵活的 pre-prompt / pre-exec API。按需修改 starship.lua 即可:

在每次绘制 prompt 之前运行自定义函数——定义 starship_preprompt_user_func,该函数接收当前 prompt 字符串。例如在 prompt 前打印一个火箭:

function starship_preprompt_user_func(prompt)
  print("🚀")
end

load(io.popen('starship init cmd'):read("*a"))()

在每条命令执行之前运行自定义函数——定义 starship_precmd_user_func,该函数接收即将执行的命令行字符串。例如打印将要执行的命令:

function starship_precmd_user_func(line)
  print("Executing: "..line)
end

load(io.popen('starship init cmd'):read("*a"))()

Bash:starship_precmd_user_func 与 DEBUG trap

Bash 不像多数 shell 那样具备正式的 preexec/precmd 框架,因此难以提供完全可自定义的钩子;但 Starship 允许你在 prompt 渲染流程中有限地插入自己的函数:

  • 绘制 prompt 之前:定义函数并把其名字赋给 starship_precmd_user_func。例如:
function blastoff(){
    echo "🚀"
}
starship_precmd_user_func="blastoff"
  • 命令执行之前:可借助 Bash 的 DEBUG trap 机制。但必须在初始化 Starship 之前捕获 DEBUG 信号——Starship 会保留 DEBUG trap 的值,但如果 trap 在 Starship 启动之后被覆盖,部分功能将失效:
function blastoff(){
    echo "🚀"
}
trap blastoff DEBUG     # Trap DEBUG *before* running starship
set -o functrace
eval $(starship init bash)
set +o functrace

对应的 Bash 初始化脚本见 src/init/starship.bash,其内部会读取 starship_precmd_user_func 变量并将其整合进 prompt 渲染流程。

PowerShell:Invoke-Starship-PreCommand

PowerShell 同样没有官方 preexec/precmd 框架,但可以通过定义 Invoke-Starship-PreCommand 有限地插入自己的函数:

function Invoke-Starship-PreCommand {
    $host.ui.Write("🚀")
}

由前文可知,src/init/starship.ps1 的渲染流程会在合适时机调用该函数,因此定义完成后重启会话或重新 source 初始化即可生效。

三、修改终端窗口标题

部分 shell prompt 会自动修改窗口标题(例如反映当前目录,Fish 默认就这么做),但 Starship 本身不负责标题管理。官方文档给出了在 bashzshcmdpowershell 中手动实现的方法。

首先定义一个修改标题的函数(Bash 与 zsh 中写法相同),其中可自由使用 $USER$HOSTNAME$PWD 等变量:

function set_win_title(){
    echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007"
}
  • Bash 中,把它设为 Starship 的 precmd 函数:
starship_precmd_user_func="set_win_title"
  • zsh 中,把它加入 precmd_functions 数组:
precmd_functions+=(set_win_title)

效果满意后,把这些行写入对应 shell 配置文件(~/.bashrc~/.zshrc)即可永久生效。

例如,想要在终端标签页标题中显示当前目录名,向 ~/.bashrc~/.zshrc 追加:

function set_win_title(){
    echo -ne "\033]0; $(basename "$PWD") \007"
}
starship_precmd_user_func="set_win_title"

Cmd 中,改用前文提到的 starship_preprompt_user_func 函数来设置标题:

function starship_preprompt_user_func(prompt)
  console.settitle(os.getenv('USERNAME').."@"..os.getenv('COMPUTERNAME')..": "..os.getcwd())
end

load(io.popen('starship init cmd'):read("*a"))()

PowerShell 中,创建名为 Invoke-Starship-PreCommand 的函数即可实现类似输出:

# edit $PROFILE
function Invoke-Starship-PreCommand {
  $host.ui.RawUI.WindowTitle = "$env:USERNAME@$env:COMPUTERNAME`: $pwd `a"
}

Invoke-Expression (&starship init powershell)

注意 PowerShell 示例中反引号的作用:`: 对冒号转义以阻止其被当作 drive 限定符解析,`a 则输出 BEL 字符用于结束 OSC 标题序列。

四、启用右侧提示(right_format)

部分 shell 支持在与输入同一行渲染“右侧提示”(right prompt)。Starship 通过 right_format 选项设置其内容:凡可用于 format 的模块都能用于 right_format;而 $all 变量只会包含那些没有在 formatright_format 中被显式使用的模块。

[!NOTE] 右侧提示是跟随输入位置的单行内容。若想在多行 prompt 中把模块对齐到输入行上方的右端,应使用 fill 模块(仓库各语言对应文档见 docs/es-ES/config/README.md)。

right_format 目前支持以下 shell:elvishfishzshxonshcmdnushellbash。其中 bash 需要安装 Ble.sh v0.4 及以上版本才能使用右侧提示(相关机制见上文瞬时提示章节)。

示例

# ~/.config/starship.toml

# 一个极简的左侧 prompt
format = """$character"""

# 把其余模块移到右侧
right_format = """$all"""

效果类似:

▶                                   starship on  rprompt [!] is 📦 v0.57.0 via 🦀 v1.54.0 took 17s

使用 zsh(v5.0.5+)时,zsh 会给右侧 prompt 默认追加一个尾随空格。当结合 Starship 的 $fill 模块使用时,这个空格会造成对齐问题;在 .zshrc 中加入以下配置即可消除间隙:

ZLE_RPROMPT_INDENT=0

五、续行提示(continuation_prompt)

部分 shell 除普通提示符外还支持“续行提示符”:当用户输入了不完整的语句(例如只输入了左括号或引号)时,它取代普通提示符显示。Starship 通过 continuation_prompt 选项设置续行内容,默认值为 '∙ '

[!NOTE] continuation_prompt 必须设置为不包含任何变量的字面字符串。

续行提示仅适用于以下 shell:bashzshPowerShell

示例

# ~/.config/starship.toml

# 一个显示两个实心箭头的续行提示
continuation_prompt = '▶▶ '

六、为 Claude Code 定制 Statusline

Starship 支持在 Claude Code(Anthropic 面向 Claude 的交互式编码 CLI)内部运行时,显示一条自定义的 statusline,实时反映 Claude 会话信息,包括当前使用的模型、上下文窗口占用以及会话费用。官方文档给出的是《Claude Code statusline 文档》中的完整机制说明,这里基于仓库源码给出仓库侧的落地细节。

启用与整体概览

在 Claude Code 中执行 /statusline 并让其配置 Starship,或手动在 .claude/settings.json 中加入:

{
  "statusLine": {
    "type": "command",
    "command": "starship statusline claude-code"
  }
}

随后在 ~/.config/starship.toml 中定制外观。当以 starship statusline claude-code 调用时,Starship 通过 stdin 接收 Claude Code 会话数据,并使用名为 claude-code 的专用 profile 渲染状态栏。该 profile 内建三个专用模块:

  • claude_model:显示当前使用的 Claude 模型;
  • claude_context:以可视化刻度(gauge)显示上下文窗口占用;
  • claude_cost:显示会话费用与统计信息。

默认的 profile 格式为:

[profiles]
claude-code = "$claude_model$git_branch$claude_context$claude_cost"

从源码侧看,stdin 会话数据由 src/utils/statusline.rs 中的 ClaudeCodeData 结构体反序列化而来,其字段与各模块变量一一对应:ModelInfo { id, display_name }ContextWindow { context_window_size, total_input_tokens, total_output_tokens, used_percentage, current_usage }CostInfo { total_cost_usd, total_duration_ms, total_api_duration_ms, total_lines_added, total_lines_removed } 等。仓库测试用例(见同一文件 #[cfg(test)] 部分)验证了“会话开始时 current_usage / used_percentagenull 也可正常解析(按 0 处理)”、“完整载荷字段解析正确”以及“类型错误会抛错而非静默降级”等边界行为——这解释了为什么会话刚开始、尚无 token 统计时 statusline 依然能稳定渲染。

基础定制示例

你可以通过修改 claude-code profile 及各模块配置来自定义状态栏:

# ~/.config/starship.toml

# 自定义 claude-code profile
[profiles]
claude-code = "$claude_model$claude_context$claude_cost"

# 配置各模块
[claude_model]
format = "$symbol$model "
symbol = "🤖 "
style = "bold blue"

[claude_context]
format = "$gauge $percentage "
gauge_width = 10

[claude_cost]
format = "$symbol$cost "
symbol = "💰 "

模块一:claude_model

显示当前会话使用的 Claude 模型。

选项:

选项 默认值 说明
format '$symbol$model ' 模块的格式字符串。
symbol '🤖 ' 模型名称前显示的符号。
style 'bold blue' 模块样式。
model_aliases {} 将模型 ID 或显示名映射为较短别名的表,优先匹配 ID,再匹配显示名。
disabled false 是否禁用 claude_model 模块。

变量:

变量 示例 说明
model Claude 3.5 Sonnet 当前模型的显示名
model_id claude-3-5-sonnet 模型 ID
symbol 对应 symbol 选项的值
style* 对应 style 选项的值

*:该变量只能用于样式字符串的一部分。

示例: 基础定制,以及为供应商特定模型 ID / 显示名设置别名:

# ~/.config/starship.toml

# 基础定制
[claude_model]
format = "on $symbol$model "
symbol = "🧠 "
style = "bold cyan"

# 为供应商特定模型名设置别名,可按模型 ID 或显示名
[claude_model.model_aliases]
# 按供应商模型 ID 设置别名(例如 AWS Bedrock)
"global.anthropic.claude-sonnet-4-5-20250929-v1:0" = "Sonnet 4.5"
# 按显示名设置别名
"Claude Sonnet 4.5 (Vendor Proxy)" = "Sonnet"

模块二:claude_context

以百分比与可视化刻度展示上下文窗口占用,样式会依据可配置阈值自动切换。该模块的配置结构定义于 src/configs/claude_context.rs

选项:

选项 默认值 说明
format '$gauge $percentage ' 模块的格式字符串。
symbol '' 刻度之前显示的符号。
gauge_width 5 刻度宽度(字符数)。
gauge_full_symbol '█' 刻度中“已填满”段使用的符号。
gauge_partial_symbol '▒' 刻度中“部分填充”段使用的符号。
gauge_empty_symbol '░' 刻度中“空白”段使用的符号。
display 见下文 阈值与样式配置数组。
disabled false 是否禁用 claude_context 模块。

Display(阈值显示配置): display 是一个对象数组,定义不同占用档位的阈值与样式。模块采用“匹配到的最高阈值”对应样式;若该档 hiddentrue 则隐藏模块。

选项 默认值 说明
threshold 0.0 匹配该配置所需的最低上下文占用百分比(注意:百分比数值按百分比读数理解,见下方示例中的 0/30/60/80)。
style bold green 命中该配置时使用的 style 值。
hidden false 命中该配置时是否隐藏模块。
[[claude_context.display]]
threshold = 0
hidden = true

[[claude_context.display]]
threshold = 30
style = "bold green"

[[claude_context.display]]
threshold = 60
style = "bold yellow"

[[claude_context.display]]
threshold = 80
style = "bold red"

变量:

变量 示例 说明
gauge ██▒░░ 上下文占用的可视化表示
percentage 65% 以百分比表示的上下文占用
input_tokens 45.2k 会话累计输入 token 数
output_tokens 12.3k 会话累计输出 token 数
curr_input_tokens 5.1k 最近一次 API 调用的输入 token 数
curr_output_tokens 1.2k 最近一次 API 调用的输出 token 数
curr_cache_creation_tokens 1.5k 最近一次 API 调用的缓存创建 token 数
curr_cache_read_tokens 23.4k 最近一次 API 调用的缓存读取 token 数
total_tokens 200k 上下文窗口总大小
symbol 对应 symbol 选项的值
style* 与命中的 display 阈值对应的样式

*:该变量只能用于样式字符串的一部分。

示例:

只显示刻度的极简模式:

# ~/.config/starship.toml

[claude_context]
format = "$gauge "
gauge_width = 10

展示详细 token 信息:

# ~/.config/starship.toml

[claude_context]
format = "$percentage ($input_tokens in / $output_tokens out) "

自定义刻度符号(可用 "" 留空部分符号):

# ~/.config/starship.toml

[claude_context]
gauge_full_symbol = "▰"
gauge_partial_symbol = ""
gauge_empty_symbol = "▱"
gauge_width = 10
format = "$gauge "

自定义阈值档位:

# ~/.config/starship.toml

[[claude_context.display]]
threshold = 0
style = "bold green"

[[claude_context.display]]
threshold = 50
style = "bold yellow"

[[claude_context.display]]
threshold = 75
style = "bold orange"

[[claude_context.display]]
threshold = 90
style = "bold red"

模块三:claude_cost

以美元为单位显示当前 Claude Code 会话的累计费用。与 claude_context 一样支持基于阈值的样式切换。配置结构定义于 src/configs/claude_cost.rs

选项:

选项 默认值 说明
format '$symbol(\\$$cost) ' 模块的格式字符串。
symbol '💰 ' 费用数字之前显示的符号。
display 见下文 阈值与样式配置数组。
disabled false 是否禁用 claude_cost 模块。

[!NOTE] 默认 format 中的 \\$ 表示一个转义后的美元符号,因此渲染结果形如 💰 $1.23。这同样解释了为何自定义格式里写 $cost 时要搭配 \\$$cost——首个 \\$ 输出字面量 $$cost 才是模块变量。

Display(阈值显示配置):claude_context 类似,按美元费用匹配最高阈值并使用其样式,命中 hidden = true 的配置则隐藏模块。其默认配置(即官方文档给出的默认档位)在源码 Default for ClaudeCostConfig 中实现:

选项 默认值 说明
threshold 0.0 匹配该配置所需的最低费用(美元)
style bold green 命中该配置时使用的 style
hidden false 命中该配置时是否隐藏模块

默认配置:

[[claude_cost.display]]
threshold = 0.0
hidden = true

[[claude_cost.display]]
threshold = 1.0
style = "bold yellow"

[[claude_cost.display]]
threshold = 5.0
style = "bold red"

变量:

变量 示例 说明
cost 1.23 会话总费用(美元,保留两位小数)
duration 1m 30s 会话总时长
api_duration 45s API 调用总耗时
lines_added 1.2k 新增代码行数
lines_removed 500 删除代码行数
symbol 对应 symbol 选项的值
style* 与命中的 display 阈值对应的样式

*:该变量只能用于样式字符串的一部分。

示例:

带代码变更统计的费用显示、先隐藏直到费用超过 $0.10、以及时长信息展示:

# ~/.config/starship.toml

# 费用 + 代码变更统计
[claude_cost]
format = "$symbol$cost (+$lines_added -$lines_removed) "

# 费用未超过 $0.10 时隐藏模块
[[claude_cost.display]]
threshold = 0.0
hidden = true

[[claude_cost.display]]
threshold = 0.10
style = "bold yellow"

[[claude_cost.display]]
threshold = 2.0
style = "bold red"

# 展示时长信息
[claude_cost]
format = "$symbol$cost ($duration) "

七、样式字符串(Style Strings)精解

样式字符串是 Starship 模块中最常出现的组成部分,理解它才能真正自定义上面所有配置中 style = "..." 的含义。

样式字符串是一组以空白分隔的单词列表,不区分大小写boldBoLd 等价)。每个单词可以是以下之一:

  • bold(加粗)
  • italic(斜体)
  • underline(下划线)
  • dimmed(暗化/减弱)
  • inverted(反转前景与背景色)
  • blink(闪烁)
  • hidden(隐藏)
  • strikethrough(删除线)
  • bg:<color>(背景色)
  • fg:<color>(前景色)
  • <color>(前景色简写)
  • none(无样式)

其中 <color> 是颜色说明符(详见下文)。fg:<color><color> 目前行为相同,但未来可能变化。<color> 还可以取 prev_fgprev_bg,它们会分别求值为前一个元素的背景/前景色,若不可用则为 noneinverted 会交换前景与背景色,且单词顺序不影响结果。

关于 none 的语义需要格外注意:

  • 只要 none 不是 bg: 说明符的一部分,它会覆盖字符串中的其余所有 token——例如 fg:red none fg:blue 最终仍是“无任何样式”;
  • bg:none 会把背景设为终端默认色,因此 fg:red bg:none 等价于 redfg:red,而 bg:green fg:red bg:none 也等价于 fg:redred
  • 未来版本可能把 none 与其它样式 token 混用视为错误,故不建议依赖这一覆盖行为。

颜色说明符可以是以下三种之一:

  1. 标准终端色:blackredgreenblueyellowpurplecyanwhite;可加 bright- 前缀得到亮色版本(如 bright-white);
  2. # + 六位十六进制数,即 RGB 十六进制色码(如 #ff0000);
  3. 0–255 之间的数字,表示 8 位 ANSI 256 色码。

若为前景/背景指定了多个颜色,字符串中最后一个颜色优先。

终端兼容性提醒: 并非所有样式字符串都能在所有终端正确显示,已知问题包括:

  • 多数终端默认禁用 blink(闪烁)支持;
  • iTerm 不支持 hidden
  • macOS 自带 Terminal.app 默认不支持 strikethrough

在设计跨平台配置时,建议避免把这些样式作为承载关键信息的唯一手段。

结语:从配置到机制的理解闭环

回顾整篇内容可以看到 Starship 高级配置存在两条清晰的线索:其一是各 shell 约定函数名——无论是 PowerShell 的 Invoke-Starship-*、Fish 的 starship_transient_*_func、Bash 的 starship_precmd_user_funcDEBUG trap,还是 Cmd 下 starship.lua 中的同名函数,底层都由 src/init 目录下对应的初始化脚本在渲染流程的特定时点统一调用;其二是**starship module <name> 子命令**——所有“用模块替换瞬时提示符/右侧提示”的示例本质上都是对模块渲染能力的复用。而对 Claude Code statusline、right_formatcontinuation_prompt 等特性的理解,则可直接回溯至 src/modules/claude_model.rssrc/modules/claude_context.rssrc/modules/claude_cost.rs 等模块实现与 src/configs 目录下的默认值定义。若你希望进一步定制这些模块行为,建议先查阅 docs/config/README.md 掌握基础配置语法,再回到本指南组合出属于你自己的提示符工作流。

登录后查看全文
热门项目推荐
相关项目推荐