Where to Find the OpenClaw Plugin Manifest for TencentDB Agent Memory

The OpenClaw plugin manifest files are located at MemoryCore/openclaw.plugin.json (core/local mode) and MemoryCore/openclaw-plugin/openclaw.plugin.json (client/gateway mode) in the feat/server_team branch of the TencentDB-Agent-Memory repository.

The TencentDB Agent Memory project integrates with OpenClaw through structured JSON manifests that define plugin capabilities, activation rules, and configuration schemas. These files serve as the authoritative source of truth for the OpenClaw adapter, enabling both local in-process execution and remote gateway-based communication modes.

Understanding the Two Manifest Variants

The repository provides two distinct manifests to support different deployment architectures.

Core Manifest (Local Mode)

The core manifest at MemoryCore/openclaw.plugin.json defines the plugin when OpenClaw runs inside the Memory process. This configuration supports the local/function mode, where the plugin lives in the same process as the Memory core.

This manifest declares the plugin ID as memory-tencentdb, sets activation.onStartup to true, and registers the complete tool contracts including tdai_memory_search, tdai_conversation_search, and tdai_read_cos.

Client Manifest (Remote/Gateway Mode)

The client-side manifest at MemoryCore/openclaw-plugin/openclaw.plugin.json describes the remote version that communicates with a separate Memory Gateway. This file extends the core configuration with a server object containing URL, API key, and instance ID defaults for the gateway connection.

Use this manifest when running OpenClaw in client/gateway/remote mode, where the agent connects to an external gateway rather than embedding the Memory core directly.

Manifest Structure and Key Fields

Both manifests share a common schema that OpenClaw parses during initialization:

{
  "id": "memory-tencentdb",
  "name": "Memory (TencentDB)",
  "description": "Four‑layer memory system …",
  "commandAliases": ["memory-tdai"],
  "activation": { "onStartup": true },
  "contracts": { 
    "tools": [
      "tdai_memory_search", 
      "tdai_conversation_search", 
      "tdai_read_cos"
    ] 
  },
  "configSchema": { }
}

The contracts.tools array lists the available TencentDB AI tools exposed to the OpenClaw runtime. The configSchema object defines configurable properties including server connection parameters for the client variant.

How the Manifest Is Loaded and Used

The OpenClaw adapter reads these manifests during the asset import phase. In agents/asset-import.ts, the system registers the openclaw adapter and loads the JSON definition to establish the plugin contract.

For remote operations, MemoryProxy/src/skill/core-client.ts implements the HTTP client that communicates with the OpenClaw plugin gateway using endpoint details extracted from the manifest's server configuration.

Loading the Manifest Programmatically

You can import and validate the manifest in TypeScript modules using the following pattern:

import { readFileSync } from 'fs';
import { resolve } from 'path';

const manifestPath = resolve(
  __dirname,
  '../../MemoryCore/openclaw.plugin.json'
);

export const openClawManifest = JSON.parse(
  readFileSync(manifestPath, 'utf-8')
) as {
  id: string;
  name: string;
  description: string;
  commandAliases: string[];
  activation: { onStartup: boolean };
  contracts: { tools: string[] };
  configSchema: object;
};

console.log(`Loaded OpenClaw plugin: ${openClawManifest.name}`);

Configuring the OpenClaw Adapter

When initializing the client mode, extract connection parameters from the manifest's configuration schema:

import { openClawManifest } from './load-manifest';

function makeOpenClawClientConfig() {
  const serverCfg = openClawManifest.configSchema?.properties?.server?.properties;
  return {
    url: serverCfg?.url?.default ?? 'http://127.0.0.1:8420',
    apiKey: serverCfg?.apiKey?.default ?? 'local',
    instanceId: serverCfg?.instanceId?.default ?? 'default',
  };
}

const clientCfg = makeOpenClawClientConfig();
console.log('OpenClaw client connecting to', clientCfg.url);

To register the plugin with the Memory core after loading:

import { PluginRegistry } from '@tdai/memory-core';
import { openClawManifest } from './load-manifest';

PluginRegistry.register(openClawManifest.id, {
  manifest: openClawManifest,
});

Summary

Frequently Asked Questions

What is the difference between the core and client OpenClaw manifests?

The core manifest (MemoryCore/openclaw.plugin.json) configures OpenClaw for local execution within the Memory process, containing the full plugin schema and activation rules. The client manifest (MemoryCore/openclaw-plugin/openclaw.plugin.json) adds remote gateway connection parameters and is used when the agent connects to a separate Memory Gateway service.

How do I register the OpenClaw plugin with the Memory core?

Import the manifest JSON and pass it to the PluginRegistry.register() method available in @tdai/memory-core, supplying the plugin ID and manifest object as shown in the configuration examples above.

Where is the OpenClaw plugin manifest loaded in the source code?

According to the TencentDB-Agent-Memory source code, agents/asset-import.ts registers the openclaw adapter and loads the manifest file, while MemoryProxy/src/skill/core-client.ts consumes the configuration to establish connections with the OpenClaw plugin gateway.

What OpenClaw tools are exposed by the TencentDB Agent Memory plugin?

The manifests define three primary tools in the contracts.tools array: tdai_memory_search for semantic memory retrieval, tdai_conversation_search for conversation history lookup, and tdai_read_cos for reading from cloud object storage.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →