Add the built-in Computer workload plugin - #522
Merged
Conversation
…load-plugin # Conflicts: # docs/decisions/README.md # tests_scenarios/contracts/coverage-baseline.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Akashic now ships Computer as a built-in ordinary plugin. Enabling its exact plugin generation starts one persistent Linux desktop with Chromium and OpenCLI; disabling or uninstalling that generation stops the workload and removes its Tool, Skill, and Chat UI while keeping plugin data and login state.
The Chat surface is no longer a screenshot viewer. Its upper-right tool entry opens a generic, resizable, multi-tab right pane backed by a real noVNC client, so a person can use the same Computer that the Agent is operating.
Architecture
WORKLOADScomposition service andWorkloadPortendpoint bindingdocker.sockconversation.tools.v1as the generic Chat list slot; Computer owns only its tab content, while conversation-ui owns open/close, active tab, width, notice handling, keyboard behavior, and narrow-screen layoutsha256:6fd3c605380a3daef5ddebb34f2905ee992d2b4e1490fbfb78dcce9f06a3dadbProduct acceptance
Agent started here | Human took overfillnow replaces selected text instead of appendinglogged_in=true; real refresh, workload replacement, and restart retained the session; the daemon remained loopback-only on127.0.0.1:19825browser_actionandbrowser_observe, navigated to Example Domain, read its title, and returned标题是 Example Domain。; the Computer pane opened from the live tool activitySecurity and lifecycle
1000:1000, withcap-drop=ALL,NoNewPrivs=1,CapEff=0, seccomp filtering, a 2 GiB memory limit, and 512 PID limit--no-sandbox; its renderer runs in a user namespace different from container PID 1Verification
209 passed3 passed46 passed20260831-153346-db2c52993392 passed, 6 skipped; exact final HEAD CI is linked in this PRCross-repository handoff
Merge this PR first, then merge akashic-plugins/huayue-skills#6. That PR removes the previous OpenCLI Skill owner. The isolated final deployment already projected
workspace/skills/openclifrom the built-in Computer plugin, with no duplicate owner.Recovery points
Implementation stayed in an isolated worktree. Named backup branches were created before each persistent repair and before final contract evidence. The complete CloakBrowser profile recovery point remains
/home/huashen/.backups/cloakbrowser-pre-computer-e2e-20260831-0336-full; no formal workspace or production service was changed.