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
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,20 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Validate Codex App Server manifest
run: pnpm check:codex-runtime

- name: Test
run: pnpm test

- name: Typecheck
run: pnpm typecheck

- name: Build app
run: pnpm build

- name: Package directory with embedded Codex runtime
run: pnpm package:dir

- name: Initialize packaged Codex App Server
run: pnpm smoke:codex-runtime
3 changes: 3 additions & 0 deletions .github/workflows/p0-release-candidate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Validate Codex App Server manifest
run: pnpm check:codex-runtime

- name: Typecheck
run: pnpm typecheck

Expand Down
44 changes: 42 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,17 @@ jobs:
- name: Typecheck
run: pnpm typecheck

- name: Prepare embedded Codex App Server
shell: bash
run: |
if [[ "${RUNNER_OS}" == "macOS" ]]; then
pnpm prepare:codex-runtime:mac
node scripts/check_codex_runtime.mjs --mode=release --platform=darwin-arm64 --platform=darwin-x64
else
pnpm prepare:codex-runtime:win
node scripts/check_codex_runtime.mjs --mode=release --platform=win32-x64
fi

- name: Download Kokoro TTS assets
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -322,7 +333,13 @@ jobs:
fi
fi
- name: Bundle official KataGo Transformer model
run: pnpm prepare:katago-transformer
run: |
pnpm prepare:katago-transformer
node scripts/select_default_katago_model.mjs \
--model=data/katago/models/b10c512h8nbt3tflrs-fson-silu-rsnh.bin.gz \
--id=official-transformer-balanced \
"--display-name=KataGo Transformer 10B Balanced" \
--prune

- name: Verify embedded KataGo release assets
shell: bash
Expand Down Expand Up @@ -445,6 +462,15 @@ jobs:
hdiutil verify "$dmg"
done

- name: Verify packaged Codex App Server
shell: bash
run: |
if [[ "${RUNNER_OS}" == "macOS" ]]; then
node scripts/smoke_codex_packaged_runtime.mjs --root=release --expect=darwin-arm64 --expect=darwin-x64
else
node scripts/smoke_codex_packaged_runtime.mjs --root=release --expect=win32-x64
fi

- name: Smoke packaged Windows app
if: runner.os == 'Windows'
run: node scripts/smoke_windows_packaged_app.mjs --mode=full --require-katago
Expand Down Expand Up @@ -500,6 +526,11 @@ jobs:
- name: Typecheck
run: pnpm typecheck

- name: Prepare embedded Codex App Server
run: |
pnpm prepare:codex-runtime:win
node scripts/check_codex_runtime.mjs --mode=release --platform=win32-x64

- name: Download Kokoro TTS assets
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -568,7 +599,13 @@ jobs:
--source-label="${GOAGENT_NVIDIA_KATAGO_ASSET_REPO}@${GOAGENT_NVIDIA_KATAGO_ASSET_RELEASE_TAG}:${GOAGENT_NVIDIA_KATAGO_ASSET_PATTERN}"

- name: Bundle official KataGo Transformer model (NVIDIA)
run: pnpm prepare:katago-transformer
run: |
pnpm prepare:katago-transformer
node scripts/select_default_katago_model.mjs \
--model=data/katago/models/b10c512h8nbt3tflrs-fson-silu-rsnh.bin.gz \
--id=official-transformer-balanced \
"--display-name=KataGo Transformer 10B Balanced" \
--prune

- name: Verify embedded NVIDIA KataGo release assets
run: node scripts/check_katago_assets.mjs --mode=release --platform=win32-x64
Expand Down Expand Up @@ -622,6 +659,9 @@ jobs:
throw "NVIDIA portable archive exceeds GitHub's 2 GiB asset limit: $($nvidiaPortable.Name) $($nvidiaPortable.Length)"
}

- name: Verify packaged Codex App Server
run: node scripts/smoke_codex_packaged_runtime.mjs --root=release --expect=win32-x64

- name: Smoke NVIDIA packaged Windows app
run: node scripts/smoke_windows_packaged_app.mjs --mode=nvidia --require-katago

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ data/katago/models/**
data/katago/edition.json
!data/katago/README.md

# Platform Codex App Server binaries are verified release inputs, not source files.
data/codex/bin/**

# Large local Kokoro TTS model files are prepared by scripts for release packaging.
# Voices and metadata are small enough to version; the ONNX model is not.
data/tts/kokoro/**/onnx/*.onnx
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@ All notable changes to GoAgent will be documented here.

This project follows semantic versioning once public releases begin.

## 0.4.21 - Optional ChatGPT Sign-In

### Added

- Added ChatGPT sign-in through a bundled Codex App Server adapter while keeping GoAgent's Go-specific teacher runtime in control of KataGo, board images, knowledge retrieval, student profiles, and teaching evidence.
- Added real text, randomized-image, and dynamic Go-tool capability probes before the ChatGPT connection is marked ready.
- Added checksummed Codex 0.149.0 native runtimes for macOS, Windows, and Linux packaging without committing the platform binaries to source Git.

### Changed

- Kept the OpenAI-compatible API connection fully supported and preserved existing user settings; providers never silently fall back to one another.
- Isolated GoAgent's ChatGPT credentials from Codex CLI and Codex Desktop, disabled Codex built-in tools, and limited turns to a read-only, network-disabled temporary runtime workspace.
- Strengthened packaged-runtime smoke checks to initialize App Server and create a real ephemeral thread from the embedded executable.

### Verified

- 262 contract and behavior tests, TypeScript, production build, and all teacher-quality gates.
- macOS arm64 packaged runtime startup, real App Server thread creation, and strict app/runtime signature verification.
- macOS, Windows, and Linux CI plus macOS and Windows P0 release-candidate checks.

## 0.4.20 - KataGo 1.17.1 and Official Transformer

### Added
Expand Down
26 changes: 16 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ KataGo 是事实裁判,LLM 是讲棋老师。GoAgent 的目标是让学生不

当前发布版本:

[GoAgent v0.4.20](https://github.com/wimi321/GoAgent/releases/tag/v0.4.20)
[GoAgent v0.4.21](https://github.com/wimi321/GoAgent/releases/tag/v0.4.21)

| 平台 | 下载 |
| --- | --- |
| macOS Apple Silicon | [GoAgent-0.4.20-mac-arm64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-arm64.dmg) |
| macOS Intel | [GoAgent-0.4.20-mac-x64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-x64.dmg) |
| Windows x64 标准版免安装 ZIP | [GoAgent-0.4.20-win-x64-portable.zip](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-portable.zip) |
| Windows x64 标准版安装包 | [GoAgent-0.4.20-win-x64.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64.exe) |
| Windows x64 NVIDIA 免安装 7z | [GoAgent-0.4.20-win-x64-nvidia-portable.7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA 安装包 | [GoAgent-0.4.20-win-x64-nvidia.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia.exe) |
| macOS Apple Silicon | [GoAgent-0.4.21-mac-arm64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-arm64.dmg) |
| macOS Intel | [GoAgent-0.4.21-mac-x64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-x64.dmg) |
| Windows x64 标准版免安装 ZIP | [GoAgent-0.4.21-win-x64-portable.zip](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-portable.zip) |
| Windows x64 标准版安装包 | [GoAgent-0.4.21-win-x64.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64.exe) |
| Windows x64 NVIDIA 免安装 7z | [GoAgent-0.4.21-win-x64-nvidia-portable.7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA 安装包 | [GoAgent-0.4.21-win-x64-nvidia.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia.exe) |

发布说明:

Expand Down Expand Up @@ -169,7 +169,7 @@ docs 架构、发布、签名、公证、QA 文档
- pnpm 10+
- Python 3.10+
- KataGo 二进制和一个 KataGo 模型
- 可选:OpenAI-compatible 多模态 LLM API
- 可选:OpenAI-compatible 多模态 LLM API,或通过官方 Codex App Server 使用 ChatGPT 登录

启动:

Expand All @@ -196,6 +196,12 @@ pnpm dist:win
pnpm dist:linux
```

## AI 老师连接

- **API Key**:可继续使用支持 OpenAI-compatible API 的多模态模型服务。
- **ChatGPT 登录**:在“设置 → AI 老师”选择“使用 ChatGPT 登录”。GoAgent 通过官方 Codex App Server 完成登录、模型发现和请求;可使用当前 ChatGPT 套餐中支持棋盘图片输入的模型。
- 登录型连接使用 GoAgent 独立的 Codex App Server 数据目录,不读取或修改系统 Codex CLI / Codex Desktop 的登录;GoAgent 业务代码不读取、复制或输出 OAuth token。

## KataGo 资源

GoAgent 优先寻找随安装包携带的 KataGo 运行时:
Expand All @@ -214,8 +220,8 @@ data/katago/
## 隐私与安全

- 棋谱、学生画像、报告和设置默认保存在 `~/.goagent`。
- LLM API Key 在支持的平台上使用 Electron `safeStorage` 加密保存
- 前端不会拿到已保存的完整 API Key
- LLM API Key 保存在 GoAgent 本地 secret store 中;只有用户主动点击“显示 Key”核对时才会在设置页读取并显示
- ChatGPT 登录凭据由 GoAgent 内置的官方 Codex App Server 保存在 GoAgent 专属目录中;GoAgent 业务代码不会读取或输出 OAuth token,也不会触碰系统 Codex 登录
- 当前手讲解会发送棋盘截图、KataGo JSON 和知识库摘录到用户配置的 LLM 服务。
- Web 搜索只用于泛化围棋概念,不发送学生姓名、棋谱原文、截图、API Key 或本机路径。

Expand Down
25 changes: 16 additions & 9 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ KataGo is the source of truth. The LLM is the teacher that turns those facts int

Current release:

[GoAgent v0.4.20](https://github.com/wimi321/GoAgent/releases/tag/v0.4.20)
[GoAgent v0.4.21](https://github.com/wimi321/GoAgent/releases/tag/v0.4.21)

| Platform | Download |
| --- | --- |
| macOS Apple Silicon | [GoAgent-0.4.20-mac-arm64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-arm64.dmg) |
| macOS Intel | [GoAgent-0.4.20-mac-x64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [GoAgent-0.4.20-win-x64-portable.zip](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-portable.zip) |
| Windows x64 Standard installer | [GoAgent-0.4.20-win-x64.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [GoAgent-0.4.20-win-x64-nvidia-portable.7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [GoAgent-0.4.20-win-x64-nvidia.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia.exe) |
| macOS Apple Silicon | [GoAgent-0.4.21-mac-arm64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-arm64.dmg) |
| macOS Intel | [GoAgent-0.4.21-mac-x64.dmg](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [GoAgent-0.4.21-win-x64-portable.zip](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-portable.zip) |
| Windows x64 Standard installer | [GoAgent-0.4.21-win-x64.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [GoAgent-0.4.21-win-x64-nvidia-portable.7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [GoAgent-0.4.21-win-x64-nvidia.exe](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia.exe) |

Release caveats:

Expand Down Expand Up @@ -124,7 +124,7 @@ Requirements:
- pnpm 10+
- Python 3.10+
- KataGo binary and model
- Optional OpenAI-compatible multimodal LLM API
- Optional OpenAI-compatible multimodal LLM API, or ChatGPT sign-in through the official Codex App Server

For remote compute, see [iKataGo Remote Engine](./docs/IKATAGO_REMOTE_ENGINE.md). GoAgent uses a local `ikatago-client -- analysis` process and does not send positions remotely unless the user explicitly enables that engine path.

Expand All @@ -151,10 +151,17 @@ pnpm dist:win
pnpm dist:linux
```

## AI Teacher Connections

- **API key**: Continue using any OpenAI-compatible multimodal model service.
- **ChatGPT sign-in**: Choose “Sign in with ChatGPT” under **Settings → AI Teacher**. GoAgent uses the official Codex App Server for sign-in, model discovery, and requests, and can use models in the active ChatGPT plan that accept board images.
- ChatGPT sign-in uses a GoAgent-specific Codex App Server data directory. It does not read or modify Codex CLI or Codex Desktop sign-in. GoAgent application code does not read, copy, or print OAuth tokens.

## Privacy

- Games, reports, settings, and student profiles stay under `~/.goagent` by default.
- Saved LLM API keys are encrypted with Electron `safeStorage` when available.
- Saved LLM API keys use GoAgent's local secret store and are only read back into Settings when the user explicitly chooses “Show key.”
- The embedded official Codex App Server keeps ChatGPT credentials in GoAgent's dedicated data directory. GoAgent application code does not read or print OAuth tokens and does not touch the system Codex sign-in.
- Current-move teaching may send a board screenshot, KataGo JSON, and selected knowledge cards to the configured LLM endpoint.
- Web search is optional and should only use generic Go concepts.

Expand Down
14 changes: 7 additions & 7 deletions README_JA.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@ GoAgent は、KataGo、棋盤スクリーンショット、ローカル知識カ

公開リリース:

[GoAgent v0.4.20](https://github.com/wimi321/GoAgent/releases/tag/v0.4.20)
[GoAgent v0.4.21](https://github.com/wimi321/GoAgent/releases/tag/v0.4.21)

| プラットフォーム | ダウンロード |
| --- | --- |
| macOS Apple Silicon | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-arm64.dmg) |
| macOS Intel | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [ZIP](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-portable.zip) |
| Windows x64 Standard installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia.exe) |
| macOS Apple Silicon | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-arm64.dmg) |
| macOS Intel | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [ZIP](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-portable.zip) |
| Windows x64 Standard installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia.exe) |

macOS 版は Developer ID で署名され、Apple の notarization と stapled ticket を取得済みです。アップロード前に署名、Gatekeeper、ticket、DMG の整合性を CI で検証します。Windows 版は未署名のため SmartScreen が表示される場合があります。

Expand Down
14 changes: 7 additions & 7 deletions README_KO.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@ GoAgent는 KataGo, 바둑판 스크린샷, 로컬 지식 카드, 학생 프로

공개 릴리스:

[GoAgent v0.4.20](https://github.com/wimi321/GoAgent/releases/tag/v0.4.20)
[GoAgent v0.4.21](https://github.com/wimi321/GoAgent/releases/tag/v0.4.21)

| 플랫폼 | 다운로드 |
| --- | --- |
| macOS Apple Silicon | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-arm64.dmg) |
| macOS Intel | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [ZIP](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-portable.zip) |
| Windows x64 Standard installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.20/GoAgent-0.4.20-win-x64-nvidia.exe) |
| macOS Apple Silicon | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-arm64.dmg) |
| macOS Intel | [DMG](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-mac-x64.dmg) |
| Windows x64 Standard portable ZIP | [ZIP](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-portable.zip) |
| Windows x64 Standard installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64.exe) |
| Windows x64 NVIDIA portable 7z | [7z](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia-portable.7z) |
| Windows x64 NVIDIA installer | [EXE](https://github.com/wimi321/GoAgent/releases/download/v0.4.21/GoAgent-0.4.21-win-x64-nvidia.exe) |

macOS 앱은 Developer ID로 서명되고 Apple notarization 및 stapled ticket 검증을 완료했습니다. CI가 업로드 전에 서명, Gatekeeper, ticket, DMG 무결성을 확인합니다. Windows 패키지는 아직 서명되지 않아 SmartScreen이 표시될 수 있습니다.

Expand Down
Loading
Loading