makecindy / makecindy/cindy

新会话默认引擎/模型缺少显式设置项:禁用 Claude Code/Codex 后新会话仍默认 cc

Open
#4,285 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2.7k
Forks
401
Avg merge
21h 48m
Merged PRs (30d)
776

Description

## 使用场景

用户主用 Pi 引擎 + 自定义供应商(GLM Coding Plan),希望所有新会话默认走 Pi + 指定模型。

## 当前痛点

1. 「新会话默认用哪个引擎/模型」**没有显式设置项**。当前行为是隐式记住「上次新会话草稿的引擎」,用户无法查看、无法主动设置。
2. 我在设置中已关闭 Claude Code 和 Codex,但新建会话仍默认 Claude Code,每次都要手动切到 Pi。
3. 引擎不可用时的回退顺序硬编码为 `cc → codex → pi`,cc 永远优先;「禁用引擎」的设置也不影响新会话默认引擎的可用性判定。

## 复现步骤

1. 配置自定义供应商(如 GLM Coding Plan),三个引擎接入点均配置可用
2. 在设置中关闭 Claude Code 与 Codex
3. 新建会话
4. 输入框引擎选择器仍为 Claude Code,需手动切换

## 期望行为

1. 提供显式的「新会话默认引擎 + 默认模型」设置项(可见、可改)
2. **我设的默认是什么,新会话就用什么**,不被隐式状态或回退逻辑覆盖
3. 已禁用的引擎不参与新会话默认值与回退候选
4. 若保留「记住上次使用」逻辑,应在设置中展示当前实际生效的默认值

## 技术定位(0.1.78 逆向,供参考)

- 新会话默认引擎持久化在 localStorage `xdt:newMakerDraft:v1:` 的 `vendor` 字段,`lastByVendor` 记录各引擎上次的模型/供应商
- 仅在 UI 切换引擎时顺带写入,无独立设置入口
- 引擎不可用时的回退顺序硬编码 `["cc","codex","pi"]`,取第一个可用项
- `defaultTupleCustomized` / `defaultTupleSelectionCustomized` 已有「默认三元组」概念,但未暴露为可见设置

## 环境

- Cindy 版本:0.1.78 (macOS)
- OS: macOS 26.6.2 arm64
- 界面语言: zh-CN

Contributor guide

Open the contributing guide

Research direction

Search for the localStorage key `xdt:newMakerDraft:v1:`, `lastByVendor`, `defaultTupleCustomized`, and the hard-coded `cc`/`codex`/`pi` fallback. Trace the new-session engine selector and settings UI first; done means an explicit engine/model default is visible and respected, disabled engines are excluded, and the existing fallback behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.