Pi Runtime Extensions

Pluggable TypeScript packages that register IM, browser, memory, security, and generative capabilities as MCP tools for the Pi agent runtime.

Source repo
TGYD-helige/pi
Stars
★ 92
Last updated
1d ago
License
Apache-2.0
Primary language
TypeScript

At a glance

How it runs
Library / SDKFramework
Works with
Portable with changes
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Node.js >=24pnpm 10.18.3PrismaMySQL (optional storage backend)FFmpeg (bundled with pi-video-gen)Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A developer building a host app who wants session, event, artifact, and scheduled-task persistence while keeping their own HTTP routing and front end installs pi-shared plus pi-storage.
Not a fit if
  • Teams wanting a standalone service: these are packages loaded by a host app
  • Environments that cannot meet Node.js >=24 and pinned pnpm 10.18.3
  • Teams avoiding LGPL/GPL FFmpeg redistribution compliance review
Source review
67/100 · Some gaps

What does this agent do, and when should you use it?

Pi is a monorepo of shared TypeScript packages for Pi runtime applications, published ESM-only under the @amaster.ai npm scope. It splits into two layers: @amaster.ai/pi-shared and @amaster.ai/pi-storage supply runtime contracts and persistence adapters, while the remaining packages are extensions that each register themselves through a ./extension subpath entry point and are loaded on demand by a host application. Extensions cover IM workspaces (Lark/Feishu, WeCom, DingTalk), browser and desktop automation, persistent memory, Langfuse/OpenTelemetry telemetry, cron scheduling, image and video generation, web access, and security policy. Hosts must supply HTTP routing, authentication, model runtime setup, deployment configuration, and product UI; the README documents two loading models, pi2dsh and dsh-pi-host. Runtime requirements are Node.js >=24 and pnpm 10.18.3, licensed Apache-2.0.

Each extension exports an entry point at its ./extension subpath; hosts import it and pass it to the Pi runtime during setup, which registers LLM-callable tools. On the core side, loadPiSettings reads configuration and createRuntimeStorage creates storage, with JsonRuntimeStorage plus MySQL/Prisma adapters persisting sessions, transcripts, events, memory, artifacts, subagents, and scheduled tasks. pi-browser-use wraps chrome-devtools-mcp behind browser_-prefixed tools, pi-computer-use provides cross-platform desktop automation, and pi-web-access handles web search, URL content extraction, and image search. pi-memory injects curated MEMORY.md and USER.md content into the system prompt as a refreshed snapshot, pi-security enforces resource-aware policies and tool authorization, pi-task-scheduler manages cron-based tasks, pi-telemetry exports through createLangfuseExporter and createOtelExporter, and pi-goal derives a goal from the conversation and iterates until it is met. For workspaces, pi-lark calls lark-cli, pi-wecom calls wecom-cli, and pi-dingtalk calls the dws CLI for calendars, docs, sheets, mail, and approvals. pi-image-gen targets OpenAI gpt-image, Google Nano Banana, Alibaba Qwen-Image, OpenRouter, and custom providers, while pi-video-gen performs lossless clip concat and mixed image/video timelines with bundled LGPL/GPL FFmpeg runtimes.

  1. A developer building a host app who wants session, event, artifact, and scheduled-task persistence while keeping their own HTTP routing and front end installs pi-shared plus pi-storage.
  2. A team wiring a Pi agent into a Feishu/Lark office workflow needs calendar, docs, drive, sheets, Base, tasks, and IM skills, provided by pi-lark through lark-cli.
  3. An ops or engineering group wants an agent to search the web, extract page content, and drive a browser, combining pi-web-access and pi-browser-use in one flow.
  4. An assistant scenario needing durable personalization uses pi-memory to inject MEMORY.md/USER.md into the system prompt instead of restating context each turn.
  5. A compliance-sensitive team requires per-resource authorization before tool execution and adds the pi-security policy engine and tool authorization.
  6. A content team switches between image providers via pi-image-gen and assembles clips, subtitles, TTS, and BGM into a finished video with pi-video-gen.

How do you install or deploy this agent?

Requirements are Node.js >=24 and pnpm 10.18.3; the README recommends Corepack:

corepack enable
corepack install -g [email protected]
pnpm install

Full local check: pnpm run pr-check. Common commands: pnpm build, pnpm typecheck, pnpm test. pi-storage ships a Prisma schema at packages/storage/prisma/schema.prisma; run pnpm --filter @amaster.ai/pi-storage prisma:generate if needed, though the root build and typecheck scripts generate the Prisma client before compiling. As a consumer, install only what you need:

pnpm add @amaster.ai/pi-shared @amaster.ai/pi-storage

The README does not document credential setup for the IM, image, or video providers; consult each package README.

How do you use this agent?

Import from root entry points or focused subpaths, for example:

import { createRuntimeStorage } from "@amaster.ai/pi-storage";
import { JsonRuntimeStorage } from "@amaster.ai/pi-storage/json";
import { loadPiSettings } from "@amaster.ai/pi-shared/settings";
import { createLangfuseExporter } from "@amaster.ai/pi-telemetry/langfuse";
import { createOtelExporter } from "@amaster.ai/pi-telemetry/otel";
import memoryExtension from "@amaster.ai/pi-memory/extension";

Extension packages register themselves through their ./extension subpath entry point; the host imports them and passes them to the Pi runtime during setup. Two host loading models are documented: pi2dsh discovers explicitly installed Pi packages in a DSH profile, while dsh-pi-host loads package names configured in its extensions list. Hosts must supply HTTP routing, authentication, model runtime, and deployment config; the README shows no runnable minimal example.

What are this agent's strengths and limitations?

Pros
  • Clear separation with per-package installation: pi-shared and pi-storage hold contracts and persistence, while 19 extensions each register through a ./extension entry point so hosts install only what they need.
  • Storage offers both JSON-file and MySQL/Prisma adapters, easing the path from local development to database-backed deployment.
  • Broad, realistic office coverage: Lark/Feishu, WeCom, and DingTalk integrations reach calendars, docs, sheets, and approvals via lark-cli, wecom-cli, and the dws CLI respectively.
  • Telemetry exports to both Langfuse and OpenTelemetry, and image generation can switch among OpenAI, Google, Alibaba, OpenRouter, and custom providers.
  • pi-video-gen bundles LGPL/GPL FFmpeg runtimes and supports lossless concat, subtitles, TTS, and BGM in local composition, reducing reliance on external transcoding.
Limitations
  • Tightly bound to the Pi/DSH runtime: the README states packages are consumed by host applications that provide HTTP routing, auth, model runtime, and deployment config, so this is not a standalone service.
  • No runnable minimal example or first-invocation walkthrough is documented, and provider credentials/quotas for IM, image, and video packages are absent, understating integration effort.
  • Strict runtime floor: Node.js >=24 and pinned pnpm 10.18.3 with Corepack, plus Prisma/MySQL when the database storage adapter is used.
  • Compatibility depends on host, DSH, Pi, and extension versions; only the pi2dsh and dsh-pi-host docs are referenced, with no version matrix.
  • pi-video-gen ships LGPL/GPL FFmpeg runtimes, which can add redistribution and license-compliance review overhead.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Pi Runtime Extensions This agent 67 · Some gaps Library / SDKFree + model costs ★ 92 1d ago TypeScript —
Interceptor 69 · Some gaps CLIFree ★ 612 3d ago TypeScript Codex · Claude Code · Claude.ai
CamoFox Browser Server 63 · Some gaps Self-hosted serviceFree ★ 437 2d ago JavaScript Claude Code
Pi Agent Desktop 78 · Good — ★ 333 today TypeScript OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
67/ 100 5-point scale 3.4 / 5
Trust 16/29
Reliability 11/14
Adaptability 14/18
Convention 11/18
Effectiveness 10/13
Verifiability 5/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

The code and skill guidance show bounded behavior in some areas: computer actions are scoped to observed targets and verified, high risk actions have confirmation logic, and the browser subprocess environment supports an allowlist. Channels and external services can send messages or upload data. Deductions: the sample does not cover permission and confirmation behavior across all extensions; data flows and sensitive data handling are only partly documented. Evidence for dependency security and rollback is limited, and publisher identity and source attribution are not independently established.

Reliability11 / 14 · 3.9/5

The README, package inventory, and code samples support a coherent project of Pi extensions and shared runtime packages. The README gives Node and pnpm requirements and common build commands; the code includes reconnection, error classification, actionable failure messages, and guidance to inspect state before retrying when outcomes are unknown. Deductions: these safeguards are visible only in selected samples, so consistency across all packages is unproven; availability guidance does not cover every external service.

Adaptability14 / 18 · 3.9/5

The repository describes several user scenarios and package purposes. The computer use skill specifies its scope, tool discovery, platform-specific permission guidance, and an alternative route for browser tasks. Deductions: the sample does not show trigger conditions or environment requirements for every extension. The Pi host boundary is clear, but compatibility details for individual integrations are incomplete.

Convention11 / 18 · 3.1/5

The root README organizes packages by category and provides installation, development, and consumption examples. The license file and metadata both identify Apache-2.0, and package naming is generally consistent. AGENTS.md and CLAUDE.md are repository development guidance rather than product instructions. Deductions: the sample includes no changelog or named maintenance owner, and examples and limitations cover only some packages; the sample cannot establish documentation consistency across the repository.

Effectiveness10 / 13 · 3.8/5

The product connects Pi to browser and desktop operation, collaboration, memory, telemetry, and media generation. The README also describes structured results that scripts can consume, showing clear integration value. Deductions: multiple providers, credentials, platform permissions, and runtime dependencies add deployment cost; the sample does not fully describe costs versus benefits or output contracts for every capability.

Verifiability5 / 8 · 3.1/5

The README's package purposes, requirements, and entry points can be compared with the package inventory, code samples, and workflow examples. Browser evaluation code describes task checks and result recording. Deductions: this is a static sample and the evaluation was not run, so workflow evaluation claims are not evidence of a passing result; several broad capability claims lack corresponding source evidence in the sample, and only some documentation clearly separates facts from inference.

Risks and how to mitigate them
  • The packet covers only selected skills and source files; behavior of unshown packages, configurations, and permissions remains unknown.
  • Browser, desktop, messaging, and generation integrations may cause external effects or charges. Check each package's credentials, permissions, data destinations, and recovery behavior before use.
  • The repository includes evaluation workflows and test examples, but this static review did not run them and cannot establish that evaluations pass.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision 6cc96153a257
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/tgyd-helige-pi.svg)](https://followagents.com/en/agents/tgyd-helige-pi)
<a href="https://followagents.com/en/agents/tgyd-helige-pi"><img src="https://followagents.com/badge/tgyd-helige-pi.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.1.2-beta.91
    Release notes excerpt
    Summary Compared with the previous beta, this release makes @amaster.ai/pi-telemetry traces more complete and readable in Langfuse and Phoenix, with clearer launch context, bounded generation ordinals, and compatible display tool definitions. Telemetry also exposes redacted provider HTTP headers and protects context metadata while labeling auxiliary calls and preserving failure status. CI model workflows move to OpenAI Responses with integration coverage retained. Highlights …
    View on GitHub ↗
  2. v0.1.2-beta.90
    Release notes excerpt
    Summary This beta hardens failure handling across the tool packages and expands @amaster.ai/pi-telemetry with a Phoenix backend layered over shared OpenTelemetry spans. Compared with the previous beta, errors that were previously swallowed now surface with their original causes, and telemetry exports behave more predictably under load and at shutdown. Highlights …
    View on GitHub ↗
  3. v0.1.2-beta.89
    Release notes excerpt
    Summary Compared with the previous release, this update is a narrow reliability fix focused on @amaster.ai/pi-browser-use. Browser-use session connection and server handling now retry unreachable loopback ports, giving local browser automation a better chance to recover when a port is temporarily unavailable. The remaining published extension packages are part of the release set, but the supplied changes are limited to browser-use and its tests. Highlights …
    View on GitHub ↗

FAQ

Can I run this as a standalone service?
No. The README states these packages are consumed by host applications that provide HTTP routing, authentication, model runtime setup, and deployment configuration. Pi supplies runtime contracts, adapters, and orchestration helpers such as createRuntimeStorage, loadPiSettings, and each package's ./extension entry point.
Do I have to install every package?
No. The README recommends installing only what your application needs, for example pnpm add @amaster.ai/pi-shared @amaster.ai/pi-storage. Extensions are independent and register through their ./extension subpaths for on-demand loading.
Is MySQL required?
No. pi-storage offers JsonRuntimeStorage alongside MySQL/Prisma adapters. Prisma, its schema at packages/storage/prisma/schema.prisma, and the prisma:generate step apply only if you choose the database path.
What credentials do the Lark, WeCom, DingTalk, image, and video integrations need?
The README only says these go through lark-cli, wecom-cli, and the dws CLI, and through providers such as OpenAI gpt-image, Google Nano Banana, Alibaba Qwen-Image, OpenRouter, and custom providers. Credential setup, permission scopes, and quotas are not listed and must be checked in each package README.
What are the hard runtime requirements?
Node.js >=24 and pnpm 10.18.3 (installed via Corepack is recommended); all packages are ESM-only. Telemetry needs a Langfuse or OpenTelemetry endpoint, and video composition relies on the bundled FFmpeg runtimes.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.