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

0 阅读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 云端域名

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