grepai-config-reference
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGrepAI Configuration Reference
GrepAI配置参考
This skill provides a complete reference for all GrepAI configuration options in .
.grepai/config.yaml此技能提供了中所有GrepAI配置选项的完整参考。
.grepai/config.yamlWhen to Use This Skill
何时使用此技能
- Understanding all available configuration options
- Optimizing GrepAI for your specific use case
- Troubleshooting configuration issues
- Setting up advanced configurations
- 了解所有可用配置选项
- 根据你的特定用例优化GrepAI
- 排查配置问题
- 设置高级配置
Configuration File Location
配置文件位置
/your/project/.grepai/config.yaml/your/project/.grepai/config.yamlComplete Configuration Schema
完整配置 Schema
yaml
version: 1yaml
version: 1═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
EMBEDDER CONFIGURATION
嵌入模型配置
Converts code text into vector embeddings
将代码文本转换为向量嵌入
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
embedder:
Provider: ollama | openai | lmstudio
provider: ollama
Model name (depends on provider)
Ollama: nomic-embed-text, bge-m3, mxbai-embed-large
OpenAI: text-embedding-3-small, text-embedding-3-large
LM Studio: nomic-embed-text-v1.5, bge-small-en-v1.5
model: nomic-embed-text
API endpoint URL
Ollama default: http://localhost:11434
LM Studio default: http://localhost:1234
OpenAI: uses official API
endpoint: http://localhost:11434
Vector dimensions (auto-detected if omitted)
nomic-embed-text: 768
text-embedding-3-small: 1536
text-embedding-3-large: 3072
dimensions: 768
API key (for OpenAI, supports env vars)
api_key: ${OPENAI_API_KEY}
Parallel requests (OpenAI only, for speed)
parallelism: 4
embedder:
提供商: ollama | openai | lmstudio
provider: ollama
模型名称(取决于提供商)
Ollama: nomic-embed-text, bge-m3, mxbai-embed-large
OpenAI: text-embedding-3-small, text-embedding-3-large
LM Studio: nomic-embed-text-v1.5, bge-small-en-v1.5
model: nomic-embed-text
API端点URL
Ollama默认值: http://localhost:11434
LM Studio默认值: http://localhost:1234
OpenAI: 使用官方API
endpoint: http://localhost:11434
向量维度(省略时自动检测)
nomic-embed-text: 768
text-embedding-3-small: 1536
text-embedding-3-large: 3072
dimensions: 768
API密钥(适用于OpenAI,支持环境变量)
api_key: ${OPENAI_API_KEY}
并行请求数(仅OpenAI支持,提升速度)
parallelism: 4
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
STORE CONFIGURATION
存储配置
Where vector embeddings are stored
向量嵌入的存储位置
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
store:
Backend: gob | postgres | qdrant
backend: gob
PostgreSQL configuration (when backend: postgres)
postgres:
dsn: postgres://user:password@localhost:5432/grepai
Qdrant configuration (when backend: qdrant)
qdrant:
endpoint: localhost
port: 6334
use_tls: false
api_key: your-qdrant-api-key # Optional
store:
后端存储: gob | postgres | qdrant
backend: gob
PostgreSQL配置(当backend为postgres时)
postgres:
dsn: postgres://user:password@localhost:5432/grepai
Qdrant配置(当backend为qdrant时)
qdrant:
endpoint: localhost
port: 6334
use_tls: false
api_key: your-qdrant-api-key # 可选
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
CHUNKING CONFIGURATION
代码分块配置
How code files are split for embedding
代码文件如何拆分以进行嵌入
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
chunking:
Tokens per chunk (smaller = more precise, larger = more context)
Recommended: 256-1024
size: 512
Overlap between chunks (preserves context at boundaries)
Recommended: 10-20% of size
overlap: 50
chunking:
每个分块的令牌数(越小=精度越高,越大=上下文越多)
推荐值: 256-1024
size: 512
分块之间的重叠部分(保留边界处的上下文)
推荐值: 分块大小的10-20%
overlap: 50
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
WATCH CONFIGURATION
文件监听配置
File watching daemon settings
文件监听守护进程设置
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
watch:
Debounce delay in milliseconds
Groups rapid file changes together
debounce_ms: 500
watch:
防抖延迟(毫秒)
将频繁的文件变更合并处理
debounce_ms: 500
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
TRACE CONFIGURATION
调用追踪配置
Call graph analysis settings
调用图分析设置
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
trace:
Extraction mode: fast | precise
fast: Uses regex, no dependencies, faster
precise: Uses tree-sitter AST parsing, more accurate
mode: fast
Languages to analyze for call graphs
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
- .rs
- .zig
- .cs
- .pas
- .dpr
Patterns to exclude from trace analysis
exclude_patterns:
- "_test.go"
- ".spec.ts"
- "*.test.js"
trace:
提取模式: fast | precise
fast: 使用正则表达式,无依赖,速度更快
precise: 使用tree-sitter AST解析,准确度更高
mode: fast
用于分析调用图的语言
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
- .rs
- .zig
- .cs
- .pas
- .dpr
调用追踪分析中排除的模式
exclude_patterns:
- "_test.go"
- ".spec.ts"
- "*.test.js"
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
SEARCH CONFIGURATION
搜索配置
Search result scoring and ranking
搜索结果的评分与排序
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
search:
Score boosting configuration
boost:
enabled: true
# Reduce scores for certain paths
penalties:
- pattern: /tests/
factor: 0.5
- pattern: _test.
factor: 0.5
- pattern: .spec.
factor: 0.5
- pattern: /docs/
factor: 0.6
- pattern: /vendor/
factor: 0.3
- pattern: /node_modules/
factor: 0.3
# Increase scores for certain paths
bonuses:
- pattern: /src/
factor: 1.1
- pattern: /lib/
factor: 1.1
- pattern: /core/
factor: 1.2
- pattern: /app/
factor: 1.1Hybrid search (vector + keyword)
hybrid:
enabled: false
k: 60 # BM25 parameter
search:
分数权重配置
boost:
enabled: true
# 降低特定路径的分数
penalties:
- pattern: /tests/
factor: 0.5
- pattern: _test.
factor: 0.5
- pattern: .spec.
factor: 0.5
- pattern: /docs/
factor: 0.6
- pattern: /vendor/
factor: 0.3
- pattern: /node_modules/
factor: 0.3
# 提高特定路径的分数
bonuses:
- pattern: /src/
factor: 1.1
- pattern: /lib/
factor: 1.1
- pattern: /core/
factor: 1.2
- pattern: /app/
factor: 1.1混合搜索(向量+关键词)
hybrid:
enabled: false
k: 60 # BM25参数
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
IGNORE CONFIGURATION
忽略规则配置
Files and directories to exclude from indexing
索引时排除的文件和目录
═══════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════
ignore:
Directories
- .git
- .grepai
- .svn
- .hg
- node_modules
- vendor
- target
- pycache
- .pytest_cache
- dist
- build
- out
- .next
- .nuxt
Files
- "*.min.js"
- "*.min.css"
- "*.bundle.js"
- "*.map"
- "*.lock"
- package-lock.json
- yarn.lock
- pnpm-lock.yaml
- go.sum
Generated
- ".generated."
- "*.pb.go"
- "*.d.ts"
undefinedignore:
目录
- .git
- .grepai
- .svn
- .hg
- node_modules
- vendor
- target
- pycache
- .pytest_cache
- dist
- build
- out
- .next
- .nuxt
文件
- "*.min.js"
- "*.min.css"
- "*.bundle.js"
- "*.map"
- "*.lock"
- package-lock.json
- yarn.lock
- pnpm-lock.yaml
- go.sum
生成文件
- ".generated."
- "*.pb.go"
- "*.d.ts"
undefinedConfiguration by Use Case
按用例配置
Small Personal Project
小型个人项目
yaml
version: 1
embedder:
provider: ollama
model: nomic-embed-text
store:
backend: gob
chunking:
size: 512
overlap: 50yaml
version: 1
embedder:
provider: ollama
model: nomic-embed-text
store:
backend: gob
chunking:
size: 512
overlap: 50Large Codebase
大型代码库
yaml
version: 1
embedder:
provider: ollama
model: bge-m3 # Larger model
parallelism: 4
store:
backend: postgres # Scalable storage
postgres:
dsn: postgres://user:pass@localhost:5432/grepai
chunking:
size: 768 # Larger chunks
overlap: 100yaml
version: 1
embedder:
provider: ollama
model: bge-m3 # 更大的模型
parallelism: 4
store:
backend: postgres # 可扩展存储
postgres:
dsn: postgres://user:pass@localhost:5432/grepai
chunking:
size: 768 # 更大的分块
overlap: 100Team Environment
团队环境
yaml
version: 1
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
parallelism: 8
store:
backend: qdrant
qdrant:
endpoint: qdrant.internal.company.com
port: 6334
use_tls: trueyaml
version: 1
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
parallelism: 8
store:
backend: qdrant
qdrant:
endpoint: qdrant.internal.company.com
port: 6334
use_tls: trueMaximum Privacy
最高隐私配置
yaml
version: 1
embedder:
provider: ollama
model: nomic-embed-text
endpoint: http://localhost:11434
store:
backend: gob # Local file onlyyaml
version: 1
embedder:
provider: ollama
model: nomic-embed-text
endpoint: http://localhost:11434
store:
backend: gob # 仅本地文件存储Environment Variables
环境变量
GrepAI supports environment variable substitution:
yaml
embedder:
api_key: ${OPENAI_API_KEY}
store:
postgres:
dsn: ${DATABASE_URL}Set in your shell:
bash
export OPENAI_API_KEY="sk-..."
export DATABASE_URL="postgres://..."GrepAI支持环境变量替换:
yaml
embedder:
api_key: ${OPENAI_API_KEY}
store:
postgres:
dsn: ${DATABASE_URL}在Shell中设置:
bash
export OPENAI_API_KEY="sk-..."
export DATABASE_URL="postgres://..."Validating Configuration
验证配置
Check your config is valid:
bash
grepai statusIf there are config errors, they'll be displayed.
检查你的配置是否有效:
bash
grepai status如果存在配置错误,会显示相关信息。
Configuration Precedence
配置优先级
- in current directory
.grepai/config.yaml - Workspace configuration (if using workspaces)
- Default values
- 当前目录下的
.grepai/config.yaml - 工作区配置(如果使用工作区)
- 默认值
Best Practices
最佳实践
- Start simple: Use defaults, optimize later
- Match chunking to code style: Larger chunks for verbose code
- Use boosting: Penalize test/vendor, boost src/lib
- Secure API keys: Use environment variables, never commit
- Exclude noise: Ignore generated files, dependencies
- 从简开始:使用默认值,之后再优化
- 匹配代码风格调整分块:对于冗长的代码使用更大的分块
- 使用权重调整:降低测试/依赖库的分数,提高源码/库目录的分数
- 保护API密钥:使用环境变量,绝不要提交到代码仓库
- 排除干扰文件:忽略生成文件和依赖目录
Output Format
输出格式
Valid configuration status:
✅ GrepAI Configuration Valid
Embedder: ollama (nomic-embed-text)
Storage: gob (.grepai/index.gob)
Chunking: 512 tokens, 50 overlap
Trace mode: fast
Languages: 18 enabled
Ignore patterns: 12 configured
Boosting: enabled有效的配置状态:
✅ GrepAI Configuration Valid
Embedder: ollama (nomic-embed-text)
Storage: gob (.grepai/index.gob)
Chunking: 512 tokens, 50 overlap
Trace mode: fast
Languages: 18 enabled
Ignore patterns: 12 configured
Boosting: enabled