SuperAPI AI 工具集

grepai-init

编程与开发

查看项目

更新于 10-15 15:11

技能介绍

GrepAI Init 介绍

GrepAI Init 是 GrepAI 的项目初始化技能,覆盖 grepai init 命令以及项目初始化的相关内容。当你需要在一个新项目中设置 GrepAI、了解 grepai init 会创建哪些内容、定制初始配置或排查初始化问题时,都可以使用该技能。

基本用法

在项目目录中执行:

cd /path/to/your/project grepai init

初始化创建的内容

运行 grepai init 会创建 .grepai/ 目录,其中包含:

.grepai/ ├── config.yaml # 配置文件 ├── index.gob # 向量索引(由 watch 创建) └── symbols.gob # 用于 trace 的符号索引(由 watch 创建)

默认配置

生成的 config.yaml 如下:

version: 1

embedder: provider: ollama model: nomic-embed-text endpoint: http://localhost:11434

store: backend: gob

chunking: size: 512 overlap: 50

watch: debounce_ms: 500

trace: mode: fast enabled_languages: - .go - .js - .ts - .jsx - .tsx - .py - .php - .c - .h - .cpp - .hpp - .cc - .cxx - .rs - .zig - .cs - .pas - .dpr

ignore:

  • .git
  • .grepai
  • node_modules
  • vendor
  • target
  • pycache
  • dist
  • build

默认设置说明

嵌入(Embedder)设置:provider 默认为 ollama,用于本地嵌入生成;model 默认为 nomic-embed-text,是一个 768 维模型;endpoint 默认为 http://localhost:11434,即 Ollama API 地址。

存储(Store)设置:backend 默认为 gob,即本地文件存储。

分块(Chunking)设置:size 默认为 512,表示每个分块的 token 数;overlap 默认为 50,表示用于上下文的重复量。

监听(Watch)设置:debounce_ms 默认为 500,表示重新建立索引前的等待时间。

忽略模式

默认忽略模式会排除:版本控制目录 .git;GrepAI 数据目录 .grepai;依赖目录 node_modules、vendor;构建输出目录 target、dist、build;缓存目录 pycache。

初始化后自定义

编辑 .grepai/config.yaml 即可进行自定义。

更换嵌入提供商:

embedder: provider: openai model: text-embedding-3-small api_key: ${OPENAI_API_KEY}

更换存储后端:

store: backend: postgres postgres: dsn: postgres://user:pass@localhost:5432/grepai

添加自定义忽略模式:

ignore:

  • .git
  • .grepai
  • node_modules
  • "*.min.js"
  • "*.bundle.js"
  • coverage/
  • .nyc_output/

在 monorepo 中初始化

对于 monorepo,在根目录初始化:

cd /path/to/monorepo grepai init

或使用工作区(workspaces)为不同项目建立独立索引:

grepai workspace create my-workspace grepai workspace add my-workspace /path/to/project1 grepai workspace add my-workspace /path/to/project2

重新初始化

如果需要重置:

删除已有配置

rm -rf .grepai

重新初始化

grepai init

注意:这会删除你的索引,之后需要重新运行 grepai watch。

验证初始化

初始化后可以这样验证:

检查配置是否存在

cat .grepai/config.yaml

检查状态(此时会显示尚无索引)

grepai status

常见问题

问题:.grepai 已存在。解决:先删除它,或编辑现有配置:

rm -rf .grepai && grepai init

问题:配置已创建但 Ollama 未运行。解决:在运行 grepai watch 前启动 Ollama:

ollama serve

问题:初始化到了错误的目录。解决:移除 .grepai 并在正确的目录中初始化。

最佳实践

在项目根目录初始化:即主要代码所在的位置。

将 .grepai/ 加入 .gitignore:索引与机器相关。

自定义忽略模式:排除生成或引入的代码。

初始化后检查配置:根据你的技术栈进行调整。

.gitignore 添加示例

GrepAI

.grepai/

输出格式

初始化成功后会输出:

✅ GrepAI Initialized

Config: .grepai/config.yaml

Default settings:

  • Embedder: Ollama (nomic-embed-text)
  • Storage: GOB (local file)
  • Chunking: 512 tokens, 50 overlap

Next steps:

  1. Ensure Ollama is running: ollama serve
  2. Start indexing: grepai watch