Skip to content

JujiuYey/sco-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前端代码业务逻辑解读专家

基于 LangChain + MiniMax 的 AI Agent,通过对话式交互帮你理解前端项目的业务逻辑。指向一个前端项目目录,就可以通过自然语言提问来浏览目录、阅读代码、搜索关键词,Agent 会自主调用工具并给出业务层面的分析。

功能

  • 自主代码阅读 — Agent 根据问题自动读取相关文件,支持大文件分段读取
  • 智能搜索 — 按关键词搜索代码,返回匹配行号及上下文
  • 模块分析记忆 — 已分析过的模块会保存摘要,后续对话可直接引用,避免重复分析
  • 对话记忆持久化 — 支持跨会话恢复历史对话(滑动窗口,保留最近 30 条)
  • 原生 Function Calling — 使用 OpenAI 兼容的工具调用协议,稳定可靠

快速开始

# 安装依赖
pnpm install

# 复制环境变量并填写配置
cp .env.example .env

# 启动
pnpm dev

配置说明

编辑 .env 文件:

# AI 配置
OPENAI_API_KEY=sk-your-key-here    # API Key
MODEL=MiniMax-M2.7                  # 模型名称
BASE_URL=https://api.minimaxi.com/v1  # API 地址(OpenAI 兼容)
TEMPERATURE=0.7

# 项目配置
PROJECT_PATH=/path/to/your/frontend/project  # 要分析的项目路径

# 分析配置
FILE_EXTENSIONS=.ts,.tsx,.js,.jsx,.vue       # 扫描的文件类型
IGNORE_DIRS=node_modules,.git,dist,build     # 忽略的目录

使用示例

你: 帮我看看 src/views 目录下有什么
AI: src/views 目录下有以下内容:...

你: 分析一下 check-in 组件的业务逻辑
AI: 🔧 list_directory({"dirPath":"src/views/pages/peis/check-in"})
    🔧 read_file({"filePath":"src/views/pages/peis/check-in/index.vue"})
    check-in 是体检系统的核心登记模块...

你: 搜一下哪里用到了 handleSubmit
AI: 🔧 search_files({"keyword":"handleSubmit"})
    搜索 "handleSubmit" 共找到 12 处匹配:...

输入 q 退出,输入 clear 清空记忆。

项目结构

src/
├── index.ts    # Agent 主循环(Function Calling + 对话管理)
├── tools.ts    # 工具定义(read_file / scan_files / list_directory / search_files / save_analysis)
└── memory.ts   # 记忆系统(短期滑动窗口 + 长期文件持久化)

可用工具

工具 说明
read_file 读取文件内容,支持 startLine/endLine 分段读取
scan_files 扫描项目文件列表,支持 glob 模式
list_directory 列出目录内容
search_files 关键词搜索,返回行号 + 上下文
save_analysis 保存模块分析摘要到长期记忆

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors