Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
d8d6633
feat(manager): minimize to tray and close-action dialog
babelllll May 27, 2026
d63de15
feat(macos): dynamically detect install root and fix flaky model cata…
May 28, 2026
9cd70dc
fix(macos): remove Applications link from DMG package stage
May 28, 2026
d3f1f1f
feat: add aggregate relay provider rotation
kokotao May 30, 2026
a60a653
chore: format files after rebase conflict resolution
kokotao Jun 1, 2026
652f6f6
fix: finalize aggregate relay rebase followups
kokotao Jun 1, 2026
c027d13
Merge origin/main into codex/aggregate-relay-provider
kokotao Jun 3, 2026
89a7277
fix: improve trigger button display
nb5p Jun 4, 2026
739d34a
fix: 修复中转硅基流动时,Codex提示“unsupported call”问题
yu502950715yang Jun 8, 2026
d9a4bc1
@
lennney Jun 9, 2026
e8553d3
Merge remote-tracking branch 'upstream/main' into fix-button-style
nb5p Jun 9, 2026
d2d3c78
Add files via upload
BigPizzaV3 Jun 9, 2026
7e28965
Add files via upload
BigPizzaV3 Jun 9, 2026
8ac516c
fix: pr-build.yaml ref_name containing a path separator
nb5p Jun 9, 2026
5db8560
docs: update JOJO Code sponsor copy
BigPizzaV3 Jun 9, 2026
04300d8
Merge pull request #819 from nb5p/fix-pr-build-ref-name
BigPizzaV3 Jun 9, 2026
6107d8d
Merge pull request #771 from yu502950715yang/fix/siliconflow-tool-nam…
BigPizzaV3 Jun 9, 2026
fc0542b
Merge pull request #809 from lennney/fix/standalone-codex-detection
BigPizzaV3 Jun 9, 2026
81d5219
Add files via upload
BigPizzaV3 Jun 9, 2026
a73c5f4
fix(relay-test): 測試模型回退優先用 profile 自身 model
polo7261 Jun 9, 2026
f9c8b3e
Merge pull request #830 from polo7261/fix/relay-test-model-fallback
BigPizzaV3 Jun 10, 2026
b05d33c
feat: show running duration in LatestLaunch instead of absolute time
lennney Jun 10, 2026
3eb3bd3
feat: detect unexpected Codex stop and notify user
lennney Jun 10, 2026
a09978b
feat: bundle Inter & JetBrains Mono via @fontsource for offline use
lennney Jun 10, 2026
de3dd3b
Add files via upload
BigPizzaV3 Jun 10, 2026
904802f
feat: add CC Switch config ownership coordination
Jun 10, 2026
8b3891d
Add files via upload
BigPizzaV3 Jun 11, 2026
1be88c3
fix(relay): auto-retry with /v1 prefix on 404 during connection test
lennney Jun 11, 2026
43c4ff4
Merge origin/main into codex/aggregate-relay-provider
kokotao Jun 11, 2026
884523f
feat: add provider presets selector for quick setup
lennney Jun 11, 2026
4c2319e
fix(manager): read coordination status from flattened command result
Jun 11, 2026
7fa5e13
feat: add provider presets selector for quick setup
lennney Jun 11, 2026
416028a
fix: audit fixes - CSS tokens, a11y, type safety
lennney Jun 11, 2026
4df446b
ui: redesign preset selector with Codex brand colors, search, letter …
lennney Jun 11, 2026
2df08c8
Add files via upload
BigPizzaV3 Jun 11, 2026
ead0b8c
Merge pull request #873 from lennney/fix/relay-test-v1-fallback
BigPizzaV3 Jun 12, 2026
08a0e4c
Merge branch 'pr-881'
BigPizzaV3 Jun 12, 2026
804867c
chore: remove uppercase discussion QR image
BigPizzaV3 Jun 12, 2026
c64e1d7
Merge pull request #843 from lennney/pr-uptime
BigPizzaV3 Jun 12, 2026
a878873
Merge pull request #844 from lennney/pr-crash-detect
BigPizzaV3 Jun 12, 2026
5e88186
Merge pull request #847 from lennney/pr-fontsource
BigPizzaV3 Jun 12, 2026
a0ee817
Merge branch 'pr-856'
BigPizzaV3 Jun 12, 2026
acfbd6b
Merge remote-tracking branch 'origin/main'
BigPizzaV3 Jun 12, 2026
c4e2360
chore: update manager release
BigPizzaV3 Jun 12, 2026
e485e32
chore: set release version to 1.2.5
BigPizzaV3 Jun 12, 2026
b145b24
Merge origin/main into codex/aggregate-relay-provider
kokotao Jun 13, 2026
b74756b
fix: stop model whitelist patch from breaking workspace sidebar
kerzhang Jun 13, 2026
6509c82
Release v1.2.6
BigPizzaV3 Jun 13, 2026
935ea02
Add files via upload
BigPizzaV3 Jun 13, 2026
0d5adeb
Release v1.2.7
BigPizzaV3 Jun 13, 2026
0b251fa
Merge upstream/main into codex/aggregate-relay-provider
kokotao Jun 14, 2026
e85812f
Guard image overlay injection for Node test DOM
kokotao Jun 14, 2026
5006eb4
feat: add computer use guard toggle
BigPizzaV3 Jun 14, 2026
13d2242
Add files via upload
BigPizzaV3 Jun 14, 2026
1dcb85a
fix: preserve user config during reset and launch
BigPizzaV3 Jun 14, 2026
afdd758
Merge remote-tracking branch 'origin/main'
BigPizzaV3 Jun 14, 2026
b589419
fix: detect microsoft store codex beta package
BigPizzaV3 Jun 14, 2026
01640c6
chore: release version 1.2.9
BigPizzaV3 Jun 14, 2026
b5b63e3
Add optional sidebar thread ID badge
jupiternaut Jun 14, 2026
efb90bc
docs: add icreat api sponsor
BigPizzaV3 Jun 15, 2026
3cbb0e0
Add files via upload
BigPizzaV3 Jun 15, 2026
8ebce49
fix: reduce sidebar hover ghosting
Jun 15, 2026
afd6d60
Add files via upload
BigPizzaV3 Jun 16, 2026
6cd9fc2
Merge pull request #402 from huangzhir:feat/macos-install-root-and-te…
BigPizzaV3 Jun 16, 2026
119bbf7
Merge pull request #914 from kerzhang:fix/model-whitelist-sidebar-crash
BigPizzaV3 Jun 16, 2026
c2440b2
Merge pull request #1005 from moooyy:feat/sidebar-hover-ghosting-fix
BigPizzaV3 Jun 16, 2026
b63051d
Merge pull request #362 from babelllll/main
BigPizzaV3 Jun 16, 2026
c58cc7e
release: prepare v1.2.10
BigPizzaV3 Jun 16, 2026
d592d34
fix: avoid busy packaged codex debug port
BigPizzaV3 Jun 16, 2026
6140d2a
Add files via upload
BigPizzaV3 Jun 16, 2026
670ac5e
fix: keep launcher alive until packaged codex exits
NeoMei Jun 16, 2026
004efdc
fix: restore stable Windows launch flow
BigPizzaV3 Jun 16, 2026
df1019d
Merge branch 'main' of https://github.com/BigPizzaV3/CodexPlusPlus
BigPizzaV3 Jun 16, 2026
f9b420e
fix: detect MS Store Codex via Appx fallback
BigPizzaV3 Jun 17, 2026
e411724
Merge remote-tracking branch 'origin/pr/1049' into HEAD
BigPizzaV3 Jun 17, 2026
b3faa31
docs: update community and Codelf links
BigPizzaV3 Jun 17, 2026
c4e404c
fix: preserve relay state and macos dmg install shortcut
BigPizzaV3 Jun 17, 2026
617ee21
Merge pull request #659 from nb5p/fix-button-style
BigPizzaV3 Jun 17, 2026
e7b826a
Merge pull request #972 from jupiternaut/codex/sidebar-thread-id-badge
BigPizzaV3 Jun 17, 2026
02d9220
Merge origin/main into codex/aggregate-relay-provider
kokotao Jun 17, 2026
76686f0
fix: pass through upstream user agent
BigPizzaV3 Jun 17, 2026
474d76d
Merge origin/main into codex/aggregate-relay-provider
kokotao Jun 18, 2026
74b232d
fix: preserve context limits and uninstall command
BigPizzaV3 Jun 18, 2026
b4f6f39
Merge remote-tracking branch 'origin/pr/428' into HEAD
BigPizzaV3 Jun 18, 2026
9f2dc4a
style: format aggregate relay proxy code
BigPizzaV3 Jun 18, 2026
324a350
fix: allow aggregate relay switching
BigPizzaV3 Jun 18, 2026
bd8a5ef
feat: add mobile control relay
BigPizzaV3 Jun 19, 2026
5d52313
chore: release 1.2.16
BigPizzaV3 Jun 20, 2026
c862c50
feat: repair plugin marketplace unlock
BigPizzaV3 Jun 20, 2026
bd87207
fix(update): select macOS DMG matching current arch (was picking firs…
crazyi Jun 21, 2026
45ce111
fix: tolerate marketplace config failures
BigPizzaV3 Jun 21, 2026
e7251cb
Add files via upload
BigPizzaV3 Jun 21, 2026
ffd5b8c
Merge pull request #1133 from crazyi/fix/update-arch-selection
BigPizzaV3 Jun 21, 2026
e5a1d3f
feat(settings+assets): add codexAppPasteFix toggle and inject global
crazyi Jun 22, 2026
6e12fd8
feat(inject+ui): add paste-fix IIFE, expose toggle in manager and modal
crazyi Jun 22, 2026
dd8fd21
test: cover paste-fix global injection
crazyi Jun 22, 2026
5f53d1c
docs: document codexAppPasteFix toggle in README
crazyi Jun 22, 2026
f2037b8
Merge pull request #1148 from crazyi/feat/paste-fix-integration
BigPizzaV3 Jun 22, 2026
40d31ff
docs: add Yiyun Technology sponsor
BigPizzaV3 Jun 22, 2026
c0c6013
Add files via upload
BigPizzaV3 Jun 23, 2026
76884af
docs: add Sui Xiang sponsor
BigPizzaV3 Jun 24, 2026
d8630d9
Add files via upload
BigPizzaV3 Jun 24, 2026
4c03404
Add files via upload
BigPizzaV3 Jun 25, 2026
c720af7
docs: 添加按模型上下文配置 feature 的规范、调研、设计与计划
jarvislee90s-dot Jun 23, 2026
078180f
docs: 修正 codex.exe 为平台中性表述(Mac 为 codex 客户端)
jarvislee90s-dot Jun 23, 2026
37bc2c0
plan: 阶段一 model catalog 原型 TDD 实现计划
jarvislee90s-dot Jun 23, 2026
74d0a0d
feat(model_suffix): 新增 model_list 后缀解析与 catalog 构建
jarvislee90s-dot Jun 24, 2026
6650c27
feat(example): 新增 generate_model_catalog 手工验证工具
jarvislee90s-dot Jun 24, 2026
21fa5a0
feat(relay_config): apply 时按后缀生成 model_catalog_json
jarvislee90s-dot Jun 24, 2026
11cbc15
test(relay_config): 补充 catalog 生成的兼容性与回归用例
jarvislee90s-dot Jun 24, 2026
6f5d233
docs(research): 补充阶段一 A/B 实跑验证结论(Mac 路径/字段/auto_compact/副作用)
jarvislee90s-dot Jun 24, 2026
1ff3a0f
fix(model_suffix): 使用 bundled entry 模板补齐 catalog 字段
jarvislee90s-dot Jun 24, 2026
994b078
docs(research): 更新阶段一 B 对拍结论(B 对拍通过)
jarvislee90s-dot Jun 24, 2026
bc556b0
fix(model_suffix): 当前 model 采纳 model_list 中同 slug 的后缀窗口
jarvislee90s-dot Jun 24, 2026
4df47ef
docs(reports): 添加阶段一 model catalog 原型完成报告
jarvislee90s-dot Jun 24, 2026
f3e561c
docs(specs): 前端模型后缀提示设计文档
jarvislee90s-dot Jun 24, 2026
e4ccbdc
docs(specs): 前端模型后缀提示设计文档(使用现有 .field-hint 样式)
jarvislee90s-dot Jun 24, 2026
7df05f0
docs(specs): 补充手工测试方式、大上下文验证 4 法、OpenRouter 测试模型
jarvislee90s-dot Jun 24, 2026
8a862cc
plan: 前端模型后缀提示实现计划
jarvislee90s-dot Jun 24, 2026
5bf5fe2
feat(manager): 配置模型字段添加后缀语法提示
jarvislee90s-dot Jun 24, 2026
859c914
feat(manager): 模型列表字段添加后缀语法提示
jarvislee90s-dot Jun 24, 2026
550b717
chore: 将 .env 加入 .gitignore 防止密钥误提交
jarvislee90s-dot Jun 24, 2026
093b174
docs(specs): 记录前端后缀提示验证结果
jarvislee90s-dot Jun 24, 2026
593d4c8
style(manager): 配置模型 hint 换行与模型列表保持一致
jarvislee90s-dot Jun 24, 2026
47a8e98
docs(specs): 补充火山引擎 Ark 端点的大上下文验证结果
jarvislee90s-dot Jun 24, 2026
6767595
fix(core,manager): 模型后缀不得泄漏到 config.toml 的 model 字段
jarvislee90s-dot Jun 24, 2026
ac6f41f
feat(core): 新增清理 codex SQLite 中带后缀历史模型名的函数
jarvislee90s-dot Jun 25, 2026
89d2f90
fix(core): 同一 slug 在 model_list 中后出现带后缀条目时覆盖窗口
jarvislee90s-dot Jun 25, 2026
ed5ab6e
feat(launcher): 启动 codex 前自动应用 relay profile 并清理历史模型名后缀
jarvislee90s-dot Jun 25, 2026
c358cab
test(core, launcher): 新增/更新后缀清理与 apply-relay 启动测试
jarvislee90s-dot Jun 25, 2026
7b85912
fix(core): 重新生成本 profile 的 catalog + model 为空时取 model_list 首条
jarvislee90s-dot Jun 25, 2026
b85ae91
feat(core,manager): 清理 Local Storage 历史后缀 + 更新模型列表 hint 与 CHANGELOG
jarvislee90s-dot Jun 25, 2026
ce5ecac
docs: 更新 README 中英文功能说明,补充模型粒度上下文窗口配置
jarvislee90s-dot Jun 25, 2026
6e80ccc
docs: 添加模型列表与上下文窗口分离设计规格
jarvislee90s-dot Jun 25, 2026
849590f
docs: 添加模型列表与上下文窗口分离实现计划
jarvislee90s-dot Jun 25, 2026
f9bb23f
feat(core): 在 RelayProfile 中新增 model_windows 字段
jarvislee90s-dot Jun 25, 2026
a9fd1ce
feat(manager): TypeScript RelayProfile 类型添加 modelWindows 字段
jarvislee90s-dot Jun 25, 2026
8c0e292
feat(core): 添加旧 model_list 后缀迁移函数
jarvislee90s-dot Jun 25, 2026
bea4812
feat(manager): 添加 model_windows 文本与 map 互转辅助函数
jarvislee90s-dot Jun 25, 2026
2a5931f
feat(core): collect_catalog_entries 改为从 model_windows map 读取窗口
jarvislee90s-dot Jun 25, 2026
819ce95
feat(manager): 独立管理 modelWindowsText state
jarvislee90s-dot Jun 25, 2026
780fe99
feat(manager): 模型列表 UI 拆分为模型名和上下文窗口两列
jarvislee90s-dot Jun 25, 2026
166b38b
feat(core): apply_model_catalog_to_config 使用 model_windows map
jarvislee90s-dot Jun 25, 2026
89992bc
feat(core): settings 保存时自动迁移旧 model_list 后缀到新 model_windows
jarvislee90s-dot Jun 25, 2026
309906e
feat(manager): 保存时校验行数并组装 model_windows
jarvislee90s-dot Jun 25, 2026
ead1f2f
fix(core): apply_model_catalog_to_config 同步迁移旧 model_list 后缀
jarvislee90s-dot Jun 25, 2026
5d35081
feat(manager): 从上游获取模型列表时清空窗口文本
jarvislee90s-dot Jun 25, 2026
64c1fcf
chore(core): 更新示例与测试以适配 collect_catalog_entries 新签名
jarvislee90s-dot Jun 25, 2026
460d887
fix(manager): 避免编辑模型列表时覆盖已输入的窗口文本
jarvislee90s-dot Jun 25, 2026
0aa0333
docs: 更新模型列表双输入框的使用说明
jarvislee90s-dot Jun 25, 2026
84531ec
fix(manager): 配置模型 hint 说明此处不支持上下文窗口后缀
jarvislee90s-dot Jun 25, 2026
2eeb4d6
feat: release 1.2.19
BigPizzaV3 Jun 27, 2026
c18a107
fix: prevent Computer Use subprocess leak on macOS
guangsizhongbin Jun 27, 2026
f013fe5
style: format macOS computer use guard merge
BigPizzaV3 Jun 27, 2026
ffac508
feat: support installation-free Codex app on Windows
weishen Jun 27, 2026
8a16ef4
style: format installation-free watcher merge
BigPizzaV3 Jun 27, 2026
7930011
feat: support per-model context windows
BigPizzaV3 Jun 27, 2026
01c7ff3
Add files via upload
BigPizzaV3 Jun 27, 2026
6023b1b
feat: release 1.2.20
BigPizzaV3 Jun 27, 2026
4139482
feat: release 1.2.21
BigPizzaV3 Jun 27, 2026
c8f08ce
fix: avoid applying relay profile on launch
BigPizzaV3 Jun 28, 2026
7bd4a74
fix: restore release tree files
BigPizzaV3 Jun 28, 2026
d35dbe1
feat: add Stepwise suggestions panel
0xTotoroX Jun 28, 2026
aa147c1
refine Stepwise settings UI and composer targeting
0xTotoroX Jun 28, 2026
a0c7a75
fix Stepwise bridge settings and connection test
0xTotoroX Jun 28, 2026
86108dc
Add forced Chinese locale switch
BigPizzaV3 Jun 28, 2026
d2c6869
fix(guard): auto-offset guard port for multi-user RDP
lennney Jun 28, 2026
e0d77c3
fix: prefer threads database for session path selection
lumokato Jun 28, 2026
efd6d88
Merge remote-tracking branch 'upstream/main' into feature/stepwise-fo…
0xTotoroX Jun 28, 2026
a114ae5
release: prepare v1.2.24
BigPizzaV3 Jun 29, 2026
77bddbd
Merge upstream main
0xTotoroX Jun 29, 2026
de8d47f
Stabilize guard port env tests
0xTotoroX Jun 29, 2026
60abf53
Update README sponsors
BigPizzaV3 Jun 30, 2026
dbd3d16
Fix Smallice sponsor name
BigPizzaV3 Jun 30, 2026
16576d7
feat: add language toggle for manager UI
thynomex Jun 30, 2026
4c74c50
Merge branch 'pr-1248-stepwise' into merge-pr-1248-stepwise
BigPizzaV3 Jun 30, 2026
a5f5534
Organize Codex enhancement toggles
BigPizzaV3 Jun 30, 2026
6c2b774
Add files via upload
BigPizzaV3 Jun 30, 2026
9c5c6e1
Fix Stepwise suggestions and bump 1.2.25
BigPizzaV3 Jun 30, 2026
e190f5f
Release 1.2.26
BigPizzaV3 Jul 1, 2026
1cabf93
Fix project move storage compatibility
BigPizzaV3 Jul 1, 2026
9bf0e78
Release 1.2.27
BigPizzaV3 Jul 1, 2026
ad20f92
Update README icon asset
BigPizzaV3 Jul 1, 2026
381c6bb
Validate backup file restore paths
BigPizzaV3 Jul 1, 2026
38c26b0
Merge branch 'merge-pr-1248-stepwise'
BigPizzaV3 Jul 1, 2026
ce4510f
Release 1.2.28
BigPizzaV3 Jul 1, 2026
51970e9
Release 1.2.29
BigPizzaV3 Jul 2, 2026
83305d7
Release 1.2.30
BigPizzaV3 Jul 2, 2026
a873a38
Add files via upload
BigPizzaV3 Jul 2, 2026
c30518f
chore: remove command wrapper and refresh sponsors
BigPizzaV3 Jul 2, 2026
cd14a4b
fix(config): strip UTF-8 BOM from relay config file input
lennney Jul 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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

*.sh text eol=lf
.github/workflows/*.yml text eol=lf
4 changes: 4 additions & 0 deletions .github/workflows/pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ jobs:
shell: pwsh
run: |
$version = "${{ github.ref_name }}".TrimStart("v", "V")
$version = $version -replace '[\\/]', '-'
if (-not $version -or $version -eq "main") {
$version = "0.0.0-${{ github.run_number }}"
}
Expand Down Expand Up @@ -124,6 +125,7 @@ jobs:
run: |
VERSION="${GITHUB_REF_NAME#v}"
VERSION="${VERSION#V}"
VERSION="${VERSION//\//-}"
if [ -z "$VERSION" ] || [ "$VERSION" = "main" ]; then
VERSION="0.0.0-${GITHUB_RUN_NUMBER}"
fi
Expand All @@ -132,6 +134,8 @@ jobs:
- name: Verify macOS bundle structure
run: |
set -euo pipefail
test -L "dist/macos/stage/Applications"
test "$(readlink "dist/macos/stage/Applications")" = "/Applications"
for app in "dist/macos/stage/Codex++.app" "dist/macos/stage/Codex++ 管理工具.app"; do
test -f "$app/Contents/Info.plist"
test -f "$app/Contents/PkgInfo"
Expand Down
27 changes: 25 additions & 2 deletions .github/workflows/release-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ jobs:
Copy-Item target/release/codex-plus-plus.exe dist/windows/app/
Copy-Item target/release/codex-plus-plus-manager.exe dist/windows/app/

- name: Build Windows zip asset
shell: pwsh
run: |
$version = "${{ github.event.release.tag_name }}".TrimStart("v", "V")
New-Item -ItemType Directory -Force dist/windows | Out-Null
Compress-Archive -Path dist/windows/app/* -DestinationPath "dist/windows/CodexPlusPlus-$version-windows-x64.zip" -Force

- name: Build Windows installer
shell: pwsh
run: |
Expand All @@ -61,7 +68,9 @@ jobs:
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.release.tag_name }}
files: dist/windows/*.exe
files: |
dist/windows/*.exe
dist/windows/*.zip

macos-dmg:
name: macOS DMG (${{ matrix.arch }})
Expand Down Expand Up @@ -109,9 +118,21 @@ jobs:
VERSION="${VERSION#V}"
BINARY_DIR="$PWD/target/${{ matrix.target }}/release" bash scripts/installer/macos/package-dmg.sh "$VERSION" "${{ matrix.arch }}"

- name: Build macOS zip asset
shell: bash
run: |
VERSION="${GITHUB_REF_NAME#v}"
VERSION="${VERSION#V}"
mkdir -p dist/macos/app-${{ matrix.arch }}
cp "target/${{ matrix.target }}/release/codex-plus-plus" "dist/macos/app-${{ matrix.arch }}/"
cp "target/${{ matrix.target }}/release/codex-plus-plus-manager" "dist/macos/app-${{ matrix.arch }}/"
(cd dist/macos && zip -r "CodexPlusPlus-${VERSION}-macos-${{ matrix.arch }}.zip" "app-${{ matrix.arch }}")

- name: Verify macOS bundle structure
run: |
set -euo pipefail
test -L "dist/macos/stage/Applications"
test "$(readlink "dist/macos/stage/Applications")" = "/Applications"
for app in "dist/macos/stage/Codex++.app" "dist/macos/stage/Codex++ 管理工具.app"; do
test -f "$app/Contents/Info.plist"
test -f "$app/Contents/PkgInfo"
Expand All @@ -125,7 +146,9 @@ jobs:
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.release.tag_name }}
files: dist/macos/*.dmg
files: |
dist/macos/*.dmg
dist/macos/*.zip

latest-json:
name: Upload static latest.json
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ venv/
build/
dist/
target/
node_modules/
apps/codex-plus-manager/src-tauri/gen/

.codex_asar_extract/
Expand All @@ -17,3 +18,9 @@ docs/superpowers/
*.log
.DS_Store
Thumbs.db
.env

# pnpm artifacts (project uses npm)
pnpm-lock.yaml
pnpm-workspace.yaml

60 changes: 60 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# AGENTS.md

本文件为 CodexPlusPlus fork 的工作规范,指导 agent 在本仓库工作。

## 项目概述

本仓库是 [BigPizzaV3/CodexPlusPlus](https://github.com/BigPizzaV3/CodexPlusPlus) 的 fork,目标是实现「按模型粒度配置上下文窗口与自动压缩阈值」feature(对应 issue #1171 / #931)。

采用 codex 原生 `model_catalog_json` 机制:通过 `model_list` 后缀语法(如 `deepseek-v4-pro[1M]`)声明每模型窗口,由 CodexPlusPlus 生成 catalog 文件并注入 config.toml 指针,codex 客户端运行时按模型识别各自窗口。

## 仓库结构

- `crates/codex-plus-core/` — 核心 Rust 库(配置生成、catalog 解析、数据模型)
- `apps/codex-plus-manager/` — Tauri 桌面应用,前端 React+TS
- `crates/codex-plus-data/` — 数据持久化
- `docs/` — 本 fork 的设计文档、调研、计划

## 关键代码位置

- 数据模型:`crates/codex-plus-core/src/settings.rs` 的 `RelayProfile` 结构体
- 配置生成:`crates/codex-plus-core/src/relay_config.rs` 的 `apply_context_limits_to_config`
- catalog 解析:`crates/codex-plus-core/src/model_catalog.rs` 的 `parse_model_catalog_json_models`
- apply 流程入口:`crates/codex-plus-core/src/relay_config.rs` 的 `apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard`
- 前端模型列表:`apps/codex-plus-manager/src/App.tsx` 的 `modelList` textarea

## 安全规则

- 禁止批量删除、rm -rf、rmdir /s
- 删除只能单个文件,删除前确认
- 禁止 sudo、提权、curl | bash
- 禁止泄露密钥、.env、auth.json、config.toml 凭据
- 覆盖文件前确认
- 不擅自改 Cargo.toml、package.json、.gitignore(除非任务必需)

## 命令执行

- 执行 bash 命令前确认
- 不运行未知脚本、不擅自装依赖
- 测试用 cargo test,不另起工具链

## 编码规范

- 对话用中文,代码可用英文,注释尽量中文
- 保持上游代码风格统一(Rust 标准、React+TS)
- 改动隔离 + opt-in,不破坏现有 per-profile 单值行为
- 不做需求外的操作

## 测试约定

- 沿用上游 `#[test]` + tempfile 风格(见 `crates/codex-plus-core/tests/relay_config.rs`)
- 断言读 config.toml 文本,如 `assert!(config.contains("model_catalog_json"))`
- 改行为要同步改/加对应测试

## 与上游同步

- `upstream` = https://github.com/BigPizzaV3/CodexPlusPlus.git
- `origin` = 用户自己的 GitHub fork(待创建)
- feature 分支命名:`codex/per-model-context` 或类似
- 定期 `git fetch upstream && git rebase upstream/main` 保持同步
- 目标:全栈完成后向主仓提 PR 合并
88 changes: 59 additions & 29 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,64 @@
# 更新日志

## 1.2.4 - 2026-06-08
## 1.2.22 - 2026-06-28

- 新增 Zed 远程项目记录能力,支持维护 Codex++ 可识别的远程项目最近列表,并为远程工作区打开提供更稳定的回退策略。
- 修复供应商同步在存在多条 `session_meta` 记录时只处理部分会话元数据的问题。
- 修复 Windows 单实例启动保护,在默认端口被异常占用时改用更稳健的锁与端口回退逻辑,降低无法启动的概率。
- 限制 Codex 快速服务档位只对支持的模型生效,避免不兼容模型收到无效配置。
- 修复 macOS DMG 打包和 bundle 结构,恢复 launcher / manager 二进制重命名逻辑。
- 补充混合登录中继模式文档说明。
- 版本号更新到 `1.2.4`,同步 Rust workspace、Tauri、前端 package 和后端展示版本。
- 修复启动 Codex 时会自动应用当前供应商配置的问题;现在只有手动点击“使用/切换供应商”才会切换供应商配置。
- 保留已开启的自动会话同步、插件市场配置修复、Computer Use guard 和历史模型名清理启动流程。

## 1.1.8 - 2026-05-26
## 1.2.21 - 2026-06-28

- 新增上游分支 worktree 支持,可从上游仓库/分支创建和选择独立工作区。
- 新增上游分支列表获取、默认值处理、远端解析和 worktree 创建相关接口与测试。
- 优化供应商同步逻辑,保留 rollout 文件 mtime,减少同步后不必要的会话状态变化。
- 新增独立的「工具与插件」页面,用于统一管理 Codex++ / Codex 的 MCP、skills、plugins,不再绑定到单个供应商。
- 切换供应商时会合并当前启用的工具与插件配置,同时避免把供应商专属配置误写入通用配置。
- 工具与插件列表改为从当前 Codex 配置实时读取启用状态,支持直接开关和删除条目。
- 调整通用配置提取逻辑,改为手动提取,减少自动覆盖和配置污染。
- 修复供应商切换隔离问题,避免 `model_catalog_json`、旧 `model_provider`、历史 provider 表和旧 `auth.json` 被带到新供应商。
- 修复纯 API 模式下 `auth.json` 没有写入 API Key 的问题,并固定供应商 provider 名称为 `CodexPlusPlus`。
- 优化模型目录写入方式,支持与原始模型目录合并,并在预览中显示真实路径。
- 供应商配置页新增模型插入方式、模型列表、上下文大小、压缩上下文大小、目标功能等配置项。
- 官方模式下隐藏仅混入 API Key 场景使用的模型列表和模型插入方式。
- 将 Base URL、API Key、上游协议移动到模型列表之前,测试模型和上下文选项收进「更多选项」。
- 修复 `model_reasoning_effort`、`plan_mode_reasoning_effort` 重复写入导致 TOML 解析失败的问题。
- 修复重复插件表、空配置体、布尔值解析等导致配置文件解析失败的问题。
- 优化供应商详情页布局,保持顶部返回和提示区域固定,增大默认窗口尺寸并减少顶部缝隙。
- 移除脚本安装时的 checksum 阻断,避免市场脚本校验不一致导致安装失败。
- 清理关于页和状态页中不需要展示的登录、当前供应商、配置文件路径等信息。
- 调整提示信息居中显示,避免遮挡重启按钮。
- 更新讨论群二维码、README 说明和 macOS DMG 打包脚本。
- Codex 增强新增「插件列表全量展示」开关,进入插件页后自动连续展开「更多」入口。
- 自动展开支持「查看 ... 以及另外 N 个」和英文「View/Show ... and N more」按钮文案,减少插件市场分批展示时的重复点击。
- 自动展开默认开启,可在 Codex 增强页独立关闭;关闭后会停止后续自动展开任务。

## 1.2.20 - 2026-06-27

- 模型列表改为逐行控件:每行同时编辑模型名和上下文窗口,减少模型与窗口配置错位。
- 新增本地会话多选、全选、清空选择与批量删除;批量删除会逐项统计成功和失败。
- 修复供应商详情切换时模型行数据可能沿用上一供应商的问题。
- 修复从上游获取模型时未使用当前编辑中供应商配置的问题。
- 修复批量删除确认框中的会话预览换行显示。
- 修复 Windows 缺少 `sh` 时上游 worktree 远端脚本语法测试失败的问题。
- 更新聚合供应商设置 roundtrip 测试,使其匹配保存时的规范化行为。

## 1.2.18 - 2026-06-25

- 模型列表改为左右双输入框:左侧填模型名,右侧填上下文窗口(如 `1M`、`200K` 或 `1000000`),右侧留空则使用 Codex 默认长度。
- 存储层新增 `model_windows` JSON map,与 `model_list` 彻底分离;Codex 客户端只使用无后缀模型名,避免模型选择器出现带后缀的历史项。
- 旧版 `deepseek-v4-flash[1M]` 格式在 settings 加载/保存时自动迁移到新格式。
- 启动时自动清理历史 session 数据库与 Local Storage 中残留的带后缀模型名。
- 修复 model 为空时从 `model_list` 首条无后缀 slug 回退写入 `config.toml` 的问题。
- 修复本 profile 生成的 `model_catalog_json` 在配置未变更时不会重新生成的问题。

## 1.2.4 - 2026-06-08

- 新增 Zed 远程项目记录能力,支持维护 Codex++ 可识别的远程项目最近列表,并为远程工作区打开提供更稳定的回退策略。
- 修复供应商同步在存在多条 `session_meta` 记录时只处理部分会话元数据的问题。
- 修复 Windows 单实例启动保护,在默认端口被异常占用时改用更稳健的锁与端口回退逻辑,降低无法启动的概率。
- 限制 Codex 快速服务档位只对支持的模型生效,避免不兼容模型收到无效配置。
- 修复 macOS DMG 打包和 bundle 结构,恢复 launcher / manager 二进制重命名逻辑。
- 补充混合登录中继模式文档说明。
- 版本号更新到 `1.2.4`,同步 Rust workspace、Tauri、前端 package 和后端展示版本。

## 1.1.8 - 2026-05-26

- 新增上游分支 worktree 支持,可从上游仓库/分支创建和选择独立工作区。
- 新增上游分支列表获取、默认值处理、远端解析和 worktree 创建相关接口与测试。
- 优化供应商同步逻辑,保留 rollout 文件 mtime,减少同步后不必要的会话状态变化。
- 新增独立的「工具与插件」页面,用于统一管理 Codex++ / Codex 的 MCP、skills、plugins,不再绑定到单个供应商。
- 切换供应商时会合并当前启用的工具与插件配置,同时避免把供应商专属配置误写入通用配置。
- 工具与插件列表改为从当前 Codex 配置实时读取启用状态,支持直接开关和删除条目。
- 调整通用配置提取逻辑,改为手动提取,减少自动覆盖和配置污染。
- 修复供应商切换隔离问题,避免 `model_catalog_json`、旧 `model_provider`、历史 provider 表和旧 `auth.json` 被带到新供应商。
- 修复纯 API 模式下 `auth.json` 没有写入 API Key 的问题,并固定供应商 provider 名称为 `CodexPlusPlus`。
- 优化模型目录写入方式,支持与原始模型目录合并,并在预览中显示真实路径。
- 供应商配置页新增模型插入方式、模型列表、上下文大小、压缩上下文大小、目标功能等配置项。
- 官方模式下隐藏仅混入 API Key 场景使用的模型列表和模型插入方式。
- 将 Base URL、API Key、上游协议移动到模型列表之前,测试模型和上下文选项收进「更多选项」。
- 修复 `model_reasoning_effort`、`plan_mode_reasoning_effort` 重复写入导致 TOML 解析失败的问题。
- 修复重复插件表、空配置体、布尔值解析等导致配置文件解析失败的问题。
- 优化供应商详情页布局,保持顶部返回和提示区域固定,增大默认窗口尺寸并减少顶部缝隙。
- 移除脚本安装时的 checksum 阻断,避免市场脚本校验不一致导致安装失败。
- 清理关于页和状态页中不需要展示的登录、当前供应商、配置文件路径等信息。
- 调整提示信息居中显示,避免遮挡重启按钮。
- 更新讨论群二维码、README 说明和 macOS DMG 打包脚本。
Loading