-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathopencode-rag.example.json
More file actions
139 lines (139 loc) · 4.69 KB
/
Copy pathopencode-rag.example.json
File metadata and controls
139 lines (139 loc) · 4.69 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
138
139
{
"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": 100,
"descriptionConcurrency": 4,
"optimizeIntervalWindows": 8
},
"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": 2048,
"timeoutMs": 60000,
"systemPrompt": "Describe this code in ONE concise sentence (max 20 words): purpose, inputs/outputs. No code repetition.",
"batchEnabled": false,
"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"
}
}