mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-16 07:50:45 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
53
openclaw/extensions/line/index.ts
Normal file
53
openclaw/extensions/line/index.ts
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import {
|
||||
defineBundledChannelEntry,
|
||||
type OpenClawPluginApi,
|
||||
} from "openclaw/plugin-sdk/channel-entry-contract";
|
||||
|
||||
type RegisteredLineCardCommand = Parameters<OpenClawPluginApi["registerCommand"]>[0];
|
||||
|
||||
let lineCardCommandPromise: Promise<RegisteredLineCardCommand> | null = null;
|
||||
|
||||
async function loadLineCardCommand(api: OpenClawPluginApi): Promise<RegisteredLineCardCommand> {
|
||||
lineCardCommandPromise ??= (async () => {
|
||||
let registered: RegisteredLineCardCommand | null = null;
|
||||
const { registerLineCardCommand } = await import("./src/card-command.js");
|
||||
registerLineCardCommand({
|
||||
...api,
|
||||
registerCommand(command: RegisteredLineCardCommand) {
|
||||
registered = command;
|
||||
},
|
||||
});
|
||||
if (!registered) {
|
||||
throw new Error("LINE card command registration unavailable");
|
||||
}
|
||||
return registered;
|
||||
})();
|
||||
return await lineCardCommandPromise;
|
||||
}
|
||||
|
||||
export default defineBundledChannelEntry({
|
||||
id: "line",
|
||||
name: "LINE",
|
||||
description: "LINE Messaging API channel plugin",
|
||||
importMetaUrl: import.meta.url,
|
||||
plugin: {
|
||||
specifier: "./api.js",
|
||||
exportName: "linePlugin",
|
||||
},
|
||||
runtime: {
|
||||
specifier: "./runtime-api.js",
|
||||
exportName: "setLineRuntime",
|
||||
},
|
||||
registerFull(api) {
|
||||
api.registerCommand({
|
||||
name: "card",
|
||||
description: "Send a rich card message (LINE).",
|
||||
acceptsArgs: true,
|
||||
requireAuth: false,
|
||||
async handler(ctx) {
|
||||
const command = await loadLineCardCommand(api);
|
||||
return await command.handler(ctx);
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue