-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
216 lines (216 loc) · 7.65 KB
/
Copy pathpackage.json
File metadata and controls
216 lines (216 loc) · 7.65 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
{
"name": "ollama-code-chat",
"displayName": "CodeForge",
"description": "Local-first AI coding agent for VS Code / Kiro, powered by Ollama. Chat, explain code, and run an autonomous agent, all offline.",
"version": "0.0.78",
"publisher": "local-dev",
"engines": {
"vscode": "^1.90.0"
},
"categories": [
"Machine Learning",
"Programming Languages",
"Other"
],
"keywords": [
"ollama",
"ai",
"local llm",
"chat",
"code assistant",
"offline"
],
"activationEvents": [],
"main": "./dist/extension.js",
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "ollamaCodeChat",
"title": "CodeForge",
"icon": "media/robot.svg"
}
]
},
"views": {
"ollamaCodeChat": [
{
"id": "ollamaCodeChat.chatView",
"name": "Chat",
"type": "webview"
}
]
},
"commands": [
{
"command": "ollamaCodeChat.explainSelection",
"title": "CodeForge: Explain Selected Code"
},
{
"command": "ollamaCodeChat.explainFile",
"title": "CodeForge: Explain Current File"
},
{
"command": "ollamaCodeChat.focusChat",
"title": "CodeForge: Focus Chat"
},
{
"command": "ollamaCodeChat.refreshModels",
"title": "CodeForge: Refresh Model List"
},
{
"command": "ollamaCodeChat.pullModel",
"title": "CodeForge: Pull Model"
},
{
"command": "ollamaCodeChat.startAgent",
"title": "CodeForge: Start Autonomous Agent (experimental)"
},
{
"command": "ollamaCodeChat.openDashboard",
"title": "CodeForge: Open Agent Dashboard"
},
{
"command": "ollamaCodeChat.openAgentEventLog",
"title": "CodeForge: Open Agent Event Log (current run)"
},
{
"command": "ollamaCodeChat.pauseAgent",
"title": "CodeForge: Pause Autonomous Agent"
},
{
"command": "ollamaCodeChat.cancelAgent",
"title": "CodeForge: Cancel Autonomous Agent"
},
{
"command": "ollamaCodeChat.openSessionLog",
"title": "CodeForge: Open Session Log (current project)"
},
{
"command": "ollamaCodeChat.openSessionsFolder",
"title": "CodeForge: Open Sessions Folder (current project)"
}
],
"menus": {
"editor/context": [
{
"command": "ollamaCodeChat.explainSelection",
"when": "editorHasSelection",
"group": "ollama@1"
},
{
"command": "ollamaCodeChat.explainFile",
"group": "ollama@2"
}
]
},
"configuration": {
"title": "CodeForge",
"properties": {
"ollamaCodeChat.baseUrl": {
"type": "string",
"default": "http://localhost:11434",
"description": "Base URL of the Ollama server."
},
"ollamaCodeChat.model": {
"type": "string",
"default": "",
"description": "Default model to use (e.g. 'deepseek-coder', 'llama3.2', 'gemma2'). Leave empty to pick from the list of installed models."
},
"ollamaCodeChat.temperature": {
"type": "number",
"default": 0.2,
"minimum": 0,
"maximum": 2,
"description": "Sampling temperature passed to the model."
},
"ollamaCodeChat.agentModel": {
"type": "string",
"default": "",
"description": "Model used for Agent mode. Must support tool calling (e.g. 'qwen2.5-coder', 'llama3.1', 'mistral'). Leave empty to reuse the chat model."
},
"ollamaCodeChat.agentMaxSteps": {
"type": "number",
"default": 40,
"minimum": 1,
"maximum": 200,
"description": "Maximum number of reasoning/tool steps the agent may take before stopping. Building a whole project (many files + tests) can need dozens of steps."
},
"ollamaCodeChat.agentAutoApplyEdits": {
"type": "boolean",
"default": false,
"description": "When enabled, the agent applies file edits automatically without asking for approval each time. Leave off to review every change."
},
"ollamaCodeChat.agentAutonomy": {
"type": "string",
"enum": ["all", "edits", "none"],
"default": "edits",
"enumDescriptions": [
"Auto-approve every action (file edits and commands). Relies on git checkpoints/rollback as the safety net.",
"Auto-approve file edits and allowlisted commands; ask for approval on other commands.",
"Ask for approval on every action (supervised)."
],
"description": "How much the AUTONOMOUS agent (started from the command palette) may decide on its own before running. Does not affect the interactive chat agent."
},
"ollamaCodeChat.agentShell": {
"type": "string",
"default": "",
"description": "Shell used to run agent commands. Leave empty to auto-detect (your login shell on macOS/Linux via $SHELL, PowerShell on Windows). Commands run through a login shell so PATH matches your terminal (finds flutter, node, etc.)."
},
"ollamaCodeChat.agentAllowSafeReadCommands": {
"type": "boolean",
"default": true,
"description": "Let the agent run known read-only commands (version checks like 'flutter --version', 'which', 'git status', etc.) without asking for approval. Anything else, including chained or redirected commands, still requires Apply/Skip."
},
"ollamaCodeChat.agentCommandAllowlist": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Additional command prefixes the agent may run without asking for approval (e.g. 'npm run build', 'npm test'). A command is allowed if it equals a prefix or starts with the prefix followed by a space. Everything else always prompts."
},
"ollamaCodeChat.agentCommandTimeout": {
"type": "number",
"default": 120,
"minimum": 1,
"maximum": 1800,
"description": "Maximum seconds a command started by the agent may run before it is terminated."
},
"ollamaCodeChat.logging": {
"type": "boolean",
"default": true,
"description": "Log chat/agent sessions and an environment snapshot per project under '.ollama-chat/' (JSONL). Used later for history, RAG, and dataset export."
},
"ollamaCodeChat.showStats": {
"type": "boolean",
"default": true,
"description": "Show a small stats line under each reply: prompt/reply tokens, tokens/second, time, and context-window usage."
},
"ollamaCodeChat.historyContextTurns": {
"type": "number",
"default": 10,
"minimum": 0,
"maximum": 100,
"description": "When continuing a restored/long conversation, how many recent turns (user+assistant pairs) to send to the model. 0 means no limit. Older messages stay visible but are not re-sent."
}
}
}
},
"scripts": {
"compile": "tsc --noEmit -p ./",
"check:core": "tsc --noEmit -p ./tsconfig.core.json",
"check:m1": "tsc --noEmit -p ./tsconfig.m1.json",
"test:runtime": "node esbuild.test.js",
"build": "node esbuild.js",
"watch": "node esbuild.js --watch",
"vscode:prepublish": "node esbuild.js --production"
},
"devDependencies": {
"@types/node": "^20.x",
"@types/vscode": "^1.90.0",
"esbuild": "^0.24.0",
"typescript": "^5.5.4"
},
"dependencies": {}
}