v0.7.0 - Universal Provider SDK
Highlights
This feature release adds the Universal Provider SDK and provider contract 1.1, allowing Virtual Office to connect to multiple native agent frameworks through one manifest-driven integration layer.
- Adds built-in adapters for OpenClaw, Hermes, Codex CLI, Claude Code, OpenCode, and Antigravity.
- Adds Provider SDK Settings for connections, models, permissions, discovery, active sessions, authentication status, native files, and AgentSkills.
- Makes New Agent and Agent Desk provider-aware, including native creation schemas, capabilities, workspace files, sessions, and skills.
- Adds provider-neutral progressive chat streaming for text, thinking, tool calls, tool results, approvals, completion, interruption, and errors.
- Keeps the full chat window and in-office chat bubble synchronized with each agent's selected native session.
- Preserves ordered commentary, tool activity, refreshed history, and late final responses through the shared chat reducer.
- Supports native external-agent discovery and retains temporarily missing agents as offline so they can be safely forgotten without deleting native files.
- Documents the extension contract for third-party
vo_provider_*.pyadapters.
Chat windows and streaming improvements
- Adds one shared event/reducer pipeline for OpenClaw, Hermes, Codex CLI, Claude Code, and Provider SDK streams so every framework follows the same ordered chat behavior.
- Progressive text, thinking, tool calls, tool results, approvals, status, completion, interruption, and errors update the active assistant response in place instead of creating duplicate or out-of-order bubbles.
- Commentary is finalized before thinking or tool activity and can resume beneath it; final answers then render in the correct transcript position.
- Tool calls and results remain paired, including fast tools whose result arrives before a visible start event, while duplicate and stale terminal events are ignored.
- Completion, failure, and cancellation now settle running tool cards and clear typing, thinking, and running indicators instead of leaving stale activity behind.
- Late cumulative final payloads amend the just-finished assistant bubble in place, preventing partial suffix bubbles and truncated final answers.
- Refreshed history preserves source order even when providers reuse timestamps, pairs restored tool results correctly, and suppresses duplicated provider reasoning.
- OpenClaw history can recover public Codex commentary from the matching rollout after refresh and in long sessions while encrypted private reasoning remains excluded.
- The full chat window and yellow in-office bubble share the selected native session and progressively display partial text, tools, results, status, and final settlement.
- Secondary Chat 1–3 windows open at a practical width, retain manual horizontal resizing, compress only when the viewport requires it, and avoid overlapping adjacent chat windows.
- Chat windows clamp and re-dock correctly when switching between desktop and mobile layouts so floating panels do not remain off-screen.
- Stream regression coverage includes cumulative snapshot providers, rapid and multiple tools, raw tool-result roles, duplicate events, failures, cancellation, late finals, history refresh, and desktop/mobile rendering.
Native files and skills
- Provider manifests explicitly allowlist which native files Virtual Office may list, read, create, edit, or delete.
- Credential-bearing files and undeclared workspace files remain hidden.
- Traversal and symlink escapes are rejected.
- Managed files such as Codex configuration can be exposed as read-only.
- Native AgentSkills install into each framework's correct directory and require valid AgentSkills frontmatter.
- File and skill overwrites/deletions create recoverable backups.
Integration fixes
- OpenClaw workspace paths are translated correctly between Docker mounts and the external Gateway filesystem namespace.
- Models, Providers, and Cron toolbar links are resolved by URL so their labels remain correct when the Provider SDK link is present.
- Fresh deployments with no weather location configured no longer generate a browser-console 404.
- Existing unified chat, workspace, Cron, Skills, Ollama, Hermes Messaging Gateway, and wall-safe gathering behavior remains intact.
Authentication
Authentication remains owned by each native framework; Virtual Office does not bundle or expose provider credentials.
- OpenClaw, Hermes, Codex CLI, and OpenCode completed connected acceptance testing.
- Claude Code and Antigravity lifecycle, settings, native files, and skills integration passed, but model-backed chat requires users to authenticate with their native CLIs.
Validation
- All six provider contracts and manifest/UI contracts passed against the live product.
- Passed 40 Python provider/product tests, 25 chat-session and bubble checks, 45 chat-stream architecture checks, 8 gathering checks, 16 review-parser checks, 22 workflow checks, and 5 project CRUD checks.
- A real OpenCode model turn completed through the progressive SDK event stream.
- 300 concurrent live conformance requests completed with 300 HTTP 200 responses.
- JavaScript and Python syntax checks passed.
- Desktop
1365x900and mobile390x844Provider SDK layouts rendered all six providers without horizontal overflow or browser-console errors. - The release tree passed scans for personal account identifiers, user-specific home paths, private/tailnet addresses, high-confidence API tokens, and private keys.
- Temporary test agents, sessions, workspaces, skills, projects, histories, and backups were cleaned up.