Move a channel to another host so work can continue on that machine
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
Start from the existing channel backup mechanism and the Kill operation, which the design notes explicitly contrast with a handoff; also read issues #58 (tracking), #166 (single worker ownership) and #15 (project identity across hosts). Map what pi's durable state includes versus project/lane worktrees, then define a state machine where source execution stops before destination resumes. Done means a validated two-machine transfer preserving channel identity and lane files, with a recovery path on interrupted transfer.
索引モデルが issue の本文から書いたものです。
説明
During a meeting, or while using the machine for other work, an agent can become distracting: applications open, computer use takes over the screen, and audio plays. The work should continue, but on another machine.
Add a way to move a channel's work to another host on the team's tailnet. The user should be able to choose a destination, hand off the channel, and keep following the same channel from the original machine while the agent uses the destination's screen, applications, and audio.
Desired workflow
- A channel is doing useful work on the machine the user now needs for a meeting.
- The user chooses Move to another host and an available destination.
- Ace checks the destination, pauses the channel's execution, transfers the necessary state and files, and resumes there.
- The original machine is free of that channel's execution activity. Its client can remain open for chat and progress; viewing the channel does not move execution back.
Acceptance
- Preserve the channel's identity, name, summary, chats and subagents, history and tool results, usage, owner, and collaborator-agent setting. Participants continue in the same channel.
- Preserve the lanes and work needed to continue, including branches, unpushed commits, dirty files, and untracked files. Handle different project and lane paths on the destination without requiring the user to commit or push first.
- Resume unfinished work where safe. Clearly surface tools, terminals, servers, or native app/browser state that must restart or be re-established; avoid blindly replaying actions with side effects.
- Complete one recoverable handoff: source execution ceases before destination execution resumes. A reconnect, crash, or restart must not leave two machines executing the same channel. Failed transfers preserve the source work and provide a clear recovery path.
- After the handoff, native UI activity, browser automation, audio playback, and channel-owned subprocesses run on the destination. Make the current execution host visible in the channel.
- Check destination readiness, including project files, tools and model access, and any needed desktop session, applications, devices, and macOS permissions. Explain missing requirements before claiming the channel has moved. Use the destination's configured credentials and OS grants.
- Keep the existing tailnet trust model and single collaborator-agent switch.
Design notes
A local channel needs its durable pi state and execution moved. For a hosted channel, its team-deployed cell can remain in place while its workspace changes. Resolve these paths under the same user-facing intent without making hosted infrastructure a prerequisite.
Existing channel backups are not a complete migration mechanism: they exclude project/lane worktrees and retain original paths. Preserve pi's durable state and resumability; Kill durably prevents continuation and is not the handoff operation. Define what can transfer, what must restart, and what requires user intervention, especially for already-open applications and devices.
Validate with real work across two machines, including an active run, uncommitted/untracked lane files, an interrupted transfer, and desktop/audio activity continuing on the destination while the original client remains attached.
Tracked by githubnext/ace#58. Related: githubnext/desktop-tools#11 (native UI), githubnext/ace#10 (two-machine validation), githubnext/ace#13 (hosted channels), githubnext/ace#15 (project identity across hosts), githubnext/ace#166 (single worker ownership of a channel, which a handoff relies on).
- 主要言語
- TypeScript
- スター
- 1
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
githubnext/ace2 のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 94/100
githubnext/ace2#487 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
githubnext/ace2#486 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
githubnext/ace2#459 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
githubnext/ace2#437 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
githubnext/ace2#442 ·
githubnext/ace2 の issue をすべて見る
似ている issue
-
[测试] 等待仓库加载后再记录多仓库排序基线対応中かも @myot233 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
area:arcade p3-medium ready-for-agent testing type:docs
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
fderuiter/deruiter.dev#2369 ·
メンテナーはふだん 1 日以内に返信
-
area:devenv origin:agent type:bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
overengineeringstudio/effect-utils#1949 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ccch1mneyyy/dsh-TUI#1631 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
MiniMax-AI/minimax-code#507 ·
メンテナーはふだん 1 日以内に返信