Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
c093e4c
WebSocket-based IDE connections, supporting streamed cursor selection…
tcdent Dec 10, 2025
0fe9877
Merge branch 'dev' into ide-ws
tcdent Dec 10, 2025
0efa4d6
Move IDE params into config. Better conventions.
tcdent Dec 12, 2025
56587b9
Merge branch 'dev' into ide-ws
tcdent Dec 12, 2025
db1089b
Correct function names. Remove bin fragment.
tcdent Dec 12, 2025
8ffea80
chore: generate
actions-user Dec 20, 2025
2f6d15a
feat: add cursor theme (#5850)
Dec 20, 2025
34eb03f
fix: prioritize session list loading when resuming with -c (#5816)
anntnzrb Dec 20, 2025
d89b567
fix: add transform case for gemini if mcp tool has missing array item…
majiayu000 Dec 20, 2025
da6e0e6
ci: adjust review agent prompt to discourage bad diffs
rekram1-node Dec 20, 2025
8f6c884
feat: support configuring a default_agent across all API/user surface…
elithrar Dec 20, 2025
c7cade2
zen: sync
Dec 20, 2025
426791f
fix: system theme flicker (#5842)
ShpetimA Dec 20, 2025
3b261e0
docs: add name property to model configuration example (#5853)
anntnzrb Dec 20, 2025
7dd8ea5
feat: add Catppuccin Frappé theme (#5821)
shamil2 Dec 20, 2025
ad6a5e6
feat(docs): adding .md to docs pages shows raw markdown (#5823)
R44VC0RP Dec 20, 2025
9caaae6
tweak: better error message if no primary agents are enabled
rekram1-node Dec 20, 2025
6c40bfe
docs: clarify model ID format for OpenCode provider (#5854)
R44VC0RP Dec 20, 2025
c81506b
docs: add Traditional Chinese (Taiwan) README translation (#5861)
Dec 20, 2025
3287349
feat(ide): IDE integration with Cursor/VSCode and improved UX
Dec 21, 2025
182630e
feat(desktop): new layout
adamdotdevin Dec 21, 2025
b5d7d3d
fix(desktop): layout
adamdotdevin Dec 21, 2025
f9cef22
release: v1.0.181
Dec 21, 2025
33fde3b
fix: remove dead code and fix Windows path compatibility
Dec 21, 2025
af006cf
fix: add error handling for malformed lock file JSON
Dec 21, 2025
3d822e5
fix: regression where config would error despite valid agents
rekram1-node Dec 21, 2025
0b046d6
release: v1.0.182
Dec 21, 2025
4413c0b
sync: merge upstream v1.0.182 into integration
opencode-agent[bot] Dec 21, 2025
a342658
sync: record last synced tag v1.0.182
opencode-agent[bot] Dec 21, 2025
5c7cbb2
feat(desktop): add vite-plugin-pwa dependency
shuv1337 Dec 21, 2025
2152449
test: merge upstream PR #5447 (IDE WebSocket integration base)
shuv1337 Dec 21, 2025
56d78d5
test: merge upstream PR #5873 (IDE UX improvements) on top
shuv1337 Dec 21, 2025
48fdfbb
fix: restore missing config schema properties
shuv1337 Dec 21, 2025
eef4965
feat: add configurable spinner interval setting
shuv1337 Dec 21, 2025
b94dde4
docs: document IDE integration and spinner speed features
shuv1337 Dec 21, 2025
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
2 changes: 1 addition & 1 deletion .github/last-synced-tag
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.0.180
v1.0.182
2 changes: 2 additions & 0 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ jobs:
When critiquing code style don't be a zealot, we don't like "let" statements but sometimes they are the simpliest option, if someone does a bunch of nesting with let, they should consider using iife (see packages/opencode/src/util.iife.ts)
Use the gh cli to create comments on the files for the violations. Try to leave the comment on the exact line number. If you have a suggested fix include it in a suggestion code block.
If you are writing suggested fixes, BE SURE THAT the change you are recommending is actually valid typescript, often I have seen missing closing "}" or other syntax errors.
Generally, write a comment instead of writing suggested change if you can help it.
Command MUST be like this.
\`\`\`
Expand Down
28 changes: 27 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,36 @@ The following PRs have been merged into this fork and are awaiting merge into up
| [#140](https://github.com/Latitudes-Dev/shuvcode/pull/140) | Toggle transparent background | [@JosXa](https://github.com/JosXa) | Open | Command palette toggle for transparent TUI background on any theme |
| [Branch](https://github.com/ariane-emory/opencode/tree/feat/glob-permissions) | Granular File Permissions | [@ariane-emory](https://github.com/ariane-emory) | N/A | Glob pattern support for `permission.edit` to restrict agent file access |

_Last updated: 2025-12-19_
_Last updated: 2025-12-20_

---

## Feature Highlights

### IDE Integration (Cursor/VSCode)

Connect to Cursor, VSCode, or other supported IDEs for enhanced workflow:

- **Live text selection** from your editor is displayed in the TUI footer
- **Selection context** is automatically included in prompts (invisible to you, but sent to the model)
- **IDE status** shown on the home screen footer
- **Diff view** support for file edits (open diffs directly in your IDE)

Configure in `opencode.json`:

```jsonc
{
"ide": {
"lockfile_dir": "~/.cursor/opencode/",
"auth_header_name": "x-opencode-auth",
},
}
```

Supported IDEs: Cursor, VSCode, VSCode Insiders, VSCodium, Windsurf

---

### Add Existing Project Dialog

The desktop "Create project" button now opens an improved "Add Project" dialog with two tabs:
Expand All @@ -72,6 +96,8 @@ Choose from 60+ animated spinner styles for tool execution indicators. Access vi

Available styles include braille patterns, block animations, geometric shapes, and creative concepts like moon phases, clock sweeps, and bouncing balls.

You can also adjust the animation speed via `Change spinner speed` in the command palette. Options range from 20ms (fastest) to 500ms (slowest), with 60ms as the default.

---

### TUI Layout Density
Expand Down
115 changes: 115 additions & 0 deletions README.zh-TW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<p align="center">
<a href="https://opencode.ai">
<picture>
<source srcset="packages/console/app/src/asset/logo-ornate-dark.svg" media="(prefers-color-scheme: dark)">
<source srcset="packages/console/app/src/asset/logo-ornate-light.svg" media="(prefers-color-scheme: light)">
<img src="packages/console/app/src/asset/logo-ornate-light.svg" alt="OpenCode logo">
</picture>
</a>
</p>
<p align="center">開源的 AI Coding Agent。</p>
<p align="center">
<a href="https://opencode.ai/discord"><img alt="Discord" src="https://img.shields.io/discord/1391832426048651334?style=flat-square&label=discord" /></a>
<a href="https://www.npmjs.com/package/opencode-ai"><img alt="npm" src="https://img.shields.io/npm/v/opencode-ai?style=flat-square" /></a>
<a href="https://github.com/sst/opencode/actions/workflows/publish.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/sst/opencode/publish.yml?style=flat-square&branch=dev" /></a>
</p>

[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

---

### 安裝

```bash
# 直接安裝 (YOLO)
curl -fsSL https://opencode.ai/install | bash

# 套件管理員
npm i -g opencode-ai@latest # 也可使用 bun/pnpm/yarn
scoop bucket add extras; scoop install extras/opencode # Windows
choco install opencode # Windows
brew install opencode # macOS 與 Linux
paru -S opencode-bin # Arch Linux
mise use -g github:sst/opencode # 任何作業系統
nix run nixpkgs#opencode # 或使用 github:sst/opencode 以取得最新開發分支
```

> [!TIP]
> 安裝前請先移除 0.1.x 以前的舊版本。

### 桌面應用程式 (BETA)

OpenCode 也提供桌面版應用程式。您可以直接從 [發佈頁面 (releases page)](https://github.com/sst/opencode/releases) 或 [opencode.ai/download](https://opencode.ai/download) 下載。

| 平台 | 下載連結 |
| --------------------- | ------------------------------------- |
| macOS (Apple Silicon) | `opencode-desktop-darwin-aarch64.dmg` |
| macOS (Intel) | `opencode-desktop-darwin-x64.dmg` |
| Windows | `opencode-desktop-windows-x64.exe` |
| Linux | `.deb`, `.rpm`, 或 AppImage |

```bash
# macOS (Homebrew Cask)
brew install --cask opencode-desktop
```

#### 安裝目錄

安裝腳本會依據以下優先順序決定安裝路徑:

1. `$OPENCODE_INSTALL_DIR` - 自定義安裝目錄
2. `$XDG_BIN_DIR` - 符合 XDG 基礎目錄規範的路徑
3. `$HOME/bin` - 標準使用者執行檔目錄 (若存在或可建立)
4. `$HOME/.opencode/bin` - 預設備用路徑

```bash
# 範例
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash
```

### Agents

OpenCode 內建了兩種 Agent,您可以使用 `Tab` 鍵快速切換。

- **build** - 預設模式,具備完整權限的 Agent,適用於開發工作。
- **plan** - 唯讀模式,適用於程式碼分析與探索。
- 預設禁止修改檔案。
- 執行 bash 指令前會詢問權限。
- 非常適合用來探索陌生的程式碼庫或規劃變更。

此外,OpenCode 還包含一個 **general** 子 Agent,用於處理複雜搜尋與多步驟任務。此 Agent 供系統內部使用,亦可透過在訊息中輸入 `@general` 來呼叫。

了解更多關於 [Agents](https://opencode.ai/docs/agents) 的資訊。

### 線上文件

關於如何設定 OpenCode 的詳細資訊,請參閱我們的 [**官方文件**](https://opencode.ai/docs)。

### 參與貢獻

如果您有興趣參與 OpenCode 的開發,請在提交 Pull Request 前先閱讀我們的 [貢獻指南 (Contributing Docs)](./CONTRIBUTING.md)。

### 基於 OpenCode 進行開發

如果您正在開發與 OpenCode 相關的專案,並在名稱中使用了 "opencode"(例如 "opencode-dashboard" 或 "opencode-mobile"),請在您的 README 中加入聲明,說明該專案並非由 OpenCode 團隊開發,且與我們沒有任何隸屬關係。

### 常見問題 (FAQ)

#### 這跟 Claude Code 有什麼不同?

在功能面上與 Claude Code 非常相似。以下是關鍵差異:

- 100% 開源。
- 不綁定特定的服務提供商。雖然我們推薦使用透過 [OpenCode Zen](https://opencode.ai/zen) 提供的模型,但 OpenCode 也可搭配 Claude, OpenAI, Google 甚至本地模型使用。隨著模型不斷演進,彼此間的差距會縮小且價格會下降,因此具備「不限廠商 (provider-agnostic)」的特性至關重要。
- 內建 LSP (語言伺服器協定) 支援。
- 專注於終端機介面 (TUI)。OpenCode 由 Neovim 愛好者與 [terminal.shop](https://terminal.shop) 的創作者打造;我們將不斷挑戰終端機介面的極限。
- 客戶端/伺服器架構 (Client/Server Architecture)。這讓 OpenCode 能夠在您的電腦上運行的同時,由行動裝置進行遠端操控。這意味著 TUI 前端只是眾多可能的客戶端之一。

#### 另一個同名的 Repo 是什麼?

另一個名稱相近的儲存庫與本專案無關。您可以點此[閱讀背後的故事](https://x.com/thdxr/status/1933561254481666466)。

---

**加入我們的社群** [Discord](https://discord.gg/opencode) | [X.com](https://x.com/opencode)
Loading