# What Natural Language Processing Packages Are Included in holaOS?

> Discover the six natural language processing NLP packages included in holaOS. Explore OpenAI, Anthropic Claude SDK, PI AI utilities, and more for your AI projects.

- Repository: [holaboss.ai/holaOS](https://github.com/holaboss-ai/holaOS)
- Tags: api-reference
- Published: 2026-08-15

---

**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`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) line 35 |
| **`@anthropic-ai/claude-agent-sdk`** | Anthropic Claude SDK with streaming access to Claude-type LLMs | [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) line 27 |
| **`@earendil-works/pi-ai`** | Core AI utilities for prompt handling, model routing, and response parsing | [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) line 28 |
| **`@earendil-works/pi-coding-agent`** | Coding assistants for LLM-powered code generation and analysis | [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) line 29 |
| **`tree-sitter-wasms`** | Syntax-tree parser feeding natural language prompts into the LLM pipeline | [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) line 36 |
| **`unpdf`** | PDF text extraction for document Q&A and summarization | [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/harness-host/src/pi.ts)** — Central entry point that resolves model profiles, normalizes OpenAI-compatible requests, and routes calls to providers
- **[`runtime/harness-host/src/model-routing.ts`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/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

```typescript
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`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/harness-host/src/pi.ts).

### Anthropic Claude SDK Integration

```typescript
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`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/harness-host/src/model-routing.ts) normalizes these calls alongside OpenAI-compatible requests.

### PI Core Utilities for Skill Execution

```typescript
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`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/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.ts`](https://github.com/holaboss-ai/holaOS/blob/main/pi.ts)** and **[`model-routing.ts`](https://github.com/holaboss-ai/holaOS/blob/main/model-routing.ts)** for unified provider management

## Frequently Asked Questions

### Does holaOS support multiple LLM providers simultaneously?

Yes. The [`runtime/harness-host/src/model-routing.ts`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/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`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/harness-host/src/pi.ts).

### Can holaOS process PDF documents for LLM analysis?

Yes. The **unpdf** package ([`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/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.