fix: my mistakes

This commit is contained in:
Gabriel
2026-02-08 04:20:19 +00:00
committed by Peter Steinberger
parent ae8be6ac23
commit f90a39e984
2 changed files with 35 additions and 8 deletions

View File

@@ -3,7 +3,7 @@ summary: "Use NVIDIA's OpenAI-compatible API in OpenClaw"
read_when:
- You want to use NVIDIA models in OpenClaw
- You need NVIDIA_API_KEY setup
title: "NVIDIA"
title: 'NVIDIA'
---
# NVIDIA
@@ -12,28 +12,31 @@ NVIDIA provides an OpenAI-compatible API at `https://integrate.api.nvidia.com/v1
## CLI setup
Export the key once, then run onboarding without an inline secret:
```bash
openclaw onboard --auth-choice apiKey --token-provider nvidia --token "$NVIDIA_API_KEY"
export NVIDIA_API_KEY="nvapi-..."
openclaw onboard --auth-choice apiKey --token-provider nvidia
```
If `NVIDIA_API_KEY` is already exported, you can omit `--token`.
If you still pass `--token`, remember it lands in shell history and `ps` output; prefer the env var when possible.
## Config snippet
```json5
{
env: { NVIDIA_API_KEY: "nvapi-..." },
env: { NVIDIA_API_KEY: 'nvapi-...' },
models: {
providers: {
nvidia: {
baseUrl: "https://integrate.api.nvidia.com/v1",
api: "openai-completions",
baseUrl: 'https://integrate.api.nvidia.com/v1',
api: 'openai-completions',
},
},
},
agents: {
defaults: {
model: { primary: "nvidia/llama-3.1-nemotron-70b-instruct" },
model: { primary: 'nvidia/llama-3.1-nemotron-70b-instruct' },
},
},
}

View File

@@ -2,6 +2,7 @@ import { mkdtempSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { describe, expect, it } from "vitest";
import { resolveApiKeyForProvider } from "./model-auth.js";
import { buildNvidiaProvider, resolveImplicitProviders } from "./models-config.providers.js";
describe("NVIDIA provider", () => {
@@ -13,7 +14,30 @@ describe("NVIDIA provider", () => {
try {
const providers = await resolveImplicitProviders({ agentDir });
expect(providers?.nvidia).toBeDefined();
expect(providers?.nvidia?.apiKey).toBe("NVIDIA_API_KEY");
expect(providers?.nvidia?.models?.length).toBeGreaterThan(0);
} finally {
if (previous === undefined) {
delete process.env.NVIDIA_API_KEY;
} else {
process.env.NVIDIA_API_KEY = previous;
}
}
});
it("resolves the nvidia api key value from env", async () => {
const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-"));
const previous = process.env.NVIDIA_API_KEY;
process.env.NVIDIA_API_KEY = "nvidia-test-api-key";
try {
const auth = await resolveApiKeyForProvider({
provider: "nvidia",
agentDir,
});
expect(auth.apiKey).toBe("nvidia-test-api-key");
expect(auth.mode).toBe("api-key");
expect(auth.source).toContain("NVIDIA_API_KEY");
} finally {
if (previous === undefined) {
delete process.env.NVIDIA_API_KEY;