What Natural Language Processing Packages Are Included in holaOS?
holaOS ships with six built-in NLP packages: OpenAI, Anthropic Claude SDK, PI AI core utilities, PI coding agents, tree-sitter-wasms, and unpdf, all declared in runtime/harness-host/package.json.
The holaOS AI operating system provides a complete natural language processing stack out of the box. These packages power the PI (personal assistant) runtime, enabling skills to call large language models, process documents, and generate code without external setup.
Complete List of NLP Packages in holaOS
According to the source code in runtime/harness-host/package.json, holaOS includes these NLP and LLM packages:
| Package | Purpose | Location |
|---|---|---|
openai |
Official OpenAI client for ChatGPT, completions, embeddings, and moderation | package.json line 35 |
@anthropic-ai/claude-agent-sdk |
Anthropic Claude SDK with streaming access to Claude-type LLMs | package.json line 27 |
@earendil-works/pi-ai |
Core AI utilities for prompt handling, model routing, and response parsing | package.json line 28 |
@earendil-works/pi-coding-agent |
Coding assistants for LLM-powered code generation and analysis | package.json line 29 |
tree-sitter-wasms |
Syntax-tree parser feeding natural language prompts into the LLM pipeline | package.json line 36 |
unpdf |
PDF text extraction for document Q&A and summarization | package.json line 37 |
Core NLP Architecture Files
The NLP stack is orchestrated through two primary TypeScript files in the runtime:
runtime/harness-host/src/pi.ts— Central entry point that resolves model profiles, normalizes OpenAI-compatible requests, and routes calls to providersruntime/harness-host/src/model-routing.ts— Maps provider identifiers (openai,anthropic) to correct API endpoints and request shapes
How to Use holaOS NLP Packages: Code Examples
OpenAI Client for Chat Completions
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
async function chat(prompt: string) {
const completion = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: prompt }],
temperature: 0.7,
});
return completion.choices[0].message.content;
}
console.log(await chat("Summarise the latest news about AI in one sentence."));
This pattern is used throughout the PI runtime in runtime/harness-host/src/pi.ts.
Anthropic Claude SDK Integration
import { Claude } from "@anthropic-ai/claude-agent-sdk";
const claude = new Claude({ apiKey: process.env.CLAUDE_API_KEY });
async function claudeChat(prompt: string) {
const response = await claude.completions.create({
model: "claude-3-5-sonnet-20241022",
messages: [{ role: "user", content: prompt }],
maxTokens: 1024,
});
return response.content[0].text;
}
console.log(await claudeChat("Explain the concept of embeddings in simple terms."));
The routing layer in runtime/harness-host/src/model-routing.ts normalizes these calls alongside OpenAI-compatible requests.
PI Core Utilities for Skill Execution
import { PiRuntime } from "@earendil-works/pi-ai";
import { resolvePiModelProfile } from "./model-routing";
async function runSkill(prompt: string) {
const profile = resolvePiModelProfile({ model: "openai/gpt-4o-mini" });
const runtime = new PiRuntime({ modelProfile: profile });
const result = await runtime.run(prompt);
return result.output;
}
console.log(await runSkill("Write a short poem about the sunrise."));
The PiRuntime class from @earendil-works/pi-ai is imported and wired by runtime/harness-host/src/pi.ts.
Document Processing and Code Analysis Capabilities
Beyond direct LLM access, holaOS NLP packages include supporting tools:
- tree-sitter-wasms — Parses code into syntax trees for LLM consumption
- unpdf — Extracts PDF text streams for document-based Q&A workflows
These enable multi-modal NLP pipelines where documents and code can feed directly into prompts.
Summary
- holaOS includes six dedicated NLP packages declared in
runtime/harness-host/package.json - OpenAI and Anthropic Claude SDK provide first-party LLM access
- @earendil-works/pi-ai and pi-coding-agent furnish the PI runtime's core AI orchestration
- Document and code parsers (tree-sitter-wasms, unpdf) extend NLP to structured data
- All packages route through
pi.tsandmodel-routing.tsfor unified provider management
Frequently Asked Questions
Does holaOS support multiple LLM providers simultaneously?
Yes. The runtime/harness-host/src/model-routing.ts file contains logic that maps provider identifiers to their respective API endpoints and normalizes request shapes, allowing skills to switch between OpenAI, Anthropic, and other providers without code changes.
Where are the NLP packages configured in holaOS?
All NLP dependencies are declared in runtime/harness-host/package.json lines 27-37. The runtime loads these through the PI personal assistant system located in runtime/harness-host/src/pi.ts.
Can holaOS process PDF documents for LLM analysis?
Yes. The unpdf package (package.json line 37) extracts text from PDF files into streams that the LLM pipeline can consume for summarization, Q&A, and other document-based tasks.
Is there a coding-specific NLP agent in holaOS?
Yes. The @earendil-works/pi-coding-agent package provides specialized coding assistants that leverage LLM backends for code generation, refactoring, and analysis.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →