Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions opencode/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Patterns to ignore when building packages.
.DS_Store
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
*.swp
*.bak
*.tmp
*.orig
*~
.project
.idea/
*.tmproj
.vscode/
24 changes: 24 additions & 0 deletions opencode/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: opencode
description: The open source AI coding agent.

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: '1.0.4'

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.2.27"
74 changes: 74 additions & 0 deletions opencode/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
olaresManifest.version: '0.11.0'
olaresManifest.type: app
metadata:
name: opencode
icon: https://app.cdn.olares.com/appstore/opencode/icon.png
description: The open source AI coding agent
appid: opencode
title: OpenCode
version: '1.0.4'
categories:
- Developer Tools
- Productivity_v112
permission:
appData: true
appCache: true
userData:
- Home
spec:
versionName: '1.2.27'
promoteImage:
- https://app.cdn.olares.com/appstore/opencode/1.webp
- https://app.cdn.olares.com/appstore/opencode/2.webp
fullDescription: |
OpenCode is an open-source agent that helps you write code in the terminal, IDE, or desktop.

- Support LSPs to automatically load appropriate LSPs for LLMs
- Multi-session Launch multiple agents in parallel in the same project
- Share Link Share any session link for reference or debugging
- GitHub Copilot Sign in with GitHub to use your Copilot account
- ChatGPT Plus/Pro Login with OpenAI to use your ChatGPT Plus or Pro account
- Arbitrary Models supports 75+ LLM providers with Models.dev, including native models
- Any editor provides terminal interfaces, desktop applications, and IDE extensions

Usage
- Open the app and use the Web UI directly in your browser.
- Configure your LLM provider and API keys in the Web UI.
- Your code workspace is mounted at /home/opencode/workspace (linked to your Home/Code directory).
developer: Anomaly
website: https://opencode.ai/
sourceCode: https://github.com/anomalyco/opencode
submitter: Olares
locale:
- en-US
- zh-CN
doc: https://opencode.ai/docs
license:
- text: MIT
url: https://github.com/anomalyco/opencode/blob/dev/LICENSE
requiredMemory: 832Mi
limitedMemory: 3Gi
requiredDisk: 3Gi
limitedDisk: 10Gi
requiredCpu: 0.2
limitedCpu: 3.1
supportArch:
- amd64
- arm64
options:
apiTimeout: 0
allowedOutboundPorts:
- 80
- 443
dependencies:
- name: olares
type: system
version: '>=1.12.3-0'
entrances:
- name: opencode
port: 8080
host: opencodeingress
title: OpenCode
icon: https://app.cdn.olares.com/appstore/opencode/icon.png
openMethod: window
authLevel: internal
19 changes: 19 additions & 0 deletions opencode/i18n/en-US/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
metadata:
title: OpenCode
description: The open source AI coding agent
spec:
fullDescription: |
OpenCode is an open-source agent that helps you write code in the terminal, IDE, or desktop.

- Support LSPs to automatically load appropriate LSPs for LLMs
- Multi-session Launch multiple agents in parallel in the same project
- Share Link Share any session link for reference or debugging
- GitHub Copilot Sign in with GitHub to use your Copilot account
- ChatGPT Plus/Pro Login with OpenAI to use your ChatGPT Plus or Pro account
- Arbitrary Models supports 75+ LLM providers with Models.dev, including native models
- Any editor provides terminal interfaces, desktop applications, and IDE extensions

Usage
- Open the app and use the Web UI directly in your browser.
- Configure your LLM provider and API keys in the Web UI.
- Your code workspace is mounted at /home/opencode/workspace (linked to your Home/Code directory).
19 changes: 19 additions & 0 deletions opencode/i18n/zh-CN/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
metadata:
title: OpenCode
description: 开源 AI 编程助手
spec:
fullDescription: |
OpenCode 是一个开源代理,帮助你在终端、IDE 或桌面编写代码。

- 支持 LSP,可为 LLM 自动加载合适的 LSP
- 多会话,支持在同一项目中并行启动多个代理
- 会话分享,可分享任意会话链接以供参考或调试
- GitHub Copilot,支持通过 GitHub 登录以使用你的 Copilot 账号
- ChatGPT Plus/Pro,支持通过 OpenAI 登录以使用 ChatGPT Plus 或 Pro 账号
- 支持 75+ LLM 服务商和任意模型,基于 Models.dev,包括原生模型
- 任何编辑器,支持终端界面、桌面应用和 IDE 扩展

使用方法
- 打开应用,可直接在浏览器中使用 Web UI。
- 在 Web UI 中配置你的 LLM 服务商和 API 密钥。
- 你的代码工作区已挂载在 /home/opencode/workspace(链接到你的 Home/Code 目录)。
8 changes: 8 additions & 0 deletions opencode/owners
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
owners:
- 'LittleLollipop'
- 'TShentu'
- 'hysyeah'
- 'pengpeng'
- 'harveyff'
- 'zdf-org'
- 'lovehunter9'
76 changes: 76 additions & 0 deletions opencode/templates/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
namespace: {{ .Release.Namespace }}
data:
nginx.conf: |
server {
listen 8080;
access_log /opt/bitnami/openresty/nginx/logs/access.log;
error_log /opt/bitnami/openresty/nginx/logs/error.log;

client_max_body_size 100m;

proxy_connect_timeout 30s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
proxy_set_header host $host;
proxy_set_header x-forwarded-host $http_host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

proxy_http_version 1.1;

# WebSocket support for SSE/live updates
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";

# Redirect /__preview/PORT to /__preview/PORT/
location ~ ^/__preview/(\d+)$ {
return 301 /__preview/$1/$is_args$args;
}

# Preview proxy: pass full URI to dev server (framework sets --base /__preview/<port>/)
location ~ ^/__preview/(\d+)/ {
set $preview_port $1;
proxy_pass http://127.0.0.1:$preview_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
client_max_body_size 100m;
}

# OpenCode Web UI (default)
location / {
proxy_pass http://127.0.0.1:3000;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
proxy_connect_timeout 60s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
client_max_body_size 100m;
}
}

---
apiVersion: v1
kind: Service
metadata:
name: opencodeingress
namespace: {{ .Release.Namespace }}
spec:
type: ClusterIP
selector:
io.kompose.service: opencode
ports:
- name: opencodeingress
protocol: TCP
port: 8080
targetPort: 8080
Loading