Skip to content

Commit 367c5a8

Browse files
committed
chore: remove request orchestration business
1 parent df71472 commit 367c5a8

24 files changed

Lines changed: 68 additions & 2789 deletions

File tree

app_request_orchestration.go

Lines changed: 0 additions & 31 deletions
This file was deleted.

docs-linhay/memory/2026-05-11.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,10 @@
66
- 验收结论:请求编排 V1 的 APP 层工作台、Wails `apply / restore` 闭环和桌面窗口截图验收已补写到 `docs-linhay/spaces/20260502-request-orchestration-menu/README.md`
77
- 已知风险:本机 `npm --prefix frontend run build``./scripts/wails-cli.sh build` 仍存在产物输出后进程不退出问题;本轮按构建链路风险单独记录,不混入请求编排功能实现。
88
- 收口策略:请求编排剩余工作按一个实现批次提交,范围限定为前端页面 / 模型、Wails 后端 apply/restore、bindings、space 文档、memory 与项目 skill。
9+
10+
## 请求编排业务移除
11+
12+
- 用户决策:进入 V2 前明确要求完整移除请求编排业务,并记录为新 space。
13+
- 新 space:`docs-linhay/spaces/20260511-remove-request-orchestration/`
14+
- 移除范围:一级菜单、前端页面与 feature、Wails `RequestOrchestration` 接口、Go 实现与测试、生成 bindings 中的请求编排导出。
15+
- 保留范围:`docs-linhay/spaces/20260502-request-orchestration-menu/` 作为历史归档,不删除旧设计稿、截图和 debate。

docs-linhay/spaces/20260502-request-orchestration-menu/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@
447447
- 网络代理研究:`docs-linhay/spaces/20260429-network-proxy/README.md`
448448

449449
## 当前状态
450-
- 状态:V1 APP 层工作台与后端 apply / restore 闭环已实现,真实桌面窗口 apply / restore 已完成截图验收
450+
- 状态:retired,业务代码已按 `docs-linhay/spaces/20260511-remove-request-orchestration/` 移除,本文档仅作历史归档
451451
- 最近更新:2026-05-11
452452
- 已完成:
453453
- 新增独立一级菜单与请求编排页面入口

docs-linhay/spaces/20260505-cc-switch-coverage-roadmap/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 背景
44

5-
本 space 保存 2026-05-05 对照 `cc-switch` 后形成的后续路线判断。`cc-switch` 是多 CLI provider / MCP / Prompts / Skills / 代理 / 用量 / 同步的一体化配置管理器;GetTokens 当前主线是账号池、quota、sidecar relay、请求编排和 Codex 工作台。
5+
本 space 保存 2026-05-05 对照 `cc-switch` 后形成的后续路线判断。`cc-switch` 是多 CLI provider / MCP / Prompts / Skills / 代理 / 用量 / 同步的一体化配置管理器;GetTokens 当前主线是账号池、quota、sidecar relay Codex 工作台。
66

77
本轮结论不是“照搬 cc-switch”,而是识别哪些能力值得纳入 GetTokens 的 token/account/workbench 定位,哪些能力应延后或明确不做。
88

@@ -11,7 +11,6 @@
1111
1. 保存 cc-switch 业务覆盖差异,作为后续 backlog。
1212
2. 明确 GetTokens 应该优先补的方向:
1313
- provider 级测试配置
14-
- 真实请求编排落地
1514
- 请求日志与成本账
1615
- MCP / Prompts / Skills 的最小工作台
1716
3. 明确不应优先投入的方向:
@@ -26,7 +25,6 @@
2625
### P0:核心闭环
2726

2827
- Provider/card 级测试配置:模型、prompt、timeout、结果日志、失败原因。
29-
- 请求编排接真实后端配置:入口、账号组、账号、代理出口、测试结果与应用动作要能闭环。
3028
- 请求日志与成本账:记录请求走过的账号、出口、模型、token、成本、错误和耗时。
3129

3230
### P1:工作台扩展
@@ -48,7 +46,7 @@
4846
2. 不在本期创建 worktree 或进入实现。
4947
3. 不承诺全 CLI 覆盖。
5048
4. 不把 sidecar truth、本地配置文件、API key store 和 auth files 强行合并成单一 SQLite 真源。
51-
5. 不为了功能完整度牺牲请求编排和账号池的可理解性
49+
5. 不为了功能完整度牺牲账号池与 relay 工作台的可理解性
5250

5351
## 验收标准
5452

@@ -75,7 +73,7 @@
7573
- 参考项目:`docs-linhay/references/cc-switch/`
7674
- cc-switch README:`docs-linhay/references/cc-switch/README_ZH.md`
7775
- 记忆:`docs-linhay/memory/2026-05-05.md`
78-
- 已有关联空间`docs-linhay/spaces/20260502-request-orchestration-menu/`
76+
- 历史归档`docs-linhay/spaces/20260502-request-orchestration-menu/`(请求编排业务已于 2026-05-11 移除)
7977
- 已有关联空间:`docs-linhay/spaces/20260502-claude-code-api-key-mode/`
8078

8179
## 当前状态
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Remove Request Orchestration
2+
3+
## 背景
4+
2026-05-11 用户明确要求“完整移除请求编排这部分业务”,并要求本轮记录为新的 space。
5+
6+
此前 `20260502-request-orchestration-menu` 已完成 V1:独立一级菜单、前端工作台、Wails `apply / restore` 与本地配置快照。但进入 V2 评估后,用户决定不再保留这条业务线。
7+
8+
## 目标
9+
1. 从产品入口中移除 `请求编排` 一级菜单。
10+
2. 从前端删除请求编排页面、feature、模型、测试和本地 page persistence 入口。
11+
3. 从 Wails / Go 层删除请求编排配置、快照、apply / restore 接口和测试。
12+
4. 从生成绑定中删除对应 JS / d.ts / models 导出,避免前端仍可调用废弃 API。
13+
5. 保留历史 space 作为归档,不删除历史需求、设计稿、截图和 debate。
14+
15+
## 范围
16+
- 前端导航、页面路由、页面持久化与 unit tests。
17+
- `frontend/src/features/request-orchestration/``frontend/src/pages/RequestOrchestrationPage.tsx`
18+
- `app_request_orchestration.go``internal/wailsapp/request_orchestration.go` 与对应测试。
19+
- `frontend/wailsjs/go/main/App.js``frontend/wailsjs/go/main/App.d.ts``frontend/wailsjs/go/models.ts` 中的请求编排绑定。
20+
- 文档、memory、qmd 索引。
21+
22+
## 非目标
23+
- 不清理用户本机已有的 `~/.config/gettokens-data/request-orchestration/` 运行时残留文件。
24+
- 不删除 `docs-linhay/spaces/20260502-request-orchestration-menu/` 历史归档。
25+
- 不重做账号池、代理池或 relay routing 配置。
26+
- 不处理本机 `npm run build` / Wails build 产物输出后进程不退出的既有风险。
27+
28+
## 验收标准
29+
1. Given 用户打开应用,When 查看侧边栏,Then 不再看到 `请求编排` 一级菜单。
30+
2. Given 本地存储或 URL hash 仍指向 `request-orchestration`,When 应用解析初始页面,Then 回退到默认页面而不是进入请求编排。
31+
3. Given 前端单测运行,Then 不再引用 `frontend/src/features/request-orchestration/model.test.mjs`
32+
4. Given Go 测试运行,Then 不再存在请求编排 Wails 接口测试或实现。
33+
5. Given 搜索业务代码,Then `RequestOrchestration` / `request-orchestration` 不再出现在前端、Go 业务代码和 Wails bindings 中。
34+
6. Given 文档检查运行,Then 新 space 结构合法,旧 space 保持历史归档。
35+
36+
## 设计稿入口
37+
38+
- 本期设计稿:`(未产出)`
39+
- 约束:单期只保留一个 HTML 文件;若存在多稿对比,也必须收敛在同一个 HTML 文件内。
40+
41+
## Worktree 映射
42+
43+
- branch:`feat/20260511-remove-request-orchestration`
44+
- worktree:`../GetTokens-worktrees/20260511-remove-request-orchestration/`
45+
46+
## 相关链接
47+
- 历史归档:`docs-linhay/spaces/20260502-request-orchestration-menu/`
48+
- 移除提交:本 space 对应的同轮提交
49+
50+
## 当前状态
51+
- 状态:implemented
52+
- 最近更新:2026-05-11

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"build": "vite build",
99
"preview": "vite preview",
1010
"typecheck": "tsc --noEmit",
11-
"test:unit": "node --test src/utils/version.test.mjs src/utils/pagePersistence.test.mjs src/context/TextScaleContext.test.mjs src/features/settings/settingsRelease.test.mjs src/features/settings/settingsLocalUsage.test.mjs src/features/settings/settingsTextScale.test.mjs src/features/settings/settingsLayout.test.mjs src/features/accounts/tests/accountConfig.test.mjs src/features/accounts/tests/accountDelete.test.mjs src/features/accounts/tests/accountFilters.test.mjs src/features/accounts/tests/accountSelectors.test.mjs src/features/accounts/tests/accountSelection.test.mjs src/features/accounts/tests/accountTransfer.test.mjs src/features/accounts/tests/accountPresentation.test.mjs src/features/accounts/tests/accountOAuth.test.mjs src/features/accounts/tests/accountCardInteractions.test.mjs src/features/accounts/tests/accountHealthMeta.test.mjs src/features/accounts/tests/accountRotation.test.mjs src/features/accounts/tests/apiKeyModelCatalog.test.mjs src/features/accounts/tests/accountUsage.test.mjs src/features/accounts/tests/usageDesk.test.mjs src/features/accounts/tests/openAICompatible.test.mjs src/features/proxy-pool/model.test.mjs src/features/request-orchestration/model.test.mjs src/features/session-management/model.test.mjs src/features/session-management/cache.test.mjs src/features/status/tests/codexFeatureConfig.test.mjs src/features/status/tests/relayLocalState.test.mjs src/components/biz/accountDetailClipboard.test.mjs"
11+
"test:unit": "node --test src/utils/version.test.mjs src/utils/pagePersistence.test.mjs src/context/TextScaleContext.test.mjs src/features/settings/settingsRelease.test.mjs src/features/settings/settingsLocalUsage.test.mjs src/features/settings/settingsTextScale.test.mjs src/features/settings/settingsLayout.test.mjs src/features/accounts/tests/accountConfig.test.mjs src/features/accounts/tests/accountDelete.test.mjs src/features/accounts/tests/accountFilters.test.mjs src/features/accounts/tests/accountSelectors.test.mjs src/features/accounts/tests/accountSelection.test.mjs src/features/accounts/tests/accountTransfer.test.mjs src/features/accounts/tests/accountPresentation.test.mjs src/features/accounts/tests/accountOAuth.test.mjs src/features/accounts/tests/accountCardInteractions.test.mjs src/features/accounts/tests/accountHealthMeta.test.mjs src/features/accounts/tests/accountRotation.test.mjs src/features/accounts/tests/apiKeyModelCatalog.test.mjs src/features/accounts/tests/accountUsage.test.mjs src/features/accounts/tests/usageDesk.test.mjs src/features/accounts/tests/openAICompatible.test.mjs src/features/proxy-pool/model.test.mjs src/features/session-management/model.test.mjs src/features/session-management/cache.test.mjs src/features/status/tests/codexFeatureConfig.test.mjs src/features/status/tests/relayLocalState.test.mjs src/components/biz/accountDetailClipboard.test.mjs"
1212
},
1313
"dependencies": {
1414
"lucide-react": "^1.11.0",

frontend/package.json.md5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2d8ee1371567c636ca754bf2805abd18
1+
132293ca9d3afa4c14dced802e84ebdf

frontend/src/App.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ const AccountsPage = lazy(() => import('./pages/AccountsPage'));
1414
const CodexPage = lazy(() => import('./pages/CodexPage'));
1515
const DebugPage = lazy(() => import('./pages/DebugPage'));
1616
const ProxyPoolPage = lazy(() => import('./pages/ProxyPoolPage'));
17-
const RequestOrchestrationPage = lazy(() => import('./pages/RequestOrchestrationPage'));
1817
const SettingsPage = lazy(() => import('./pages/SettingsPage'));
1918
const StatusPage = lazy(() => import('./pages/StatusPage'));
2019

@@ -62,9 +61,6 @@ function AppShell() {
6261
if (activePage === 'proxy-pool') {
6362
return <ProxyPoolPage />;
6463
}
65-
if (activePage === 'request-orchestration') {
66-
return <RequestOrchestrationPage sidecarStatus={sidecarStatus} />;
67-
}
6864
if (activePage === 'codex') {
6965
return <CodexPage workspace={activeCodexWorkspace} sidecarStatus={sidecarStatus} />;
7066
}

frontend/src/components/biz/Sidebar.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { formatSidebarVersion } from '../../utils/version';
66
const navItems = [
77
{ id: 'status', label: 'nav.status', icon: 'M12 12m-10 0a10 10 0 1 0 20 0a10 10 0 1 0 -20 0 M12 8v4l3 3' },
88
{ id: 'accounts', label: 'nav.accounts', icon: 'M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0' },
9-
{ id: 'request-orchestration', label: 'nav.request_orchestration', icon: 'M4 6h5v5H4z M15 4h5v5h-5z M15 15h5v5h-5z M9 8h3l3-1 M9 10h3l3 7' },
109
{ id: 'proxy-pool', label: 'nav.proxy_pool', icon: 'M3 4h18v6H3z M3 14h8v6H3z M13 14h8v6h-8z' },
1110
{ id: 'codex', label: 'nav.codex', icon: 'M5 4h14v16H5z M8 8h8 M8 12h8 M8 16h5' },
1211
{ id: 'settings', label: 'nav.settings', icon: 'M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0 M12 2v2 M12 20v2 M4.93 4.93l1.41 1.41 M17.66 17.66l1.41 1.41 M2 12h2 M20 12h2' },

0 commit comments

Comments
 (0)