-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathopencode-rag.example.json
More file actions
137 lines (137 loc) · 4.64 KB
/
Copy pathopencode-rag.example.json
File metadata and controls
137 lines (137 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
{
"embedding": {
"provider": "ollama",
"baseUrl": "http://localhost:11434/api",
"model": "qwen3-embedding:0.6b",
"timeoutMs": 60000,
"documentPrefix": "",
"queryPrefix": ""
},
"indexing": {
"includeExtensions": [
".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
".py", ".java", ".go",
".md", ".mdx",
".c", ".h", ".cpp", ".cc", ".cxx", ".hpp", ".hxx",
".cs", ".aspx", ".razor", ".cshtml",
".json", ".html", ".htm", ".css", ".xml",
".csproj", ".sln",
".ssl", ".rs", ".rb", ".kt", ".kts", ".swift",
".tex",
".pdf", ".docx", ".doc", ".xls", ".xlsx",
".sh", ".bash", ".zsh", ".php", ".ps1", ".psm1", ".psd1",
".ini", ".cfg", ".yaml", ".yml", ".toml", ".sql",
".png", ".jpg", ".jpeg", ".gif", ".bmp", ".svg", ".webp",
"dockerfile", "containerfile", ".dockerfile", ".containerfile"
],
"excludeDirs": [
"node_modules", ".git", ".opencode", "dist", "build",
"__pycache__", ".venv", ".claude", ".github",
"memory:", "wasm", ".commandcode", ".agents"
],
"excludeFiles": [
"package-lock.json"
],
"chunkOverlap": 0,
"minFileSizeBytes": 0,
"concurrency": 8,
"embedBatchSize": 100,
"embedConcurrency": 3,
"ollamaMaxBatchSize": 4000,
"descriptionConcurrency": 4
},
"vectorStore": {
"path": "./.opencode/rag_db"
},
"retrieval": {
"topK": 20,
"minScore": 0.35,
"hybridSearch": {
"enabled": true,
"keywordWeight": 0.4
}
},
"openCode": {
"enabled": true,
"maxContextChunks": 10,
"readOverride": true,
"autoIndex": {
"enabled": false,
"debounceMs": 2000,
"intervalMs": 300000,
"watcher": "chokidar"
}
},
"imageDescription": {
"enabled": true,
"provider": "ollama",
"model": "minicpm-v4.6:latest",
"baseUrl": "http://127.0.0.1:11434/api",
"timeoutMs": 60000,
"prompt": "Describe this image in 1-2 sentences: what it shows, its purpose, and key visual elements.",
"think": true,
"numCtx": 4096,
"resizeMaxDimension": 1024
},
"description": {
"enabled": true,
"provider": "ollama",
"baseUrl": "http://127.0.0.1:11434/api",
"model": "qwen2.5:3b",
"think": false,
"numCtx": 4096,
"timeoutMs": 60000,
"systemPrompt": "Describe this code in 2-3 sentences: purpose, key concepts, inputs/outputs, and dependencies. No code repetition.",
"batchConcurrency": 3,
"retryMax": 3,
"retryBaseDelayMs": 1000
},
"documentationMode": {
"enabled": false,
"autoStart": true,
"batchSize": 5,
"systemPrompt": "You are a code documentation expert. Your task is to document an existing, undocumented codebase.\n\n## Instructions\n\nFor each file you process:\n\n1. **Read the full file** to understand its structure and logic.\n2. **Document every public symbol**: classes, interfaces, types, methods, functions, properties, and exported constants.\n3. **Use the codebase's existing style** — look at neighboring files for conventions (JSDoc, TSDoc, etc.).\n4. **Write descriptions that explain *what* and *why*, not *how*** — the code already shows *how*.\n5. **Include `@param`** (with types and descriptions), **`@returns`**, and **`@throws`** where applicable.\n6. **Do NOT change any implementation code** — only add/update doc comments.\n7. **Do NOT add comments that restate the obvious** (e.g., `// increment i` on `i++`).\n8. **For private/internal symbols**, add concise inline comments only when the logic is non-obvious.\n9. **Preserve any existing comments** — update them only if they are incorrect.\n\n## Output format\n\nReturn your changes as a list of file paths with the full new content of the comment block for each modified symbol. Do NOT output the entire file unless asked."
},
"wikiMode": {
"enabled": true
},
"mcp": {
"enabled": false
},
"autoUpdate": {
"enabled": true,
"autoInstall": false,
"cooldownMs": 3600000,
"maxConsecutiveFailures": 3
},
"memory": {
"enabled": true,
"autoInject": false,
"minConfidence": 0.5,
"recallMinScore": 0.8,
"autoInjectMinScore": 0.6,
"autoInjectTopK": 2,
"autoInjectLatencyBudgetMs": 2000,
"passiveCapture": true,
"promptEnforcement": true,
"sessionEndExtraction": true,
"autoCaptureMaxPerTurn": 2,
"autoCaptureDedupThreshold": 0.85,
"decay": {
"enabled": false,
"halfLifeDays": 30
}
},
"ui": {
"port": 3210,
"openBrowser": true
},
"tui": {
"fileListKeybinding": "ctrl+enter",
"chunksKeybinding": "ctrl+alt+enter"
},
"logging": {
"level": "none",
"logFilePath": "./.opencode/opencode-rag.log"
}
}