Skip to content

feat(grok-build): host Grok Build as a Cindy harness like Claude Code - #3967

Open
yuchenlin wants to merge 40 commits into
makecindy:mainfrom
yuchenlin:feat/grok-build-hosted-harness
Open

feat(grok-build): host Grok Build as a Cindy harness like Claude Code#3967
yuchenlin wants to merge 40 commits into
makecindy:mainfrom
yuchenlin:feat/grok-build-hosted-harness

Conversation

@yuchenlin

@yuchenlin yuchenlin commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

这次改了什么

摘要

把 Grok Build 做成和 Claude Code / Pi 同级的 Cindy 托管 harness:走 Cindy Pi loop + SuperGrok / 网关,独占 Grok catalog slug,不要独立 ACP / grok login 通道。本 PR 从当前 main 重放,替代 #3479

变更类型

  • feat 新功能

范围

  • 关联 Issue / 需求:替代 feat(maker-core): add optional Grok Build ACP harness #3479;对齐 MagicLizi 的 harness 产品条;讨论 issue 维护者确认:#3967 将 Grok Build 做成 Cindy 一等 harness #3969
  • 本 PR 包含:Cindy hosted loop 注册、SuperGrok 来源门禁、独占 Grok 钉 xAI、rewind/fork 走 Pi tail-turn、统一选择器 harness chip
  • 明确不包含:删除遗留 ACP 模块;合入 product hold;修 grok-build 会话后 composer 翻成 Opus 的落盘问题
  • 用户可见变化:模型选择器里独占 Grok 行可切 Grok Build;未连 SuperGrok 时引导去设置 → 模型供应商
  • 是否存在 breaking change:无

UI 变化

  • 引用的设计规范:DESIGN.md §Select & Dropdown(统一选择器 trigger / harness chip,Grok Build 是引擎芯片不是模型行);DESIGN.md §15 色彩与 docs/design-rules/cindy-design-system.md(新增 engine-badge-grok-build 中性石墨灰,与 cc/codex/pi 徽标可区分,light/dark 同值)。权限档文案对齐 Pi 托管循环的 ask / auto / bypass,不再描述 ACP。

改动后界面效果(统一选择器独占 Grok 行的 Grok Build harness chip + 权限档):

<div class="unified-row" data-model="grok-4.6" data-source="xai">
  <span class="model-name">Grok 4.6</span>
  <span class="badge-sub">Subscription</span>
  <button type="button" data-engine-badge="grok-build" aria-pressed="true"
    style="background: color-mix(in srgb, #6b7280 14%, transparent); border-color: color-mix(in srgb, #6b7280 30%, transparent);">
    Grok Build
  </button>
</div>
<div class="permission-selector" data-vendor="grok-build">
  <button data-mode="ask">Default permissions — Read-only tools run directly; writing files, running commands, and MCP tools ask each time.</button>
  <button data-mode="auto">Auto-review — In-workspace writes and safe commands run automatically; out-of-workspace writes, risky commands, and MCP tools still ask.</button>
  <button data-mode="bypassPermissions">Full access — Routine tools run without asking. Highest risk.</button>
</div>

怎么验证的

自动验证

# hosted identity (real GrokBuildAgent)
pnpm --dir packages/maker-core test src/agents/grok-build/__tests__/grok-build-capabilities.test.ts src/agents/grok-build/__tests__/grok-build-session.test.ts
结果:7/7 pass

# source-ready (hasUsableConnectedSource)
pnpm --dir packages/model-providers test src/__tests__/source-registry.test.ts
结果:67/67 pass

# exclusive route + remote readiness + rewind/fork
NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir apps/desktop test \
  src/main/maker-host/__tests__/model-route-guard.test.ts \
  src/renderer/__tests__/vendorAuthGateRemoteReadiness.test.ts \
  src/main/__tests__/rewind.test.ts \
  src/main/__tests__/fork.test.ts
结果:120/120 pass(含 grok-build tail-turn rewind/fork)

# design-tokens classification (engine-badge-grok-build)
pnpm --dir packages/design-tokens generate
pnpm --dir packages/design-tokens test src/__tests__/classification.test.ts
结果:9/9 pass;classification.json snapshotCount=521,含 engine-badge-grok-build

# extra
pnpm --dir packages/maker-core test src/agents/grok-build
pnpm --dir packages/model-providers test src/__tests__/unifiedSelection.test.ts
NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir apps/desktop test src/main/maker-host/__tests__/catalogDerivedModels.test.ts
pnpm --dir apps/mobile test src/__tests__/agentAuthGate.test.ts src/__tests__/newSession.test.ts
结果:全部通过

平台:macOS arm64 本地 worktree /Users/yuchenlin/cindy-hosted-pr,基于当前 origin/main

手工验证

Cindy Electron 隔离沙箱 CindyGlobal-dev2-dev(CDP 9222):新建会话,Grok Build only + Grok 4.6,发送 Reply with exactly: PONG-HOSTED-GROK-BUILD。会话 aa769416 回了 PONG-HOSTED-GROK-BUILD。无 grok-login 弹窗,无 default-gateway SuperGrok 报错。DB agent_kind=grok-build

未执行的验证

  • 全量 desktop vitest(本机 OOM)
  • Windows 全量本地(依赖 CI)
  • 移动端完整会话

风险

风险分类

影响与回滚

  • errandPrefsStore.tsGHOST_ERRAND_AGENT_KINDScc|codex|pi 扩成含 grok-build。已装 Ghost / errand 插件读这份词汇表时会多一个合法 agent;旧偏好 JSON 没有该键时仍按原三档解析,不改存量批准状态或指纹。回滚:还原该数组并撤回 harness 注册即可,无需 migration。
  • 独占 Grok 未连 SuperGrok、或目录没有该 slug 拷贝时,发送会被门禁 / route guard 拦住,不会再 fail-open 进默认网关。
  • 回滚路径:关闭本 PR / revert feat/grok-build-hosted-harness;不改 schema。ACP 文件仍在树里但 host 不 spawn。

Why

MagicLizi 的条是:Grok Build 必须是 Cindy 一等 harness,坐在模型面 / 计费上,带 MCP / Orca / Ghost 和 rewind / fork / steer / plan。独立 ACP + grok login 不是这个产品。

What

  • GrokBuildAgent 继承 Cindy hosted Pi loop。kind 仍是 grok-build
  • 注册跟 Cindy hosted loop,不看 PATH grok
  • Auth 是 SuperGrok / Cindy 网关。未鉴权去设置 → 模型供应商。不跑 grok login,不读 ~/.grok/auth.json
  • 模型只投影独占 Grok catalog slug。没有 grok-build 模型行。
  • 独占 Grok 在 xAI 已连接且有目录拷贝时钉 SuperGrok;断连或没有该 slug 的拷贝则 exclusive-source-unavailable
  • rewind / fork 走 Pi tail-turn,不再 ACP fail-closed。

ACP client / detect / stdio 文件还在树里,host spawn grok agent stdio

Supersedes #3479.

Replay the hosted-harness work onto current main. Grok Build is a fourth
Cindy harness (kind grok-build) on the Pi loop: SuperGrok / gateway auth,
exclusive Grok catalog models, MCP / rewind / fork / plan. It is not
grok agent stdio and does not use grok login.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds Grok Build as a fourth Cindy harness by subclassing the hosted Pi runtime, projecting exclusive Grok catalog models, routing them through SuperGrok/xAI, and extending desktop, mobile, persistence, automation, IPC, and UI contracts.

  • Registers Grok Build from Cindy’s managed hosted loop with a separate session home.
  • Extends agent-kind contracts, model selection, source readiness, session switching, search, scheduling, Orca, and device-link projections.
  • Adds Grok Build presentation, localization, tests, and retained-but-unused ACP support modules.
  • Two behavioral gaps remain: advertised fork/rewind operations are unconditionally rejected, and source readiness does not validate the selected Grok model.
  • README and permission copy still describe the superseded CLI/ACP architecture.

Confidence Score: 3/5

The PR is not yet safe to merge because advertised fork and rewind operations always fail, and unavailable Grok model slugs can pass source and route admission.

Grok Build exposes inherited hosted-loop capabilities that its orchestration paths explicitly reject, while its readiness and routing special cases validate only the xAI connection rather than the selected model’s availability. The remaining findings are user-facing documentation mismatches.

Files Needing Attention: apps/desktop/src/main/maker-orchestration/fork.ts, apps/desktop/src/main/maker-orchestration/rewind.ts, packages/model-providers/src/registry.ts, apps/desktop/src/main/maker-host/model-route-guard.ts

Important Files Changed

Filename Overview
packages/maker-core/src/agents/grok-build/index.ts Defines Grok Build as a Pi-hosted agent with a distinct kind and disabled Fast mode; inherited capabilities conflict with host-level fork and rewind rejection.
apps/desktop/src/main/maker-host/grok-build-host.ts Registers the harness through the managed Pi loop and isolates its session home from ordinary Pi sessions.
apps/desktop/src/main/maker-host/model-route-guard.ts Pins exclusive Grok routes to xAI but accepts a connected provider even when the selected model copy is absent.
packages/model-providers/src/registry.ts Adds shared Grok Build source readiness, but the special case ignores per-model availability.
apps/desktop/src/main/maker-orchestration/fork.ts Unconditionally rejects Grok Build despite the runtime advertising fork support.
apps/desktop/src/main/maker-orchestration/rewind.ts Unconditionally rejects Grok Build despite the runtime advertising rewind support.
apps/desktop/src/main/maker-host/index.ts Wires Grok Build into the desktop Maker registry with catalog-derived Grok models and shared hosted-loop dependencies.
packages/model-providers/src/unifiedSelection.ts Attaches Grok Build as a harness candidate to exclusive Grok model rows without creating a synthetic model or provider row.
apps/desktop/src/renderer/components/new-chat/ChatInput.tsx Extends unified selection and send readiness to Grok Build while gating exposure on runtime registration.
apps/mobile/src/session/newSession.ts Adds remotely registered Grok Build as an opt-in mobile session choice.
README.md Documents an obsolete PATH-based availability requirement that contradicts the hosted implementation.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
    UI[Desktop or mobile selector] --> Gate[Runtime and source readiness]
    Gate --> Catalog[Exclusive Grok catalog slug]
    Catalog --> Guard[Model route guard]
    Guard --> XAI[SuperGrok / xAI route]
    XAI --> Host[GrokBuildAgent]
    Host --> Pi[Cindy-hosted Pi loop]
    Pi --> Tools[MCP / Orca / Ghost tools]
    Pi --> Session[Session events and persistence]
Loading
Prompt To Fix All With AI
### Issue 1
apps/desktop/src/main/maker-orchestration/fork.ts:697-702
**Advertised actions always fail**

Grok Build inherits Pi's `fork` and `rewind` capabilities as supported, and the capability test explicitly requires both. The UI therefore exposes these actions, but this guard rejects every Grok Build fork before the Pi-compatible path runs; the matching guard in `rewind.ts:187-192` does the same for rewind. Users who click either advertised action always receive an unsupported-history error. Grok Build should either use the hosted Pi implementations or report both capabilities as unsupported.

### Issue 2
packages/model-providers/src/registry.ts:321-325
**Readiness ignores model availability**

For Grok Build, this branch ignores `modelId` and treats any connected xAI provider as a usable source. The route guard in `apps/desktop/src/main/maker-host/model-route-guard.ts:128-137` likewise pins xAI when the selected model has no catalog copy. A stale or default Grok slug that the connected account does not offer can therefore pass the picker and send gates, then fail during route resolution or upstream invocation instead of being rejected or reconciled to an available model.

### Issue 3
README.md:26
**README states wrong prerequisite**

This says Grok Build is available when the `grok` CLI is on PATH, but the implementation registers it from Cindy's managed Pi runtime and does not consult that CLI. Users without `grok` can still receive the harness, while installing `grok` does not ensure that the hosted runtime is available. Update this line and the matching Chinese text in `README.zh-CN.md:29` to describe the hosted-loop and SuperGrok requirements.

### Issue 4
apps/desktop/src/renderer/i18n/locales/en/common.json:7327-7338
**Permission copy describes ACP**

These new descriptions tell users that Grok Build uses ACP prompts, ACP interception, and ACP-style always-approve behavior, although this PR replaces ACP execution with the Cindy-hosted Pi loop. That describes a permission boundary the runtime does not use and can mislead users choosing between Default permissions, Auto-review, and Full access. Update this text and the corresponding Japanese, Korean, Simplified Chinese, and Traditional Chinese entries to describe the actual hosted-loop approval behavior.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "feat(grok-build): host Grok Build on the..." | Re-trigger Greptile

Comment thread apps/desktop/src/main/maker-orchestration/fork.ts Outdated
Comment thread packages/model-providers/src/registry.ts
Comment thread README.md Outdated
Comment thread apps/desktop/src/renderer/i18n/locales/en/common.json Outdated
GrokBuildAgent advertises rewind/fork. The ACP-era host guards still
rejected every grok-build session and would have fallen through to
Claude checkpoints. Route them through the Pi tail-turn path instead.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@MagicLizi

Copy link
Copy Markdown
Contributor

@yuchenlin 👋 这个 PR 还有 4 条 review conversation 没 resolve(apps/desktop/src/main/maker-orchestration/fork.ts / packages/model-providers/src/registry.ts / README.md / apps/desktop/src/renderer/i18n/locales/en/common.json),auto-review 因此暂时跳过、没法继续审查 / 合并。

如果你已经按评论改完或回应了,请到对应 thread 上点 Resolve conversation;全部 resolve 后,下一轮 auto-review 会自动重新审查这个 PR。

@MagicLizi MagicLizi added touches:core 改动碰到架构核心路径(review-pr 自动维护,仅展示) touches:plugin-base 改动碰到插件基座(review-pr 自动维护,仅展示) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) touches:redline 改动碰到红线路径(updater / DB schema 等,review-pr 自动维护,仅展示) labels Sep 5, 2026
Route exclusive Grok readiness through SuperGrok plus a real catalog copy.
Reject grok-build routes with no xAI model copy. Update README, permission
copy, IM merge snapshot, color freeze, and fail-open source assertions.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@yuchenlin

Copy link
Copy Markdown
Contributor Author

四条 Greptile conversation 已改完并 resolve:

  1. fork/rewind 广告能力却 fail-closed — 已走 hosted Pi tail-turn(25b47f9a2)。
  2. source-ready 只看 xAI 已连接、不看模型拷贝 — 现在要 SuperGrok 目录里有该独占 Grok slug;没有拷贝则 route guard reject。
  3. README 还写 PATH grok — 改成 SuperGrok + Cindy hosted loop。
  4. 权限文案写 ACP — 五语都改成托管循环的 ask / auto / bypass。

另外补了 CI:引用的设计规范、IM merge 快照、color freeze、newMakerProjectPicker fail-open 断言。

@MagicLizi

Copy link
Copy Markdown
Contributor

这条 PR 需要维护者确认后才能合并,自动审查不会代为放行。

原因:

  • 产品:把 Grok Build 做成一等 harness,并改到模型选择 / 设置等界面;
  • 插件基座:改到 errandPrefsStore.ts,会影响全部已装插件的兼容;
  • 架构:核心路径和大 diff。

请维护者直接在本 PR 上 Approve;若要改,请 Request Changes,作者改完后再 Approve。讨论 issue:#3969

另外,Description 还缺「这次改了什么 / 怎么验证的 / 风险」三段,界面改动也还没有效果证据(截图、录屏或 HTML)。这些会另开格式打回,不代替本次维护者确认。

@MagicLizi

Copy link
Copy Markdown
Contributor

命中 UI 路径(模型选择、设置、侧栏图标、用量等)但 description 未附界面效果证据。建议补充改动后效果:截图/录屏,或改动后界面的 HTML 页面(```html 代码块、.html 附件或在线预览链接),便于确认界面符合 DESIGN.md。

@MagicLizi MagicLizi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

格式门仍未通过,请按仓库 PR 模板补全 Description 后再请求审查。

  • Description 缺段落:怎么验证的 / 风险
    当前正文有 Why / What,但仍对不上 .github/PULL_REQUEST_TEMPLATE.md 要求的三段。请明确写出:
    1. 怎么验证的(实际跑过的命令、平台、关键回归);
    2. 风险(插件基座 errandPrefsStore.ts、存量插件兼容、核心路径/大 diff、模型面与计费)。

…shot

Regenerate classification.json from the desktop color freeze so the
new Grok Build harness badge is counted (521) and classification.test.ts
matches disk.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@yuchenlin

Copy link
Copy Markdown
Contributor Author

Description 已按模板补全:

  • 这次改了什么(含 UI 变化 + DESIGN.md 引用 + HTML 效果证据)
  • 怎么验证的(实际命令与结果,含 hosted identity / source-ready / route / rewind-fork / design-tokens)
  • 风险errandPrefsStore.ts 存量插件词汇表扩 grok-build、模型面/计费、回滚路径)

design-tokens 分类快照也已 regenerate:engine-badge-grok-buildclassification.json(count 521)。

yuchenlin and others added 10 commits September 5, 2026 02:56
The glossary gate requires 「Agent」 in zh-CN / zh-TW. Lowercase agent
failed verify-checks.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
Annotate hosted-loop opts, accept null agent-home ids, and include
grok-build in IM/Ghost/errand Record unions and test fixtures.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
CI merge-ref includes main's workspaceKind field on the preference
store. The grok-build persist assertion must match that shape.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
SessionUsageSummary indexed a 3-harness label map with RemoteSession.agentKind,
which now includes grok-build. Use the existing mobileAgentLabel helper.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
yuchenlin and others added 3 commits September 5, 2026 22:28
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
Windows unit tests (1/2) timed out in cindySubagentRunner
"refuses to forward an approval once a stop is already waiting"
(30s wait for stopped; runner published completed). This PR does
not touch that test; retrigger only.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@yuchenlin
yuchenlin force-pushed the feat/grok-build-hosted-harness branch from e8011a8 to eb6e949 Compare September 6, 2026 07:14
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Keep hosted-loop deps object for Pi and Grok Build, and take main's resolveModelContextLimit plus PiModelApi protocol fields.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
makecindy#3987 added Record<AgentKind> color/label/mark tables that omit the fourth harness. Desktop typecheck fails verify-checks.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@MagicLizi

Copy link
Copy Markdown
Contributor

@yuchenlin 👋 这个 PR 目前与 main 有合并冲突,auto-review 因此暂时跳过、没法继续审查 / 合并。

请在本地 merge 最新的 origin/main 解决冲突后推送;冲突解除后,下一轮 auto-review 会自动重新处理这个 PR。

Keep grok-build host registration and AgentKind unions while taking
upstream Bot runtime deps, remoteHostId skill params, and bot IPC types.
Refresh design-token fixture counts for the merged palette.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
BotModelChainEditor only hosts claude/codex/pi. SelectableVendor now
includes grok-build, so ignore that engine on unified select instead of
passing it into BotHarness.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@MagicLizi
MagicLizi dismissed their stale review September 6, 2026 20:19

这些问题已在当前 head 的后续 commit 中修复(格式门/安全门已通过),自动 dismiss 旧的 CHANGES_REQUESTED 以解除合并阻塞。

@yuchenlin

Copy link
Copy Markdown
Contributor Author

冲突已解:head 已 merge 当前 origin/main(含 #2829 bots)。Bot 模型链仍只走 Claude / Codex / Pi 三引擎,Grok Build 不进入 teammate/worker 派发(#3969 另议)。verify-checks 的 typecheck 刚补上。

yuchenlin and others added 7 commits September 6, 2026 13:35
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
Windows unit tests (1/2) timed out in windowsPackagedInstanceBarrier
"holds the packaged startup mutex until release and allows a later retry".
This PR does not touch that test; retrigger only.

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
@yuchenlin
yuchenlin force-pushed the feat/grok-build-hosted-harness branch from f7980d6 to 695819d Compare September 7, 2026 05:23
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
…d-harness

Signed-off-by: Bill Yuchen Lin <10104354+yuchenlin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-discussion 等待维护者讨论(review-pr) touches:core 改动碰到架构核心路径(review-pr 自动维护,仅展示) touches:plugin-base 改动碰到插件基座(review-pr 自动维护,仅展示) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) touches:redline 改动碰到红线路径(updater / DB schema 等,review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants