Class OpenClawAgentRegistrar
Registers JD.AI agents with an OpenClaw gateway via config RPC so they appear as native agents in the OpenClaw dashboard alongside OpenClaw's own agents.
OpenClaw uses optimistic-concurrency whole-config replacement:
config.get(no params) → returns{ raw, hash, ... }- Parse raw JSON, modify
agents.listarray config.setwith{ raw, baseHash }→ atomic write if hash matches
JD.AI-managed agents are identified by an ID prefix (jdai-).
public sealed class OpenClawAgentRegistrar
- Inheritance
-
OpenClawAgentRegistrar
- Inherited Members
Constructors
OpenClawAgentRegistrar(OpenClawRpcClient, ILogger<OpenClawAgentRegistrar>)
public OpenClawAgentRegistrar(OpenClawRpcClient rpc, ILogger<OpenClawAgentRegistrar> logger)
Parameters
rpcOpenClawRpcClientloggerILogger<OpenClawAgentRegistrar>
Fields
AgentIdPrefix
Prefix used to identify JD.AI-managed agents in OpenClaw config.
public const string AgentIdPrefix = "jdai-"
Field Value
Properties
ConfigBackupDirectory
Directory for config backups before writes.
public static string ConfigBackupDirectory { get; }
Property Value
RegisteredAgentIds
Gets the list of registered JD.AI agent IDs.
public IReadOnlyList<string> RegisteredAgentIds { get; }
Property Value
Methods
RegisterAgentsAsync(IEnumerable<JdAiAgentDefinition>, CancellationToken)
Registers JD.AI agents with the OpenClaw gateway so they appear in the dashboard.
public Task RegisterAgentsAsync(IEnumerable<JdAiAgentDefinition> agents, CancellationToken ct = default)
Parameters
agentsIEnumerable<JdAiAgentDefinition>ctCancellationToken
Returns
UnregisterAgentsAsync(IEnumerable<string>?, CancellationToken)
Removes previously registered JD.AI agents from the OpenClaw gateway.
public Task UnregisterAgentsAsync(IEnumerable<string>? managedAgentIds = null, CancellationToken ct = default)
Parameters
managedAgentIdsIEnumerable<string>ctCancellationToken