chore(config): remove deprecated ai provider and add memory readme section (#106)
* chore(config): remove deprecated ai provider and add memory readme section * docs(handoff): set PR number 106 * docs(project-map): update after structural changes --------- Co-authored-by: opencode-agent <agent@opencode.local>
This commit is contained in:
parent
4cf149cb02
commit
7d730baa4c
6 changed files with 49 additions and 37 deletions
|
|
@ -1,7 +1,3 @@
|
|||
# AI Provider
|
||||
AI_PROVIDER_BASE_URL=https://your-ai-provider.example.com/v1/
|
||||
AI_PROVIDER_API_KEY=your-api-key-here
|
||||
|
||||
# OpenAI Embeddings (Memory CLI)
|
||||
# OpenRouter defaults (Qwen3 8B, batch=50). For OpenAI direct, use:
|
||||
# OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
|
|
@ -38,7 +34,7 @@ TUNNEL_DOMAIN=
|
|||
# Remote: http://<your-server-ip>:8765/mcp
|
||||
ANTIDETECT_BROWSER_MCP_URL=http://localhost:8765/mcp
|
||||
|
||||
# OpenCode Memory (required — memory-setup tool exits 1 if OPENCODE_MEMORY_REMOTE unset)
|
||||
# Point at your fork of opencode-memory (see README "Memory setup" for the upstream repo)
|
||||
# OpenCode Memory (optional — auto-setup on first memory-save if unset)
|
||||
# Point at your fork of opencode-memory to sync via git push
|
||||
OPENCODE_MEMORY_REMOTE=https://github.com/your-username/your-opencode-memory.git
|
||||
OPENCODE_MEMORY_DIR=/root/.local/share/opencode/opencode-memory
|
||||
|
|
@ -12,35 +12,6 @@
|
|||
},
|
||||
"disabled_providers": [],
|
||||
"provider": {
|
||||
"new_api": {
|
||||
"name": "new api",
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"options": {
|
||||
"baseURL": "{env:AI_PROVIDER_BASE_URL}",
|
||||
"apiKey": "{env:AI_PROVIDER_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"gemini-3.5-flash": {
|
||||
"name": "Gemini 3.5 Flash",
|
||||
"reasoning": true,
|
||||
"attachment": true,
|
||||
"modalities": {
|
||||
"input": [
|
||||
"text",
|
||||
"image"
|
||||
],
|
||||
"output": [
|
||||
"text"
|
||||
]
|
||||
},
|
||||
"limit": {
|
||||
"context": 250000,
|
||||
"input": 250000,
|
||||
"output": 16384
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"openrouter": {
|
||||
"models": {
|
||||
"deepseek/deepseek-v4-flash": {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,10 @@ docker compose up -d
|
|||
|
||||
Скопируйте `.env.example` → `.env`, заполните ключи.
|
||||
|
||||
### Память
|
||||
|
||||
Файловая память (markdown + git) с keyword и semantic поиском. 5 tools: `memory-save`, `memory-search`, `memory-list`, `memory-access`, `memory-doctor`. Zero-config — первый `memory-save` создаёт репозиторий и индекс автоматически. Semantic поиск опционален: работает если задан `OPENAI_BASE_URL`, иначе keyword (ripgrep) всегда работает как fallback.
|
||||
|
||||
## English
|
||||
|
||||
### Quick start
|
||||
|
|
@ -62,6 +66,10 @@ Access at http://localhost:4096
|
|||
|
||||
Copy `.env.example` → `.env`, fill in keys.
|
||||
|
||||
### Memory
|
||||
|
||||
File-based memory (markdown + git) with keyword and semantic search. 5 tools: `memory-save`, `memory-search`, `memory-list`, `memory-access`, `memory-doctor`. Zero-config — first `memory-save` creates the repo and index automatically. Semantic search is optional: works if `OPENAI_BASE_URL` is set, otherwise keyword (ripgrep) always works as fallback.
|
||||
|
||||
## License
|
||||
|
||||
MIT — see [LICENSE](LICENSE).
|
||||
|
|
|
|||
14
docs/decisions/047-pr-106-remove-deprecated-ai-provider.md
Normal file
14
docs/decisions/047-pr-106-remove-deprecated-ai-provider.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# ADR-047: Remove deprecated `new_api` AI provider
|
||||
|
||||
## Статус
|
||||
Accepted (2026-07-26)
|
||||
|
||||
## Контекст
|
||||
В `.opencode/opencode.json` присутствовал блок провайдера `new_api` (gemini-3.5-flash, `@ai-sdk/openai-compatible`), завязанный на env vars `AI_PROVIDER_BASE_URL` / `AI_PROVIDER_API_KEY`. Провайдер был deprecated: embeddings уже переведены на `OPENAI_*` env vars (PR #75), активный LLM-провайдер — `openrouter`. `new_api` не упоминался нигде кроме `opencode.json:15-43` — мёртвый код, создававший ложное впечатление доступной альтернативы и требовавший неиспользуемые env vars в `.env.example`.
|
||||
|
||||
## Решение
|
||||
Удалить блок `new_api` из `provider` в `.opencode/opencode.json` и соответствующие `AI_PROVIDER_*` env vars из `.env.example`. Заодно уточнить комментарий `OPENCODE_MEMORY_REMOTE` — теперь optional (auto-setup при первом `memory-save`), а не required. Добавить секцию «Память»/«Memory» в `README.md` для onboarding.
|
||||
|
||||
## Альтернативы
|
||||
- Оставить `new_api` как есть — сохраняет мёртвый код и неиспользуемые env vars, вводит в заблуждение новых пользователей. Отклонено: пользователь подтвердил удаление.
|
||||
- Перевести `new_api` на `OPENAI_*` env vars вместо удаления — избыточно, `openrouter` уже покрывает LLM-провайдер.
|
||||
23
docs/handoff/pr-106-remove-deprecated-ai-provider.md
Normal file
23
docs/handoff/pr-106-remove-deprecated-ai-provider.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
pr: 106
|
||||
title: chore(config): remove deprecated ai provider and add memory readme section
|
||||
---
|
||||
|
||||
## Что сделано
|
||||
- Удалён блок `new_api` провайдера из `.opencode/opencode.json` (строки 15-43) — deprecated, не использовался
|
||||
- Удалены `AI_PROVIDER_BASE_URL` / `AI_PROVIDER_API_KEY` из `.env.example` (строки 1-4)
|
||||
- Обновлён комментарий про `OPENCODE_MEMORY_REMOTE` в `.env.example` — больше не required, auto-setup при первом `memory-save`
|
||||
- Добавлена короткая секция «Память» / «Memory» в `README.md` (5 строк RU + 5 строк EN)
|
||||
|
||||
## Почему
|
||||
`AI_PROVIDER_*` env vars и провайдер `new_api` (gemini-3.5-flash) — deprecated. Embeddings уже на `OPENAI_*` env vars (PR #75), LLM-провайдер `openrouter` активен. `new_api` не упоминался нигде кроме `opencode.json:15-43` — мёртвый код. Пользователь подтвердил удаление.
|
||||
|
||||
Секция про память в README — для onboarding: краткое описание 5 tools, zero-config, progressive enhancement (keyword всегда, semantic опционален).
|
||||
|
||||
Closes #105
|
||||
|
||||
## Pending
|
||||
—
|
||||
|
||||
## Watch out
|
||||
—
|
||||
|
|
@ -62,7 +62,7 @@ opencode-config/
|
|||
│ │ ├── scaffold-handoff.sh # Scaffold handoff + ADR stubs
|
||||
│ │ ├── spec-status.py # 9-phase spec oracle
|
||||
│ │ └── tunnel.sh # Cloudflare tunnel toggle bash (named mode via CLOUDFLARE_TUNNEL_TOKEN) — PR#34
|
||||
│ ├── opencode.json # MCP servers, providers, permissions, agents (role-based tools) — PR#40, PR#69 (plugin block REMOVED PR#103)
|
||||
│ ├── opencode.json # MCP servers, providers, permissions, agents (role-based tools) — PR#40, PR#69 (plugin block REMOVED PR#103, deprecated `new_api` provider REMOVED PR#106)
|
||||
│ ├── package.json # npm deps for tools/*.ts (deps: @vscode/ripgrep; devDeps: @types/node, typescript) — PR#101
|
||||
│ └── .gitignore # Ignores node_modules, etc.
|
||||
├── docs/
|
||||
|
|
@ -121,7 +121,7 @@ opencode-config/
|
|||
├── .pre-commit-config.yaml # ruff + UV hooks
|
||||
├── docker-compose.yml # 2 services (dind + opencode), opencode_network, 4 bind mounts, port 4096 on 0.0.0.0 — PR#24, PR#51
|
||||
├── Dockerfile # node:22-trixie-slim (Debian 13 trixie, glibc 2.41) + uv + gh + chromium + docker.io + opencode-ai + repomix + cloudflared (@mathew-cf/opencode-memory REMOVED PR#103) — PR#24, PR#34, PR#57, PR#71, PR#103
|
||||
├── .env.example # Placeholder-only env template (user copies to .env) — PR#24, PR#34 (TUNNEL_DOMAIN), PR#36 (OPENCODE_MEMORY_REMOTE/DIR)
|
||||
├── .env.example # Placeholder-only env template (user copies to .env) — PR#24, PR#34 (TUNNEL_DOMAIN), PR#36 (OPENCODE_MEMORY_REMOTE/DIR), PR#106 (AI_PROVIDER_* removed, OPENCODE_MEMORY_REMOTE now optional)
|
||||
├── app_data/
|
||||
│ ├── opencode-memory/ # Persistent memory (separate git repo, gitignored) — PR#36
|
||||
│ ├── workspaces/ # Agent working directory (.gitkeep)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue