Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
b1d0276
feat(computer): add read-only computer use behind a signed helper
xintaofei Sep 23, 2026
e4d915a
feat(computer): add the Computer use panel, window picker and settings
xintaofei Sep 23, 2026
d22580e
build(computer): ship codeg-computer-helper and gate its signing in r…
xintaofei Sep 23, 2026
bccb82a
fix(computer): close the gaps the M1 review found
xintaofei Sep 23, 2026
d17b3be
fix(computer): settle the second review round
xintaofei Sep 23, 2026
0ec4bc4
fix(computer): read a tree node's value only by its own platform's ma…
xintaofei Sep 23, 2026
d66544f
Merge branch 'main' into task/227
xintaofei Sep 24, 2026
0d3b47c
fix(computer): keep the driver's session alive and its captures full …
xintaofei Sep 25, 2026
2cba2cf
feat(computer): let agents act on windows shared for control
xintaofei Sep 25, 2026
f0cab55
feat(computer): share windows for control and stop agents at once
xintaofei Sep 25, 2026
e57bb80
fix(computer): settle the first M2 review round
xintaofei Sep 25, 2026
c2112a2
fix(computer): let no Stop fall between a Resume's check and its write
xintaofei Sep 25, 2026
b9ff3c8
feat(computer): stop agents from anywhere and show where they act
xintaofei Sep 25, 2026
a71ede4
fix(computer): settle the first review of the stop shortcut and strip
xintaofei Sep 25, 2026
0a08881
feat(computer): give computer use its own settings page and polish it
xintaofei Sep 29, 2026
1ff6ee5
fix(computer): settle the first review of the settings page and share…
xintaofei Sep 29, 2026
0ac7b49
fix(computer): wait out a starting driver on uninstall and drop the r…
xintaofei Sep 29, 2026
d24f12b
fix(computer): let the helper go as when codeg quits, starting driver…
xintaofei Sep 29, 2026
b1d12de
fix(computer): start no driver once stopped, however long the hash took
xintaofei Sep 29, 2026
b72e063
style(computer): name the switch as an action and give sharing its ow…
xintaofei Sep 29, 2026
9094604
feat(settings): rename Browser to Browser Use and regroup the nav
xintaofei Sep 29, 2026
06a78f7
fix(computer): name apps as the Finder does and identify Chromium clones
xintaofei Sep 29, 2026
b909930
feat(computer): refuse a development helper built from other sources
xintaofei Sep 29, 2026
f13b517
feat(computer): say in the picker when Screen Recording is missing
xintaofei Sep 29, 2026
be99f8d
fix(computer): take a nested helper only when it is named .app
xintaofei Sep 29, 2026
55aea49
fix(computer): show why a permission request from the picker failed
xintaofei Sep 29, 2026
8a80e20
fix(computer): name the step that rebuilds a stale development helper
xintaofei Sep 29, 2026
f875311
feat(computer): grant permissions in one step and edit the never-shar…
xintaofei Sep 29, 2026
532d537
fix(computer): settle the review of the grant step and the never-shar…
xintaofei Sep 29, 2026
4afb9e1
fix(computer): say what may be holding a helper that does not start
xintaofei Sep 29, 2026
4473ecd
feat(computer): stop sharing without a pause and ask for one permissi…
xintaofei Sep 29, 2026
17250ee
fix(computer): hold every helper request to the Stop count it was sen…
xintaofei Sep 29, 2026
5e84d17
feat(computer): lay the share picker out as tiles and confirm restori…
xintaofei Sep 29, 2026
cc8830f
fix(computer): give the restore confirmation its trigger so focus ret…
xintaofei Sep 29, 2026
793e423
feat(computer): let the stop bar be turned off and set a window's lev…
xintaofei Sep 30, 2026
ba111a0
Merge branch 'main' into task/227
xintaofei Sep 30, 2026
9209f0d
feat(computer): clear the popover's recent activity
xintaofei Sep 30, 2026
9bdb2ba
feat(computer): list minimized windows and let agents restore them
xintaofei Sep 30, 2026
c761f43
fix(computer): hold a restore to Stop at the moment it lands, never a…
xintaofei Sep 30, 2026
c3cabd5
fix(computer): tell agents to ask for "Read and act", as the panel na…
xintaofei Sep 30, 2026
728ea9b
test(computer): prove kernel launch refusal only where SIP is on, and…
xintaofei Sep 30, 2026
973bccc
fix(computer): identify window owners on Windows and name them as Win…
xintaofei Sep 30, 2026
5beae5e
fix(computer): say what still works when keys cannot reach a backgrou…
xintaofei Sep 30, 2026
58b6b31
Merge remote-tracking branch 'origin/task/227' into task/227
xintaofei Sep 30, 2026
14d34f2
feat(computer): let agents bring a shared window to the front to act …
xintaofei Oct 1, 2026
1619373
fix(computer): identify framed apps on Windows and stop listing unsee…
xintaofei Oct 1, 2026
1ba95dc
fix(computer): build the tests against the delivery argument and meet…
xintaofei Oct 1, 2026
f45b2b3
fix(computer): settle the review of the Windows and foreground work
xintaofei Oct 1, 2026
c235b6a
Merge branch 'main' into task/227
xintaofei Oct 1, 2026
41090aa
ci(release): keep release candidates off the latest image tags
xintaofei Oct 1, 2026
532bd23
ci(release): let codeg import the stop shortcut's unused event tap
xintaofei Oct 1, 2026
d4ed20a
fix(acp): keep the Cursor ACP retry patch working on ES2020 builds
xintaofei Oct 1, 2026
b5c8b7c
chore(acp): bump seven agent pins and refresh the models.dev snapshot
xintaofei Oct 1, 2026
a20f4f1
fix(computer): ship the macOS helper as an app of its own
xintaofei Oct 1, 2026
35a40ae
fix: satisfy the Rust 1.99 clippy
xintaofei Oct 1, 2026
6bd6225
feat(acp): adapt to codex-acp 2.1.1
xintaofei Oct 1, 2026
eed9716
fix(computer): run the macOS helper from a copy outside codeg's bundle
xintaofei Oct 1, 2026
1aac236
fix(bundle): keep codeg-server and a desktop-built codeg-mcp out of t…
xintaofei Oct 1, 2026
477421a
fix(windows): stop the computer-use helper before installing over it
xintaofei Oct 1, 2026
24eeb32
feat(computer): hidden apps, restore everywhere, and actions on Linux
xintaofei Oct 1, 2026
791fac7
fix: satisfy the Rust 1.99 clippy
xintaofei Oct 1, 2026
81f63ab
feat(computer): drag, held keys, and keys held over a click
xintaofei Oct 1, 2026
a888296
feat(computer): share a whole application, with its menus and shortcuts
xintaofei Oct 2, 2026
8be47e4
feat(computer): start applications and move windows, on their own switch
xintaofei Oct 2, 2026
76d6e1b
feat(computer): paste what an agent copied, and the clipboard on its …
xintaofei Oct 2, 2026
7840212
feat(acp): adapt to claude-agent-acp 0.85.0
xintaofei Oct 2, 2026
73cb373
feat(computer): share the entire screen, on its own switch
xintaofei Oct 2, 2026
96ccf95
feat(computer): computer use in codeg-server, where its operator allo…
xintaofei Oct 2, 2026
a9a4295
Merge pull request #874 from xintaofei/fix/rust-1-99-clippy
xintaofei Oct 2, 2026
e722b46
Merge remote-tracking branch 'origin/main'
xintaofei Oct 2, 2026
1f98531
Merge branch 'main' into task/227
xintaofei Oct 2, 2026
d6719a5
fix(install): give codeg-server its own folder on Windows
xintaofei Oct 2, 2026
598289a
feat(computer): run cua-driver 0.32.0
xintaofei Oct 2, 2026
6d0257b
feat(acp): adapt to claude-agent-acp 0.85.1
xintaofei Oct 2, 2026
120c7aa
Merge pull request #870 from xintaofei/task/227
xintaofei Oct 2, 2026
09c410c
Merge remote-tracking branch 'origin/main'
xintaofei Oct 2, 2026
3b29d2f
fix(codex): stop painting search pipelines that matched nothing as fa…
xintaofei Oct 2, 2026
09caedd
fix(grok): refresh the model picker from grok's catalog broadcasts
xintaofei Oct 2, 2026
4c4c26a
# Release version 0.33.0
xintaofei Oct 2, 2026
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
200 changes: 177 additions & 23 deletions .github/workflows/release.yml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,14 @@ jobs:
# need for webkit/appindicator system libs. `--lib` skips
# integration tests for `cargo test`, so `test-utils` is not
# required here.
cargo_args: "--no-default-features --bin codeg-server --lib"
cargo_args: "--no-default-features --features server-bin --bin codeg-server --lib"
# Server clippy intentionally skips `--all-targets`: integration
# tests are already linted in the desktop cells, and pulling
# them in here would force `test-utils` (a test-only feature)
# into the server build matrix. Lint scope here is lib + the
# codeg-server binary, which is exactly the cfg-gated surface
# that this cell exists to verify.
clippy_args: "--no-default-features --bin codeg-server --lib"
clippy_args: "--no-default-features --features server-bin --bin codeg-server --lib"
steps:
- uses: actions/checkout@v4

Expand Down
16 changes: 9 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ cargo test --features test-utils
cargo clippy --all-targets --features test-utils -- -D warnings

# 服务器模式
cargo check --no-default-features --bin codeg-server
cargo test --no-default-features --bin codeg-server --lib
cargo clippy --no-default-features --bin codeg-server --lib -- -D warnings
cargo check --no-default-features --features server-bin --bin codeg-server
cargo test --no-default-features --features server-bin --bin codeg-server --lib
cargo clippy --no-default-features --features server-bin --bin codeg-server --lib -- -D warnings

# codeg-mcp 协作伴生进程(多智能体委托)
cargo check --no-default-features --bin codeg-mcp
cargo clippy --no-default-features --bin codeg-mcp -- -D warnings
cargo check --no-default-features --features mcp-bin --bin codeg-mcp
cargo clippy --no-default-features --features mcp-bin --bin codeg-mcp -- -D warnings

# 解析器快照评审(输出变化时)
cargo insta review
Expand All @@ -57,8 +57,10 @@ INSTA_UPDATE=auto cargo test --features test-utils # 自动写新 .snap
项目通过 Cargo feature flags 支持三种二进制:

- **`codeg`**(`tauri-runtime`,默认):完整桌面应用,包含 Tauri 窗口管理、系统通知、自动更新等
- **`codeg-server`**(无 feature,`--no-default-features`):独立服务器模式,仅编译 Axum HTTP API + WebSocket
- **`codeg-mcp`**(无 feature):per-launch stdio MCP 伴生进程,被注入到代理 CLI 的 MCP 配置中,向 LLM 暴露**异步**子智能体委托工具。
- **`codeg-server`**(`--no-default-features --features server-bin`):独立服务器模式,仅编译 Axum HTTP API + WebSocket
- **`codeg-mcp`**(`--no-default-features --features mcp-bin`):per-launch stdio MCP 伴生进程,被注入到代理 CLI 的 MCP 配置中,向 LLM 暴露**异步**子智能体委托工具。

后两个(以及 `codeg-computer-helper` 的 `computer-helper`)各要一个默认不开的 feature:Tauri CLI 会把所有 feature 已开的二进制目标打进桌面安装包,不开就不进包。

### 共享核心

Expand Down
16 changes: 9 additions & 7 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ cargo test --features test-utils
cargo clippy --all-targets --features test-utils -- -D warnings

# 服务器模式
cargo check --no-default-features --bin codeg-server
cargo test --no-default-features --bin codeg-server --lib
cargo clippy --no-default-features --bin codeg-server --lib -- -D warnings
cargo check --no-default-features --features server-bin --bin codeg-server
cargo test --no-default-features --features server-bin --bin codeg-server --lib
cargo clippy --no-default-features --features server-bin --bin codeg-server --lib -- -D warnings

# codeg-mcp 协作伴生进程(多智能体委托)
cargo check --no-default-features --bin codeg-mcp
cargo clippy --no-default-features --bin codeg-mcp -- -D warnings
cargo check --no-default-features --features mcp-bin --bin codeg-mcp
cargo clippy --no-default-features --features mcp-bin --bin codeg-mcp -- -D warnings

# 解析器快照评审(输出变化时)
cargo insta review
Expand All @@ -57,8 +57,10 @@ INSTA_UPDATE=auto cargo test --features test-utils # 自动写新 .snap
项目通过 Cargo feature flags 支持三种二进制:

- **`codeg`**(`tauri-runtime`,默认):完整桌面应用,包含 Tauri 窗口管理、系统通知、自动更新等
- **`codeg-server`**(无 feature,`--no-default-features`):独立服务器模式,仅编译 Axum HTTP API + WebSocket
- **`codeg-mcp`**(无 feature):per-launch stdio MCP 伴生进程,被注入到代理 CLI 的 MCP 配置中,向 LLM 暴露**异步**子智能体委托工具。
- **`codeg-server`**(`--no-default-features --features server-bin`):独立服务器模式,仅编译 Axum HTTP API + WebSocket
- **`codeg-mcp`**(`--no-default-features --features mcp-bin`):per-launch stdio MCP 伴生进程,被注入到代理 CLI 的 MCP 配置中,向 LLM 暴露**异步**子智能体委托工具。

后两个(以及 `codeg-computer-helper` 的 `computer-helper`)各要一个默认不开的 feature:Tauri CLI 会把所有 feature 已开的二进制目标打进桌面安装包,不开就不进包。

### 共享核心

Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ COPY src-tauri/ ./
# codeg-mcp is the stdio MCP companion the runtime injects per session
# (see acp/delegation/companion.rs). It must ship next to codeg-server so
# `locate_codeg_mcp_binary()` finds it via the exe-sibling lookup.
RUN cargo build --release --bin codeg-server --no-default-features \
&& cargo build --release --bin codeg-mcp --no-default-features
RUN cargo build --release --bin codeg-server --no-default-features --features server-bin \
&& cargo build --release --bin codeg-mcp --no-default-features --features mcp-bin

# Stage 3: Runtime
FROM node:24-bookworm-slim
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ On Windows, in PowerShell:

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — the same server, in one container:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.ar.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ CODEG_STATIC_DIR=/usr/local/share/codeg/web codeg-server

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — الخادم نفسه، داخل حاوية واحدة:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Unter Windows, in PowerShell:

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — derselbe Server, in einem Container:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ En Windows, con PowerShell:

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — el mismo servidor, en un solo contenedor:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Sous Windows, dans PowerShell :

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — le même serveur, dans un conteneur :
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Windows(PowerShell)の場合:

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — 同じサーバーを、ひとつのコンテナで:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Windows(PowerShell):

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — 같은 서버를, 컨테이너 하나로:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.pt.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ No Windows, no PowerShell:

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — o mesmo servidor, em um contêiner:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Windows(PowerShell):

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — 同一个服务器,装进一个容器:
Expand Down
2 changes: 1 addition & 1 deletion docs/readme/README.zh-TW.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Windows(PowerShell):

```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg\web"; codeg-server
$env:CODEG_STATIC_DIR="$env:LOCALAPPDATA\codeg-server\web"; codeg-server
```

**Docker** — 同一個伺服器,裝進一個容器:
Expand Down
Loading
Loading