如何关闭 Kilo Code 的云端 Session 上传功能

23 阅读4分钟

image.png

背景

Kilo Code 有云端 Session 功能。使用 Kilo 免费模型、Cloud Agent、Fork Session 等功能时,会涉及 Kilo 的云端服务。

如果只是使用自己配置的 API Key,例如 OpenAI、Anthropic、Gemini、OpenRouter、本地 Ollama、LM Studio、LiteLLM 等,有些情况下并不希望 Kilo Code 把会话同步到 Kilo 云端。

Kilo Code 源码中提供了一个环境变量开关:

KILO_DISABLE_SESSION_INGEST=1

它用于禁用 Session Ingest,也就是会话上传 / 会话同步相关逻辑。

如果还想禁用分享相关功能,可以同时设置:

KILO_DISABLE_SHARE=1

需要注意的区别

1. 关闭 Session 上传,不等于模型请求完全本地化

如果你使用的是 OpenAI、Anthropic、Gemini、OpenRouter 等远程模型,请求内容仍然会发送给对应模型服务商。

关闭 KILO_DISABLE_SESSION_INGEST 的目标是:

不把 Kilo Code 的 Session 同步到 Kilo 云端

它不是:

让所有 AI 请求都不出本机

如果想让代码和对话内容完全不出本机,应使用本地模型,例如 Ollama、LM Studio、vLLM 等。


2. 使用 Kilo 免费模型时,通常不能避免 Kilo 云端

如果你使用 Kilo 免费模型、Kilo Gateway、Kilo Auto、Cloud Agent 或 Fork Session,这些功能本身就依赖 Kilo 云端服务。

可以简单理解为:

使用 Kilo 免费模型 = 接受 Kilo 云端能力
使用自己 API Key = 可以尝试禁用 Kilo 云端 Session 上传

3. 不要只在 VS Code / Windsurf 的集成终端里 export

在终端里执行:

export KILO_DISABLE_SESSION_INGEST=1

通常只影响当前终端和它启动的子进程。

如果 VS Code / Windsurf 是从 Dock、Spotlight、Finder、开始菜单等图形界面启动的,Kilo Code 扩展进程不一定能读取到这个环境变量。

所以要设置“全局 GUI 环境变量”。


macOS 设置方法

方法一:当前登录会话内设置

打开“终端”,执行:

# 关闭 Session 上传
launchctl setenv KILO_DISABLE_SESSION_INGEST 1
# 关闭分享
launchctl setenv KILO_DISABLE_SHARE 1

然后:

  1. 完全退出 VS Code / Windsurf
  2. 重新打开 VS Code / Windsurf
  3. 重新启动 Kilo Code 会话

检查是否设置成功:

launchctl getenv KILO_DISABLE_SESSION_INGEST
launchctl getenv KILO_DISABLE_SHARE

正常应输出:

1
1

取消设置:

# 取消 Session 上传
launchctl unsetenv KILO_DISABLE_SESSION_INGEST
# 取消分享
launchctl unsetenv KILO_DISABLE_SHARE

然后重新打开 VS Code / Windsurf。

注意:launchctl setenv 通常只对当前登录会话生效。重启电脑后可能失效,需要重新执行。


方法二:登录后自动设置

如果希望每次登录后自动设置,可以使用 LaunchAgent。

先创建脚本:

mkdir -p ~/.config/kilo-env

cat > ~/.config/kilo-env/set-kilo-env.sh <<'EOF'
#!/bin/bash
/bin/launchctl setenv KILO_DISABLE_SESSION_INGEST 1
/bin/launchctl setenv KILO_DISABLE_SHARE 1
EOF

chmod +x ~/.config/kilo-env/set-kilo-env.sh

创建 LaunchAgent:

mkdir -p ~/Library/LaunchAgents

cat > ~/Library/LaunchAgents/local.kilo.env.plist <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>local.kilo.env</string>

    <key>ProgramArguments</key>
    <array>
      <string>/Users/YOUR_USERNAME/.config/kilo-env/set-kilo-env.sh</string>
    </array>

    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>
EOF

把文件中的:

/Users/YOUR_USERNAME

改成你的真实用户目录,可以用下面命令自动替换:

perl -pi -e "s|\Q/Users/YOUR_USERNAME\E|$ENV{HOME}|g" ~/Library/LaunchAgents/local.kilo.env.plist

加载 LaunchAgent:

launchctl unload ~/Library/LaunchAgents/local.kilo.env.plist 2>/dev/null
launchctl load ~/Library/LaunchAgents/local.kilo.env.plist

检查:

launchctl getenv KILO_DISABLE_SESSION_INGEST
launchctl getenv KILO_DISABLE_SHARE

正常应输出:

1
1

之后完全退出并重新打开 VS Code / Windsurf。


Windows 设置方法

方法一:图形界面设置

  1. 打开开始菜单,搜索:

    环境变量
    
  2. 打开:

    编辑账户的环境变量
    
  3. 在“用户变量”区域点击“新建”。

  4. 添加关闭session上传的变量:

    变量名:KILO_DISABLE_SESSION_INGEST
    变量值:1
    
  5. 如果想关闭共享,添加关闭共享的变量:

    变量名:KILO_DISABLE_SHARE
    变量值:1
    
  6. 点击确定保存。

  7. 完全退出 VS Code / Windsurf,然后重新打开。

必要时注销 Windows 账户后重新登录。


方法二:PowerShell 命令设置

打开 PowerShell,执行:

# 关闭 Session 上传
setx KILO_DISABLE_SESSION_INGEST 1
# 关闭分享
setx KILO_DISABLE_SHARE 1

然后:

  1. 关闭所有 VS Code / Windsurf 窗口
  2. 重新打开 VS Code / Windsurf
  3. 必要时注销 Windows 后重新登录

检查是否设置成功:

重新打开一个 PowerShell 窗口,执行:

echo $env:KILO_DISABLE_SESSION_INGEST
echo $env:KILO_DISABLE_SHARE

正常应输出:

1
1

取消设置:

[Environment]::SetEnvironmentVariable("KILO_DISABLE_SESSION_INGEST", $null, "User")
[Environment]::SetEnvironmentVariable("KILO_DISABLE_SHARE", $null, "User")

然后关闭并重新打开 VS Code / Windsurf。必要时注销后重新登录。


使用 VS Code / Windsurf 时的建议配置

如果使用自己配置的 API Key,并且不希望上传 Kilo Session,建议:

不使用 Kilo 免费模型
不使用 Kilo Gateway / Kilo Auto
不使用 Cloud Agent
不点击 Fork Session / Continue in Cloud Agent
设置 KILO_DISABLE_SESSION_INGEST=1
设置 KILO_DISABLE_SHARE=1
使用自己的 OpenAI / Anthropic / Gemini / OpenAI Compatible Provider

如果使用本地模型,可以配置为:

Provider: OpenAI Compatible
Base URL: http://127.0.0.1:11434/v1
API Key: ollama
Model: 你的本地模型名

如何验证是否仍有上传

设置完成后,可以用网络工具观察是否仍访问:

ingest.kilosessions.ai

常见工具包括:

macOS: LuLu、Little Snitch、Proxyman、Charles
Windows: Windows 防火墙、Fiddler、Proxyman、Wireshark

如果设置后仍然访问 ingest.kilosessions.ai,可能有两种情况:

  1. VS Code / Windsurf 没有继承环境变量
  2. Kilo Code 的某部分逻辑没有走这个开关

此时建议额外在防火墙中阻断:

ingest.kilosessions.ai  # kilo session上传
api.kilo.ai  # kilo API服务
app.kilo.ai  # kilo Web界面
*.kilo.ai  # kilo相关域名
*.cloudflarestorage.com  # kilo存储服务

注意:如果阻断这些域名,Kilo 免费模型、Cloud Agent、Fork Session、云端 Session 等功能可能无法使用。


推荐工作流

可以分成两种使用模式。

模式一:普通任务,使用 Kilo 免费模型

适合非敏感代码、临时问题、普通问答。

允许 Kilo 云端服务
允许 Kilo 免费模型
允许云端 Session

模式二:私有项目,使用自己的 API Key

适合私有仓库、公司代码、敏感上下文。

使用自己的 API Key
禁用 Session Ingest
禁用 Share
不使用 Cloud Agent
不使用 Fork Session
必要时用防火墙阻断 Kilo 云端域名

如果要求代码和对话完全不出本机,应使用本地模型,并阻断所有不必要的外部网络请求。