Merge pull request #587 from teknium1/feat/hermes-agent-adapter

feat: add Hermes Agent adapter (hermes_local)
This commit is contained in:
Dotta
2026-03-15 08:25:56 -05:00
committed by GitHub
3 changed files with 23 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ export const AGENT_ADAPTER_TYPES = [
"pi_local", "pi_local",
"cursor", "cursor",
"openclaw_gateway", "openclaw_gateway",
"hermes_local",
] as const; ] as const;
export type AgentAdapterType = (typeof AGENT_ADAPTER_TYPES)[number]; export type AgentAdapterType = (typeof AGENT_ADAPTER_TYPES)[number];

View File

@@ -41,6 +41,8 @@
"@paperclipai/adapter-openclaw-gateway": "workspace:*", "@paperclipai/adapter-openclaw-gateway": "workspace:*",
"@paperclipai/adapter-opencode-local": "workspace:*", "@paperclipai/adapter-opencode-local": "workspace:*",
"@paperclipai/adapter-pi-local": "workspace:*", "@paperclipai/adapter-pi-local": "workspace:*",
"@paperclipai/adapter-openclaw-gateway": "workspace:*",
"hermes-paperclip-adapter": "0.1.1",
"@paperclipai/adapter-utils": "workspace:*", "@paperclipai/adapter-utils": "workspace:*",
"@paperclipai/db": "workspace:*", "@paperclipai/db": "workspace:*",
"@paperclipai/plugin-sdk": "workspace:*", "@paperclipai/plugin-sdk": "workspace:*",

View File

@@ -51,6 +51,15 @@ import {
import { import {
agentConfigurationDoc as piAgentConfigurationDoc, agentConfigurationDoc as piAgentConfigurationDoc,
} from "@paperclipai/adapter-pi-local"; } from "@paperclipai/adapter-pi-local";
import {
execute as hermesExecute,
testEnvironment as hermesTestEnvironment,
sessionCodec as hermesSessionCodec,
} from "hermes-paperclip-adapter/server";
import {
agentConfigurationDoc as hermesAgentConfigurationDoc,
models as hermesModels,
} from "hermes-paperclip-adapter";
import { processAdapter } from "./process/index.js"; import { processAdapter } from "./process/index.js";
import { httpAdapter } from "./http/index.js"; import { httpAdapter } from "./http/index.js";
@@ -127,6 +136,16 @@ const piLocalAdapter: ServerAdapterModule = {
agentConfigurationDoc: piAgentConfigurationDoc, agentConfigurationDoc: piAgentConfigurationDoc,
}; };
const hermesLocalAdapter: ServerAdapterModule = {
type: "hermes_local",
execute: hermesExecute,
testEnvironment: hermesTestEnvironment,
sessionCodec: hermesSessionCodec,
models: hermesModels,
supportsLocalAgentJwt: true,
agentConfigurationDoc: hermesAgentConfigurationDoc,
};
const adaptersByType = new Map<string, ServerAdapterModule>( const adaptersByType = new Map<string, ServerAdapterModule>(
[ [
claudeLocalAdapter, claudeLocalAdapter,
@@ -136,6 +155,7 @@ const adaptersByType = new Map<string, ServerAdapterModule>(
cursorLocalAdapter, cursorLocalAdapter,
geminiLocalAdapter, geminiLocalAdapter,
openclawGatewayAdapter, openclawGatewayAdapter,
hermesLocalAdapter,
processAdapter, processAdapter,
httpAdapter, httpAdapter,
].map((a) => [a.type, a]), ].map((a) => [a.type, a]),