38 lines
1014 B
Markdown
38 lines
1014 B
Markdown
# app-opencode-experiment
|
|
|
|
[opencode](https://opencode.ai/) in a Docker container, wired to [weave](https://weave.redpencil.io) as the model provider. Default model `weave/glm-5.2`. LSP baked in for TypeScript/JS and Python.
|
|
|
|
## Setup
|
|
|
|
Create a `docker-compose.override.yml` (gitignored) with your weave key and repo mount:
|
|
|
|
```yaml
|
|
services:
|
|
opencode:
|
|
environment:
|
|
WEAVE_API_KEY: "..."
|
|
volumes:
|
|
- /path/to/your/repo:/workspace/repo
|
|
```
|
|
|
|
Then:
|
|
|
|
```
|
|
docker compose up -d
|
|
docker compose exec opencode opencode
|
|
```
|
|
|
|
## TUI
|
|
|
|
In the TUI, type `/models` to select a model from the registered weave models.
|
|
|
|
## Layout
|
|
|
|
- `config/opencode/` - image: Dockerfile + baked `opencode.json`
|
|
- `data/` - persisted opencode state (gitignored)
|
|
- `docker-compose.yml` - opencode service
|
|
|
|
## Caveats
|
|
|
|
- Copy from the TUI is weird over Docker: To copy text out of the opencode TUI running in a container, I have to do `Shift`+click to select the text, then `Ctrl`+`Shift`+`C` to copy. Plain `COPY` doesn't work.
|