Pi
Pi, jetzt durch Europa.
Ein paar Zeilen TypeScript registrieren Melious als Custom-Provider. Hot-reload-fähig, code-first, keine JSON-Config zu pflegen.
import type { ExtensionAPI } from class="s">"@mariozechner/pi-coding-agent";
export default function (pi: ExtensionAPI) {
pi.registerProvider(class="s">"melious", {
name: class="s">"Melious",
baseUrl: class="s">"https:class="cclass="s">">//api.melious.ai/v1",
apiKey: class="s">"MELIOUS_API_KEY",
api: class="s">"openai-completions",
models: [
{
id: class="s">"<MODEL_ID>",
name: class="s">"<Display Name>",
reasoning: false,
input: [class="s">"text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
maxTokens: 4096
}
]
});
}What is Pi?
Pi ist ein minimaler, MIT-lizenzierter Terminal-Coding-Harness. Spricht mehrere Provider out of the box und lässt dich eigene über TypeScript-Extensions einbinden statt über Config-Dateien. Sessions sind baumstrukturiert, die Agent-Oberfläche basiert auf Primitiven (Extensions, Skills, Prompt-Templates, AGENTS.md-Context), und /model wechselt das aktive Modell jederzeit. Auf Melious zeigen ist eine einzige Extension-Datei in ~/.pi/agent/extensions/.
Wie nutze ich Pi mit Melious?
-
Pi installieren
Pi wird als npm-Package ausgeliefert. Nach der Installation ist
piim PATH und bereit für den ersten Start.Shellnpm install -g @mariozechner/pi-coding-agent -
Melious als Provider registrieren
Eine TypeScript-Extension in
~/.pi/agent/extensions/ablegen (oder.pi/extensions/pro Projekt). Pi findet sie beim Start und unterstützt/reloadfür Hot-Edits. Die Async-Factory unten holt unseren aktuellen Modell-Katalog und registriert alle Chat-Modelle auf einmal. Keine manuellen Updates, wenn sich der Katalog ändert.~/.pi/agent/extensions/melious.tsimport type { ExtensionAPI } from class="s">"@mariozechner/pi-coding-agent"; export default async function (pi: ExtensionAPI) { const apiKey = process.env.MELIOUS_API_KEY; if (!apiKey) return; const res = await fetch(class="s">"https:class="cclass="s">">//api.melious.ai/v1/models?include_meta=true", { headers: { Authorization: class="s">`Bearer ${apiKey}` }, }); const { data } = await res.json(); pi.registerProvider(class="s">"melious", { name: class="s">"Melious", baseUrl: class="s">"https:class="cclass="s">">//api.melious.ai/v1", apiKey: class="s">"MELIOUS_API_KEY", api: class="s">"openai-completions", models: data .filter((m: any) => m._meta?.type === class="s">"chat") .map((m: any) => ({ id: m.id, name: m._meta?.display_name ?? m.id, reasoning: m._meta?.capabilities?.reasoning ?? false, input: m._meta?.capabilities?.vision ? [class="s">"text", class="s">"image"] : [class="s">"text"], cost: { input: m._meta?.pricing?.input_per_1m ?? 0, output: m._meta?.pricing?.output_per_1m ?? 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: m._meta?.context_length ?? 128000, maxTokens: m._meta?.max_output_tokens ?? 4096, })), }); } -
Pi starten
Key exportieren, dann starten.
/modelwechselt das aktive Modell mitten in der Session.pi --list-modelszeigt, was registriert wurde,pi --provider meliousfiltert auf uns.Shellexport MELIOUS_API_KEY=sk-mel-<YOUR_API_KEY> pi
Drei Schritte von hier.
Hol dir einen Melious-Key. Wähl dein Tool. Folg der Anleitung. Gleicher Client, antwortet jetzt aus Europa.