FastCode

GitHub
2.1k 250 简单 1 次阅读 今天语言模型开发框架插件
AI 解读 由 AI 自动生成,仅供参考

FastCode 是一款专为高效代码理解与分析打造的开源框架,旨在帮助开发者快速掌握大型代码库的结构与逻辑。面对日益庞大的软件架构,传统工具往往存在响应慢、成本高且准确率不足的问题,FastCode 通过创新的三阶段处理流程,实现了比主流工具快 2 至 4 倍的运行速度,同时大幅降低约 50% 的使用成本,并在准确性上表现更优。

它特别适合需要频繁阅读、维护或重构复杂项目的软件开发人员、技术研究人员以及架构师使用。无论是单人开发还是团队协作,FastCode 都能提供流畅的代码探索体验。其核心技术亮点包括:基于抽象语法树(AST)的多层级代码索引,支持 Python、Java、Go 等八种主流语言;结合语义嵌入与关键词搜索的混合检索机制,确保查找精准;以及构建调用、依赖和继承三层关系图谱,实现智能化的结构导航。此外,FastCode 兼容本地小模型,并可通过 MCP 服务器无缝集成到 Cursor、Claude Code 等常用编辑器中,让开发者在不打开所有文件的情况下,也能闪电般定位关键代码,显著提升工作效率。

使用场景

某大型金融科技团队需要在两天内完成对遗留的百万行多语言核心交易系统进行安全漏洞排查与重构评估。

没有 FastCode 时

  • 分析效率低下:工程师手动翻阅代码或依赖传统 IDE 全局搜索,面对跨 Python、Java 和 Go 的复杂调用链,定位一个关键函数的所有引用点往往需要数小时。
  • Token 成本高昂:直接将大段代码投喂给通用 AI 助手(如 Cursor 或 Claude Code)进行全库分析,因缺乏智能导航导致上下文冗余,单次任务 Token 消耗巨大且易超出限额。
  • 理解准确度不足:通用工具难以精准识别深层继承关系和跨仓库依赖,常遗漏隐蔽的逻辑漏洞或给出错误的重构建议,需人工反复验证。
  • 响应速度缓慢:在处理大规模代码库时,现有工具索引和推理耗时过长,严重拖慢了整个团队的紧急响应节奏。

使用 FastCode 后

  • 秒级精准定位:利用 FastCode 的三层图谱模型(调用图、依赖图、继承图),工程师在几秒钟内即可理清跨语言的完整调用链路,快速锁定风险模块。
  • 成本大幅降低:凭借智能结构导航技术,FastCode 仅加载必要代码片段,相比其他方案节省高达 55% 的 Token 成本,让全量深度分析变得经济可行。
  • 洞察深度提升:基于语义与结构混合索引,FastCode 准确识别出隐藏的循环依赖和异常继承路径,提供的修复方案准确率显著优于竞品。
  • 极速分析体验:整体分析速度提升至原来的 3-4 倍,原本需要两天的工作量现在半天即可完成,团队得以从容应对紧急合规要求。

FastCode 通过极致的速度与成本优势,将大规模代码库的深度理解从“不可能完成的任务”变成了日常开发的高效常态。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 未说明 (支持本地小模型如 qwen3-coder-30b,但未明确指定 GPU 需求
  • 主要依赖 API 调用)
内存

未说明

依赖
notes推荐使用 uv 进行依赖安装以获取更快更可靠的体验。支持通过 API 连接多种大模型(如 OpenAI, Gemini, Qwen 等),需配置 .env 文件中的 API KEY。Windows 用户若运行 shell 脚本需使用 Git Bash 或 WSL,并注意 faiss-cpu 安装失败时可尝试 --no-cache-dir 参数。Apple Silicon (M1/M2/M3) 完全兼容。
python3.12+
uv (推荐)
faiss-cpu
black (代码风格)
FastCode hero image

快速开始

FastCode Logo

FastCode:加速并简化你的代码理解

| ⚡ 高性能 | 💰 成本高效 | 🚀 快速且可扩展 |

Python 3.12+ License 代码风格:black

功能特性快速入门安装指南MCP服务器文档说明


🎯 为什么选择 FastCode?

FastCode 是一个面向全面代码理解和分析的高效能框架,专为大规模代码库和软件架构设计,能够提供 卓越的速度极高的准确性 以及 显著的成本效益

🚀 速度优势 - 运行速度比 Cursor 快 3 倍,比 Claude Code 快 4 倍。

💰 大幅节省成本 - 成本比 Cursor 低 55%,比 Claude Code 低 44%。

最高准确率 - 在各项基准测试中均以最高准确率超越 Cursor 和 Claude Code。

FastCode 性能与成本对比

FastCode 的核心特性

🎯 核心性能优势

  • 比竞争对手(Cursor/Claude Code)快 2–4 倍
  • 相较于其他方案,成本降低 44%–55%
  • 各项基准测试中取得最高准确率
  • 通过智能导航实现高达 10 倍的 token 节省

🛠️ 技术能力

  • 大规模代码库分析 - 高效处理海量代码
  • 多语言支持 - Python、JavaScript、TypeScript、Java、Go、C/C++、Rust、C#
  • 多仓库推理 - 跨仓库依赖关系分析
  • 小模型支持 - 兼容本地模型(qwen3-coder-30b)

💻 用户体验

  • MCP 服务器 - 可通过 MCP 集成直接使用 FastCode(如 Cursor、Claude Code)
  • 美观的 Web UI - 直观的代码库探索界面
  • 灵活的 API - 易于集成工作流
  • 智能结构化导航 - 仅加载所需内容

🎥 观看 FastCode 实际演示

观看 FastCode 演示视频

点击观看 FastCode 实际运行效果 - 了解 FastCode 如何以闪电般的速度分析复杂代码库。


FastCode 的核心技术

FastCode 引入了一种三阶段框架,彻底改变了 LLM 对代码库的理解与导航方式:

FastCode 框架

🏗️ 语义-结构化代码表示

多层次代码理解,实现全面分析

  • 🔍 层次化代码单元 — 基于 AST 解析,在 8 种以上编程语言中构建跨越文件、类、函数及文档的多级索引体系

  • 🔗 混合索引 — 无缝结合语义嵌入与关键词搜索(BM25),实现强大而精准的代码检索

  • 📊 多层图建模 — 构建相互关联的三大关系图(调用图、依赖图、继承图),支持在整个代码库中的结构化导航

🧭 闪电般快速的代码库导航

无需逐个打开文件,即可迅速找到所需代码——速度惊人

  • ⚡ 两阶段智能搜索 — 类似于一位研究助理,先定位可能相关的代码片段,再针对您的具体问题对结果进行排序和整理。

  • 📁 安全的文件浏览 — 安全地探索项目结构,理解文件夹组织和文件模式,同时确保安全性。

  • 🌐 跟踪代码连接 — 追踪代码各部分之间的联系(最多两步距离),如同在代码库中沿着面包屑路径前进。

  • 🎯 代码略读 — 不必阅读整个文件,FastCode 只查看“标题”——函数名、类定义和类型注解。这就像阅读一本书的章节标题而非每一页一样,从而大幅节省计算资源。

💰 成本高效的上下文管理

自动获取最大洞察力,同时将成本降至最低

  • 📈 预算意识决策 — 在处理前综合考虑五个关键因素:置信度、查询复杂性、代码库大小、资源成本和迭代次数。就像一位精打细算的财务顾问,在做出决定之前权衡所有选项。

  • 🔄 资源优化学习 — 实时调整策略,更加高效地收集信息,并适时停止。可以将其视为一种随着每次查询不断优化自身价值、提升成本效益的人工智能。

  • 🎯 价值优先选择 — 首先关注高影响力、低成本的信息,就像挑选成熟度最高且价格最优的水果一样。这种成本优化的方法确保您在每个 token 上都能获得最大价值,直到达到最佳停止点为止。


📊 基准测试表现

FastCode 已在四个主要基准测试中接受了严格检验,这些测试代表了现实世界中的软件工程挑战:

🎯 评估数据集

基准测试 重点领域 测试内容
SWE-QA 软件工程问答 复杂技术问题解答
LongCodeQA 长文本代码分析 长上下文代码理解
LOC-BENCH 代码定位 缺陷检测与功能请求
GitTaskBench 真实任务 生产环境代码库工作流

🏆 卓越成果

  • 卓越的准确率 — 在所有基准测试中均持续优于最先进的基线模型

  • 10倍的 token 效率 — 使用多达 90% 更少的 token 却取得了更好的结果

  • 真实场景验证 — 在实际生产代码库和工作流中证明了其性能


🚀 快速入门

只需不到 2 分钟即可启动 FastCode:

# 1. 克隆仓库
git clone https://github.com/HKUDS/FastCode.git
cd FastCode

# 2. 安装依赖
pip install -r requirements.txt

# 3. 配置 API 密钥
cp env.example .env
# 编辑 .env 文件,填入您的 API 密钥

# 4. 启动 Web UI
python web_app.py --host 0.0.0.0 --port 5000

打开 http://localhost:5000,开始向 FastCode 提问关于你的代码吧!🎉


📦 安装

FastCode 支持 LinuxmacOSWindows。请在下方选择您的平台:

💡 推荐: 我们建议使用 uv 来进行更快、更可靠的依赖安装。

🐧 Linux 安装

前置条件

  • Python 3.12 或更高版本
  • Git

分步指南

  1. 克隆 FastCode

    git clone https://github.com/HKUDS/FastCode.git
    cd FastCode
    
  2. 安装依赖

    选项 A:使用 uv(推荐)

    # 安装 uv
    pip install uv
    # 使用 uv 创建新虚拟环境
    uv venv --python=3.12
    source .venv/bin/activate
    
    # 使用 uv 安装依赖
    uv pip install -r requirements.txt
    

    选项 B:使用 pip

    pip install -r requirements.txt
    
  3. 配置环境

    cp env.example .env
    nano .env  # 或使用您喜欢的编辑器
    

    添加您的 API 密钥:

    OPENAI_API_KEY=your_openai_api_key_here
    MODEL=gpt-5.2
    BASE_URL=https://api.openai.com/v1
    
  4. 启动 FastCode

    # Web UI(推荐)
    python web_app.py --host 0.0.0.0 --port 5000
    
    # 或使用命令行界面
    python main.py query --repo-path /path/to/your/repo --query "Your question here"
    
🍎 macOS 安装

前置条件

  • Python 3.12 或更高版本
  • Git

分步指南

  1. 克隆 FastCode

    git clone https://github.com/HKUDS/FastCode.git
    cd FastCode
    
  2. 安装依赖

    选项 A:使用 uv(推荐)

    # 安装 uv
    pip install uv
    # 使用 uv 创建新虚拟环境
    uv venv --python=3.12
    source .venv/bin/activate
    
    # 使用 uv 安装依赖
    uv pip install -r requirements.txt
    

    选项 B:使用 pip

    pip install -r requirements.txt
    
  3. 配置环境

    cp env.example .env
    nano .env  # 或使用:open -e .env
    

    添加您的 API 密钥:

    OPENAI_API_KEY=your_openai_api_key_here
    MODEL=gemini-3-flash
    BASE_URL=https://...
    
  4. 启动 FastCode

    # Web UI(推荐)
    python web_app.py --host 0.0.0.0 --port 5000
    
    # 或使用命令行界面
    python main.py query --repo-path /path/to/your/repo --query "Your question here"
    

Apple Silicon (M1/M2/M3) 注意事项: 所有依赖项均兼容 ARM 架构。

💻 Windows 安装

前置条件

  • Python 3.12 或更高版本
  • Git

分步指南

  1. 克隆 FastCode

    git clone https://github.com/HKUDS/FastCode.git
    cd FastCode
    
  2. 安装依赖

    选项 A:使用 uv(推荐)

    # 安装 uv
    pip install uv
    # 使用 uv 创建新虚拟环境
    uv venv --python=3.12
    .venv\Scripts\activate
    
    # 使用 uv 安装依赖
    uv pip install -r requirements.txt
    

    选项 B:使用 pip

    pip install -r requirements.txt
    
  3. 配置环境

    copy env.example .env
    notepad .env
    

    添加您的 API 密钥:

    OPENAI_API_KEY=your_openai_api_key_here
    MODEL=qwen/qwen3-coder-30b-a3b-instruct
    BASE_URL=https://api.openai.com/v1
    
  4. 启动 FastCode

    # Web UI(推荐)
    python web_app.py --host 0.0.0.0 --port 5000
    
    # 或使用命令行界面
    python main.py query --repo-path C:\path\to\your\repo --query "Your question here"
    

故障排除:

  • 如果出现 SSL 错误:pip install --upgrade certifi
  • 如果遇到权限错误,请以管理员身份运行命令提示符。
  • 如果 faiss-cpu 无法安装:pip install faiss-cpu --no-cache-dir
  • 如果在 Windows 上运行 ./run_nanobot.sh(bash 脚本),请使用 Git BashWSL,并确保 .sh 文件使用 LF 换行符。此仓库通过 .gitattributes 强制使用 LF 格式,但旧克隆可能需要重新检出一次。

🎮 使用方法

Web 界面(推荐)

Web UI 提供最直观的体验:

  1. 启动服务器:

    python web_app.py --host 0.0.0.0 --port 5000
    
  2. 打开浏览器: 访问 http://localhost:5000

  3. 加载代码库: 使用侧边栏索引您的代码库

  4. 开始提问:

    • “认证逻辑是在哪里实现的?”
    • “支付流程是如何运作的?”
    • “如果我修改 User 模型,哪些文件会受到影响?”
    • “请解释模块 A 和模块 B 之间的依赖关系。”

命令行界面

适用于自动化和脚本编写:

# 单一代码库查询
python main.py query --repo-path /path/to/repo --query "Your question"

# 多代码库查询
python main.py query --repos /path/to/repo1 /path/to/repo2 --query "Your question"

# 使用自定义模型
python main.py query --repo-path /path/to/repo --query "Your question" --model gpt-4-turbo
REST API

通过功能全面的 REST API 将 FastCode 集成到您的工具中:

# 启动 API 服务器
python api.py --host 0.0.0.0 --port 8000

API 提供了 Web UI 中的所有功能。访问 http://localhost:8000/docs 可查看交互式的 API 文档。

关键 API 端点:

代码库管理
# 列出可用及已加载的代码库
GET /repositories

# 从 URL 或本地路径加载代码库
POST /load
{
  "source": "https://github.com/user/repo",
  "is_url": true
}

# 对已加载的代码库进行索引
POST /index?force=false

# 一次性加载并索引
POST /load-and-index
{
  "source": "/path/to/repo",
  "is_url": false
}

# 加载多个已索引的代码库
POST /load-repositories
{
  "repo_names": ["repo1", "repo2"]
}

# 一次性对多个代码库进行索引
POST /index-multiple
{
  "sources": [
    {"source": "https://github.com/user/repo1", "is_url": true},
    {"source": "/path/to/repo2", "is_url": false}
  ]
}

# 上传 ZIP 格式的代码库
POST /upload-zip
Content-Type: multipart/form-data
file: <zip_file>

# 上传并索引一次完成
POST /upload-and-index?force=false
Content-Type: multipart/form-data
file: <zip_file>

# 删除代码库及其索引
POST /delete-repos
{
  "repo_names": ["repo1", "repo2"],
  "delete_source": true
}

# 获取代码库摘要
GET /summary
查询与对话
# 查询代码库(单次响应)
POST /query
{
  "question": "认证是如何工作的?",
  "filters": null,
  "repo_filter": ["repo1"],
  "multi_turn": false,
  "session_id": null
}

# 带流式响应的查询(SSE)
POST /query-stream
{
  "question": "请解释数据库模式",
  "multi_turn": true,
  "session_id": "abc123"
}

# 开始一个新的对话会话
POST /new-session?clear_session_id=old_session

# 列出所有对话会话
GET /sessions

# 获取对话历史
GET /session/{session_id}

# 删除一个对话会话
DELETE /session/{session_id}
系统与状态
# 健康检查
GET /health

# 获取系统状态
GET /status?full_scan=false

# 清除缓存
POST /clear-cache

# 获取缓存统计信息
GET /cache-stats

# 刷新索引缓存
POST /refresh-index-cache

#  Entladen des aktuellen Repositorys
DELETE /repository

使用示例:

import requests

# 启动会话并查询
response = requests.post("http://localhost:8000/load-and-index", json={
    "source": "https://github.com/user/repo",
    "is_url": True
})

# 查询仓库
response = requests.post("http://localhost:8000/query", json={
    "question": "主入口在哪里?",
    "multi_turn": False
})

result = response.json()
print(result["answer"])
print(f"使用的 token 数量:{result['total_tokens']}")

MCP 服务器(用于 Cursor、Claude Code 和 Windsurf)

FastCode 可以作为 MCP(模型上下文协议) 服务器运行,从而使像 CursorClaude CodeWindsurf 这样的 AI 编程助手能够直接使用 FastCode 的仓库级代码理解能力。

设置

在您的 MCP 配置中添加以下内容:

在配置 MCP 之前,请确保本地 uv 虚拟环境中已安装 FastCode 的依赖项:

git clone https://github.com/HKUDS/FastCode.git
cd FastCode
uv venv --python=3.12
source .venv/bin/activate
uv pip install -r requirements.txt

MCP 服务器应使用 .venv/bin/python 启动,并且需要设置 OPENAI_API_KEYMODELBASE_URL

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "fastcode": {
      "command": "/path/to/FastCode/.venv/bin/python",
      "args": ["/path/to/FastCode/mcp_server.py"],
      "env": {
        "MODEL": "gpt-5.2",
        "BASE_URL": "https://api.openai.com/v1",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Claude Code (claude_desktop_config.json):

{
  "mcpServers": {
    "fastcode": {
      "command": "/path/to/FastCode/.venv/bin/python",
      "args": ["/path/to/FastCode/mcp_server.py"],
      "env": {
        "MODEL": "gpt-5.2",
        "BASE_URL": "https://api.openai.com/v1",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

或者通过 claude mcp add 命令(请确保您的 shell 中已设置相同的环境变量):

claude mcp add fastcode -- /path/to/FastCode/.venv/bin/python /path/to/FastCode/mcp_server.py

SSE 传输方式(适用于远程或共享部署):

OPENAI_API_KEY=sk-... MODEL=gpt-5.2 BASE_URL=https://api.openai.com/v1 \
/path/to/FastCode/.venv/bin/python /path/to/FastCode/mcp_server.py --transport sse --port 8080

可用工具

工具 描述
code_qa 核心工具 — 用于询问关于一个或多个代码仓库的问题。如果仓库尚未被索引,则会自动克隆(如果是 URL)并进行索引。支持多轮对话。
list_indexed_repos 列出所有已被索引且可用于查询的仓库。
list_sessions 列出所有现有的对话会话及其标题和轮次数量。
get_session_history 检索特定会话的完整问答历史。
delete_session 删除一个对话会话及其所有历史记录。
delete_repo_metadata 删除某个仓库的索引元数据(.faiss_metadata.pkl_bm25.pkl_graphs.pkl),并从 repo_overviews.pkl 中移除该仓库条目,同时保留仓库的源代码。

code_qa 参数

参数 必需 默认值 描述
question 关于代码的问题
repos 仓库来源列表(GitHub URL 或本地路径)。支持多个仓库。
multi_turn true 启用多轮对话模式
session_id 自动生成 用于继续对话的会话 ID。每次调用都会返回该 ID。

工作原理

  1. 自动检测:对于 repos 中的每个仓库,FastCode 会检查其是否已被索引。如果已索引,则完全跳过索引过程。
  2. 自动克隆:如果仓库是 URL 且尚未存在于磁盘上,FastCode 会将其克隆到 ./repos/ 并进行索引。
  3. 多轮对话:当启用 multi_turn(默认)时,来自同一 session_id 的先前问答上下文将用于重写查询和生成答案。每次响应中都会返回 session_id——在后续调用中将其传回即可继续对话。
  4. 多仓库查询:您可以将多个仓库传递给 repos 参数,FastCode 将在所有仓库中进行搜索,并利用 LLM 基于仓库选择最相关的代码。

使用示例

在 Cursor 或 Claude Code 中,只需输入:

使用 FastCode 分析一下位于 /path/to/repo_name 的这个仓库是用来做什么的。

或者

使用 FastCode 分析一下 https://github.com/user/my-project 中的认证流程。

AI 助手会调用 code_qa 接口并传入 URL,FastCode 会在必要时克隆并索引该仓库,然后返回包含源代码引用的详细答案。

对于后续问题,助手会自动重复使用同一个 session_id

如果我修改 User 模型,哪些文件会受到影响?

🔧 配置

支持的 LLM 提供商

FastCode 可与多家 LLM 提供商合作:

OpenAI
OPENAI_API_KEY=sk-...
MODEL=gpt-4
BASE_URL=https://api.openai.com/v1
OpenRouter(多种模型)
OPENAI_API_KEY=sk-or-...
MODEL=google/gemini-flash-1.5
BASE_URL=https://openrouter.ai/api/v1
本地模型(Ollama)
OPENAI_API_KEY=ollama
MODEL=qwen3-coder-30b_fastcode
BASE_URL=http://localhost:11434/v1

支持的语言

FastCode 会自动检测并解析:

  • 🐍 Python
  • 📜 JavaScript / TypeScript
  • ☕ Java
  • 🦀 Rust
  • 🐹 Go
  • ⚙️ C / C++
  • 💎 C#

🤖 Nanobot + Feishu(Lark)集成(Docker 部署)

FastCode 可以通过 Nanobot 与 Feishu(Lark)机器人集成,从而实现在 Feishu 内部直接进行对话式的代码仓库查询。

架构

飞书用户 ←→ 飞书开放平台 ←→ Nanobot (WebSocket) ←→ FastCode API
                                        (端口 18791)            (端口 8001)
  • FastCode 容器:提供代码分析 REST API(端口 8001)
  • Nanobot 容器:通过 WebSocket 连接到飞书,并调用 FastCode 工具(端口 18791)
  • 两个容器通过 Docker 的内部网络进行通信——无需公网 IP

快速开始

# 一键启动(首次运行时会自动构建镜像并生成配置)
./run_nanobot.sh

# 后续运行会自动检测当前状态:
# - 服务正在运行 → 显示状态 + 健康检查
# - 服务已停止 → 自动重启
# - 镜像未找到 → 自动构建并启动
配置

1. 统一配置(.env

所有 API 密钥和模型设置都集中在一个 .env 文件中,供两个服务共享:

# ===== 共享 API 配置 =====
OPENAI_API_KEY=sk-or-v1-xxx        # 两个服务共用
BASE_URL=https://openrouter.ai/api/v1

# ===== FastCode 模型(代码分析)=====
MODEL=google/gemini-3-flash-preview

# ===== Nanobot 模型(智能体推理 / 飞书对话)=====
NANOBOT_MODEL=minimax/minimax-m2.1

API 密钥会通过 docker-compose.yml 中的环境变量自动注入到 Nanobot 容器中——无需在 nanobot_config.json 中重复填写。

2. FastCode 核心配置

  • config/config.yaml — FastCode 检索和索引设置

3. Nanobot 配置(nanobot_config.json

run_nanobot.sh 会自动生成此文件。你只需在此处配置 飞书凭证和 systemPrompt;API 密钥和模型设置则由 .env 文件统一管理。

{
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_xxxxxxxxx",
      "appSecret": "your_app_secret"
    }
  }
}
飞书应用设置

Nanobot 通过 WebSocket 长连接接收飞书消息——无需公网 IP 或 Webhook

1. 创建应用

前往 飞书开放平台 → 创建一个 自定义企业应用 → 记下 App IDcli_xxx)和 App Secret

2. 启用机器人功能

进入应用设置 → 应用功能 → 启用“机器人”功能。

3. 添加权限

权限管理 中添加以下权限:

权限 描述
im:message 读取消息
im:message:send_as_bot 以机器人身份发送消息
im:resource 访问消息中的资源文件
im:chat 获取群聊信息

4. 配置事件订阅

⚠️ 注意顺序:必须先启动 Nanobot 建立 WebSocket 连接,然后再在飞书管理后台配置事件订阅。

  1. nanobot_config.json 中填入 appIdappSecret,然后启动服务(./run_nanobot.sh
  2. 确认日志显示 connected to wss://msg-frontier.feishu.cn,表明连接成功
  3. 返回飞书管理后台 → 事件与回调 → 选择“通过长连接接收事件” → 保存
  4. 添加事件:im.message.receive_v1(接收消息)

5. 发布应用

进入 版本管理 → 创建版本 → 提交审核(企业内部应用可自行批准)→ 发布后,即可在飞书中与机器人聊天。

Docker Compose 结构
services:
  fastcode:          # FastCode API(端口 8001)
    build: .
    volumes:
      - ./.env:/app/.env:ro
      - ./config:/app/config:ro
      - ./data:/app/data
      - ./repos:/app/repos

  nanobot:           # Nanobot 网关(端口 18791 → 18790)
    build: ./nanobot
    command: ["gateway"]
    volumes:
      - ./nanobot_config.json:/root/.nanobot/config.json:ro
    environment:
      - FASTCODE_API_URL=http://fastcode:8001
      # API 密钥和模型从 .env 注入
      - NANOBOT_PROVIDERS__OPENROUTER__API_KEY=${OPENAI_API_KEY}
      - NANOBOT_AGENTS__DEFAULTS__MODEL=${NANOBOT_MODEL}
    depends_on:
      - fastcode
管理命令
命令 描述
./run_nanobot.sh 智能启动(自动检测状态)
./run_nanobot.sh --build 强制重建镜像
./run_nanobot.sh --fg 前台运行(查看实时日志)
./run_nanobot.sh stop 停止所有服务
./run_nanobot.sh restart 重启所有服务
./run_nanobot.sh logs 查看实时日志
./run_nanobot.sh status 查看服务状态 + 健康检查
./run_nanobot.sh config 重新检查/生成 Nanobot 配置
./run_nanobot.sh clean 停止并移除容器和镜像
Nanobot 中注册的 FastCode 工具

启动时,Nanobot 会通过 FASTCODE_API_URL 环境变量自动注册以下工具:

工具名称 功能
fastcode_load_repo 加载并索引代码仓库(GitHub URL 或本地路径)
fastcode_query 使用自然语言查询代码,支持多轮对话
fastcode_list_repos 列出已加载/可用的仓库
fastcode_status 查看 FastCode 系统状态
fastcode_session 管理对话会话(创建/列出/历史记录/删除)

飞书使用示例

在飞书中与机器人对话:

用户:https://github.com/user/repo
机器人:✓ 仓库已加载并索引完毕(152 个文件,3847 个代码元素)

用户:这个项目中的认证逻辑是如何实现的?
机器人:该项目使用 JWT 进行认证……[详细分析]

用户:如果对 User 模型进行修改,哪些文件会受到影响?
机器人:以下 8 个文件会受到影响……[影响分析]

🧠 工作原理

FastCode 采用一种全新的 侦察优先 方法,这与传统的代码推理系统有根本区别:

传统方法 ❌

问题 → 加载文件 → 搜索 → 再次加载更多文件 → 再次搜索 → … → 回答
💸 重复加载文件导致高额 token 费用

FastCode 方法 ✅

问题 → 构建语义地图 → 导航结构 → 加载目标 → 回答
💰 精准定位,token 费用极低

📚 示例

示例 1:理解认证流程

查询:“这个应用中的用户认证是如何工作的?”

FastCode 流程

  1. 🗺️ 侦察与认证相关的结构
  2. 🔍 找到 auth.pymiddleware.pyuser_model.py
  3. 📊 追踪这些文件之间的依赖关系
  4. 📖 只加载相关函数
  5. ✅ 提供全面的答案

示例 2:影响分析

查询: “如果我更改 User 模型的模式,会破坏什么?”

FastCode 流程:

  1. 🗺️ 定位 User 模型定义
  2. 🔗 追踪所有导入和使用情况
  3. 📊 绘制依赖关系图
  4. 📖 加载受影响的代码部分
  5. ✅ 列出所有受影响的文件和函数

🤝 贡献

我们欢迎各位贡献!FastCode 是由社区共建、为社区服务的工具。

贡献方式

  • 🐛 报告 Bug - 发现问题了吗?请告诉我们!
  • 💡 提出功能建议 - 有好点子吗?我们非常期待听到你的想法!
  • 📝 改进文档 - 帮助更多人更好地理解 FastCode
  • 🔧 提交 Pull Request - 代码贡献随时欢迎

📄 许可证

FastCode 采用 MIT 许可证发布。详情请参阅 LICENSE 文件。


🌟 星标历史

如果 FastCode 为你节省了 Token 和时间,请考虑给我们点个 Star 吧!⭐

用 ❤️ 打造,专为重视效率的开发者而生

感谢您的访问 ✨ FastCode!

访问量

版本历史

v1.0.12026/02/25

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|5天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|6天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|5天前
插件开发框架