尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Codewhale TUI 设置面板与 MCP 恢复通道:让每一行都指明“下一步命令“
Codewhale TUI 设置面板与 MCP 恢复通道让每一行都指明下一步命令【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale本文基于 Codewhale 仓库中的交接文档 GROK_TUI_SETTINGS_HANDOFF.md完整还原 2026-08-27 这条grok/v0912-tui-settings-mcp-20260827工作线设置面板F2//settings分类页签支持鼠标点击、Settings → Advanced → MCP 从只有路径的墙变成带明确下一步命令的行动行、Extensions 面板为每个 MCP 服务器计算恢复动作Connect / Reconnect / Re-auth / Enable / Diagnose。读完后你将掌握 Codewhale TUI 中恢复文案必须指向真实存在的命令这一设计约束以及McpRecoveryKind判定逻辑的源码级实现可据此在终端里自助排障 MCP 与插件问题。分支基线与 PR #5643 的重叠说明这条交接线的工作面信息记录在 GROK_TUI_SETTINGS_HANDOFF.md 中基线全新拉取的origin/main提交a96ea6cb09cc464ea2e88f251c538c239d1fe9ad产品提交8e15e51d43433f5e2e924611aed21ba4fa5b6709标题为feat(tui): make settings MCP recovery first-class and clickable该线没有push、PR、merge、release 或部署也没有安装或覆盖本机codewhale二进制生效契约是 AGENTS.md 风格的交接约束与 docs/SETTINGS_PICKER_FRAMEWORK.md、docs/MCP.md 两份文档。文档特别指出当时开放的 PR #5643分支codex/v0912-tui-polish-2026082792ef9aa4d已经包含streamable_http.rs里的 MCP 登录文案修复和 welcome-shine 时序修复但不在origin/main上。本线刻意不复制 5643 的动画/启动菜单工作只修复/mcp auth恢复句并深化设置/插件管理。若两者都合入streamable_http.rs的改动会有一处极小的重叠——双方都把/mcp auth替换为/mcp login属于平凡冲突。用户旅程一设置面板页签可以鼠标点击F2或/settings打开的设置面板五个分类页签General / Models / Permissions / Display / Advanced现在有鼠标命中区hitbox单击即切换页签列表行仍保留先选中、再激活select-then-activate的既有模式与 provider/model 选择器一致。从源码结构看设置视图位于 crates/tui/src/tui/views/mod.rs其中的测试config_view_mouse_click_selects_row验证了点击命中行的行为crates/tui/src/config.rs第 1791 行附近的注释说明这类 hitbox 依赖 WezTerm、Alacritty、较新的 gnome-terminal/konsole 等终端对鼠标事件的支持参见 crates/tui/src/config.rs。用户旅程二Settings → Advanced → MCP 变成行动行原来 Advanced 下的 MCP 区域只是展示配置路径。改造后它呈现安静的行动行每行都带一个明确的下一命令行动行命令MCP manager/mcpReconnect MCP/mcp reloadDiagnose MCP/mcp validatePlugins/plugin按 Enter或对已选中的行动行第二次点击即执行该命令。相关实现与测试config_view_mcp_action_rows_run_existing_commands等位于 crates/tui/src/tui/views/mod.rs。核心机制McpRecoveryKind 与 mcp_recovery_kind 判定这是本线最重要的设计每个 MCP 服务器的恢复文案必须指向真实存在的斜杠命令。crates/tui/src/mcp.rs 中的枚举注释直白地写着Commands named here exist:/mcp login,/mcp reload,/mcp validate,/mcp enable. There is no/mcp auth.pub enum McpRecoveryKind { Enable, Connect, Reconnect, Reauth, Diagnose, }每种类型通过slash_command(name)映射到命令并携带本地化文案键MessageId::ExtensionsActionEnable等见 crates/tui/src/localization.rsMcpRecoveryKind生成命令含义Enable/mcp enable {name}服务器被禁用Connect/Reconnect/mcp reload尚未检查过 / 已断开Reauth/mcp login {name}401、未授权、OAuth 会话过期Diagnose/mcp validate其他错误或健康已连接判定函数 mcp_recovery_kind 的完整决策链按优先级!enabled→Enable有错误且 error_text_looks_auth_required 文本分类器判定为鉴权类错误401/unauthorized 等→Reauth有其他错误 →Diagnose尚未 inspected连接从未被检查→Connect已连接 →Diagnose健康服务器也给一个明确的诊断入口支持 OAuthmcp_server_oauth_capable有url且有oauth配置、非空scopes或oauth_resource→Reauth兜底 →Reconnect。同一模块还提供两个辅助约束值得注意mcp_name_is_command_safe只有 ASCII 字母数字加-_.的服务器名才能安全拼进命令防止注入式参数mcp_startup_warning会话启动时的告警行统一点名服务器、点名故障、给一条命令例如The github MCP server requires OAuth reauthentication. Run \/mcp login github.用户旅程三Extensions 面板的 MCP 恢复行Extensions → MCPcrates/tui/src/tui/views/extensions.rs里每个服务器行按状态映射到真实命令disabled →/mcp enable namenot inspected →/mcp reloadConnectdisconnected →/mcp reloadReconnect401 / unauthorized / 支持 OAuth 但会话过期 →/mcp login name其他错误或健康已连接 →/mcp validateDiagnose行动标签走本地化键如tr(app.ui_locale, MessageId::ExtensionsActionEnable)15 个语言包同步补齐了新键。插件问题同样可诊断注册表诊断结果manifest-invalid、duplicate-root、name-conflict出现在 Problems 分组中带错误的插件运行/plugin validate name而不是静默的 Inspect。/mcp管理器 pager逐行给出 next action/mcp管理器crates/tui/src/tui/mcp_routing.rs不再是命令散文墙每个服务器行标注下一步例如next: Re-auth /mcp login github测试manager_text_names_login_for_stale_oauth验证了这一点页脚固定为Next: Connect /mcp reload · Diagnose /mcp validate见 crates/tui/src/tui/mcp_routing.rs。测试mcp_item_action_for覆盖了各状态到命令的映射/mcp login命令本身的参数解析Usage: /mcp login name [--scope scope]位于 crates/tui/src/commands/groups/utility/mcp.rs。Streamable HTTP 的过期 OAuth 恢复文案crates/tui/src/mcp/streamable_http.rs 中与 stdio OAuth 路径共享 crates/tui/src/mcp/oauth.rs 的辅助函数保证文案一致会话过期时提示/mcp login nameCLI 侧仍为codewhale mcp login name例如Re-authorize this server (/mcp login name) to continue.文本分类器同时识别旧文案/mcp auth与新文案/mcp login的变体测试断言提示语包含codewhale mcp login nordic-mcp这类具体命令仅 Bearer token 的会话不指向登录命令仍提示检查已配置的 token——避免让用户对一个不支持 OAuth 的服务器执行/mcp login。用户旅程七Hunyuan / Hy 模型选择这条线还顺手解决了模型选择中找得到 Hunyuan的问题。约束很克制没有原生的腾讯 HunyuanApiProvidermodels.dev 捆绑目录里也没有对应行但 OpenRouter 上公开的tencent/hy3-preview已存在于是搜索/规范化别名加入hy3、hunyuan、tencent-hunyuan、hunyuan-hy3全部指向 OpenRouter 的tencent/hy3-preview不发明 hy4——在公开的模型 id 存在之前不添加。别名收敛逻辑可从 crates/config/src/lib.rs 看到| hy3-preview | tencent-hy3-preview | hy3 | hunyuan | tencent-hunyuan | hunyuan-hy3 Some(OPENROUTER_TENCENT_HY3_PREVIEW_MODEL),对应改动还涉及 crates/tui/src/config.rs、crates/config/src/lib.rs、crates/agent/src/lib.rs 三处别名表仅 hy3。测试与验证范围交接文档给出的聚焦测试命令通过scripts/dev-cache.sh使用隔离构建目录cargo nextest run -p codewhale-tui --lib --locked -E test(/mcp_recovery_kind|tui_reauth_hints|manager_text_names_login|config_view_tabs_are_clickable|config_view_mcp_action_rows|openrouter_hunyuan|mcp_item_action_for|message_id_list_english|shipped_complete_packs_have_raw|settings_registry_types_every|config_view_includes_expected_editable|config_view_can_edit_filtered|config_view_mouse_click_selects|auth_required_login_hint_names|manager_text_shows_failed/)结果16 passed11198 skipped另外通过了cargo fmt --all -- --check和git diff --check。这些测试散布在 crates/tui/src/mcp/tests.rs、crates/tui/src/tui/mcp_routing.rs 等与模块同旁的测试中命名本身mcp_recovery_kind、tui_reauth_hints、manager_text_names_login就是可检索的行为契约。明确未跑的项完整的codewhale-tui --lib套件、clippy-D warnings、多宽度下的实机 TUI/PTY、真实 MCP OAuth 流程、真实 Hunyuan/OpenRouter 调用不为省 provider 费用而调用。已知边界与最安全的集成步骤交接文档的 What remains 一节同样重要定义了这条线的边界welcome shine 与 launch-menu 的回归仍在main上由 PR #5643 负责修复本线没有重复/mcp管理器仍是pager 而非可点击 modal恢复动作在每行被点名但点击 pager 文本不会执行命令设置行动行仍是 select-then-activate不是单击即运行页签则是单击没有原生 Hunyuan provider 适配器——若腾讯发布独立于 OpenRoutertencent/hy3-preview的公开 API那是后续的 provider 线插件 Problems 行始终运行全局/plugin validate尚未深链到具体诊断路径的专用 inspector本地化包已补齐新键但聚焦测试只用英语外加完整性平价门禁。最安全的集成步骤审阅本分支上的8e15e51d4不要压在 5643 的 welcome-shine 文件上合并若 5643 先合入则对本分支 rebase预期只有streamable_http.rs登录提示一处小重叠随后在约 80 列和 40 列宽度下做 PTY 检查验证设置页签与一条 MCP 401 行的渲染。小结这条交接线展示了 Codewhale TUI 的一个可迁移的工程模式UI 中的每一条恢复提示都必须对应一个已注册的斜杠命令通过McpRecoveryKind这样的封闭枚举把状态 → 命令映射收敛到一处配合文本分类器处理 401/过期会话并用与模块同旁的聚焦测试固化行为。对终端编码代理而言这比任何装饰性动画都更接近可用的定义——用户看到next: Re-auth /mcp login github时复制即得解法。【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

电力系统分析核心知识点总结:潮流、故障与稳定全解析

电力系统分析核心知识点总结:潮流、故障与稳定全解析

简介:电力系统分析基础知识点总结是一份面向电气工程专业学生、考研与期末考试备考者的精炼复习资料,聚焦电力系统分析的核心概念、公式要点与典型题型。内容全面梳理输电线路参数、电压降落与偏移、短路电流计算、标么值、短路类型、有功与无功电源、中…

📅 2026/11/9 11:38:36
CLI-Anything QGIS 测试体系:PyQGIS 与 qgis_process 双层 pytest 验证方案

CLI-Anything QGIS 测试体系:PyQGIS 与 qgis_process 双层 pytest 验证方案

CLI-Anything QGIS 测试体系:PyQGIS 与 qgis_process 双层 pytest 验证方案 【免费下载链接】CLI-Anything "CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/ 项目地址: https://gitcode.com/GitHub_Trending/cl…

📅 2026/11/9 11:38:36
软件需求规格说明书模板详解:从目录到可落地的实战指南

软件需求规格说明书模板详解:从目录到可落地的实战指南

简介:软件需求规格说明书(SRS)是软件开发项目中的核心文档,直接影响需求对齐、设计评审与最终验收。这份模板面向需求分析师、项目经理、开发与测试人员,提供了一套可直接修改使用的完整文档框架,覆盖引言、…

📅 2026/9/9 7:23:09
MORE NEWS

更多资讯

📰

装修要电工证和什么?含金量高的证书到底怎么考

装修要电工证和什么?含金量高的证书到底怎么考 怕考不过白交培训费,我懂你。你是不是也看到网上一堆“电工证有用吗?”“装修电工证和什么有关?”“含金量高的证书怎么考?”这些问题,但就是找不到一个靠谱的、能解决你实际问题的回答?别急,今天我就以…

📰

网上办电工证被抓怎么破?低压电工证通过率揭秘

网上办电工证被抓怎么破?低压电工证通过率揭秘 你是不是也担心自己学历不高,连特种作业证都报不上名?别急,今天我从周口房建工程一线的视角,来给你讲讲网上办电工证被抓的那些事儿,以及低压电工证考试的 通过率揭秘 。 低压电工证到底要不要考?…

📰

天长在哪里学电工证全国通用怎么考最省心

天长在哪里学电工证全国通用怎么考最省心 工地太忙根本没时间复习考试,你不是一个人。天长的建筑工地、工厂、工地施工队里,每天都有人因为赶工期、赶进度,被考试和学习绊住脚步。如果你正在天长找工作、换工作,或者想把电工证考下来,那就别再犹豫了。现…

📰

装修要电工证和什么?考前押题帮你避开报名陷阱

装修要电工证和什么?考前押题帮你避开报名陷阱 你是不是也遇到过这种情况:装修施工要上岗,但不知道除了电工证之外还需要哪些证?更头疼的是,网上信息太多,不知道去哪报名,怕被中介坑。别急,这篇文章就帮你理清【装修要电工证和什么】的全部门道,还附…

📰

信丰哪里有考电工证的多少钱?外省证能转过来吗?实战经验给你答案

信丰哪里有考电工证的多少钱?外省证能转过来吗?实战经验给你答案 之前考的证在外省能不能转过来?这个问题我听得太多了,特别是在信丰这边,不少准备报考电工证的朋友都担心自己之前在外地考的证能不能用得上。今天我就从实战角度,给你讲讲【信丰哪里有考…

📰

丰南电工证在哪里考 2026河南最新政策全解析

丰南电工证在哪里考 2026河南最新政策全解析 你是不是正在找工作,手里却连个电工证都没有?现在各行各业对特种作业证的要求越来越高,尤其是像电工、焊工这些高风险岗位,没有证根本进不去。特别是在河南,2026年最新的政策已经明确规定,特种作业…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬