
DeepSeek-Reasonix 桌面端模型设置完全指南供应商接入、生效时机与运行时验证【免费下载链接】DeepSeek-ReasonixDeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running.项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix导读本文以 docs/MODEL_SETTINGS.md 为核心骨架系统讲解 DeepSeek-Reasonix 桌面端Desktop模型设置页的完整使用方式从入口导航、推荐预设与自定义供应商接入到保存后何时生效的运行边界语义再到密钥的 Copy-on-Write 凭据管理、旧版本兼容与 Windows 窗口行为。读完本文你将掌握如何在不打断已有会话的前提下安全地增删改模型配置、正确理解已保存/待应用/应用失败三种状态并了解该功能背后的源码级实现依据desktop/model_settings_*.go与internal/config/model_*.go。进入模型设置入口与页面交互模型设置有两个等价入口设置 → 模型 → 接入Settings → Models → Access聊天模型菜单中的管理模型Manage models。设置中心是独立整页组件会占满整个应用窗口。页面交互遵循以下约定返回工作区Back to workspace回到进入设置前所在的工作区本次应用运行期间再次打开设置会记住上次停留的设置栏目Esc只关闭子弹窗或菜单不会退出设置主页面左栏选择已保存的供应商右栏编辑其连接与模型切换供应商时正在编辑的表单草稿会被保留保存应用当前表单取消丢弃修改直接关闭设置页会丢弃尚未保存的表单。从源码结构看前端通过结构化桥接协议与 Go 侧交互desktop/model_settings_api.go定义了ModelSettingsChange一组封闭的模型操作集合而非整份 Config 替换并维护modelSettingsReceipts请求回执供断桥后恢复结果这构成了整个设置页可靠性设计的基础。添加供应商推荐预设与自定义接入推荐预设展开紧凑的供应商选择器按名称搜索选择预设、填入对应 API Key 后即可添加。需要注意已安装/存在冲突的预设会继续显示其已安装或冲突状态同一产品存在多条协议连接时保持分组展示可在高级路由设置中单独管理各协议路由。以 reasonix.example.toml 的注释为据桌面端设置页内置了可编辑的推荐预设覆盖 Kimi CN/Global、Kimi Coding Plan、MiMo API 与 Anthropic/token-plan 区域、MiniMax CN/Global API 与 Anthropic 路由、GLM/Z.AI CN/Global API 与 coding-plan 路由、OpenCode Go/Zen、Qwen/DashScope CN/Global API 与 coding-plan 路由、Token Rhythm基元律动、StepFun、NovitaAI、GMI、Vercel AI Gateway、HuggingFace、ModelScope、NVIDIA、KiloCode 与 Ollama Cloud 等。自定义供应商选择自定义供应商时需填写名称、协议Protocol、Base URL 与 API Key。表单会实时预览最终请求地址。对于特殊网关路径可在兼容设置中填写覆盖请求地址Override request URL它优先于 Base URL已有的完整地址与旧版 Chat URL 保持原有请求行为不变。在desktop/model_settings_api.go中新增连接走connection_add操作字段白名单为PresetID Name Key BaseURL Protocol添加官方供应商走official_add预设添加走preset_add。每种操作都有严格的字段校验validateModelSettingsFields防止客户端把无关字段混入一次编辑。密钥的留空保留语义编辑已有供应商时密钥字段留空表示保留原凭据如需删除凭据必须使用单独的清除密钥操作。这从provider_save的实现可以印证仅当change.Key ! nil时才调用setConnectionCredentialConfig写凭据留空不会触碰已有凭据。保存与生效运行时边界的精确语义一个容易被忽视但极其重要的设计启动尚未完成、启动失败或没有活动会话时依然可以保存模型设置。保存操作不会隐式创建会话也不会发起任何模型请求。desktop/model_settings.go的注释明确写道模型只写持久化配置运行时准入runtime admission在接受下一次运行前应用最新的有效快照包括写入来自其他进程的情况。保存从不要求可见会话。各类设置的生效时机设置生效时机默认聊天模型只影响新建会话已有会话保留自己已选的模型规划、视觉、搜索、子代理模型及推理偏好在各个受影响会话的下一次运行前应用服务地址、协议、密钥、模型目录或能力下一次运行前应用已接受的工作继续使用原连接删除服务、模型、访问权限或清空密钥当前工作允许完成下一次运行使用经过校验的可用替代模型否则阻止运行并要求配置模型显式切换当前会话模型只操作指定会话保留已有的忙碌检查和会话所有权保护什么是一次已接受的运行一次已接受的运行包含该次运行的规划planning、工具调用、重试、审批等待与子任务children。排队的后续消息、定时任务以及新机器人请求均属于新运行。项目明确指定的配置显式项目配置继续覆盖全局偏好。这一边界的源码依据desktop/model_settings.go中modelSettingsNeedApply通过ModelSettingsState() (applied, desired string, err error)对比已应用修订与期望修订refreshTabModelSettings在持有 turn 准入读锁之外、由既有 rebuild owner 保证构建/交换的单一调度权威从而保证当前工具延续保留旧连接、下一次运行刷新连接。对应测试TestModelSettingsRunningToolContinuationKeepsOldConnection见 docs/MODEL_SETTINGS_RUNTIME_VALIDATION.md专门验证了这一行为。已保存 / 待应用 / 应用失败页面会区分两种持久化结果状态已保存待应用saved, pending application配置已落盘但某些会话尚未应用已保存应用失败saved, application failed页面列出受影响的会话并提供重试应用Retry application。重试读取的是最新已保存配置不会重新保存密钥。应用失败会保留旧控制器controller与历史但会阻止受影响会话的新运行。保存期间新产生的编辑仍保留为草稿不会被覆盖。状态派生逻辑位于desktop/model_settings_api.go的GetModelSettingsApplication它从当前持有运行时的控制器与磁盘配置推导状态applied/pending/failed因此不会因事件竞争、应用重启或切换活动标签页而丢失状态。RetryModelSettingsApplication对远程标签页走ensureRemoteModelSettings对本地标签页走refreshTabModelSettings。远程会话与隧道令牌由 Desktop 提供凭据的远程会话使用不可变的隧道令牌immutable tunnel tokens。远程网页发送及队列派发会在新运行开始前检查 Desktop 设置已有请求保留原令牌直到所属工作结束。不支持配置快照的旧版 Serve 需要在当前工作完成后升级或安全重连——Desktop 不会为了应用设置而强停它。独立配置的远程会话继续由远端配置管理。对应实现位于desktop/cred_proxy.go、desktop/remote_model_settings.go与internal/serve/model_settings_source.go。底层原理凭据 Copy-on-Write 与增量配置合并凭据先写、配置后提交配置仍然使用 TOML凭据仍然存放在.env中会话历史格式保持不变。修改密钥时采用Copy-on-Write语义在配置提交之前internal/config/model_credential_commit.go的StageModelCredentialLocked生成一个随机的私有引用名形如REASONIX_CONNECTION_HEX_KEY并把密钥值写入全局Reasonix home/.env同时拒绝包含换行符的凭据值之后才提交引用该凭据名的配置若配置提交前失败旧连接依然可用最多留下一个未引用的新凭据CleanupStagedModelCredentialsLocked只检查本次编辑创建的引用且会扫描整份文档以防未知字段中也引用了它不会扫描或删除用户自定义的凭据变量。增量合并未知字段保留internal/config/model_settings_edit.go的SaveModelSettingsTo只把类型化的改动合并进原文档它会读取磁盘上的原文档对比编辑前基线baseline与编辑后的差异仅应用增量 delta——未知的顶层字段与供应商字段包括未来的嵌套字段都会原样保留新建文件时才会生成标准带注释模板。这保证了旧版本工具或未来版本写入的字段不会被设置页的保存动作意外抹掉。指纹防串改与请求回执每次保存请求都携带expectedFingerprint由modelSettingsEditFingerprint计算包含默认模型、运行时效指纹与凭据修订号。在同一把配置文件锁与凭据编辑锁下校验指纹与执行变更ApplyModelSettings因此重放旧请求无法静默覆盖更新状态指纹不匹配时会要求先重新加载并核对当前值。请求回执receipt以 HMAC 摘要绑定 requestId 与请求内容同一 requestId 若内容不同会返回request_conflict。回执最多保留 128 条超出后按顺序淘汰最旧的。不确定的写入绝不自动重试保存响应丢失后页面会先读取请求回执与当前设置再决定是否提供下一次保存。若进程已经重启、结果无法确认应先人工核对已保存值——系统不会自动重复一次结果不明的凭据写入。GetModelSettingsRequest对无回执的情况返回unknown_result明确提示无法确认保存结果请核对当前设置后再保存。恢复与旧版本兼容旧版本仍然可以读取保存后的 TOML 与.env凭据引用。降级downgrade会失去新的应用语义并可能重新暴露旧缺陷如活动会话依赖与即时刷新运行时问题但降级不要求删除配置或会话历史。密钥写入与配置提交的相对顺序设计先写凭据引用、再提交配置、失败仅清理本次创建引用保证了任何失败点上都有一条可恢复路径详见 docs/MODEL_SETTINGS_RUNTIME_VALIDATION.md 中的TestModelSettingsFailedCommitCleansOnlyItsStagedCredential与TestModelSettingsCredentialWriteFailureKeepsConfig等验收记录。管理模型发现、手动维护与测试刷新模型与批量添加刷新模型Refresh models会打开可搜索的选择弹窗已有模型处于勾选并锁定状态。添加所选模型仅将选中的新模型追加到当前表单保存供应商后才会生效发现失败时仍可手动添加不影响手动录入。手动添加与编辑手动添加与每行编辑按钮都会打开模型弹窗可填写模型 ID必须填写准确的模型标识上下文窗口context与最大输出 Tokenoutput数值留空继承默认值输出填-1表示不发送可选的输出限制协议强制要求该字段时仍使用其兜底值图片能力选择自动Auto时使用模型元数据手动覆盖必须与端点的实际能力一致。编辑数值限制时会保留已有的推理参数如 effort 设置。desktop/model_settings_preferences.go中setSubagentEffortConfig会先以别名优先的按名覆盖 → 全局子代理默认 → 会话默认的顺序解析实际生效模型再调用config.NormalizeEffort校验 effort 等级避免把无效 effort 写入配置。删除模型删除模型只是在表单中暂存删除动作取消供应商表单即可撤销。默认模型若仍在列表中则保持不变否则第一个剩余模型会成为新的供应商默认。测试模型测试模型Test model会通过当前协议适配器发送一条短请求不携带会话历史与工具因此可能产生少量供应商费用。要点测试使用当前表单包括尚未保存的 API Key连接测试与模型发现都不会保存凭据或配置修改连接后之前的测试结果失效请求成功只代表请求被接受不代表已验证全部模型能力。聊天菜单展示聊天模型菜单按供应商分组展示已保存、可用的模型并在数据可用时展示上下文窗口与图片能力元数据。编辑模型设置不会修改系统提示词或工具定义tools schemas因此模型调整不会污染会话的提示词体系。Windows 窗口行为Windows 下的设置页保留右上角的最小化、最大化/还原与关闭窗口三个原生按钮。标题栏与按钮统一为 48 CSS px按钮区域使用设置页背景不受底层工作台Workbench或创作Creation布局影响。交互边界明确顶部空白标题栏区域可拖动窗口返回按钮、表单控件与窗口按钮不属于拖动区域返回工作区只退出设置页右上角关闭窗口继续遵循通用设置中的关闭行为如关闭到托盘模型子弹窗内的关闭按钮只关闭该弹窗。依据 docs/MODEL_SETTINGS.md 中的调研记录2026-09-05Reasonix 通过 Electron 壳的窗口控制将共享标题栏尺寸与颜色应用到设置页已通过 Windows 浏览器预览验证标题栏尺寸、颜色及工作台/创作布局切换以及设置导航与子弹窗测试原生拖动、系统缩放、最大化及托盘行为仍需原生验收源码检查不能替代原生验证。运行时验证与质量门槛功能对应的实现与验收证据全部记录在 docs/MODEL_SETTINGS_RUNTIME_VALIDATION.md其中包括一套可复现的确定性验证流程两个 Go module、前端类型/测试/构建与仓库门禁go test -p 4 ./... go test -race ./internal/config ./internal/boot ./internal/control ./internal/bot ./internal/serve (cd desktop go test -p 2 ./...) (cd desktop go test -race . -run TestModelSettings|TestRemoteModel|TestCredentialProxy|TestDeferred) (cd desktop/frontend pnpm typecheck pnpm test:all pnpm build) go run ./tools/repolint该文档中的验收矩阵覆盖了本文涉及的大部分关键行为无活动会话保存、默认模型只影响新会话TestModelSettingsSaveWithoutActiveSession、运行中工具延续保留旧连接TestModelSettingsRunningToolContinuationKeepsOldConnection、FIFO 排队消息与机器人请求走新运行边界TestModelSettingsQueuedFollowupAppliesLatestBeforeDispatch、最后供应商删除后阻止新运行而不销毁历史TestModelSettingsLastProviderRemovalBlocksNewRun、保存后创建的子任务继承已接受快照TestModelSettingsChildCreatedAfterSaveInheritsAcceptedRunSnapshot、HTTP 重试保留已接受凭据TestModelSettingsHTTPRetryKeepsAcceptedCredential实际返回 503 后验证重试与下一运行时等。文档还记录了 Windows 11 ARM64 原生验收结论含 Go 1.26.6、Wails 2.13.0 的候选可执行文件及其 SHA-256以及发布前仍需通过的候选 CI 与独立发布检查。小结DeepSeek-Reasonix 桌面端的模型设置远不止一个表单页面它以保存不影响正在运行的工作、下一次运行应用新配置为核心边界配合密钥 Copy-on-Write、增量 TOML 合并、请求指纹与回执、失败仅清理本次引用等工程手段保证了长期运行的 agent 在调整模型时不丢凭据、不中断既有任务、可回退可恢复。无论你是要接入一个新的 OpenAI 兼容端点、为子代理/规划/视觉配置专用模型还是要安全地移除一个供应商上述语义与源码路径都可以作为你操作的依据。【免费下载链接】DeepSeek-ReasonixDeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running.项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考