@cadcamfun/nik-tui-sdk
v0.1.2
Published
Single-package SDK bundling core, ai, agents, providers, chat-tui, and CLI
Readme
@cadcamfun/nik-tui-sdk
Pacchetto unico che raggruppa Core, AI, Agents, Providers, Chat‑TUI e CLI in un solo SDK.
- Node: >= 18 (richiesto per
fetche streaming) - Import modulari tramite subpath exports:
@cadcamfun/nik-tui-sdk/core,@cadcamfun/nik-tui-sdk/ai,@cadcamfun/nik-tui-sdk/agents,@cadcamfun/nik-tui-sdk/providers,@cadcamfun/nik-tui-sdk/chat-tui - CLI inclusa: eseguibile come
tui
Installazione
npm install @cadcamfun/nik-tui-sdk
# oppure
yarn add @nik-tui/sdk
pnpm add @nik-tui/sdkQuickstart
Core (componenti TUI di base)
import { useTerminal, Box } from "@cadcamfun/nik-tui-sdk/core";
const { screen } = useTerminal();
const root = new Box({ parent: screen, label: " Hello ", borderStyle: "line" });
screen.render();AI (servizio unificato + chat)
import { AIService, ChatContainer } from "@cadcamfun/nik-tui-sdk/ai";
import { useTerminal } from "@cadcamfun/nik-tui-sdk/core";
const { screen } = useTerminal();
const ai = new AIService({
provider: "openai",
apiKey: process.env.OPENAI_API_KEY,
model: "gpt-4o-mini",
});
const chat = new ChatContainer({ parent: screen, messages: [], ai });
screen.append(chat.root);
screen.render();Providers (OpenAI, Anthropic, Ollama)
import {
OpenAIProvider,
AnthropicProvider,
OllamaProvider,
} from "@cadcamfun/nik-tui-sdk/providers";
import { AIService } from "@cadcamfun/nik-tui-sdk/ai";
const openaiClient = new OpenAIProvider(
process.env.OPENAI_API_KEY,
"gpt-4o-mini"
);
const ai = new AIService(
{ provider: "openai", model: "gpt-4o-mini" },
undefined,
openaiClient
);Agents (sistema agenti)
import { AgentManager, TodoAgent } from "@cadcamfun/nik-tui-sdk/agents";
const manager = new AgentManager();
const todos = new TodoAgent({ name: "todos" });
manager.registerAgent(todos);
await manager.startAllAgents();Chat‑TUI (componenti preconfezionati)
import {
ChatLayout,
MessageList,
PromptEditor,
} from "@cadcamfun/nik-tui-sdk/ai";
// oppure componenti dedicati da '@cadcamfun/nik-tui-sdk/chat-tui' se presentiCLI
- Esecuzione:
npx @cadcamfun/nik-tui-sdk tui - Installazione globale:
npm i -g @cadcamfun/nik-tui-sdkquinditui
La CLI fornisce:
- init: creare un progetto TUI‑Kit‑AI
- add: aggiungere componenti
- preset/update: gestire preset o aggiornare componenti
Variabili ambiente
OPENAI_API_KEY: per OpenAIANTHROPIC_API_KEY: per AnthropicTUI_AI_TIMEOUT_MS,TUI_AI_MAX_RETRIES: timeout e retry dei provider (opzionale)TUI_AI_DEBUG=1: log diagnostici del layer AI
Streaming e Abort
const { textStream, abort } = await ai.streamCompletion(history);
for await (const chunk of textStream) process.stdout.write(chunk);
// abort(); // annulla la richiesta in corsoImport modulari
@cadcamfun/nik-tui-sdk/core: componenti TUI di base@cadcamfun/nik-tui-sdk/ai: ChatContainer, AIService, StreamingText, ecc.@cadcamfun/nik-tui-sdk/providers: OpenAIProvider, AnthropicProvider, OllamaProvider@cadcamfun/nik-tui-sdk/agents: BaseAgent, AgentManager, TodoAgent@cadcamfun/nik-tui-sdk/chat-tui: componenti/chat preconfezionati (se applicabile)@cadcamfun/nik-tui-sdk/cli: accesso programmatico all’entry della CLI
Requisiti
- Node >= 18
- Terminale con supporto UTF‑8
Licenza
MIT
