






















@@ -1,4 +1,5 @@
11import path from "node:path";
2+import { resolvePluginConfigObject } from "openclaw/plugin-sdk/config-runtime";
23import { resolvePreferredOpenClawTmpDir, type OpenClawPluginApi } from "../api.js";
34import {
45resolveDiffsPluginDefaults,
@@ -12,12 +13,20 @@ import { createDiffsTool } from "./tool.js";
12131314export function registerDiffsPlugin(api: OpenClawPluginApi): void {
1415const defaults = resolveDiffsPluginDefaults(api.pluginConfig);
15-const security = resolveDiffsPluginSecurity(api.pluginConfig);
1616const viewerBaseUrl = resolveDiffsPluginViewerBaseUrl(api.pluginConfig);
1717const store = new DiffArtifactStore({
1818rootDir: path.join(resolvePreferredOpenClawTmpDir(), "openclaw-diffs"),
1919logger: api.logger,
2020});
21+const resolveCurrentAccessConfig = () => {
22+const currentConfig = api.runtime.config?.loadConfig?.() ?? api.config;
23+const pluginConfig = resolvePluginConfigObject(currentConfig, "diffs") ?? api.pluginConfig;
24+return {
25+allowRemoteViewer: resolveDiffsPluginSecurity(pluginConfig).allowRemoteViewer,
26+trustedProxies: currentConfig.gateway?.trustedProxies,
27+allowRealIpFallback: currentConfig.gateway?.allowRealIpFallback === true,
28+};
29+};
21302231api.registerTool(
2332(ctx) => createDiffsTool({ api, store, defaults, viewerBaseUrl, context: ctx }),
@@ -32,9 +41,10 @@ export function registerDiffsPlugin(api: OpenClawPluginApi): void {
3241handler: createDiffsHttpHandler({
3342 store,
3443logger: api.logger,
35-allowRemoteViewer: security.allowRemoteViewer,
44+allowRemoteViewer: resolveDiffsPluginSecurity(api.pluginConfig).allowRemoteViewer,
3645trustedProxies: api.config.gateway?.trustedProxies,
3746allowRealIpFallback: api.config.gateway?.allowRealIpFallback === true,
47+resolveAccessConfig: resolveCurrentAccessConfig,
3848}),
3949});
4050api.on("before_prompt_build", async () => ({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。