Introduce separate weave-proxy service which holds the API key #2

Open
elpoelma wants to merge 1 commits from feature/weave-proxy into master
4 changed files with 20 additions and 5 deletions
Showing only changes of commit b0e2b6eeb8 - Show all commits

View File

@@ -22,9 +22,10 @@ A first run from a clean checkout.
```yaml
services:
opencode:
weave-proxy:
environment:
WEAVE_API_KEY: "your-key-here"
opencode:
volumes:
- /path/to/your/repo:/workspace/repo
```
@@ -121,8 +122,7 @@ name** from that stack's compose and `<port>` is the container's *internal* port
- **`model` / `small_model`** — default model and the model used for lighter
tasks. Both default to `weave/glm-5.2`.
- **`provider.weave`** — the weave provider, using the
`@ai-sdk/openai-compatible` adapter against `https://weave.redpencil.io/v1`
with the key from `WEAVE_API_KEY`.
`@ai-sdk/openai-compatible` adapter against `http://weave-proxy/v1`.
- **`provider.weave.models`** — the models offered in `/models`.
- **`lsp`** — language servers baked into the image:
`typescript-language-server` for TS/JS and `pyright` for Python.

View File

@@ -0,0 +1,11 @@
server {
listen 80;
location / {
proxy_pass https://weave.redpencil.io;
proxy_ssl_server_name on;
proxy_set_header Host weave.redpencil.io;
proxy_set_header Authorization "Bearer ${WEAVE_API_KEY}";
proxy_buffering off; # SSE streaming
proxy_read_timeout 600s; # match opencode's 5-min defaults
}
}

View File

@@ -34,8 +34,8 @@
"weave": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://weave.redpencil.io/v1",
"apiKey": "{env:WEAVE_API_KEY}"
"baseURL": "http://weave-proxy/v1",
"apiKey": "not-needed"
},
"models": {
"kimi-K2.7-code": {

View File

@@ -1,4 +1,8 @@
services:
weave-proxy:
image: nginx:1.31.7-alpine
volumes:
- ./config/nginx/templates:/etc/nginx/templates:ro
opencode:
image: redpencil/opencode:0.0.2
volumes: