Skip to content

Conversation

@x22x22
Copy link

@x22x22 x22x22 commented Nov 3, 2025

TLDR

  • 新增任务执行全屏面板,支持 ctrl+alt+e 快捷键提示与实时同步。
  • AgentExecutionDisplay 与全屏面板双向同步内容,保持原有 ctrl+e/ctrl+r 显示模式逻辑不变。
  • 紧凑模式与任务详情区域均提示全屏快捷键,避免用户错过。

Dive Deeper

核心改动

  • AgentExecutionDisplay
    • 引入 fullscreenContent useMemo 与 updateSubagentFullscreenPanel,保持实时同步。
    • 默认/详尽模式在任务详情下方显示 ctrl+alt+e 提示,紧凑模式末尾也显示提示。
  • SubagentFullscreenPanel
    • 使用上层提供的 content 渲染,移除 r 刷新逻辑。
    • 帮助文案移至底部,提示滚动、翻页、退出和 ctrl+alt+e
    • 全屏状态下禁用底部输入框,避免按键写入。
  • UIState/UIActions/AppContainer
    • 新增 updateSubagentFullscreenPanel,并在 UIState 持有当前面板状态。
    • isInputActive 仅在面板关闭时才允许输入。

其他

  • ctrl+e / ctrl+r 对显示模式的切换逻辑未变,compact、default、verbose 三种模式保持原状。
  • 更新相关测试(AppContainer、Composer、Footer)以覆盖新增状态与操作。
  • 保持 TaskPromptSection 兼容 compact 模式(无提示),default/verbose 模式显示提示。

Reviewer Test Plan

  1. npm run build
  2. npx vitest run packages/cli/src/ui/AppContainer.test.tsx packages/cli/src/ui/components/Composer.test.tsx packages/cli/src/ui/components/Footer.test.tsx
  3. 手动:运行 CLI,触发子代理任务,使用 ctrl+alt+e 开启/关闭全屏,观察输入框禁用与提示文案。

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

实现效果

PS: 因为GitHub上传的视频有大小限制,所以视频加速了3倍播放,并做了压缩处理,所以很不清晰。

202511040318_20251104_03273193.mp4

@x22x22
Copy link
Author

x22x22 commented Nov 3, 2025

@tanzhenxin

请帮忙审核这个新的提交, 谢谢!

Please help review this new submission. Thank you!

@tanzhenxin
Copy link
Collaborator

Related issue: vadimdemedes/ink#809. Save it here to keep track.

@x22x22
Copy link
Author

x22x22 commented Nov 5, 2025

Related issue: vadimdemedes/ink#809. Save it here to keep track.

@tanzhenxin

请问我这个pr符合你期望的吗?我只是新增加了一种展示方式,那么和上游的ink#809就无关了。请问是否可以接受呢?而且你可以从录屏中看到,这个方式完全没有闪屏的情况,并且可以实现数据的双向绑定和自由的上下滚动。

May I ask if this PR meets your expectations? I merely added a new display method, so it has nothing to do with ink#809 from the upstream. May I ask if it is acceptable? And as you can see from the screen recording, this method has no screen flickering at all, and it can achieve two-way data binding and free up and down scrolling.

@tanzhenxin
Copy link
Collaborator

Related issue: vadimdemedes/ink#809. Save it here to keep track.

@tanzhenxin

请问我这个pr符合你期望的吗?我只是新增加了一种展示方式,那么和上游的ink#809就无关了。请问是否可以接受呢?而且你可以从录屏中看到,这个方式完全没有闪屏的情况,并且可以实现数据的双向绑定和自由的上下滚动。

May I ask if this PR meets your expectations? I merely added a new display method, so it has nothing to do with ink#809 from the upstream. May I ask if it is acceptable? And as you can see from the screen recording, this method has no screen flickering at all, and it can achieve two-way data binding and free up and down scrolling.

Need time to understand this issue properly. According to the attached issue, Claude Code is also heavily bothered by this issue. We just want to make sure we are doing the right thing. In my opinion, it is better to make it right than fast.

@tanzhenxin
Copy link
Collaborator

The video looks promising though, will look it through, just need some time. We are very resource tight lately.

@x22x22
Copy link
Author

x22x22 commented Nov 5, 2025

Related issue: vadimdemedes/ink#809. Save it here to keep track.

@tanzhenxin

请问我这个pr符合你期望的吗?我只是新增加了一种展示方式,那么和上游的ink#809就无关了。请问是否可以接受呢?而且你可以从录屏中看到,这个方式完全没有闪屏的情况,并且可以实现数据的双向绑定和自由的上下滚动。

May I ask if this PR meets your expectations? I merely added a new display method, so it has nothing to do with ink#809 from the upstream. May I ask if it is acceptable? And as you can see from the screen recording, this method has no screen flickering at all, and it can achieve two-way data binding and free up and down scrolling.

Need time to understand this issue properly. According to the attached issue, Claude Code is also heavily bothered by this issue. We just want to make sure we are doing the right thing. In my opinion, it is better to make it right than fast.


The video looks promising though, will look it through, just need some time. We are very resource tight lately.


我表示理解,谢谢,期待你的下一步行动,感谢。

I understand. Thank you. I look forward to your next move. Thanks.

@tanzhenxin
Copy link
Collaborator

tanzhenxin commented Nov 7, 2025

@x22x22 This feature looks cool, though we need to refine some details.
I played with it a little bit, and found some potential problems, pls help check on them:

  1. The subagent panel disappeared after execution complete, which was confusing
image
  1. There were some errors caused by React update
image image
  1. Thectrl+alt+e key did not work with iTerm2, while it was ok with integrated shell on MacOS

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