- AgentScope Service is a control plane. It provides agent registration, discovery, and distributed coordination services for every agent in the enterprise. It works with mainstream agent runtimes including AgentScope, LangChain, ADK, and Claude / Qoder, giving you a single place to inspect agent metrics and operate on live sessions — for example, compressing session context.
- AgentScope Service provides low-code Agent creation and deployment. Built on the AgentScope Harness runtime, it lets you run multiple Agents on one Managed Agents platform under unified operations. The platform hosts Harness capabilities, while tool execution can be delegated to a sandbox that you control.
- Agents registered with AgentScope Service can be assembled into one or more Teams. Whether the Agent is a self-hosted AgentScope runtime or a low-code Managed Agent Harness runtime, Agents can be orchestrated together to tackle more complex work.
What Is AgentScope Service
AgentScope Service is not meant to replace your existing Agent frameworks. It adds a unified control plane so you can govern Agents built with different frameworks and stacks — Claude, OpenClaw, QwenPaw, and more — in one place. Enterprises already have many ways to build Agents. AgentScope, as a capable Agent Framework, offers an end-to-end path for building agents. But traditional Agent Frameworks are no longer the only way to build agents. Coding Agent products are expanding into more domains, and building enterprise Agents with the Claude SDK, Qoder CLI, and similar tools is becoming a common choice.- Use an Agent Framework Run the agent loop directly inside business services with AgentScope, LangChain, ADK, and similar frameworks. Flexibility is high, but tenant isolation, version rollout, Session recovery, HITL, event persistence, and cross-replica coordination all have to be built by each team. When every business line reinvents those pieces, standards diverge.
- Use a Coding Agent or personal workspace assistant Examples include Claude Code, other Coding Agents, and personal workspace assistants. They start quickly and feel great locally, but state lives on the developer machine — hard to share, hard to audit, and a poor fit for multi-team ownership. When the laptop closes, work often stops with it.
- Use a low-code or Managed Agents platform Traditional low-code platforms assemble Agents from visual nodes. They are easy to start with, but often expose memory management, context compaction, tool wiring, and similar concerns as dense configuration surfaces, leaving users responsible for both quality and stability. Managed Agents emphasize fully hosted cloud Harness capabilities so users no longer carry that operational burden, while giving users more control over tool execution — including Hands that can run inside the customer VPC — but enterprise multi-agent collaboration was still incomplete.
Control Plane
The Control Plane is the core of AgentScope Service. Every Agent application registers through it. Via SDK or Sidecar, it supports mainstream Agent Frameworks (AgentScope, LangChain, ADK) as well as Claude, Qoder, and similar runtimes. The Dashboard is the Control Plane’s visual console. It gives the whole fleet a live view of online agents, deployment instances, active sessions, token usage, and other global signals so operators can see how the cluster is doing.
From the Dashboard you can also inspect session details, view the live context state of an active session (including how different parts of the context contribute), dynamically adjust or compress session context, and intervene in a running conversation.
Managed Agents
Managed Agents evolve from theagentscope-builder platform. They remain a low-code Agent platform that gives developers SaaS-style Agent definition and hosted execution. The upgrade further emphasizes the split between reasoning and tool execution: Harness capabilities are hosted more thoroughly, while tool execution stays under greater user control.
Agent definition follows the core design of AgentScope Harness. You first define foundational concepts such as Workspace and Memory, then associate a workspace and memory with an agent to create it.
Define a Workspace:
Define an Agent:
The biggest change in this upgrade is the hosted runtime logic and architecture — Managed Agents. The platform cleanly separates static definitions (Agent, Workspace) from dynamic runtime (Environment, Session), and uses Environment and Session to orchestrate how the Agent actually runs.
Create a session and bind a self-hosted sandbox runtime environment:
Creating a Session does not by itself start an SSE event stream. The conversation and full inference path begin only when the user sends a message. As shown below, you can send a user message from the console chat page:
Create Agent → create Environment → create Session → send the first message → watch the event stream in the Dashboard. Creating a Session alone does not start the Agent. For long-running work, Managed Agents especially emphasize recoverability: events are persisted, state can be rebuilt, and HITL can pause and resume. A front-end refresh or a service replica change should not mean starting over.
Runtime design is closely aligned with Claude Managed Agents. Harness infrastructure and runtime are fully hosted (backed by AgentScope Harness Runtime). The Brain/Hands split gives users more control over where tools actually run. Deployment separates into a Control Plane and a managed Dataplane — see the production deployment section below.
Agent Teams
Every agent registered with the AgentScope Service Control Plane — whether self-deployed and registered through a framework (LangChain, AgentScope, ADK, Claude SDK, and so on), or created as a Managed Agent through the low-code path — can be orchestrated into one or more Agent Teams to collaborate on complex work.
In AgentScope Service, a Team is not a chat room. It is an operable collaboration unit: tasks can be claimed, plans can be approved, members can be woken, and state does not vanish just because a Session ends. A common pattern is a Lead that decomposes and accepts work, with Members claiming research, coding, verification, and other subtasks by capability. The platform owns message routing, the task board, and lifecycle — business code should not have to hand-roll temporary multi-process communication.
One point worth calling out: AgentScope Framework natively supports Agent Teams. That mechanism uses the AgentScope Service Control Plane for distributed task management and scheduling. So you can either use AgentScope Framework’s native Teams capability during main-agent development to compose multi-agent collaboration, or dynamically assemble independent Agents in the console for a specific complex task. Which path you choose depends on the scenario.
Architecture Overview
Overall Architecture
Humans reach the AgentScope Service Control Plane through two entry points: the Dashboard (browser) and the REST API (SDK / curl / third-party integration). Under the control plane, four Agent attachment models are managed together: native AgentScope attachment, LangChain via instrument(), and Claude / QwenPaw via Sidecar.
Managed Agents
Agent Teams Collaboration Flow
Members of a Team do not need to come from the same framework or hosting model. In the console, you pick several Agents already registered with the control plane, choose who is Lead and who is Worker, and the orchestration is done — the Lead creates and assigns tasks, Workers claim and execute them, and collaboration state is maintained by the control plane:
Key points in the figure:
- Members can be heterogeneous. In the example, Lead and Worker 1 are Managed Agents (the control plane creates a Session bound with
teamContextand kicks them off by delivering auser.message), Worker 2 is a self-deployed native AgentScope runtime, and Worker 3 is LangChain (or Claude attached via Sidecar). The control plane uses different join paths for different members (Managed Agents usefind-or-create session; BYO agents use theteam_joincommand), but the collaboration model exposed to the Lead is the same: every member can be assigned tasks and can send or receive messages inside the Team. - Lead assignment and Worker claiming both exist. When creating a task, the Lead can set an
owner(assign to a specific Worker); that Worker then follows claim → start → complete. The Lead can also create a task with noownerand drop it on the Task Board so an idle Worker self-claims viaPOST .../claim. Both patterns coexist on the same Task Board, so the Lead does not have to watch every idle slot. - Messages support unicast and broadcast. The Mailbox supports directed messages with
to=member(for example, the Lead nudging one Worker) and broadcast messages with an emptyto(visible to every member). Both share the same persistence channel. - Collaboration state is not tied to a single Session. Task Board and Mailbox data are independent of any member’s Session lifecycle: a Worker process restart or Session end does not erase whether a task still exists or whether messages remain traceable. That is why, when a Worker crashes, the control plane can mark the member
Lostand trigger recovery instead of dropping the whole team’s progress.
AgentScope Native Framework + Control Plane
AgentScope Framework itself already provides a complete enterprise Agent stack — Harness, Agent Teams, multi-agent collaboration, Sandbox isolation, and more. In a real enterprise deployment, many of those capabilities depend on distributed coordination. The AgentScope Service Control Plane supplies that native distributed coordination for AgentScope.Control-Plane Distributed Coordination
Once an AgentScopeHarnessAgent moves from a single instance to multiple replicas, session state, workspace files, sandbox snapshots and concurrency locks, cross-replica messaging, async tools, subtasks, and Turn concurrency control can no longer assume that “process memory is the source of truth.”
The figure below shows the runtime topology: how multiple HarnessAgent replicas interact with the Control Plane and an AgentStateStore backend — not the interface definition of DistributedStore.
Two independent paths that never pass through each other matter most:
- Upward: coordination API calls. Each
HarnessAgentreplica calls the Control Plane through the SDK. What developers actually see are four hosted Harness capabilities. Underneath they map to interfaces such asBaseStore,SandboxSnapshotSpec/SandboxExecutionGuard,MessageBus,TaskRepository,SessionTurnGate, andAsyncToolRegistry. Coordination state lands in the control plane’s own Postgres, so the business side does not need another infrastructure stack.- Workspace sharing: workspace files (
MEMORY.md,skills/,sessions/, and so on) plus sandbox snapshots and concurrency locks, so any replica can read, write, and restore the same workspace; - Agent Teams: cross-replica message delivery and subtask delegation, so unicast, broadcast, and task claiming among Lead / Members do not depend on which replica a member happens to run on;
- Session concurrency control: a Turn-level gate for the same Session across replicas, preventing two replicas from advancing the same conversation turn at once;
- Async tool execution: long-running background tools whose status and results can be observed and collected by any replica.
- Workspace sharing: workspace files (
- Downward: direct session-state backend access.
AgentStateStore(conversation context, compaction summaries, permission rules, Plan Mode state, and similar) does not go through the control plane. Each replica connects directly to a business-provided Redis / MySQL / Postgres / OSS backend. The control plane only optionally complements this with Session concurrency control (SessionTurnGate) andAgentStateStore’s owngetVersioned/saveIfVersionoptimistic concurrency (CAS), reducing duplicate LLM Turns across replicas — it coordinates who may run this Turn, not the state data itself.
distributedStore on HarnessAgent.builder() (coordination components via ControlPlaneStores.fromEnv(), with AgentStateStore pointed at a shared backend of your own) is enough to give the Agent real horizontal scale — without rebuilding session recovery, file sharing, sandbox snapshots, and task queues one by one.
Self-Assembling Agent Teams
AgentScope Framework also ships a closed-loop Agent Teams capability. How a team is formed differs from direct control-plane orchestration: at development time you do not need to pre-wire members into a fixed Team topology. You only need, as in the Subagent pattern, to pre-register a pool of callable Subagents (agentRef) on the Main Agent. At runtime, when a Human (or upstream system) sends the Main Agent a message that describes work requiring a team, the Main Agent itself decides whether to form a team, which pre-registered Subagents to use as Workers, and dynamically creates the Team:
Key points above:
- What you predefine is a candidate member pool, not a Team. At development time you only attach Subagents such as
reviewer,security-scanner, andperf-testerto the Main Agent (sharing the sameagentRefregistration mechanism as the Subagent pattern). Who teams with whom, and when, is left undecided — you do not design a Lead / Worker structure up front. - The trigger is a runtime message, not code or console configuration. When a Human sends the Main Agent an ordinary message that carries intent such as “form a team to handle this,” the Main Agent’s reasoning decides to call
createTeam(andspawnMemberwhen extra members are needed), sets itself as Lead, and instantiates the chosen Subagents as Workers. That decision happens inside one LLM turn — no human pre-orchestration, no code change. - Once formed, the Team uses the same collaboration machinery. Lead and Workers share one
TeamClient(Task Board + Mailbox). That can be a Control-Plane-freeLocalTeamClient(closed-loop, optimistic concurrency directly onBaseStore), or aControlPlaneTeamClientthat buys cross-replica coordination and Dashboard observability. This matches the console orchestration path above; the only difference is how the Team is formed.
- Subagent: one-way delegation, peers isolated. The Main Agent sends an instruction to a Subagent through a Task tool. The Subagent runs in an independent, stateless context and reports the result back to the Main Agent. Two Subagents have no direct communication path, do not know about each other, and never share a task list — the Main Agent holds all coordination logic alone.
- Agent Team: peer collaboration, shared state. Lead and Workers in a Team share one Task Board and Mailbox. The Lead can
assignTaskto a specific Worker; Workers can talk to each other withsendMessage/broadcastMessage; unassigned work isclaimTask’d by whoever is free. Collaboration state is no longer owned only by the initiator — it is shared data maintained by the whole team.
TeamTool / TeamClient programming model and can be chosen as needed.
Multi-Agent Collaboration: Remote Subagent
The target of Agent Teams or AgentScope Subagent delegation does not have to live in the same process. It may be a local Subagent inside the sameHarnessAgent, another Managed Agent (running on the Dataplane), or even a LangChain Agent attached through instrument().
For remote cases, the AgentScope Service Control Plane’s role is to let Agent A issue a delegate call without caring where the target lives or which framework it uses:
The figure above shows traffic proxying for remote Subagent calls through the control plane — not a one-off API design:
- Local first — skip the control plane when you can. If
techleadhappens to be a local Subagent declared inside the sameHarnessAgentprocess as Agent A, delegation is an in-process call and the control plane is not involved. That is the lowest-latency path, and usually the most common one. - Across instances / frameworks, the control plane does three jobs: discovery, auth, and proxying. It first confirms a legitimate collaboration relationship between Agent A and
techlead(same Team, whitelist ACL), then looks up the target instance by Agent ID in the fleet registry — the target may be a Managed Agent (forwarded to the Dataplane Session Turn API) or a LangChain Agent registered viaaistio.instrument()(forwarded to the chat endpoint it reported) — and finally proxies the request and streams the response back to Agent A unchanged. - Agent A never needs to know the peer’s framework. For the caller,
delegate("techlead", ...)does not change whether the target is a local Subagent, a Managed Agent, or a LangChain Agent. Framework differences are absorbed by the control plane’s routing layer.
Production Deployment Architecture
The four planes can be understood as follows:
There is another important product split: Brain and Hands.
- Brain: manages context, reasoning, tool decisions, and the event log; provided by the platform-hosted AgentScope Harness.
- Hands: decides where tools run. Options include
local,sandbox(for example E2B),remote, andself_hostedvia a customer-side outbound Worker.
How Agents Attach
AgentScope Service serves two kinds of users at once:- Platform / platform-services teams that want a SaaS path to build hosted agents quickly — create Managed Agents through the Console / API.
- Business engineering teams that already have Agents built with different stacks and want them under unified governance — attach to the control plane through extensions / SDKs / Sidecar.
Agent Framework
AgentScope
AgentScope Java natively supports attaching Agent applications. By adding theagentscope-extensions-aistio dependency, an existing AgentScope Runtime can register itself with the control plane automatically and appear in the Dashboard alongside Managed Agents. Session state, health, and runtime signals report through the same contract.
Cross-replica message delivery and subtask delegation for Agent Teams, cross-node async task tracking, Session concurrency control, Workspace state sync, and other distributed deployment needs can all be provided natively by the control plane.
LangChain
The community currently ships a Python SDK. Users can attach through theaistio.instrument() wrapper. For LangChain / LangGraph apps, the control plane collects Session snapshots, context, and runtime metrics out of band; the main business path succeeds first, and reporting failures do not affect inference itself.
That way, Agents built with LangChain can still enter AgentScope Service fleet management and Session observability without rewriting the business path.
Support for more frameworks such as the Claude Agent SDK and Google ADK will land over time — see the roadmap.
Coding Agent
For Coding Agents that are hard to modify as binaries — Claude Code, Qoder CLI, and similar — a Sidecar can bridge the gap: observe local Session directories and runtime state out of band, report them to the control plane, and accept operational commands such as compress or terminate. The point of this path is that enterprises do not have to choose between “use the strongest Coding Agent” and “bring it under unified governance.” Productivity tools can keep running in developer environments while the platform can still see them, manage them, and intervene when needed. Personal workspace assistants such as QwenPaw can in principle attach via Sidecar as well — see the roadmap for details.Try It Locally
AgentScope Service is iterating quickly. If you want the full product surface first, clone the repository and start it in a local environment.- Start the control plane, Managed Agents dataplane, and other components (as in the production deployment diagram above):
- Open http://localhost:8080 and sign in with username / password (
admin/admin).
- Create an Agent under Managed Agents;
- Create a
localEnvironment; - Open Sessions, bind the Agent and Environment, and send the first message;
- Return to the Dashboard to inspect online status, events, and runtime info;
- For collaboration, open Agent Teams, create a team, and watch tasks and member state.
- To try BYO Agent registration, use the sample at
agentscope-samples/agents/agentscope-pawin the repository. After it starts, you should see the agent registered successfully in the Dashboard.
Roadmap & Closing
AgentScope Service brings Agents built in different modes — Framework, Coding Agent, Managed Agents, and more — onto one control plane, and gives Agent-to-Agent collaboration a unified view. Whether you create your first Agent from the Console and host the Harness runtime on AgentScope Service, or attach existing AgentScope / LangChain / Claude applications to the control plane, the goal is the same: give the enterprise a one-stop Agent control and governance center. Going forward, AgentScope Service will keep evolving toward more open attachment, fuller automation, and stronger event-driven integration. Near-term focus includes:- Continue iterating on AgentScope Framework-native capabilities
- Support more Agent frameworks and Coding Agents Deepen adapters for LangChain, ADK, Claude, Qoder, OpenAI Agents, and more, lower BYO attachment cost, and make it easier for heterogeneous Agents to enter the same contract.
- Automation Extend automatic triggers and closed-loop execution around Deployment, Cron, Webhook, and Channel, so Agents move from human-initiated sessions toward event-driven task handling.
- More event-driven integrations Attach GitHub / GitLab, DingTalk, WeCom, and other engineering / collaboration entry points, turning code changes, tickets, and group messages directly into Agent Turns or Team Tasks.