chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:31:29 +08:00
commit d03c025041
70 changed files with 14796 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
name: Bug 报告
description: 工具本身报错、崩溃、同步结果异常时使用
title: "bug: "
labels:
- bug
- needs-info
body:
- type: markdown
attributes:
value: |
请尽量完整填写。缺少版本、系统、状态输出或日志时,通常无法判断是工具问题、Codex Desktop 问题,还是 encrypted_content / SQLite 损坏等边界情况。
- type: input
id: version
attributes:
label: codex-provider-sync 版本
description: 例如 v0.2.4。GUI 版本请填写 Release 版本;CLI 版本请填写 `npm list -g codex-provider-sync` 或安装来源。
placeholder: v0.2.4
validations:
required: true
- type: dropdown
id: entrypoint
attributes:
label: 使用方式
options:
- Windows GUI EXE
- npm 全局 CLI
- 仓库源码运行
- 其它
validations:
required: true
- type: input
id: os
attributes:
label: 系统版本
placeholder: Windows 11 24H2 / Windows 10 / macOS 15.x
validations:
required: true
- type: input
id: codex
attributes:
label: Codex 使用方式和版本
description: 例如 Codex Desktop / Codex CLI,以及版本号或大概更新时间。
placeholder: Codex Desktop,版本未知
validations:
required: true
- type: textarea
id: steps
attributes:
label: 复现步骤
description: 从 provider 切换、Refresh、Execute、sync/switch 命令开始写,尽量按时间顺序。
placeholder: |
1. 关闭 Codex Desktop
2. 切换 provider 到 ...
3. 打开 CodexProviderSync.exe,点击 Refresh
4. 点击 Execute 后出现 ...
validations:
required: true
- type: textarea
id: actual
attributes:
label: 实际结果
description: 报错文本、截图文字、终端输出都可以贴这里。
validations:
required: true
- type: textarea
id: expected
attributes:
label: 预期结果
validations:
required: true
- type: textarea
id: diagnostics
attributes:
label: status / GUI Refresh 诊断文本
description: 优先粘贴完整输出。CLI 可运行 `codex-provider status`GUI 请复制 Refresh 后状态区文本。
render: text
validations:
required: true
- type: textarea
id: logs
attributes:
label: 日志或错误堆栈
description: EXE 启动问题请贴 `%AppData%\codex-provider-sync\startup-error.log`CLI 问题请贴终端完整输出。
render: text
validations:
required: false
- type: checkboxes
id: boundary
attributes:
label: 确认事项
options:
- label: 我理解本工具只同步可见性 metadata,不处理登录、认证或 auth.json。
required: true
- label: 我理解含 encrypted_content 的历史会话跨 provider/account 后可能不能继续对话。
required: true
- label: 我理解本工具不会修改 updated_at,也不会通过改变排序来修复 Desktop 显示。
required: true
+8
View File
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 下载最新版本
url: https://github.com/Dailin521/codex-provider-sync/releases/latest
about: 先确认你正在使用最新版本。
- name: 阅读中文 README
url: https://github.com/Dailin521/codex-provider-sync/blob/main/README.md
about: 查看 sync / switch / restore 的区别和工具能力边界。
@@ -0,0 +1,85 @@
name: Desktop 历史会话不显示
description: CLI 能看到,但 Codex Desktop 项目侧显示“暂无对话”或历史会话缺失时使用
title: "desktop: "
labels:
- upstream-desktop
- needs-info
body:
- type: markdown
attributes:
value: |
这类问题经常和 Codex Desktop 自身的项目筛选、分页加载、cwd 路径匹配或 SQLite 状态有关。请完整提供诊断文本,不要只贴“暂无对话”截图。
- type: input
id: version
attributes:
label: codex-provider-sync 版本
placeholder: v0.2.4
validations:
required: true
- type: input
id: os
attributes:
label: 系统版本
placeholder: Windows 11 24H2
validations:
required: true
- type: input
id: provider
attributes:
label: 当前 provider
description: 填写你希望 Desktop 当前显示历史会话的 provider,例如 openai / dal / apigather。
placeholder: dal
validations:
required: true
- type: input
id: project_path
attributes:
label: 不显示历史的项目路径
placeholder: D:\GitHubProject\oss-maintainer-hub
validations:
required: true
- type: dropdown
id: cli_visible
attributes:
label: CLI 是否能看到这些历史会话
options:
- 是,codex resume 能看到
- 否,CLI 也看不到
- 不确定
validations:
required: true
- type: textarea
id: diagnostics
attributes:
label: status / GUI Refresh 完整诊断文本
description: 必填。需要包含 Current provider、Rollout files、SQLite state、Project visibility diagnostics。
render: text
validations:
required: true
- type: textarea
id: screenshot
attributes:
label: Desktop 截图或现象说明
description: 可贴项目侧“暂无对话”、Recent、CLI resume 的截图。
validations:
required: false
- type: textarea
id: sync_steps
attributes:
label: 你执行过的同步步骤
placeholder: |
1. 关闭 Codex Desktop
2. 切换 provider 到 ...
3. 运行 sync / switch ...
4. 重启 Desktop 后 ...
validations:
required: true
- type: checkboxes
id: boundary
attributes:
label: 确认事项
options:
- label: 我理解 CLI 可见但 Desktop 不显示时,可能是 Codex Desktop 上游显示逻辑问题。
required: true
- label: 我理解本工具不会修改 updated_at,也不会通过改变排序来让旧会话进入前排。
required: true
+60
View File
@@ -0,0 +1,60 @@
name: 使用问题 / 切换咨询
description: 不确定该运行 sync、switch、restore,或需要确认工具边界时使用
title: "support: "
labels:
- support
- needs-info
body:
- type: markdown
attributes:
value: |
如果是崩溃、报错或明确 bug,请优先使用 Bug 报告模板。如果是 Codex Desktop 项目侧不显示历史会话,请使用 Desktop 历史会话不显示模板。
- type: input
id: version
attributes:
label: codex-provider-sync 版本
placeholder: v0.2.4
validations:
required: true
- type: dropdown
id: goal
attributes:
label: 你想做什么
options:
- 当前 provider 不变,只恢复历史会话可见性
- 切换 provider 并同步历史会话
- 从备份恢复
- 不确定应该怎么选
validations:
required: true
- type: input
id: current_provider
attributes:
label: 当前 provider
placeholder: openai / dal / apigather
validations:
required: false
- type: textarea
id: diagnostics
attributes:
label: status / GUI Refresh 诊断文本
description: 有输出请完整粘贴;没有输出请说明卡在哪一步。
render: text
validations:
required: false
- type: textarea
id: question
attributes:
label: 具体问题
placeholder: 描述你现在的状态、执行过什么、想达到什么结果。
validations:
required: true
- type: checkboxes
id: boundary
attributes:
label: 确认事项
options:
- label: 我理解 sync 不会切换登录账号,也不会处理 auth.json。
required: true
- label: 我理解 encrypted_content 跨 provider/account 后可能不能继续对话。
required: true
+25
View File
@@ -0,0 +1,25 @@
name: ci
on:
push:
branches:
- main
pull_request:
jobs:
test:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
node-version:
- "16"
- "24"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm ci
- run: npm test
+75
View File
@@ -0,0 +1,75 @@
name: publish
on:
push:
tags:
- "v*"
jobs:
publish:
runs-on: windows-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "24"
cache: npm
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- run: npm ci
- run: npm test
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj
- name: Build Windows GUI
shell: pwsh
run: ./scripts/publish-gui.ps1 -Output artifacts/win-x64
- name: Package release assets
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$version = "${{ github.ref_name }}".TrimStart("v")
$assetRoot = "artifacts/release"
New-Item -ItemType Directory -Force -Path $assetRoot | Out-Null
$exe = "artifacts/win-x64/CodexProviderSync.exe"
$zip = Join-Path $assetRoot "codex-provider-sync-v$version-win-x64.zip"
Compress-Archive -Path "artifacts/win-x64/*" -DestinationPath $zip -Force
Copy-Item $exe (Join-Path $assetRoot "CodexProviderSync.exe") -Force
$assets = Get-ChildItem -File $assetRoot | Sort-Object Name
$checksums = foreach ($asset in $assets) {
$hash = (Get-FileHash -Algorithm SHA256 -LiteralPath $asset.FullName).Hash.ToLowerInvariant()
"$hash $($asset.Name)"
Set-Content -LiteralPath "$($asset.FullName).sha256" -Value "$hash $($asset.Name)" -Encoding ASCII
}
Set-Content -LiteralPath (Join-Path $assetRoot "checksums.txt") -Value $checksums -Encoding ASCII
- name: Upload release assets
uses: softprops/action-gh-release@v2
with:
files: |
artifacts/release/*
body: |
## Windows SmartScreen 提示
当前 Windows GUI 未做代码签名,首次运行时可能提示“发布者未知”或“Windows 已保护你的电脑”。这是未签名 EXE 的常见提示。
请确认下载来源是本项目 GitHub Releases,并可用随附的 SHA256 文件校验后运行。
## 安全边界
- 不会修改 auth.json
- 不会改写对话正文或消息历史
- 不会修改 updated_at 来改变排序
- 不会重新加密 encrypted_content
## 回滚
可使用 `codex-provider restore <backup-dir>` 恢复本工具创建的备份。
## 已知事项
含 encrypted_content 的历史会话跨 provider/account 后,通常只能恢复列表可见性;继续对话或 compact 仍可能失败。