Table of Contents

Class OpenClawAgentRegistrar

Namespace
JD.AI.Channels.OpenClaw
Assembly
JD.AI.Channels.OpenClaw.dll

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:

  1. config.get (no params) → returns { raw, hash, ... }
  2. Parse raw JSON, modify agents.list array
  3. config.set with { 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

rpc OpenClawRpcClient
logger ILogger<OpenClawAgentRegistrar>

Fields

AgentIdPrefix

Prefix used to identify JD.AI-managed agents in OpenClaw config.

public const string AgentIdPrefix = "jdai-"

Field Value

string

Properties

ConfigBackupDirectory

Directory for config backups before writes.

public static string ConfigBackupDirectory { get; }

Property Value

string

RegisteredAgentIds

Gets the list of registered JD.AI agent IDs.

public IReadOnlyList<string> RegisteredAgentIds { get; }

Property Value

IReadOnlyList<string>

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

agents IEnumerable<JdAiAgentDefinition>
ct CancellationToken

Returns

Task

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

managedAgentIds IEnumerable<string>
ct CancellationToken

Returns

Task