XWorkmate is a Flutter-based AI workspace shell for running assistant threads, local or remote gateway tasks, and multi-agent collaboration in one app.
Go to file
Haitao Pan 40c59269e9 fix(gateway): day-1 stability — stop infinite "running" and un-stoppable tasks
Symptom: a gateway turn shows "任务运行中..." forever and 停止 has no effect,
even though the OpenClaw gateway has already finished (ACP_HTTP_CONNECTION_CLOSED).

- T3: add a hard deadline to the running-handle poll branch so the client no
  longer polls forever when tasks.get keeps returning "running". Budget is
  derived from taskLoadClass (10/30/60min, aligned with the bridge) + grace;
  on timeout the turn lands in a recoverable `interrupted` state
  (OPENCLAW_RUN_POLL_TIMEOUT) prompting the user to resend.
- T4: make 停止 locally authoritative — capture the association, mark the turn
  aborted immediately (clears pending, exits the poll loop), then fire
  tasks.cancel best-effort so a hung/failed cancel RPC can't block termination.
- T6: applyGatewayChatFailureInternal now authoritatively clears the pending
  flag (both raw + normalized key). Previously runOpenClawGatewayQueuedTurnInternal's
  finally never cleared it, leaving "error shown but still running".

Full cross-repo analysis + remaining TODO in docs/cases/06.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:48:45 +08:00
.github ci: move remote_contract to test gate between build and release 2026-06-22 17:17:38 +08:00
android Add multi-platform build and release workflow 2026-03-21 10:08:12 +08:00
assets chore(aris): remove legacy ARIS assets and clean up associated code 2026-04-17 18:07:04 +08:00
config chore: update macOS deployment target to 14.0 and commit pending changes 2026-06-25 09:52:33 +08:00
docs fix(gateway): day-1 stability — stop infinite "running" and un-stoppable tasks 2026-06-26 10:48:45 +08:00
images docs: simplify root readme 2026-03-26 09:49:58 +08:00
integration_test Add desktop settings integration test 2026-05-26 11:46:32 +08:00
ios Remove Patrol from macOS package 2026-06-05 21:47:08 +08:00
lib fix(gateway): day-1 stability — stop infinite "running" and un-stoppable tasks 2026-06-26 10:48:45 +08:00
linux feat: Remote Desktop UI and Client WebRTC Integration 2026-06-03 10:50:06 +08:00
macos chore: update macOS deployment target to 14.0 and commit pending changes 2026-06-25 09:52:33 +08:00
packaging/windows Add multi-platform build and release workflow 2026-03-21 10:08:12 +08:00
releases/v0.5 Remove bundled app helper binaries 2026-04-11 14:45:50 +08:00
scripts fix: support macos validation on bash 3 2026-06-18 17:27:05 +08:00
test chore: update macOS deployment target to 14.0 and commit pending changes 2026-06-25 09:52:33 +08:00
tmp Add local tmp cache directory 2026-03-23 12:23:17 +08:00
tool Refactor bridge runtime routing 2026-04-21 16:28:26 +08:00
windows feat: Remote Desktop UI and Client WebRTC Integration 2026-06-03 10:50:06 +08:00
.gitignore chore: remove stale Flutter code 2026-06-12 14:52:23 +08:00
.gitmodules Implement local-first single-agent artifact sync 2026-04-10 14:59:42 +08:00
.metadata Initial Flutter workspace shell 2026-03-11 07:32:52 +08:00
agent.md Unify single-agent task flow under ACP 2026-04-08 20:27:35 +08:00
AGENTS.md Remove Patrol from macOS package 2026-06-05 21:47:08 +08:00
analysis_options.yaml Fix macOS archive symbols and packaging settings 2026-03-27 16:32:23 +08:00
CHANGELOG.md Remove bundled app helper binaries 2026-04-11 14:45:50 +08:00
dart_test.yaml Integrate gateway settings into integrations page 2026-03-22 17:07:27 +08:00
LICENSE Initial commit 2026-03-11 00:49:57 +08:00
Makefile Remove Patrol from macOS package 2026-06-05 21:47:08 +08:00
package.json Initial Flutter workspace shell 2026-03-11 07:32:52 +08:00
pubspec.lock Add AI workspace management provisioning flow 2026-06-08 15:52:26 +08:00
pubspec.yaml Add AI workspace management provisioning flow 2026-06-08 15:52:26 +08:00
README.md docs: rewrite README — fix repo name, remove stale multi-agent refs, add dependencies 2026-06-04 07:01:18 +00:00

xworkmate-app

Flutter-based AI workspace shell for running assistant threads with local and remote gateway task execution via ACP bridge.

Architecture

Single execution path: Flutter → GoTaskServiceClient → ACP Transport → xworkmate-bridge → Remote Provider

See docs/architecture/ for the full architecture documentation.

Dependencies

Repository Role
xworkmate-bridge Go-based ACP control plane and bridge backend
xworkspace-core-skills Core skill bundles (pptx, docx, xlsx, pdf, image, browser automation)
openclaw-multi-session-plugins OpenClaw Gateway multi-session plugin runtime
playbooks Deployment playbooks and infrastructure automation

Quick Start

git clone https://github.com/x-evor/xworkmate-app.git
cd xworkmate-app
flutter pub get
flutter analyze
flutter test
flutter run -d macos

For local development, keep xworkmate-bridge checked out alongside xworkmate-app, or set XWORKMATE_BRIDGE_DIR explicitly before building.

macOS (Xcode)

open macos/Runner.xcworkspace
# or
make open-macos-xcode

In Xcode:

  • Select the shared Runner scheme
  • Select My Mac as the destination
  • Configure signing only on the Runner target
  • Leave CocoaPods plugin targets under Pods alone

For release builds:

flutter build macos
make build-macos

Downloads

Platform Download
macOS Latest Release
Windows Latest Release
Linux Latest Release
iOS Latest Release
Android Latest Release

Learn More