Skip to content

feat(quick-run): 添加快速运行配置#296

Open
lizhian wants to merge 1 commit into
hanshuaikang:mainfrom
lizhian:own/quick-run
Open

feat(quick-run): 添加快速运行配置#296
lizhian wants to merge 1 commit into
hanshuaikang:mainfrom
lizhian:own/quick-run

Conversation

@lizhian

@lizhian lizhian commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

变更内容

  • 在项目配置中新增 quick_run.script,可在项目设置里配置快速运行的 Shell 脚本。
  • 在运行中任务顶部添加“运行”按钮,根据任务工作树状态在项目目录或工作树目录执行快速运行脚本。
  • 为快速运行新增专用 Shell 终端页签,并复用终端字体、主题、尺寸同步和输出监听逻辑。
  • 拆分 Shell 终端实例组件,降低 ShellTerminalPanel 的复杂度。
  • 后端 open_shell 支持启动后写入初始输入,用于自动执行快速运行脚本。

影响

配置了快速运行脚本的项目,会在活跃任务上展示“运行”按钮;未配置脚本时界面保持不变。快速运行命令在独立终端中执行,不改变任务本身的 agent 进程。

验证

  • pnpm lint
  • pnpm test
  • pnpm build
  • cargo check

构建通过,Vite 仍输出现有的 chunk size warning。

@lizhian
lizhian marked this pull request as ready for review June 15, 2026 08:25
@hanshuaikang

Copy link
Copy Markdown
Owner

@lizhian 辛苦提供一批完整的截图~

@lizhian

lizhian commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author
image image 1 项目配置-配置运行脚本 2 打开终端-工作树模式会打开工作树目录 3 运行配置的脚本

@hanshuaikang

Copy link
Copy Markdown
Owner

@lizhian 运行应该和会话是无关的~, 他可能气很多的会话,但是只运行一个 run dev~

@lizhian

lizhian commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

单个项目多会话处理过的时候,这个功能是非常有用的
agent修改完一个任务就可以快速运行,验证,调整
在给nazha分离功能,验证AI修改代码的时候,可以快速在不同工作树里面切换运行实例,而不是手动在终端自己手敲

@hanshuaikang

Copy link
Copy Markdown
Owner

单个项目多会话处理过的时候,这个功能是非常有用的 agent修改完一个任务就可以快速运行,验证,调整 在给nazha分离功能,验证AI修改代码的时候,可以快速在不同工作树里面切换运行实例,而不是手动在终端自己手敲

这个功能是有意义的,我的意思是这个这个位置可能不是那么好~,上面的内容是和当前会话绑定的,运行这个操作应该是项目级别的~
image

@lizhian

lizhian commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

是与会话绑定的,快速运行的目的就是快速地跨会话运行项目实例

同时处理ABC三个功能/bug,起了三个会话以及对应的工作树

A会话agent处理完成,点运行,快速启动项目实例,验证完成效果

此时B会话agent也处理完成,点运行,会把A会话起的终端进程(A会话项目实例)停止, 启动B会话的项目实例,验证B会话agent的完成效果

如此在agent并行开发的时候,快速跨会话启动项目实例,验证不同会话的完成情况

@hanshuaikang

Copy link
Copy Markdown
Owner

是与会话绑定的,快速运行的目的就是快速地跨会员运行项目实力 同时处理ABC三个功能/bug,起了三个会话以及对应的工作树 A会话agent处理完成,点运行,快速启动项目实例,快速验证处理情况 此时B会话agent也处理完成,点运行,会把A会话起的终端进程(A会话项目实例)停止, 启动B会话的项目实例,验证B会话agent的处理情况 如此在agent并行开发的时候,快速跨会话启动项目实例

会话关闭了终端会自动关闭么?

@lizhian

lizhian commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

是与会话绑定的,快速运行的目的就是快速地跨会员运行项目实力 同时处理ABC三个功能/bug,起了三个会话以及对应的工作树 A会话agent处理完成,点运行,快速启动项目实例,快速验证处理情况 此时B会话agent也处理完成,点运行,会把A会话起的终端进程(A会话项目实例)停止, 启动B会话的项目实例,验证B会话agent的处理情况 如此在agent并行开发的时候,快速跨会话启动项目实例

会话关闭了终端会自动关闭么?

不会
运行终端可以理解成属于项目的一个特殊终端,用来启动项目实例,入口在运行按钮
运行按钮属于会话,告诉运行终端当前应该切换启动哪个分支/工作树/任务的项目代码

@lizhian
lizhian force-pushed the own/quick-run branch 3 times, most recently from 849b83a to c387547 Compare July 1, 2026 13:53
Add project-level quick run commands that launch predefined shell terminals in the current project workspace.

Implementation:
- Persist quick run commands in project configuration and expose controls in project settings.
- Add a quick-run hook that opens a shell and sends the configured command after terminal readiness.
- Thread launch state through ProjectPage, RunningView, and ShellTerminalPanel using existing terminal styles.
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