mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 20:32:20 +03:00
Adiciona REPL Ink com painel lateral de tokens/custo, 16 slash commands (/model, /combo, /system, /clear, /save, /load, /list, /export, /history, /tokens, /help, /exit etc.), persistência de sessão em ~/.omniroute/repl-sessions/, autosave ao sair, e comando `omniroute repl` com flags --model, --combo, --system, --resume.
20 lines
761 B
JavaScript
20 lines
761 B
JavaScript
import { t } from "../i18n.mjs";
|
|
|
|
export function registerRepl(program) {
|
|
program
|
|
.command("repl")
|
|
.description(t("repl.description"))
|
|
.option("-m, --model <id>", t("repl.model"))
|
|
.option("--combo <name>", t("repl.combo"))
|
|
.option("-s, --system <prompt>", t("repl.system"))
|
|
.option("--resume <session>", t("repl.resume"))
|
|
.action(async (opts, cmd) => {
|
|
const globalOpts = cmd.optsWithGlobals();
|
|
const port = globalOpts.port ? parseInt(String(globalOpts.port), 10) : 20128;
|
|
const baseUrl = globalOpts.baseUrl ?? `http://localhost:${port}`;
|
|
const apiKey = globalOpts.apiKey ?? null;
|
|
const { runRepl } = await import("../tui/Repl.jsx");
|
|
await runRepl({ ...opts, baseUrl, apiKey, port });
|
|
});
|
|
}
|