Kode-cli/README.zh-CN.md
CrazyBoyM 6aa73a950a fix: Use local tsx instead of global tsx dependency
- Update cli.js wrapper to use node_modules/.bin/tsx
- Fix ESC key cancellation error display in openai.ts stream processing
- Simplify REPL onCancel function
- Add security notice and model performance recommendations to README
2025-08-25 04:23:44 +08:00

10 KiB
Raw Blame History

Kode - 终端 AI 助手

npm version License: ISC

English | 贡献指南 | 文档

Kode 是一个强大的 AI 助手,运行在你的终端中。它能理解你的代码库、编辑文件、运行命令,并为你处理整个开发工作流。

⚠️ 安全提示Kode 默认以 YOLO 模式运行(等同于 Claude 的 --dangerously-skip-permissions 标志),跳过所有权限检查以获得最大生产力。建议仅在无互联网访问的可信环境中使用。对于安全敏感环境,请使用 kode --safe 启用权限检查。

📊 模型性能建议:为获得最佳体验,建议使用专为自主任务完成设计的新一代强大模型。避免使用 GPT-4o、Gemini 2.5 Pro 等较老的问答型模型,它们主要针对回答问题进行优化,而非持续的独立任务执行。请选择专门训练用于智能体工作流和扩展推理能力的模型。

功能特性

  • 🤖 AI 驱动的助手 - 使用先进的 AI 模型理解并响应你的请求
  • 🔄 多模型协同 - 灵活切换和组合使用多个 AI 模型,发挥各自优势
  • 📝 代码编辑 - 直接编辑文件,提供智能建议和改进
  • 🔍 代码库理解 - 分析项目结构和代码关系
  • 🚀 命令执行 - 实时运行 shell 命令并查看结果
  • 🛠️ 工作流自动化 - 用简单的提示处理复杂的开发任务
  • 🎨 交互式界面 - 美观的终端界面,支持语法高亮
  • 🔌 工具系统 - 可扩展的架构,为不同任务提供专门的工具
  • 💾 上下文管理 - 智能的上下文处理,保持对话连续性

安装

推荐方式:使用 Bun最快

首先安装 Bun如果尚未安装

curl -fsSL https://bun.sh/install | bash

然后安装 Kode

bun add -g @shareai-lab/kode

备选方式:使用 npm

npm install -g @shareai-lab/kode

安装后,你可以使用以下任一命令:

  • kode - 主命令
  • kwa - Kode With Agent备选
  • kd - 超短别名

使用方法

交互模式

启动交互式会话:

kode
# 或
kwa
# 或
kd

非交互模式

获取快速响应:

kode -p "解释这个函数" main.js
# 或
kwa -p "解释这个函数" main.js

Docker 使用说明

# 克隆仓库
git clone https://github.com/shareAI-lab/Kode.git
cd Kode

# 本地构建镜像
docker build --no-cache -t kode .

# 在你的项目目录中运行
cd your-project
docker run -it --rm \
  -v $(pwd):/workspace \
  -v ~/.kode:/root/.kode \
  -v ~/.kode.json:/root/.kode.json \
  -w /workspace \
  kode

Docker 配置详情

该 Docker 配置包含以下内容:

  • 卷挂载Volume Mounts

    • $(pwd):/workspace - 挂载当前项目目录
    • ~/.kode:/root/.kode - 在运行间保留 kode 配置目录
    • ~/.kode.json:/root/.kode.json - 在运行间保留 kode 全局配置文件
  • 工作目录:容器内工作目录设置为 /workspace

  • 交互模式:使用 -it 标志以交互式终端方式运行

  • 清理:使用 --rm 在退出后自动删除容器

注意 Kode 同时使用 ~/.kode 目录(存放额外数据,如内存文件)和 ~/.kode.json 文件(全局配置)。

第一次运行 Docker 命令时会构建镜像,之后的运行会使用缓存镜像以加快启动速度。

你可以通过引导流程onboarding来设置模型或使用 /model 命令。 如果在列表中没有你想要的模型,可以在 /config 中手动设置。 只要你有一个 OpenAI 风格的 API 端点,就可以正常使用。

常用命令

  • /help - 显示可用命令
  • /model - 更改 AI 模型设置
  • /config - 打开配置面板
  • /cost - 显示 token 使用量和成本
  • /clear - 清除对话历史
  • /init - 初始化项目上下文

多模型智能协同

与 CC 仅支持单一模型不同Kode 实现了真正的多模型协同工作,让你能够充分发挥不同 AI 模型的独特优势。

🏗️ 核心技术架构

1. ModelManager 多模型管理器

我们设计了统一的 ModelManager 系统,支持:

  • 模型配置文件Model Profiles:每个模型都有独立的配置文件,包含 API 端点、认证信息、上下文窗口大小、成本等参数
  • 模型指针Model Pointers:用户可以在 /model 命令中配置不同用途的默认模型:
    • main:主 Agent 的默认模型
    • taskSubAgent 的默认模型
    • reasoning:预留给未来 ThinkTool 使用
    • quick:用于简单 NLP 任务(如安全性识别、生成标题描述等)的快速模型
  • 动态模型切换:支持运行时切换模型,无需重启会话,保持上下文连续性

2. TaskTool 智能任务分发工具

专门设计的 TaskToolArchitect 工具)实现了:

  • Subagent 机制:可以启动多个子代理并行处理任务
  • 模型参数传递:用户可以在请求中指定 SubAgent 使用的模型
  • 默认模型配置SubAgent 默认使用 task 指针配置的模型

3. AskExpertModel 专家咨询工具

我们专门设计了 AskExpertModel 工具:

  • 专家模型调用:允许在对话中临时调用特定的专家模型解决疑难问题
  • 模型隔离执行:专家模型的响应独立处理,不影响主对话流程
  • 知识整合:将专家模型的见解整合到当前任务中

🎯 灵活的模型切换

  • Tab 键快速切换:在输入框按 Tab 键即可快速切换当前对话使用的模型
  • /model 命令:使用 /model 命令配置和管理多个模型配置文件,设置不同用途的默认模型
  • 用户控制:用户可以随时指定使用特定的模型进行任务处理

🔄 智能的工作分配策略

架构设计阶段

  • 使用 o3 模型GPT-5 模型 探讨系统架构,制定犀利明确的技术方案
  • 这些模型在抽象思维和系统设计方面表现卓越

方案细化阶段

  • 使用 gemini 模型 深入探讨生产环境的设计细节
  • 利用其在实际工程实践中的深厚积累和平衡的推理能力

代码实现阶段

  • 使用 Qwen Coder 模型Kimi k2 模型GLM-4.5 模型Claude Sonnet 4 模型 进行具体的代码编写
  • 这些模型在代码生成、文件编辑和工程实现方面性能强劲
  • 支持通过 subagent 并行处理多个编码任务

疑难问题解决

  • 遇到复杂问题时,可单独咨询 o3 模型Claude Opus 4.1 模型Grok 4 模型 等专家模型
  • 获得深度的技术见解和创新的解决方案

💡 实际应用场景

# 示例 1架构设计
"用 o3 模型帮我设计一个高并发的消息队列系统架构"

# 示例 2多模型协作
"先用 GPT-5 模型分析这个性能问题的根本原因,然后用 Claude Sonnet 4 模型编写优化代码"

# 示例 3并行任务处理
"用 Qwen Coder 模型作为 subagent 同时重构这三个模块"

# 示例 4专家咨询
"这个内存泄漏问题很棘手,单独问问 Claude Opus 4.1 模型有什么解决方案"

# 示例 5代码审查
"让 Kimi k2 模型审查这个 PR 的代码质量"

# 示例 6复杂推理
"用 Grok 4 模型帮我推导这个算法的时间复杂度"

# 示例 7方案设计
"让 GLM-4.5 模型设计微服务拆分方案"

🛠️ 关键实现机制

配置系统Configuration System

// 支持多模型配置的示例
{
  "modelProfiles": {
    "o3": { "provider": "openai", "model": "o3", "apiKey": "..." },
    "claude4": { "provider": "anthropic", "model": "claude-sonnet-4", "apiKey": "..." },
    "qwen": { "provider": "alibaba", "model": "qwen-coder", "apiKey": "..." }
  },
  "modelPointers": {
    "main": "claude4",      // 主对话模型
    "task": "qwen",         // 任务执行模型
    "reasoning": "o3",      // 推理模型
    "quick": "glm-4.5"      // 快速响应模型
  }
}

成本追踪系统Cost Tracking

  • 使用统计/cost 命令查看各模型的 token 使用量和花费
  • 多模型成本对比:实时追踪不同模型的使用成本
  • 历史记录:保存每个会话的成本数据

上下文管理器Context Manager

  • 上下文继承:切换模型时保持对话连续性
  • 上下文窗口适配:根据不同模型的上下文窗口大小自动调整
  • 会话状态保持:确保多模型协作时的信息一致性

🚀 多模型协同的优势

  1. 效率最大化:每个任务都由最适合的模型处理
  2. 成本优化:简单任务用轻量模型,复杂任务用强大模型
  3. 并行处理:多个模型可以同时处理不同的子任务
  4. 灵活切换:根据任务需求随时切换模型,无需重启会话
  5. 取长补短:结合不同模型的优势,获得最佳的整体效果

📊 与官方实现的对比

特性 Kode 官方 CC
支持模型数量 无限制,可配置任意模型 仅支持单一 Claude 模型
模型切换 Tab 键快速切换 需要重启会话
并行处理 多个 SubAgent 并行工作 单线程处理
成本追踪 多模型成本分别统计 单一模型成本
任务模型配置 不同用途配置不同默认模型 所有任务用同一模型
专家咨询 AskExpertModel 工具 不支持

这种多模型协同能力让 Kode 成为真正的 AI 开发工作台,而不仅仅是一个单一的 AI 助手。

开发

Kode 使用现代化工具构建,开发需要 Bun

安装 Bun

# macOS/Linux
curl -fsSL https://bun.sh/install | bash

# Windows
powershell -c "irm bun.sh/install.ps1 | iex"

设置开发环境

# 克隆仓库
git clone https://github.com/shareAI-lab/kode.git
cd kode

# 安装依赖
bun install

# 在开发模式下运行
bun run dev

构建

bun run build

测试

# 运行测试
bun test

# 测试 CLI
./cli.js --help

贡献

我们欢迎贡献!请查看我们的贡献指南了解详情。

许可证

ISC 许可证 - 详见 LICENSE

支持