Skip to content

feat(tui): add optional clashctl dashboard#244

Open
Babylonehy wants to merge 5 commits intownlen:masterfrom
Babylonehy:feat/tui-dashboard
Open

feat(tui): add optional clashctl dashboard#244
Babylonehy wants to merge 5 commits intownlen:masterfrom
Babylonehy:feat/tui-dashboard

Conversation

@Babylonehy
Copy link
Copy Markdown

@Babylonehy Babylonehy commented Apr 29, 2026

变更内容

  • 新增可选的 clashctl tui 交互式终端仪表盘
  • 新增可选 gum 安装入口,使用 Charm 官方软件源并配置所需 GPG key
  • gum 仍为可选依赖:安装时默认跳过,非交互场景可用 CLASH_INSTALL_GUM=true/false 控制,也可后续执行 clashctl tui install-gum
  • 未安装 gum 时只影响 clashctl tui,不影响 clashonclashoffclashctl selectstatusdoctor 等主路径
  • README 只新增 TUI 仪表盘 章节,保留其它原始内容

依赖关系

依赖 #243。当前 PR 保持 draft,等 #243 合并后,本 PR 的 diff 应只剩 TUI 相关改动。

验证

  • bash -n install.sh scripts/core/common.sh scripts/core/tui.sh scripts/core/clashctl.sh
  • bash scripts/core/clashctl.sh --help
  • bash scripts/core/clashctl.sh tui install-gum

@wnlen wnlen marked this pull request as ready for review April 30, 2026 01:04
@wnlen
Copy link
Copy Markdown
Owner

wnlen commented Apr 30, 2026

@Babylonehy 感谢更新。

这个 PR 现在和最新 master 在 scripts/core/clashctl.sh 有冲突,暂时不能继续 review / merge。

不用重新开 PR,请直接在当前 feat/tui-dashboard 分支上 rebase 最新 master,并解决冲突后 force-push。

注意几点:

  1. fix(proxy): harden strategy group selection #243 已经作为独立 proxy bugfix 处理,这个 TUI PR 里不要再包含 fix(proxy): harden strategy group selection 相关 diff。
  2. rebase 后,本 PR 的 diff 应只剩 TUI 相关内容,例如:
    • scripts/core/tui.sh
    • scripts/core/clashctl.sh 中新增 tui 命令入口
    • install.sh / common.sh 中 gum 可选安装逻辑
    • README 的 TUI 说明
  3. 解决 scripts/core/clashctl.sh 冲突时,请以当前 master 的命令分发结构为准,只追加 tui 入口,不要重排现有主命令。
  4. gum 继续保持可选依赖,不应影响 clashon / clashoff / clashctl select / status / doctor 主路径。

建议操作:

git fetch upstream
git checkout feat/tui-dashboard
git rebase upstream/master

resolve scripts/core/clashctl.sh

git add scripts/core/clashctl.sh
git rebase --continue
git push --force-with-lease

rebase 后请重新确认:

bash -n install.sh scripts/core/common.sh scripts/core/tui.sh scripts/core/clashctl.sh
bash scripts/core/clashctl.sh --help
bash scripts/core/clashctl.sh tui --help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants