mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-03 23:11:42 +00:00
* refactor(config): consolidate media model lists * refactor(config): unify memory configuration * refactor(config): consolidate TTS ownership * refactor(config): move typing policy to agents * refactor(config): retire product-level config surfaces * refactor(config): share scoped tool policy type * chore(config): refresh generated baselines * fix(config): honor agent typing overrides * fix(config): migrate sibling config consumers * refactor(infra): keep base64url decoder private * fix(config): strip invalid legacy TTS values * chore(config): refresh rebased baseline hash * fix(doctor): route legacy messages.tts.realtime voice to talk during tts move * refactor(config): polish final layout names * refactor(config): freeze retired tuning defaults * feat(config): add fast mode default symmetry * refactor(config): key agent entries by id * docs(config): update final layout reference * test(config): cover final layout migrations * chore(config): refresh final layout baselines * fix(config): align final layout runtime readers * fix(config): align remaining readers * fix(config): stabilize final layout migrations * fix(config): finalize config projection proof * fix(config): address final layout review * docs(release): preserve historical config names * fix(config): complete keyed agent migration * fix(config): close final migration gaps * fix(config): finish full-branch review * fix(config): complete runtime secret detection * fix(config): close final review findings * fix(config): finish canonical docs and heartbeat migration * fix(config): integrate latest main after rebase * refactor(env): isolate test-only controls * refactor(env): isolate build and development controls * refactor(env): collapse process identity indirection * refactor(env): remove duplicate config and temp aliases * docs(env): define the operator-facing allowlist * ci(env): ratchet production variable count * fix(env): remove stale provider helper import * fix(env): make ratchet sorting explicit * test(env): keep test seam in dead-code audit * test(env): cover ratchet growth and boundary; document surface budgets * docs(config): document tier-eval consolidations * docs(config): clarify speech preference ownership * test(memory): align retired tuning fixtures * refactor(memory): freeze engine heuristics * refactor(config): apply tier-eval tranche * refactor(tts): move persona shaping to providers * refactor(compaction): move prompt policy to providers * test(config): align hookified prompt fixtures * chore(deadcode): classify test-only exports * chore(github): remove unused spawn helper * chore(deadcode): classify queue diagnostics * chore(deadcode): remove unused lane snapshot export * chore(plugin-sdk): ratchet consolidated surface * fix(config): integrate latest main after rebase
94 lines
2.4 KiB
TypeScript
94 lines
2.4 KiB
TypeScript
// Mcp Code Mode Gateway Seed script supports OpenClaw repository automation.
|
|
import fs from "node:fs/promises";
|
|
import os from "node:os";
|
|
import path from "node:path";
|
|
import { applyDockerOpenAiProviderConfig, type OpenClawConfig } from "./docker-openai-seed.ts";
|
|
import { writeProbeMcpServer } from "./lib/mcp-code-mode-probe-server.ts";
|
|
|
|
async function main() {
|
|
const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() || path.join(os.homedir(), ".openclaw");
|
|
const configPath =
|
|
process.env.OPENCLAW_CONFIG_PATH?.trim() || path.join(stateDir, "openclaw.json");
|
|
const workspaceDir = path.join(stateDir, "workspace");
|
|
const serverPath = path.join(stateDir, "mcp-code-mode-fixture", "fixture-server.mjs");
|
|
const apiKey =
|
|
process.env.OPENAI_API_KEY?.trim() ||
|
|
process.env.OPENCLAW_MCP_CODE_MODE_OPENAI_API_KEY?.trim() ||
|
|
"sk-docker-smoke-test";
|
|
|
|
const cfg = applyDockerOpenAiProviderConfig(
|
|
{
|
|
gateway: {
|
|
controlUi: {
|
|
enabled: false,
|
|
},
|
|
http: {
|
|
endpoints: {
|
|
responses: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
agents: {
|
|
defaults: {
|
|
heartbeat: {
|
|
every: "0m",
|
|
},
|
|
},
|
|
},
|
|
memory: {
|
|
search: {
|
|
enabled: false,
|
|
sync: {
|
|
onSearch: false,
|
|
onSessionStart: false,
|
|
watch: false,
|
|
},
|
|
},
|
|
},
|
|
plugins: {
|
|
slots: {
|
|
memory: "none",
|
|
},
|
|
},
|
|
tools: {
|
|
profile: "coding",
|
|
alsoAllow: ["bundle-mcp"],
|
|
codeMode: {
|
|
enabled: true,
|
|
timeoutMs: 20_000,
|
|
maxPendingToolCalls: 16,
|
|
},
|
|
},
|
|
mcp: {
|
|
servers: {
|
|
fixture: {
|
|
command: "node",
|
|
args: [serverPath],
|
|
cwd: path.dirname(serverPath),
|
|
connectionTimeoutMs: 30_000,
|
|
},
|
|
},
|
|
},
|
|
} satisfies OpenClawConfig,
|
|
apiKey,
|
|
);
|
|
|
|
await fs.mkdir(path.dirname(configPath), { recursive: true });
|
|
await fs.mkdir(workspaceDir, { recursive: true });
|
|
await writeProbeMcpServer(serverPath);
|
|
await fs.writeFile(configPath, `${JSON.stringify(cfg, null, 2)}\n`, "utf8");
|
|
process.stdout.write(
|
|
`${JSON.stringify({
|
|
ok: true,
|
|
stateDir,
|
|
configPath,
|
|
workspaceDir,
|
|
serverPath,
|
|
})}\n`,
|
|
);
|
|
}
|
|
|
|
await main();
|