@kokorolx/ai-sandbox-wrapper 1.3.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +166 -91
- package/bin/ai-run +456 -156
- package/bin/ai-run.bak +1212 -0
- package/bin/cli.js +804 -50
- package/lib/install-aider.sh +3 -3
- package/lib/install-amp.sh +3 -3
- package/lib/install-auggie.sh +3 -3
- package/lib/install-base.sh +52 -36
- package/lib/install-claude.sh +3 -3
- package/lib/install-codebuddy.sh +3 -3
- package/lib/install-codeserver.sh +3 -3
- package/lib/install-codex.sh +3 -3
- package/lib/install-droid.sh +3 -3
- package/lib/install-gemini.sh +3 -3
- package/lib/install-jules.sh +3 -3
- package/lib/install-kilo.sh +3 -3
- package/lib/install-opencode.sh +3 -3
- package/lib/install-qoder.sh +3 -3
- package/lib/install-qwen.sh +3 -3
- package/lib/install-shai.sh +3 -3
- package/lib/install-tool.sh +3 -3
- package/lib/install-vscode.sh +3 -3
- package/package.json +1 -1
- package/setup.sh +65 -46
- package/dockerfiles/AGENTS.md +0 -92
- package/dockerfiles/aider/Dockerfile +0 -5
- package/dockerfiles/amp/Dockerfile +0 -10
- package/dockerfiles/auggie/Dockerfile +0 -12
- package/dockerfiles/base/Dockerfile +0 -105
- package/dockerfiles/claude/Dockerfile +0 -11
- package/dockerfiles/codebuddy/Dockerfile +0 -12
- package/dockerfiles/codex/Dockerfile +0 -9
- package/dockerfiles/droid/Dockerfile +0 -8
- package/dockerfiles/gemini/Dockerfile +0 -9
- package/dockerfiles/jules/Dockerfile +0 -12
- package/dockerfiles/kilo/Dockerfile +0 -25
- package/dockerfiles/opencode/Dockerfile +0 -10
- package/dockerfiles/qoder/Dockerfile +0 -12
- package/dockerfiles/qwen/Dockerfile +0 -10
- package/dockerfiles/shai/Dockerfile +0 -9
package/README.md
CHANGED
|
@@ -8,7 +8,26 @@ AI coding tools like Claude, Gemini, and Aider have full access to your filesyst
|
|
|
8
8
|
|
|
9
9
|
**What you get:** Peace of mind using AI coding tools without risking your personal and system data.
|
|
10
10
|
|
|
11
|
-
*Last updated:
|
|
11
|
+
*Last updated: Tuesday, February 3, 2026*
|
|
12
|
+
|
|
13
|
+
## ✨ New in v2.1.0: Stability & Native Persistence
|
|
14
|
+
|
|
15
|
+
The **v2.1.0 release** focuses on architectural stability and a more intuitive persistence model.
|
|
16
|
+
|
|
17
|
+
- ✅ **Stable Node 22 LTS**: Switched to a robust Node 22 base image for maximum compatibility and performance.
|
|
18
|
+
- ✅ **Direct Mount Persistence**: Changes made *inside* the container (logins, settings, sessions) now save directly to your host's native folders.
|
|
19
|
+
- ✅ **Cache Isolation**: Heavy caches (`node_modules`, `.npm`, `.cache`) are isolated using anonymous volumes to prevent "cache poisoning" and runtime conflicts.
|
|
20
|
+
|
|
21
|
+
### Native Config Mapping
|
|
22
|
+
Your tool configurations are now directly linked from your Mac/PC:
|
|
23
|
+
- Host: `~/.config/opencode` ↔ Container: `/home/agent/.config/opencode`
|
|
24
|
+
- Host: `~/.local/share/opencode` ↔ Container: `/home/agent/.local/share/opencode`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## ⚠️ Breaking Change: v2.0.0 - Config Directory Reorganization
|
|
29
|
+
|
|
30
|
+
**Version 2.0.0** reorganized the directory structure to a tool-centric layout and introduced a unified `config.json`.
|
|
12
31
|
|
|
13
32
|
## 🛡️ Why Use This?
|
|
14
33
|
|
|
@@ -53,8 +72,15 @@ cd ai-sandbox-wrapper
|
|
|
53
72
|
./setup.sh
|
|
54
73
|
```
|
|
55
74
|
|
|
75
|
+
**Fresh build (no Docker cache):**
|
|
76
|
+
```bash
|
|
77
|
+
npx @kokorolx/ai-sandbox-wrapper setup --no-cache
|
|
78
|
+
# or
|
|
79
|
+
./setup.sh --no-cache
|
|
80
|
+
```
|
|
81
|
+
|
|
56
82
|
### Step 3: Follow the Interactive Prompts
|
|
57
|
-
1. **Whitelist workspaces** - Enter
|
|
83
|
+
1. **Whitelist workspaces (Optional)** - Enter directories AI tools can access, or just hit **Enter** to whitelist on-demand later.
|
|
58
84
|
2. **Select tools** - Use arrow keys to move, space to select, Enter to confirm
|
|
59
85
|
3. **Choose image source** - Select registry (faster) or build locally
|
|
60
86
|
|
|
@@ -64,7 +90,7 @@ cd ai-sandbox-wrapper
|
|
|
64
90
|
source ~/.zshrc
|
|
65
91
|
|
|
66
92
|
# Add your API keys (only if using tools that require them)
|
|
67
|
-
nano ~/.ai-env # Add ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.
|
|
93
|
+
nano ~/.ai-sandbox/env # Add ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.
|
|
68
94
|
```
|
|
69
95
|
|
|
70
96
|
### Step 5: Run Your First Tool
|
|
@@ -105,16 +131,16 @@ claude --version
|
|
|
105
131
|
If you want to give AI access to more project directories later:
|
|
106
132
|
```bash
|
|
107
133
|
# Add a new workspace
|
|
108
|
-
echo '/path/to/new/project' >> ~/.ai-workspaces
|
|
134
|
+
echo '/path/to/new/project' >> ~/.ai-sandbox/workspaces
|
|
109
135
|
|
|
110
136
|
# View current allowed directories
|
|
111
|
-
cat ~/.ai-workspaces
|
|
137
|
+
cat ~/.ai-sandbox/workspaces
|
|
112
138
|
```
|
|
113
139
|
|
|
114
140
|
### Configure API Keys (If Needed)
|
|
115
141
|
Some tools require API keys to work properly:
|
|
116
142
|
```bash
|
|
117
|
-
nano ~/.ai-env
|
|
143
|
+
nano ~/.ai-sandbox/env
|
|
118
144
|
```
|
|
119
145
|
Then add your keys in the format: `KEY_NAME=your_actual_key_here`
|
|
120
146
|
Examples:
|
|
@@ -136,7 +162,7 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
|
|
|
136
162
|
```
|
|
137
163
|
|
|
138
164
|
**Available pre-built images:**
|
|
139
|
-
- `ai-base:latest` - Base image with
|
|
165
|
+
- `ai-base:latest` - Base image with Node.js 22 LTS runtime
|
|
140
166
|
- `ai-amp:latest` - Sourcegraph Amp
|
|
141
167
|
- `ai-claude:latest` - Claude Code CLI
|
|
142
168
|
- `ai-droid:latest` - Factory CLI
|
|
@@ -165,22 +191,34 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
|
|
|
165
191
|
|------|--------|--------------|-------------|
|
|
166
192
|
| **claude** | ✅ | Native binary | Anthropic Claude Code |
|
|
167
193
|
| **opencode** | ✅ | Native Go | Open-source AI coding |
|
|
168
|
-
| **gemini** | ✅ | npm/
|
|
194
|
+
| **gemini** | ✅ | npm/Node | Google Gemini CLI (free tier) |
|
|
169
195
|
| **aider** | ✅ | Python | AI pair programmer (Git-native) |
|
|
170
|
-
| **kilo** | ✅ | npm/
|
|
171
|
-
| **codex** | ✅ | npm/
|
|
172
|
-
| **amp** | ✅ | npm/
|
|
173
|
-
| **qwen** | ✅ | npm/
|
|
196
|
+
| **kilo** | ✅ | npm/Node | Kilo Code (500+ models) |
|
|
197
|
+
| **codex** | ✅ | npm/Node | OpenAI Codex agent |
|
|
198
|
+
| **amp** | ✅ | npm/Node | Sourcegraph Amp |
|
|
199
|
+
| **qwen** | ✅ | npm/Node | Alibaba Qwen CLI (1M context) |
|
|
174
200
|
| **droid** | ✅ | Custom | Factory CLI |
|
|
175
201
|
|
|
176
|
-
|
|
202
|
+
> **Note:** GUI tools (VSCode, codeserver) have been removed in v2.0.1. Use your native IDE with AI tools running in the sandbox.
|
|
203
|
+
|
|
204
|
+
## ⚠️ Known Issues
|
|
205
|
+
|
|
206
|
+
### Native Tool Config Compatibility
|
|
207
|
+
|
|
208
|
+
In v2.1.0+, tool configurations are **directly bind-mounted** from your host. This ensures 100% compatibility with your native tool settings and authentications.
|
|
209
|
+
|
|
210
|
+
1. **Host Config**: `~/.config/<tool>/` or `~/.<tool>/`
|
|
211
|
+
2. **Container Mount**: `/home/agent/.config/<tool>` (Automatic)
|
|
177
212
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
213
|
+
**Currently Supported for Direct Mount:**
|
|
214
|
+
- ✅ `claude`
|
|
215
|
+
- ✅ `opencode`
|
|
216
|
+
- ✅ `amp`
|
|
217
|
+
- ✅ `gemini`
|
|
218
|
+
- ✅ `aider`
|
|
219
|
+
- ... and all other supported tools.
|
|
220
|
+
|
|
221
|
+
Please [open an issue](https://github.com/kokorolx/ai-sandbox-wrapper/issues) if you encounter problems with specific tools.
|
|
184
222
|
|
|
185
223
|
## 🖥️ Platform Support
|
|
186
224
|
|
|
@@ -194,62 +232,82 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
|
|
|
194
232
|
|
|
195
233
|
## 📁 Directory Structure
|
|
196
234
|
|
|
197
|
-
AI Sandbox Wrapper creates and manages
|
|
235
|
+
AI Sandbox Wrapper creates and manages a single consolidated directory in your home folder:
|
|
198
236
|
|
|
199
237
|
| Directory | Purpose | Contents |
|
|
200
238
|
|-----------|---------|----------|
|
|
201
239
|
| `~/bin/` | Executables | `ai-run` wrapper and symlinks to tool scripts |
|
|
202
|
-
| `~/.ai-
|
|
203
|
-
| `~/.ai-workspaces` | Security | List of whitelisted directories AI can access |
|
|
204
|
-
| `~/.ai-git-allowed` | Security | Workspaces where Git credentials are allowed |
|
|
205
|
-
| `~/.ai-cache/` | Caching | Tool-specific cache directories (e.g., `~/.ai-cache/claude/`) |
|
|
206
|
-
| `~/.ai-home/` | Config | Tool home directories with persistent configs |
|
|
240
|
+
| `~/.ai-sandbox/` | All config | Consolidated configuration directory (see structure below) |
|
|
207
241
|
| `~/.ai-images/` | Local images | Locally built Docker images (if not using registry) |
|
|
208
242
|
|
|
243
|
+
### Sandbox Structure
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
~/.ai-sandbox/
|
|
247
|
+
├── config.json # Unified config (workspaces, git, networks)
|
|
248
|
+
├── tools/ # Isolated sandbox environments
|
|
249
|
+
│ └── <tool>/
|
|
250
|
+
│ └── home/ # Sandbox home directory (excludes native configs)
|
|
251
|
+
├── shared/ # Shared assets
|
|
252
|
+
│ └── git/ # Shared git config and keys
|
|
253
|
+
└── env # API keys (format: KEY=value)
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Note:** Tools also bind-mount your **native** `~/.config/<tool>` directories for persistence.
|
|
257
|
+
|
|
209
258
|
### Key Files
|
|
210
259
|
|
|
211
260
|
| File | Purpose |
|
|
212
261
|
|------|---------|
|
|
213
|
-
| `~/.ai-
|
|
214
|
-
| `~/.ai-
|
|
215
|
-
| `~/.ai-
|
|
262
|
+
| `~/.ai-sandbox/config.json` | Unified config (workspaces, git access, networks) |
|
|
263
|
+
| `~/.ai-sandbox/env` | API keys (format: `KEY=value`, one per line) |
|
|
264
|
+
| `~/.ai-sandbox/workspaces` | Legacy workspace file (fallback) |
|
|
265
|
+
| `~/.ai-sandbox/git-allowed` | Legacy git-allowed file (fallback) |
|
|
216
266
|
|
|
217
|
-
|
|
267
|
+
## ⚙️ Configuration
|
|
218
268
|
|
|
219
|
-
|
|
220
|
-
~/.ai-cache/
|
|
221
|
-
├── claude/ # Claude Code cache
|
|
222
|
-
├── gemini/ # Gemini CLI cache
|
|
223
|
-
├── aider/ # Aider cache
|
|
224
|
-
├── git/ # Git credentials cache (when enabled)
|
|
225
|
-
│ └── ssh/ # SSH keys and config for allowed workspace
|
|
226
|
-
```
|
|
269
|
+
### Tool-Specific Configuration
|
|
227
270
|
|
|
228
|
-
|
|
271
|
+
Each tool has its own persistent home directory inside `~/.ai-sandbox/tools/<tool>/home/`.
|
|
229
272
|
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
├── gemini/ # Gemini configuration
|
|
234
|
-
├── aider/ # Aider config and history
|
|
235
|
-
└── .gitconfig # Git configuration (when Git access enabled)
|
|
236
|
-
```
|
|
273
|
+
```bash
|
|
274
|
+
# View configuration paths for a specific tool (Recommended)
|
|
275
|
+
npx @kokorolx/ai-sandbox-wrapper config tool claude
|
|
237
276
|
|
|
238
|
-
|
|
277
|
+
# View configuration content
|
|
278
|
+
npx @kokorolx/ai-sandbox-wrapper config tool claude --show
|
|
279
|
+
```
|
|
239
280
|
|
|
240
281
|
### API Keys
|
|
241
282
|
```bash
|
|
242
283
|
# Edit environment file
|
|
243
|
-
nano ~/.ai-env
|
|
284
|
+
nano ~/.ai-sandbox/env
|
|
244
285
|
```
|
|
245
286
|
|
|
246
287
|
### Workspace Management
|
|
247
288
|
```bash
|
|
248
|
-
#
|
|
249
|
-
|
|
289
|
+
# CLI commands (recommended)
|
|
290
|
+
npx @kokorolx/ai-sandbox-wrapper workspace list
|
|
291
|
+
npx @kokorolx/ai-sandbox-wrapper workspace add ~/projects/my-new-app
|
|
292
|
+
npx @kokorolx/ai-sandbox-wrapper workspace remove ~/old-project
|
|
293
|
+
|
|
294
|
+
# Interactive menu
|
|
295
|
+
npx @kokorolx/ai-sandbox-wrapper update
|
|
250
296
|
|
|
251
|
-
#
|
|
252
|
-
|
|
297
|
+
# Legacy (still works)
|
|
298
|
+
echo '/path/to/project' >> ~/.ai-sandbox/workspaces
|
|
299
|
+
cat ~/.ai-sandbox/workspaces
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Git Access Management
|
|
303
|
+
```bash
|
|
304
|
+
# CLI commands
|
|
305
|
+
npx @kokorolx/ai-sandbox-wrapper git status
|
|
306
|
+
npx @kokorolx/ai-sandbox-wrapper git enable ~/projects/myrepo
|
|
307
|
+
npx @kokorolx/ai-sandbox-wrapper git disable ~/projects/myrepo
|
|
308
|
+
|
|
309
|
+
# Interactive menu
|
|
310
|
+
npx @kokorolx/ai-sandbox-wrapper update
|
|
253
311
|
```
|
|
254
312
|
|
|
255
313
|
### Network Configuration
|
|
@@ -274,12 +332,24 @@ Network selections are saved to `~/.ai-sandbox/config.json`:
|
|
|
274
332
|
- **Global**: Default for all workspaces
|
|
275
333
|
|
|
276
334
|
```bash
|
|
335
|
+
# CLI commands
|
|
336
|
+
npx @kokorolx/ai-sandbox-wrapper network list
|
|
337
|
+
npx @kokorolx/ai-sandbox-wrapper network add mynetwork --global
|
|
338
|
+
npx @kokorolx/ai-sandbox-wrapper network add dev-network --workspace ~/projects/myapp
|
|
339
|
+
npx @kokorolx/ai-sandbox-wrapper network remove mynetwork --global
|
|
340
|
+
|
|
277
341
|
# View current config
|
|
278
|
-
|
|
342
|
+
npx @kokorolx/ai-sandbox-wrapper config show
|
|
343
|
+
npx @kokorolx/ai-sandbox-wrapper config show --json
|
|
279
344
|
|
|
280
|
-
# Example config structure
|
|
345
|
+
# Example config.json structure (v2)
|
|
281
346
|
{
|
|
282
|
-
"version":
|
|
347
|
+
"version": 2,
|
|
348
|
+
"workspaces": ["/Users/you/projects/my-app"],
|
|
349
|
+
"git": {
|
|
350
|
+
"allowedWorkspaces": ["/Users/you/projects/my-repo"],
|
|
351
|
+
"keySelections": {}
|
|
352
|
+
},
|
|
283
353
|
"networks": {
|
|
284
354
|
"global": ["shared-services"],
|
|
285
355
|
"workspaces": {
|
|
@@ -298,13 +368,13 @@ When running without the flag, saved networks are used silently:
|
|
|
298
368
|
|
|
299
369
|
### Environment Variables
|
|
300
370
|
|
|
301
|
-
All environment variables are configured in `~/.ai-env` or passed at runtime:
|
|
371
|
+
All environment variables are configured in `~/.ai-sandbox/env` or passed at runtime:
|
|
302
372
|
|
|
303
373
|
#### Image Source
|
|
304
374
|
Choose between locally built images or pre-built GitLab registry images:
|
|
305
375
|
|
|
306
376
|
```bash
|
|
307
|
-
# Add to ~/.ai-env
|
|
377
|
+
# Add to ~/.ai-sandbox/env
|
|
308
378
|
|
|
309
379
|
# Use locally built images (default)
|
|
310
380
|
AI_IMAGE_SOURCE=local
|
|
@@ -373,7 +443,7 @@ rails server -b 0.0.0.0
|
|
|
373
443
|
```
|
|
374
444
|
|
|
375
445
|
#### API Keys
|
|
376
|
-
Configure in `~/.ai-env`:
|
|
446
|
+
Configure in `~/.ai-sandbox/env`:
|
|
377
447
|
|
|
378
448
|
```bash
|
|
379
449
|
# Required for Claude tools
|
|
@@ -391,19 +461,19 @@ GOOGLE_API_KEY=AIza...
|
|
|
391
461
|
|
|
392
462
|
### Per-Project Config
|
|
393
463
|
|
|
394
|
-
Each tool supports project-specific config files that override global settings:
|
|
464
|
+
Each tool supports project-specific config files that override global settings. These files are located in your workspace and are accessible to the tool:
|
|
395
465
|
|
|
396
|
-
| Tool | Project Config | Global Config
|
|
397
|
-
|
|
398
|
-
| Claude | `.claude.json` | `~/.claude/` |
|
|
466
|
+
| Tool | Project Config | Native Global Config |
|
|
467
|
+
|------|----------------|----------------------|
|
|
468
|
+
| Claude | `.claude.json` | `~/.config/claude/` |
|
|
399
469
|
| Gemini | `.gemini.json` | `~/.config/gemini/` |
|
|
400
470
|
| Aider | `.aider.conf` | `~/.config/aider/` |
|
|
401
471
|
| Opencode | `.opencode.json` | `~/.config/opencode/` |
|
|
402
|
-
| Kilo | `.kilo.json` | `~/.config/kilo/` |
|
|
403
|
-
| Codex | `.codex.json` | `~/.config/codex/` |
|
|
404
472
|
| Amp | `.amp.json` | `~/.config/amp/` |
|
|
405
473
|
|
|
406
|
-
**
|
|
474
|
+
**Persistence:** Since v2.1.0, changes to global settings *inside* the container are automatically saved back to your **Native Global Config** on the host.
|
|
475
|
+
|
|
476
|
+
**Priority:** Project config > Native Global config > Container defaults
|
|
407
477
|
|
|
408
478
|
```bash
|
|
409
479
|
# Example: Project-specific Claude config
|
|
@@ -418,14 +488,15 @@ EOF
|
|
|
418
488
|
|
|
419
489
|
### Tool-Specific Config Locations
|
|
420
490
|
|
|
421
|
-
|
|
491
|
+
All tool configs are consolidated under `~/.ai-sandbox/home/{tool}/`:
|
|
422
492
|
|
|
423
493
|
```
|
|
424
|
-
~/.ai-home/{tool}/
|
|
494
|
+
~/.ai-sandbox/home/{tool}/
|
|
425
495
|
├── .config/ # Tool configuration
|
|
426
496
|
│ └── {tool}/ # Per-tool config directory
|
|
427
497
|
├── .local/share/ # Tool data (cache, sessions)
|
|
428
|
-
|
|
498
|
+
├── .cache/ # Runtime cache
|
|
499
|
+
└── .claude/ # Claude-specific (for claude tool)
|
|
429
500
|
```
|
|
430
501
|
|
|
431
502
|
Each tool's config is mounted to `/home/agent/` inside the container.
|
|
@@ -516,10 +587,10 @@ Allow AI tool to access Git credentials for this workspace?
|
|
|
516
587
|
**Managing Git access:**
|
|
517
588
|
```bash
|
|
518
589
|
# View allowed workspaces
|
|
519
|
-
cat ~/.ai-git-allowed
|
|
590
|
+
cat ~/.ai-sandbox/git-allowed
|
|
520
591
|
|
|
521
592
|
# Remove a workspace from allowed list
|
|
522
|
-
nano ~/.ai-git-allowed # Delete the line
|
|
593
|
+
nano ~/.ai-sandbox/git-allowed # Delete the line
|
|
523
594
|
```
|
|
524
595
|
|
|
525
596
|
**Why this is secure:**
|
|
@@ -562,20 +633,23 @@ nano ~/.ai-git-allowed # Delete the line
|
|
|
562
633
|
- Reload your shell: `source ~/.zshrc`
|
|
563
634
|
- Verify setup completed: check if `~/bin/ai-run` exists
|
|
564
635
|
|
|
565
|
-
**"Workspaces not configured"**
|
|
566
|
-
-
|
|
567
|
-
-
|
|
636
|
+
**"Workspaces not configured"** (Legacy)
|
|
637
|
+
- Note: This error is resolved in v2.1.0+.
|
|
638
|
+
- Run setup again: `./setup.sh` or simply run an AI tool in your project folder to trigger interactive whitelisting.
|
|
639
|
+
|
|
640
|
+
**"BunInstallFailedError"** (Resolved in v2.1.0)
|
|
641
|
+
- This was caused by stale caches. We now use **Cache Isolation** via anonymous volumes. If you still see this, run `./setup.sh --no-cache` to force a clean build.
|
|
568
642
|
|
|
569
643
|
**Tool doesn't start**
|
|
570
644
|
- Check if you selected the tool during setup
|
|
571
645
|
- Look for the Docker image: `docker images | grep ai-`
|
|
572
646
|
|
|
573
647
|
**"Outside whitelisted workspace" error**
|
|
574
|
-
- Add your current directory: `echo "$(pwd)" >> ~/.ai-workspaces`
|
|
648
|
+
- Add your current directory: `echo "$(pwd)" >> ~/.ai-sandbox/workspaces`
|
|
575
649
|
- Or navigate to a directory you whitelisted during setup
|
|
576
650
|
|
|
577
651
|
**API key errors**
|
|
578
|
-
- Check your keys in: `cat ~/.ai-env`
|
|
652
|
+
- Check your keys in: `cat ~/.ai-sandbox/env`
|
|
579
653
|
- Make sure keys are in format: `KEY_NAME=actual_key_value`
|
|
580
654
|
|
|
581
655
|
### Getting Help
|
|
@@ -583,9 +657,9 @@ nano ~/.ai-git-allowed # Delete the line
|
|
|
583
657
|
If you're still having issues:
|
|
584
658
|
1. Check that Docker is running
|
|
585
659
|
2. Re-run `./setup.sh` to reinstall
|
|
586
|
-
3. Look at the configuration files in
|
|
587
|
-
- `~/.ai-workspaces` - should contain your project directories
|
|
588
|
-
- `~/.ai-env` - should contain your API keys (if needed)
|
|
660
|
+
3. Look at the configuration files in `~/.ai-sandbox/`:
|
|
661
|
+
- `~/.ai-sandbox/workspaces` - should contain your project directories
|
|
662
|
+
- `~/.ai-sandbox/env` - should contain your API keys (if needed)
|
|
589
663
|
4. View Docker images: `docker images` to see if tools built successfully
|
|
590
664
|
|
|
591
665
|
## 📚 Quick Reference
|
|
@@ -614,15 +688,15 @@ ai-run opencode --shell # or -s
|
|
|
614
688
|
See [SHELL-MODE-USAGE.md](SHELL-MODE-USAGE.md) for detailed examples and use cases.
|
|
615
689
|
|
|
616
690
|
### Configuration Files
|
|
617
|
-
- `~/.ai-env` - Store API keys here
|
|
618
|
-
- `~/.ai-workspaces` - Whitelisted project directories
|
|
619
|
-
- `~/.ai-cache/` - Tool cache (persistent)
|
|
620
|
-
- `~/.ai-home/` - Tool configurations (persistent)
|
|
691
|
+
- `~/.ai-sandbox/env` - Store API keys here
|
|
692
|
+
- `~/.ai-sandbox/workspaces` - Whitelisted project directories
|
|
693
|
+
- `~/.ai-sandbox/cache/` - Tool cache (persistent)
|
|
694
|
+
- `~/.ai-sandbox/home/` - Tool configurations (persistent)
|
|
621
695
|
|
|
622
696
|
### Common Tasks
|
|
623
697
|
```bash
|
|
624
698
|
# Add a new project directory to AI access
|
|
625
|
-
echo '/path/to/my/new/project' >> ~/.ai-workspaces
|
|
699
|
+
echo '/path/to/my/new/project' >> ~/.ai-sandbox/workspaces
|
|
626
700
|
|
|
627
701
|
# Check what tools are installed
|
|
628
702
|
ls ~/bin/
|
|
@@ -654,23 +728,24 @@ npx @kokorolx/ai-sandbox-wrapper clean
|
|
|
654
728
|
**Categories:**
|
|
655
729
|
| Category | Contents | Risk |
|
|
656
730
|
|----------|----------|------|
|
|
657
|
-
| Tool caches | `~/.ai-cache/{tool}/` | 🟢 Safe to delete |
|
|
658
|
-
| Tool configs | `~/.ai-home/{tool}/` | 🟡 Loses settings |
|
|
659
|
-
| Global config | `~/.ai-sandbox
|
|
731
|
+
| Tool caches | `~/.ai-sandbox/cache/{tool}/` | 🟢 Safe to delete |
|
|
732
|
+
| Tool configs | `~/.ai-sandbox/home/{tool}/` | 🟡 Loses settings |
|
|
733
|
+
| Global config | `~/.ai-sandbox/workspaces`, `~/.ai-sandbox/env`, etc. | 🟡🔴 Mixed |
|
|
734
|
+
| Everything | `~/.ai-sandbox/` | 🔴 Full reset |
|
|
660
735
|
|
|
661
736
|
**Example:**
|
|
662
737
|
```
|
|
663
738
|
🧹 AI Sandbox Cleanup
|
|
664
739
|
|
|
665
740
|
What would you like to clean?
|
|
666
|
-
1. Tool caches (~/.ai-cache/) - Safe to delete
|
|
667
|
-
2. Tool configs (~/.ai-home/) - Loses settings
|
|
741
|
+
1. Tool caches (~/.ai-sandbox/cache/) - Safe to delete
|
|
742
|
+
2. Tool configs (~/.ai-sandbox/home/) - Loses settings
|
|
668
743
|
3. Global config files - Loses preferences
|
|
669
|
-
4.
|
|
744
|
+
4. Everything (~/.ai-sandbox/) - Full reset
|
|
670
745
|
|
|
671
746
|
Enter selection (or 'q' to quit): 1
|
|
672
747
|
|
|
673
|
-
📁 Tool Caches (~/.ai-cache/)
|
|
748
|
+
📁 Tool Caches (~/.ai-sandbox/cache/)
|
|
674
749
|
|
|
675
750
|
Select tools to clear:
|
|
676
751
|
1. claude/ (45.2 MB)
|
|
@@ -679,13 +754,13 @@ Select tools to clear:
|
|
|
679
754
|
Enter selection (comma-separated, 'all', or 'b' to go back): 1
|
|
680
755
|
|
|
681
756
|
You are about to delete:
|
|
682
|
-
- ~/.ai-cache/claude/ (45.2 MB)
|
|
757
|
+
- ~/.ai-sandbox/cache/claude/ (45.2 MB)
|
|
683
758
|
|
|
684
759
|
Total: 45.2 MB
|
|
685
760
|
|
|
686
761
|
Type 'yes' to confirm: yes
|
|
687
762
|
|
|
688
|
-
✓ Deleted ~/.ai-cache/claude/
|
|
763
|
+
✓ Deleted ~/.ai-sandbox/cache/claude/
|
|
689
764
|
|
|
690
765
|
Deleted 1 items, freed 45.2 MB
|
|
691
766
|
```
|