CrazyBoyM d8f0a22233 feat: Implement intelligent completion system with advanced fuzzy matching
- Add advanced fuzzy matching with 7+ strategies (exact, prefix, substring, acronym, initials, fuzzy, Levenshtein)
- Create comprehensive database of 500+ common Unix commands for smart autocompletion
- Implement intelligent Tab completion with @ prefix injection for agents and files
- Add sophisticated input pattern recognition for commands like "dao", "gp5", "py3"
- Enhance mention system with TaskProgressMessage component for better user feedback
- Update documentation with comprehensive intelligent completion guide
- Clean up 21 temporary markdown files to maintain repository cleanliness
- Improve project structure and configuration documentation
- Optimize completion system performance with advanced caching and scoring
2025-08-22 13:07:48 +08:00
..

Kode 开发文档

本文档为开发者提供了 Kode 代码库架构、设计模式和实现细节的完整理解。

文档结构

核心文档

  • 系统概述 - Kode 的设计理念、功能和核心原则介绍
  • 架构设计 - 高层系统架构、组件关系和数据流
  • 安全模型 - 全面的安全架构、权限系统和威胁模型
  • 配置系统 - 多层级配置管理和设置

系统组件

  • 工具系统 - Kode 功能的核心,标准化工具接口和实现
  • 模型管理 - 多提供商 AI 模型集成和智能切换
  • MCP 集成 - 用于第三方工具集成的模型上下文协议
  • 自定义命令 - 基于 Markdown 的可扩展命令系统

核心模块

快速导航

新贡献者入门

  1. 系统概述开始,了解 Kode 的目的和设计
  2. 阅读架构设计文档,理解组件关系
  3. 查看工具系统,了解功能是如何实现的
  4. 检查安全模型,了解权限和安全考虑

功能开发指南

系统理解指南

核心概念

工具优先架构

Kode 中的所有功能都作为工具实现,具有标准化的验证、权限和执行接口。这提供了无限的可扩展性,同时保持一致性。

多模型协同系统

与官方实现不同Kode 支持多个 AI 模型的灵活切换和协同工作:

  • 模型配置文件系统支持定义多个模型配置包括不同的提供商Anthropic、OpenAI、Gemini 等)
  • 智能模型选择:根据任务类型自动选择最适合的模型
  • 并行处理能力:不同模型可以同时处理不同的子任务
  • 成本优化策略:根据任务复杂度选择性价比最优的模型

上下文感知 AI

系统自动收集并注入相关的项目上下文git 状态、目录结构、文档)以提高 AI 响应质量。

安全层

多个安全层包括权限系统、命令验证、路径遍历防护和资源限制,确保安全操作。

流式架构

所有长时间运行的操作都使用异步生成器,支持实时进度更新和取消。

开发工作流

设置开发环境

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

# 安装依赖
bun install

# 以开发模式运行
bun run dev

运行测试

# 运行所有测试
bun test

# 运行特定测试文件
bun test src/tools/BashTool.test.ts

# 运行覆盖率测试
bun test --coverage

构建生产版本

# 构建 CLI
bun run build

# 运行类型检查
bun run typecheck

# 格式化代码
bun run format

架构原则

1. 模块化设计

每个组件都有单一职责,具有清晰的接口和最小的依赖关系。

2. 可扩展性

可以通过工具、命令或 MCP 服务器添加新功能,而无需修改核心代码。

3. 默认安全

所有操作都需要适当的权限,具有安全的默认值和明确的用户同意。

4. 性能意识

流式响应、延迟加载和智能缓存确保响应式交互。

5. 用户体验优先

原生终端设计,具有键盘快捷键、语法高亮和清晰的错误消息。

代码组织

src/
├── entrypoints/        # 应用程序入口点
│   ├── cli.tsx        # 主 CLI 入口
│   └── mcp.ts         # MCP 服务器入口
├── screens/           # 全屏 UI 组件
│   ├── REPL.tsx       # 主交互界面
│   └── Doctor.tsx     # 系统诊断
├── components/        # 可重用 UI 组件
│   ├── messages/      # 消息渲染
│   └── permissions/   # 权限对话框
├── tools/            # 工具实现
│   ├── BashTool.ts   # Shell 执行
│   └── FileEditTool.ts # 文件操作
├── services/         # 外部服务集成
│   ├── claude.ts     # Anthropic API
│   └── mcpClient.ts  # MCP 客户端
├── utils/            # 实用函数
│   ├── config.ts     # 配置管理
│   └── model.ts      # 模型管理
└── Tool.ts           # 基础工具类

贡献指南

代码风格

  • 使用宽松严格模式的 TypeScript
  • 2 空格缩进
  • 无分号Prettier 强制)
  • 描述性变量名
  • 全面的错误处理

测试要求

  • 为新工具编写单元测试
  • 为命令流程编写集成测试
  • 模拟外部依赖
  • 测试错误条件

文档标准

  • 更新相关文档
  • 包含代码示例
  • 记录破坏性更改
  • 为复杂逻辑添加内联注释

Pull Request 流程

  1. 创建功能分支
  2. 实现并编写测试
  3. 更新文档
  4. 运行 bun testbun run typecheck
  5. 提交带有清晰描述的 PR

高级主题

性能优化

  • 对大型操作使用流式处理
  • 策略性地实现缓存
  • 延迟加载重型依赖
  • 使用 Chrome DevTools 进行性能分析

调试

  • 启用调试模式:kode --debug
  • 检查日志:kode error
  • 使用详细输出:kode --verbose
  • 使用 Node 调试器检查

安全考虑

  • 始终验证用户输入
  • 对文件操作使用 path.resolve
  • 实现速率限制
  • 记录安全事件

资源

内部文档

外部资源

支持

如有问题或疑问:


本文档代表了当前版本 Kode 系统的完整技术理解。它作为开发 Kode 代码库的开发人员的权威参考。