Repository navigation
chore(upstream): sincronizar melhorias da v1.19.3 (variantes de reasoning via config #55854 e isolamento de upgrades #54904) #285
Copy link
Copy link
Open
Labels
ready-for-agentScoped and ready for an agent to pick upScoped and ready for an agent to pick uptech-debtRefactors, cleanup, architectural debtRefactors, cleanup, architectural debt
Description
1. Contexto e Panorama Geral (v1.19.3 e v2.0.29)
- Repositório Upstream:
anomalyco/opencode - Ramificação Ativa de Releases:
upstream/dev/upstream/production: Evolução contínua da linhagem OpenCode v2 (versão atual2.0.29).upstream/v1: Linhagem estável mantida para o OpenCode 1.x (lançadas as versõesv1.19.0,v1.19.1,v1.19.2e a recentev1.19.3, commita1f604bbe0).
- Repositório do Fork:
alltomatos/opencode(atualmente baseado na linhagem 1.x com extensões do Batuta, Breniac, Combos, MCP Mail e Media Studio). - Ambientes Locais:
D:\dev\opencode-ori\opencodeeD:\dev\ori\opencodetotalmente sincronizados com os remotos.
2. Critérios de Avaliação e Adoção
| Critério | Classificação | Diretriz para o Fork |
|---|---|---|
| A. Suporte a Modelos e Raciocínio (Reasoning Options) | Prioridade Alta | Importar: permite que modelos customizados no config declarem opções de reasoning (effort, toggle, budget_tokens) e gerem variantes dinâmicas. |
| B. Isolamento de Atualizações da Linhagem v1 | Prioridade Média | Avaliar a lógica de descoberta de versão (#54904) para garantir que o fork não tente atualizar inadvertidamente para binários v2 incompatíveis do upstream. |
| C. Descontinuação de Serviços Proprietários | Manter Autonomia | No upstream (d320177aa4), o serviço de compartilhamento público de sessões (/share) foi descontinuado e o código correspondente foi removido. No fork, avaliar se mantemos o recurso local/privado ou removemos o código morto. |
D. Mudanças de Arquitetura no OpenCode 2 (upstream/dev) |
Acompanhamento Técnico | O v2 introduz nova engine de TUI, services/www e Effect 4.x. Deve ser acompanhado para um futuro épico de migração planejada. |
3. Avaliação de Impacto das Novas Modificações
🧩 1. Variantes de Reasoning baseadas em Configuração (feat(opencode): #55854)
- Commit no
upstream/v1:d12161eecd(v1.19.3) - Arquivos:
packages/core/src/v1/config/provider.tspackages/opencode/src/provider/provider.tspackages/opencode/src/provider/transform.tspackages/opencode/test/provider/provider.test.ts
- Impacto no Fork: Positivo Alto.
- Permite que modelos definidos pelo usuário ou por provedores personalizados no
opencode.jsonconfiguremreasoning_optionsdiretamente. - O motor do OpenCode calcula automaticamente as variantes (ex.:
high,max,effort: xhigh) sem depender de estarem no catálogo central domodels.dev. - Excelente compatibilidade com o sistema de Combos e provedores locais/OmniRoute do fork.
- Permite que modelos definidos pelo usuário ou por provedores personalizados no
🛡️ 2. Restrição de Upgrade para a Linhagem 1.x (fix(opencode): #54904)
- Commit no
upstream/v1:3be039593a(v1.19.2) - Arquivos:
packages/opencode/src/installation/index.tspackages/opencode/src/cli/cmd/upgrade.ts
- Impacto no Fork: Positivo Médio.
- Impede que comandos de upgrade no ambiente v1 instalem versões 2.x sem a flag explícita
--major, protegendo contra quebras de compatibilidade em instalações automatizadas.
- Impede que comandos de upgrade no ambiente v1 instalem versões 2.x sem a flag explícita
✂️ 3. Remoção do Serviço de Session Sharing (fix(opencode): #55718)
- Commit no
upstream/v1:d320177aa4(v1.19.1) - Arquivos:
packages/opencode/src/share/share-next.ts(deletado)packages/opencode/src/share/session.tspackages/opencode/src/cli/cmd/import.ts
- Impacto no Fork: Informativo / Limpeza.
- O serviço remoto de share em nuvem mantido pela Anomaly foi desativado.
4. Plano de Ação Recomendado para o Fork
- Portar a funcionalidade de
reasoning_optionsno config de provedores (#55854) parapackages/coreepackages/opencode. - Validar a geração de variantes em provedores customizados e Combos do fork.
- Executar typecheck e testes de regressão dos provedores (
bun test packages/opencode/test/provider/provider.test.ts).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ready-for-agentScoped and ready for an agent to pick upScoped and ready for an agent to pick uptech-debtRefactors, cleanup, architectural debtRefactors, cleanup, architectural debt
Activity