OpenCode
Paquet d'installation silencieuse pour OpenCode
2.1.2-2
Development
Development
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-opencode
- name: OpenCode
- version: 2.1.2-2
- categories: Development
- maintainer: Tranquil IT, WAPT TEAM, Kevin Cherel
- editor: Anomaly Innovations
- licence: MIT
- locale: all
- target_os: debian(>=12),ubuntu(>=22)
- impacted_process: ai.opencode.desktop
- architecture: arm64
- signature_date:
- size: 211.18 Mo
- homepage : https://opencode.ai/
package : tis-opencode
version : 2.1.2-2
architecture : arm64
section : base
priority : optional
name : OpenCode
categories : Development
maintainer : Tranquil IT, WAPT TEAM, Kevin Cherel
description : OpenCode is an open source AI coding agent that helps you write code in your terminal, IDE or desktop app.
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : debian(>=12),ubuntu(>=22)
min_wapt_version : 2.3
sources : https://opencode.ai/download
installed_size :
impacted_process : ai.opencode.desktop
description_fr : OpenCode est un agent de codage IA open source qui vous aide à écrire du code dans votre terminal, votre IDE ou une application de bureau.
description_pl : OpenCode to open source'owy agent AI do programowania, który pomaga pisać kod w terminalu, IDE lub aplikacji desktopowej.
description_de : OpenCode ist ein quelloffener KI-Coding-Agent, der Ihnen hilft, Code in Ihrem Terminal, Ihrer IDE oder einer Desktop-Anwendung zu schreiben.
description_es : OpenCode es un agente de programación con IA de código abierto que le ayuda a escribir código en su terminal, su IDE o una aplicación de escritorio.
description_pt : OpenCode é um agente de programação com IA de código aberto que ajuda você a escrever código no terminal, no IDE ou em um aplicativo de desktop.
description_it : OpenCode è un agente di programmazione IA open source che ti aiuta a scrivere codice nel terminale, nell'IDE o in un'applicazione desktop.
description_nl : OpenCode is een open source AI-programmeeragent die u helpt code te schrijven in uw terminal, IDE of desktopapplicatie.
description_ru : OpenCode представляет собой ИИ-агента для программирования с открытым исходным кодом, который помогает писать код в терминале, IDE или настольном приложении.
audit_schedule :
editor : Anomaly Innovations
keywords : opencode,ai,agent,coding,code,assistant,llm,terminal
licence : MIT
homepage : https://opencode.ai/
package_uuid : 20de6f3b-1c21-44b6-9d94-eed67e2c6bb0
valid_from :
valid_until :
forced_install_on :
changelog : https://opencode.ai/changelog
min_os_version :
max_os_version :
icon_sha256sum : 2ef8d582e62e65a55adf11d09f0ef621d56592cd7e319178dff4c968aae27ba2
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-10-21T05:03:42.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : NtqYnAZO9L9FDdA0a/73Ym0rRhLK2HVOzUev9jko4DtW/NuQqgNjzbeSCa8qto/mraRsov8uBuhRMg/4/sWO0v0XynyzK5UCWBCIorZkz7bbRAMILWnJhXdkWCdFInDbnWgCHRV3mbbz1tfKVWkHUqqipO0Swx5PXF7QjFyK62CGu/lZJIKIwxlHsVRveCmjrVGS9SsDxeLXPzMovm3OwNA0SFr2ARCng12YTMafEfx82ggIhACl/g80/MmJmg6r1r+JF4G1S+Dk68O7vssBjm6+UXqQMlHf9DLokfUESLpKEop9t4mrM2OegaIkMLYVilrT0oZRe5AA+TjmVVQhhg==
# -*- coding: utf-8 -*-
from setuphelpers import *
package_name = "opencode"
app_update_file = "/opt/OpenCode/resources/app-update.yml"
def install():
bin_name = glob.glob("opencode-desktop-linux-arm64.deb")[0]
print(f"Installing: {bin_name}")
install_deb(bin_name)
# Disabling automatic updates of the desktop app
remove_file(app_update_file)
def uninstall():
print(f"Uninstalling: {package_name}")
uninstall_apt(package_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences
def get_manifest(manifest_url, proxies):
manifest = wgets(manifest_url, proxies=proxies)
if isinstance(manifest, bytes):
manifest = manifest.decode("utf-8")
version = None
files = []
for line in manifest.splitlines():
line = line.strip()
if line.startswith("version:"):
version = line.split(":", 1)[1].strip()
elif line.startswith("- url:"):
files.append(line.split(":", 1)[1].strip())
return version, files
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
base_url = "https://opencode.ai/update/api/latest/desktop/opencode"
update_dict = {
"windows-x64": ("latest.yml", "-win-x64.exe"),
"windows-arm64": ("latest.yml", "-win-arm64.exe"),
"darwin-x64": ("latest-mac.yml", "-mac-x64.dmg"),
"darwin-arm": ("latest-mac.yml", "-mac-arm64.dmg"),
"debian-x64": ("latest-linux.yml", "-linux-amd64.deb"),
"debian-arm64": ("latest-linux-arm64.yml", "-linux-arm64.deb"),
"redhat_based-x64": ("latest-linux.yml", "-linux-x86_64.rpm"),
"redhat_based-arm64": ("latest-linux-arm64.yml", "-linux-aarch64.rpm"),
}
os_type = control.target_os.split("(")[0] + "-" + ensure_list(control.architecture)[0]
manifest_name, bin_suffix = update_dict[os_type]
api_url = f"{base_url}/{manifest_name}"
print("API used is: %s" % api_url)
version, files = get_manifest(api_url, proxies)
print(f"Latest {app_name} version is: {version}")
for to_download in files:
if to_download.endswith(bin_suffix):
download_url = to_download
latest_bin = download_url.rsplit("/", 1)[-1]
latest_bin_extension = latest_bin.rsplit(".", 1)[-1]
break
if isfile(latest_bin):
remove_file(latest_bin)
print(f"Downloading: {latest_bin}")
wget(download_url, latest_bin, proxies=proxies)
if latest_bin_extension == "exe":
expected_issuer = "Anomaly Innovations, Inc https://anoma.ly/"
sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
if sign_name != expected_issuer:
error(f"Bad issuer {sign_name} != {expected_issuer}")
# Deleting outdated binaries
for f in glob.glob(f"*.{latest_bin_extension}"):
if f != latest_bin:
remove_file(f)
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
30765cfa96df8b32403ad18b5a81a44ea6d90ad157278fa31610e09f66dedc5f : WAPT/control
2ef8d582e62e65a55adf11d09f0ef621d56592cd7e319178dff4c968aae27ba2 : WAPT/icon.png
3cbecaeb38d1587e42d20746efad9cbfc65914259ed91e221be96ec0bd2ef3de : luti.json
7f4837009e56b8dffb1f0024b1b3ef535b419f6b88d42dd1130921332692eab5 : opencode-desktop-linux-arm64.deb
51aa27741633477b70d83dcda975a4904e705f6015f9fd9ec234052d663425c0 : setup.py
10bc1d8ab1e79493a0c0fe414adcb221132bec09c1f7c537047adca04e9549fd : update_package.py