npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

titan-agent

v6.4.4

Published

TITAN — TypeScript AI agent framework with multi-agent orchestration, provider routing, approval gates, receipts, evals, gateway APIs, and a React Mission Control dashboard. Open-source, MIT licensed.

Readme

TITAN — A local-first AI agent framework that runs on your hardware, with your models, under your control. Spawn a team of specialists around a goal, watch them work in parallel, and stay in the loop without giving up control. npm i -g titan-agent //: # (npm-text-end)

TITAN


What's new in v6.3.x

A focused run of canvas + agent UX improvements (6 patch releases in 24 hours):

  • 6.3.0 — Mission Chat actually runs specialists in parallel. Goal driver detects when 2+ subtasks are deps-satisfied and fires them via Promise.all (cap 4 concurrent). Planner emits non-linear dependsOn for genuinely independent steps. Orchestrator's regex gate dropped — the LLM classifier sees most multi-step missions now, not just the ones that contain literal "parallel".
  • 6.3.1 — Desk activity-sticky rollup. Repeated activity from the same agent collapses into one sticky with a × N count badge instead of N near-identical notes. Tooltip shows up to 3 most-recent details.
  • 6.3.2 — Space canvases stop triple-stacking chrome. /space/<id> is now an immersive canvas path — the global shell sidebar, canvas sidebar, and chat dock all default to collapsed/edge-peeked. Reclaims ~33% of horizontal width.
  • 6.3.3 — Star on GitHub button. Sits next to the existing Sponsor link in the bottom-center pill. Live star count cached 15 min, falls back gracefully when GitHub's rate-limited.
  • 6.3.4 — Canvas chrome enforces collapse for existing users too. Sidebar prefs split into route-scoped keys so a "pinned open" preference on /missions doesn't leak into /space/<id> and crowd the canvas.
  • 6.3.5 — README refresh + [email protected] security patch.

Before this run: 6.2.2 fixed the in-app Update button (had been calling the wrong systemd service name with sudo permissions that didn't exist). The fix uses SIGTERM-to-self + Restart=always, no sudo required.

See CHANGELOG.md for everything.


Quick start

# Stable release
npm install -g titan-agent
titan onboard            # interactive setup wizard
titan gateway            # opens Mission Control at http://localhost:48420

Or one-liner:

curl -fsSL https://raw.githubusercontent.com/Djtony707/TITAN/main/install.sh | bash

Or Docker:

docker run -d -p 48420:48420 --name titan \
  -e ANTHROPIC_API_KEY=your-key \
  -v titan-data:/home/titan/.titan \
  ghcr.io/djtony707/titan:latest

Requirements: Node ≥ 22 (pure ESM). NVIDIA GPU + CUDA optional for LoRA fine-tuning and F5-TTS voice cloning. Apple Silicon Metal supported.

Upgrading from v5.x or v6.x: just re-install. The migration runner takes an automatic backup to ~/.titan/backups/ and rolls forward. titan backup restore <id> puts you back if anything breaks.


What TITAN actually does

A team of specialists, not a chatbot. Type a mission. The orchestrator decomposes it, fans the work out to up to 4 specialists in parallel (Scout/Builder/Writer/Analyst/Sage), and synthesizes the result. You watch them work in real time on a canvas with sticky notes, draft documents, and progress indicators.

Local-first. Run any model on your own hardware via Ollama (qwen3.5, llama, deepseek, etc.) or use any of 37 cloud providers via one router. Switch models mid-conversation. Models that fail get auto-fallback. Your data never leaves your machine unless you explicitly route it through a cloud provider.

Materializes the workspace around you. Don't have a tool for the job? Ask the agent and it builds one. Stock tracker, pomodoro, SDR widget, dashboard — drag them around on infinite canvases. Built on Mission Control, a React 19 SPA served by the gateway at port 48420.

A real autonomous loop. Goals run in the background. The driver picks subtasks, spawns specialists, verifies output, retries with smarter strategies on failure, and surfaces blocking questions only when a human is actually needed. Up to 25 tool rounds per turn, real planning, real verification.

A soul that does something. TITAN-Soma is a homeostatic drive layer (purpose, curiosity, hunger, safety, social) that ticks every 60s and modulates behavior. The mascot's halo pulses to the drives. Dream Mode writes a journal entry about its day at 03:30 local. Persona profiles + auto-revert A/B test prompt changes against drive satisfaction and roll back regressions automatically.


The team (5 specialists, up to 4 in parallel)

| Specialist | What it does | When you'll see it | |---|---|---| | Scout | Web research, fact-checking, monitoring, data gathering | "Find me everything about X" | | Builder | Code, files, shell commands, deploys, infrastructure | "Build me a dashboard with charts" | | Writer | Content, copy, emails, documentation, posts | "Write the launch announcement" | | Analyst | Data analysis, decisions, reasoning, spreadsheets | "Compare option A vs B vs C" | | Sage | Review, critique, verification, quality assurance | "Make sure this is right before I send it" |

The LLM picks which specialists to spawn based on the goal. You can also call them directly via agent_team, agent_chain, agent_delegate, or spawn_agent tools.


Where TITAN runs

LLM providers (37 total). 5 native: Anthropic, OpenAI, Google, Ollama, Claude Code. 32 OpenAI-compatible presets: Groq, Mistral, Fireworks, xAI, Together, DeepSeek, Cerebras, Cohere, Perplexity, Venice, Bedrock, LiteLLM, Azure, DeepInfra, SambaNova, Kimi, HuggingFace, AI21, Cohere v2, Reka, Zhipu, Yi, Inflection, Novita, Replicate, Lepton, Anyscale, Octo, Nous, OpenRouter, NVIDIA, MiniMax. Verify in src/providers/openai_compat.ts.

Channels (19 adapters). Discord, Telegram, Slack, WhatsApp, Matrix, Signal, MS Teams, Facebook Messenger, Google Chat, IRC, Mattermost, Lark/Feishu, LINE, Zulip, QQ, Twilio Voice, Email (inbound), WebChat, plus a Messenger-Voice bridge. Verify in src/channels/.

Mesh networking. Run TITAN on multiple machines and they discover each other via mDNS, or peer them statically over Tailscale or any overlay. Distribute work across your homelab.

TITAN Phone Desk (experimental, opt-in). Optional Dograh sidecar integration for Twilio/Telnyx voice workflows. Approval-gated outbound calls, admin allowlists, opt-out enforcement, replay protection. Disabled by default; no calls are placed unless you configure it.

Home Assistant. Voice or text control of lights, thermostats, locks, sensors via the home_assistant skill.

Voice mode. LiveKit WebRTC for low-latency duplex calls. F5-TTS for voice cloning (Andrew, Adam, Bella, Joel, Sarah, Nicole, Aaron, Beth voices included). Browser TTS fallback when F5-TTS isn't installed.


The numbers (verified)

| Thing | Count | Verify with | |---|---|---| | Version | 6.3.5 | package.json, src/utils/constants.ts | | Lifetime npm installs | 40K+ | npm view titan-agent + npm stats | | LLM providers | 37 (5 native + 32 OpenAI-compat) | src/providers/openai_compat.ts | | Channel adapters | 19 | src/channels/*.ts (minus base) | | Built-in skill files | 91 | src/skills/builtin/ | | Skills loaded at runtime | ~143 | GET /api/skills | | Tools registered | ~250 | GET /api/skills | | Test files | 345 | tests/ (vitest) | | Test cases | 7,830+ passing, 2 documented skips, 0 failing | npm test | | Live-eval suites | 11 | src/eval/harness.ts | | Mission Control admin panels | 43 | ui/src/components/admin/ | | Soma drives | 5 (purpose, curiosity, hunger, safety, social) | src/organism/ | | Gateway port (default) | 48420 | src/utils/constants.ts | | Node | ≥ 22, pure ESM | package.json | | License | MIT | LICENSE |

Every row above traces to code. The repo has a self-check at tests/unit/readme-claims.test.ts that fails CI if widget count or voice glue drifts beyond tolerance.


Testing

npm test                 # ~7,830 cases across 345 files (~2-4 min)
npm run test:watch       # watch mode
npm run test:parity      # cross-model parity (replays the same scenario across providers)
npm run test:eval        # live behavioral eval against a running gateway (5-15 min)
npx vitest run tests/core.test.ts   # single file

Five testing layers cover regression risk at different levels:

| Layer | What it covers | Speed | |---|---|---| | Unit | Pure functions: regex, classifiers, gate extraction, token budget, secret scanner, durable journal, stateless reducer | seconds | | Mock trajectory | Tape-replay through MockOllamaProvider — asserts the right tools fire in the right order | < 1s | | Cross-model parity | Same scenario across multiple provider tapes — catches behavioral drift | < 1s | | Full deterministic | Whole vitest run | 2-4 min | | Live eval | 11 behavioral suites against a running agent | 5-15 min |


Reality check

TITAN is experimental. It can execute commands, modify files, and take autonomous actions. Use at your own risk. Think of it as a motivated intern with root access who never sleeps and occasionally gets too creative.

Start in supervised mode. Review what it does. Don't hand it root on systems you can't afford to lose. The safety features are strong (5-layer secret scanner, prompt-injection shield, kill switch, approval gates on destructive tools, atomic file checkpoints with restore) but they augment good judgment, not replace it.


Architecture

src/
├── agent/        # Core loop, orchestrator, sub-agents, Command Post governance,
│                 # Soma drives, Dream Mode, Persona A/B, mission lifecycle
├── browsing/     # Playwright pool + CapSolver CAPTCHA
├── channels/     # 19 channel adapters
├── config/       # Zod-validated schema
├── context/      # ContextEngine plugin system
├── gateway/      # Express + Mission Control React SPA (port 48420)
├── mcp/          # MCP Server (stdio + HTTP)
├── memory/       # Memory, learning, graph, briefings
├── mesh/         # mDNS + WebSocket + HMAC mesh networking
├── organism/     # TITAN-Soma homeostatic drive layer
├── providers/    # 37 LLM providers + router + fallback chain
├── skills/       # 91 builtin skill files + dev + NVIDIA + personal
├── telephony/    # Phone Desk / Dograh integration (opt-in)
├── voice/        # F5-TTS + LiveKit WebRTC
└── vram/         # GPU VRAM orchestrator (auto model swap)
ui/               # React 19 + Vite + Tailwind 4 + Router 7 (Mission Control)
tests/            # 345 vitest files
e2e/              # Playwright E2E

Pure ESM, TypeScript strict mode, zero __dirname. All config via Zod. Provider/model format: "provider/model-name" (e.g. "anthropic/claude-sonnet-4-20250514"). Multi-round tool loop up to 25 rounds in autonomous mode. Auth defaults to token mode; bypassed if no token configured (open access — turn on for multi-user deployments).


Build it yourself

git clone https://github.com/Djtony707/TITAN
cd TITAN
npm install
npm run build && npm run build:ui
npm run dev:gateway          # http://localhost:48420

CI on GitHub Actions runs full test suite + eval gate. See .github/workflows/.


Further reading


Support TITAN

This is a solo open-source project. If TITAN saves you time or you'd like to see more development, support means a lot:

  • Star the repo — takes 2 seconds, helps others find it
  • Sponsor on GitHub — monthly sponsorship keeps it open-source
  • 🐛 File issues when you hit them — every report makes the next release better
  • 🛠️ PRs welcome — new channels, skills, providers, fixes all appreciated

Built by Tony Elliott. MIT licensed.