You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Thread-safe**: All operations use read/write locks
96
96
97
97
#### Tool Registry System
@@ -108,28 +108,11 @@ Available tools:
108
108
-**read_file_summarized**: AI-powered summarization of large files
109
109
-**create_file**: Create new files
110
110
-**write_file_diff**: Update existing files with unified diffs (headers + `@@` hunks by default; GPT models get a simplified parser that tolerates missing hunks)
111
-
-**shell**: Execute shell commands (supports background jobs with `&`)
112
111
-**go_sandbox**: Execute Go code in sandboxed environment
113
112
-**parallel_tools**: Execute several registered tools concurrently and merge responses
114
113
-**todo**: Manage todo items
115
114
-**status**: Check status of background jobs
116
115
117
-
### Critical Safety Rules
118
-
119
-
1.**Read-Before-Write**: Files must be read before modification ([internal/tools/write_file_diff.go](internal/tools/write_file_diff.go#L73) or the simplified parser variant in [internal/tools/write_file_simple_diff.go](internal/tools/write_file_simple_diff.go#L60))
120
-
- Session tracks which files were read via `TrackFileRead()`
121
-
- Write operations check `WasFileRead()` before allowing modifications
122
-
- New files can be written without reading
123
-
124
-
2.**Line Limits**: Maximum 2000 lines per read operation ([internal/tools/read_file.go](internal/tools/read_file.go:96-104))
125
-
- Files exceeding limit are automatically truncated with notification
126
-
- Use `from_line` and `to_line` parameters to read specific ranges
127
-
128
-
3.**Timeouts**:
129
-
- Sandbox execution: 30s default, 600s max
130
-
131
-
4.**Sandbox Shell Helper**: When writing Go sandbox programs, call `Shell` with a command slice (e.g., `Shell([]string{"ls", "-la"}, "")`). The earlier `Shell("ls -la")` form is deprecated and will be rejected.
132
-
133
116
### Configuration
134
117
135
118
Configuration files stored in `~/.config/scriptschnell/`:
@@ -144,9 +127,9 @@ Configuration files stored in `~/.config/scriptschnell/`:
144
127
145
128
### Provider System
146
129
147
-
Multi-provider support via langchaingo ([internal/provider/provider.go](internal/provider/provider.go)):
130
+
Multi-provider support
148
131
149
-
- Supports OpenAI, Anthropic, and other langchaingo-compatible providers
132
+
- Supports OpenAI, Anthropic and other
150
133
- Provider manager handles API key storage and model selection
151
134
- Model search uses Aho-Corasick algorithm for efficient matching
152
135
@@ -167,7 +150,6 @@ When modifying the codebase:
167
150
168
151
3.**Changing LLM integration**:
169
152
- Update `internal/llm/client.go` interface if needed
170
-
- Modify langchaingo wrapper in `internal/llm/langchain.go`
171
153
- Test with multiple providers (OpenAI, Anthropic)
0 commit comments