Compare commits
5 Commits
feature/we
...
9246decc9f
| Author | SHA1 | Date | |
|---|---|---|---|
| 9246decc9f | |||
| 1ce6cea6c9 | |||
| 5b7c1f98bd | |||
| 5bd2eb398e | |||
| 3e373104e7 |
@@ -22,10 +22,9 @@ A first run from a clean checkout.
|
||||
|
||||
```yaml
|
||||
services:
|
||||
weave-proxy:
|
||||
opencode:
|
||||
environment:
|
||||
WEAVE_API_KEY: "your-key-here"
|
||||
opencode:
|
||||
volumes:
|
||||
- /path/to/your/repo:/workspace/repo
|
||||
```
|
||||
@@ -122,7 +121,8 @@ 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 `http://weave-proxy/v1`.
|
||||
`@ai-sdk/openai-compatible` adapter against `https://weave.redpencil.io/v1`
|
||||
with the key from `WEAVE_API_KEY`.
|
||||
- **`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.
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
@@ -1,75 +1,83 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "weave/glm-5.3-flash",
|
||||
"small_model": "weave/glm-5.3-flash",
|
||||
"lsp": {
|
||||
"typescript": {
|
||||
"command": [
|
||||
"typescript-language-server",
|
||||
"--stdio"
|
||||
],
|
||||
"extensions": [
|
||||
".ts",
|
||||
".tsx",
|
||||
".js",
|
||||
".jsx",
|
||||
".mjs",
|
||||
".cjs",
|
||||
".mts",
|
||||
".cts"
|
||||
]
|
||||
},
|
||||
"pyright": {
|
||||
"command": [
|
||||
"pyright-langserver",
|
||||
"--stdio"
|
||||
],
|
||||
"extensions": [
|
||||
".py",
|
||||
".pyi"
|
||||
]
|
||||
"agents": {
|
||||
"title": {
|
||||
"model": "weave/glm-5.3-flash"
|
||||
}
|
||||
},
|
||||
"provider": {
|
||||
"providers": {
|
||||
"weave": {
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"options": {
|
||||
"baseURL": "http://weave-proxy/v1",
|
||||
"apiKey": "not-needed"
|
||||
"package": "@opencode/ai/providers/openai-compatible",
|
||||
"settings": {
|
||||
"baseURL": "https://weave.redpencil.io/v1",
|
||||
"apiKey": "{env:WEAVE_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"kimi-K2.7-code": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
},
|
||||
"glm-5.3": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
},
|
||||
"glm-5.3-flash": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
},
|
||||
"mistral-glm-5.2": {
|
||||
"tools": true,
|
||||
"reasoning": true,
|
||||
"options": {
|
||||
"capabilities": {
|
||||
"tools": true,
|
||||
"reasoning": {
|
||||
"supported": true
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"reasoningEffort": "xhigh"
|
||||
}
|
||||
},
|
||||
"devstral": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
},
|
||||
"local-qwen3.6:27b": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
},
|
||||
"mistral-medium": {
|
||||
"tools": true
|
||||
"capabilities": {
|
||||
"tools": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
"read": "ask",
|
||||
"edit": "ask",
|
||||
"bash": "ask",
|
||||
"external_directory": "ask"
|
||||
}
|
||||
}
|
||||
"permissions": [
|
||||
{
|
||||
"action": "read",
|
||||
"resource": "*",
|
||||
"effect": "ask",
|
||||
},
|
||||
{
|
||||
"action": "edit",
|
||||
"resource": "*",
|
||||
"effect": "ask",
|
||||
},
|
||||
{
|
||||
"action": "shell",
|
||||
"resource": "*",
|
||||
"effect": "ask",
|
||||
},
|
||||
{
|
||||
"action": "external_directory",
|
||||
"resource": "*",
|
||||
"effect": "ask",
|
||||
},
|
||||
],
|
||||
}
|
||||
@@ -1,10 +1,6 @@
|
||||
services:
|
||||
weave-proxy:
|
||||
image: nginx:1.31.7-alpine
|
||||
volumes:
|
||||
- ./config/nginx/templates:/etc/nginx/templates:ro
|
||||
opencode:
|
||||
image: redpencil/opencode:0.0.2
|
||||
image: redpencil/opencode:feature-opencode-v2
|
||||
volumes:
|
||||
- ./data/opencode/share:/root/.local/share/opencode
|
||||
- ./config/opencode/opencode.json:/root/.config/opencode/opencode.json
|
||||
|
||||
Reference in New Issue
Block a user