@alltomatos/opencode 1.21.16-dev.35 → 1.21.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,7 +49,13 @@ Baixe o instalador direto na [página de releases](https://github.com/alltomatos
49
49
  | Linux (Fedora/RHEL) | `opencode-desktop-linux-x64.rpm` |
50
50
  | Linux (universal) | `opencode-desktop-linux-x64.AppImage` |
51
51
 
52
- No Windows, baixe e rode o `opencode-desktop-win-x64.exe` (instalador NSIS) — sem necessidade de script. No macOS e Linux, baixe o instalador correspondente e instale manualmente (`.dmg`, `dpkg -i *.deb`, `rpm -i *.rpm`, ou dê permissão de execução no `.AppImage`).
52
+ Instalação via PowerShell no Windows (sempre baixa a última versão publicada):
53
+
54
+ ```powershell
55
+ irm https://raw.githubusercontent.com/alltomatos/opencode/prod/install.ps1 | iex
56
+ ```
57
+
58
+ No macOS e Linux, baixe o instalador correspondente direto da [página de releases](https://github.com/alltomatos/opencode/releases/latest) e instale manualmente (`.dmg`, `dpkg -i *.deb`, `rpm -i *.rpm`, ou dê permissão de execução no `.AppImage`).
53
59
 
54
60
  > **Nota (macOS):** os builds de Mac não são assinados/notarizados por este fork (não temos uma conta Apple Developer configurada). Na primeira abertura o Gatekeeper vai avisar que o app "não pode ser verificado" — clique com o botão direito no app → **Abrir** para liberar manualmente.
55
61
 
@@ -82,25 +88,6 @@ O instalador gerado fica em `packages/desktop/dist/`.
82
88
 
83
89
  **Publicação real é automática**: assim que a branch `prod` recebe um push (a promoção `dev` → `prod`), o workflow [`release-desktop.yml`](./.github/workflows/release-desktop.yml) dispara sozinho e builda Windows/macOS/Linux em paralelo (`windows-latest`/`macos-latest`/`ubuntu-latest`), publicando os três num único release do GitHub com a versão que estiver em `packages/desktop/package.json` no momento do push. Não precisa mais buildar nada manualmente nesta máquina — só bumpar a versão, commitar, e promover. Pra reexecutar manualmente (ex: retry de uma plataforma que falhou), use `gh workflow run release-desktop.yml`.
84
90
 
85
- ### CLI via npm (canais dev/prod)
86
-
87
- Além do app desktop, o CLI deste fork é publicado direto no npm sob o escopo `@alltomatos`, separado dos pacotes `opencode-ai`/`@opencode-ai/*` do projeto original — instala com canal via a sintaxe `@tag` do próprio npm:
88
-
89
- ```bash
90
- npm install -g @alltomatos/opencode@dev # última publicada a cada push em dev
91
- npm install -g @alltomatos/opencode@latest # última publicada a cada push em prod
92
- ```
93
-
94
- Publicação é automática pelo workflow [`release-npm-fork.yml`](./.github/workflows/release-npm-fork.yml): builda os binários (cross-compilados num único runner) e publica com a tag correspondente à branch. Útil pra testar mudanças de `dev` via CLI/servidor sem precisar instalar o app desktop.
95
-
96
- ### Memória entre sessões
97
-
98
- Este fork adiciona um sistema de memória cross-sessão (global e por projeto), habilitado por padrão. O modelo tem acesso a duas tools sob demanda — `memory_search` (consulta memórias relevantes) e `memory_save` (registra algo pra lembrar depois) — chamadas quando o próprio modelo decide que é relevante, sem injetar tudo automaticamente em todo prompt.
99
-
100
- - **Ativar/desativar e escolher modelo**: Configurações → Memória (mesmo padrão de toggle instantâneo do resto do app).
101
- - **Memória global** (`~/.local/share/opencode/memory/global/`) fica disponível como skill carregada automaticamente em qualquer sessão/projeto, além de consultável via `memory_search`.
102
- - **Memória por projeto** (`~/.local/share/opencode/memory/projects/<projeto>/`) fica isolada por diretório.
103
-
104
91
  ### Rodando numa VPS (servidor remoto)
105
92
 
106
93
  O OpenCode também roda como servidor puro, sem o app desktop — útil pra manter sessões ativas 24/7 e acessar de qualquer lugar.
@@ -114,16 +101,6 @@ opencode serve --hostname 0.0.0.0 --port 4096 # só a API, pra conectar via a
114
101
 
115
102
  Depois é só adicionar esse endereço como servidor remoto em **Configurações → Servidores** no app desktop, ou abrir a URL direto no navegador. Guia completo (systemd, proxy reverso/TLS, segurança) em [`docs/vps-hosting.md`](./docs/vps-hosting.md).
116
103
 
117
- **Bot do Telegram**: conecte em Configurações → Integrações → Telegram (token do @BotFather). Cada pedido roda em segundo plano; se um turno ficar travado (ex.: uma pergunta sem resposta) ele cancela sozinho depois de 10 minutos e avisa no chat — ou use `/cancel` pra cancelar na hora, sem precisar reiniciar o servidor. `/new` começa uma sessão nova a qualquer momento.
118
-
119
- ### Abas do app: Code, AgentUI e Batuta
120
-
121
- O app desktop organiza o trabalho em três abas na barra lateral:
122
-
123
- - **Code** — a aba padrão: sessões de codificação normais, com o agente OpenCode operando no seu projeto (terminal e browser embutidos, permissões, etc).
124
- - **AgentUI** — construtor de agentes de chat próprios: configure um agente com system prompt, modelo e skills selecionadas, teste num sandbox de chat embutido, e habilite/desabilite por sessão. Editor baseado em páginas, direto na sidebar.
125
- - **Batuta** — orquestrador de agentes externos (`claude`, `codex`, etc). Detecta quais CLIs de terceiros estão instalados no servidor conectado (sem spawnar subprocesso, só varredura de PATH), instala a skill `batuta-cli` nos agentes selecionados para que reportem progresso de volta ao Batuta, e expõe um form de worker cujo combobox só habilita agentes que já têm a skill instalada. Feature em desenvolvimento ativo — visível apenas em builds `dev`.
126
-
127
104
  ### Agents
128
105
 
129
106
  OpenCode includes two built-in agents you can switch between with the `Tab` key.
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "scripts": {
7
7
  "postinstall": "node ./postinstall.mjs"
8
8
  },
9
- "version": "1.21.16-dev.35",
9
+ "version": "1.21.17",
10
10
  "license": "MIT",
11
11
  "os": [
12
12
  "darwin",
@@ -18,17 +18,17 @@
18
18
  "x64"
19
19
  ],
20
20
  "optionalDependencies": {
21
- "@alltomatos/opencode-darwin-x64-baseline": "1.21.16-dev.35",
22
- "@alltomatos/opencode-darwin-x64": "1.21.16-dev.35",
23
- "@alltomatos/opencode-darwin-arm64": "1.21.16-dev.35",
24
- "@alltomatos/opencode-linux-arm64-musl": "1.21.16-dev.35",
25
- "@alltomatos/opencode-linux-x64-baseline": "1.21.16-dev.35",
26
- "@alltomatos/opencode-windows-x64": "1.21.16-dev.35",
27
- "@alltomatos/opencode-linux-x64-baseline-musl": "1.21.16-dev.35",
28
- "@alltomatos/opencode-windows-arm64": "1.21.16-dev.35",
29
- "@alltomatos/opencode-linux-x64": "1.21.16-dev.35",
30
- "@alltomatos/opencode-linux-x64-musl": "1.21.16-dev.35",
31
- "@alltomatos/opencode-linux-arm64": "1.21.16-dev.35",
32
- "@alltomatos/opencode-windows-x64-baseline": "1.21.16-dev.35"
21
+ "@alltomatos/opencode-darwin-x64-baseline": "1.21.17",
22
+ "@alltomatos/opencode-darwin-x64": "1.21.17",
23
+ "@alltomatos/opencode-darwin-arm64": "1.21.17",
24
+ "@alltomatos/opencode-linux-arm64-musl": "1.21.17",
25
+ "@alltomatos/opencode-linux-x64-baseline": "1.21.17",
26
+ "@alltomatos/opencode-windows-x64": "1.21.17",
27
+ "@alltomatos/opencode-linux-x64-baseline-musl": "1.21.17",
28
+ "@alltomatos/opencode-windows-arm64": "1.21.17",
29
+ "@alltomatos/opencode-linux-x64": "1.21.17",
30
+ "@alltomatos/opencode-linux-x64-musl": "1.21.17",
31
+ "@alltomatos/opencode-linux-arm64": "1.21.17",
32
+ "@alltomatos/opencode-windows-x64-baseline": "1.21.17"
33
33
  }
34
34
  }
package/postinstall.mjs CHANGED
@@ -24,12 +24,7 @@ const archMap = {
24
24
 
25
25
  const platform = platformMap[os.platform()] ?? os.platform()
26
26
  const arch = archMap[os.arch()] ?? os.arch()
27
- // Per-platform binary packages carry the same npm scope as this wrapper
28
- // package (e.g. `@alltomatos/opencode` -> `@alltomatos/opencode-linux-x64`).
29
- // Unscoped installs (upstream's own `opencode-ai`) have no scope, so this is
30
- // a no-op there.
31
- const [, scope] = /^(@[^/]+\/)/.exec(packageJson.name) ?? []
32
- const base = `${scope ?? ""}opencode-${platform}-${arch}`
27
+ const base = `opencode-${platform}-${arch}`
33
28
  const sourceBinary = platform === "windows" ? "opencode.exe" : "opencode"
34
29
  const targetBinary = path.join(__dirname, "bin", "opencode.exe")
35
30