Skip to content
PluginStats

@ai-sdk-letta/server weekly downloads statistics

By ai-sdk-letta · npm · AI SDKs

Local HTTP runtime for ai-sdk-letta agents: durable threads and runs, NDJSON events, a token API and a loopback browser app.

View on npm Fresh · Oct 18, 2026

@ai-sdk-letta/server has 91 recorded weekly downloads on npm, a change of -91.3% over the past 7 days, ranking #1755 of 2,322 tracked listings.

Weekly downloads
91
Official API · Oct 18, 2026
7-day growth
-91.3%
-953 weekly downloads
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1755
Among tracked npm listings

About @ai-sdk-letta/server

@ai-sdk-letta/server

Local HTTP runtime for ai-sdk-letta agents. Unofficial; not affiliated with Letta or Vercel.

npm install @ai-sdk-letta/server ai-sdk-letta ai
  • ThreadRuntime: durable threads and runs over one agent, NDJSON events, exactly-once answers, cancellation, rename and archive. A run interrupted by a restart blocks its thread instead of being replayed.
  • startGuiServer(definition, assetsDir, options): the loopback browser app (session cookie, CSRF, Origin and Host checks, strict CSP).
  • startApiServer(definition, options): the same routes behind a 256-bit bearer token and owner header, for server-to-server use.
  • startTeamServer(definitions, assetsDir, { owners, origins, port }): several agents for a team behind tailscale serve. Identity from Tailscale's headers (trusted on loopback only), per-agent members and admins (TeamDirectory, <state>/team/team.json), conversations in parallel, a visible queue per conversation, and authors on every turn. Agent routes live under /api/agents/<id>/... and answer 404 to non-members; members are managed at /api/agents/<id>/members (admins only for changes); answering or stopping a turn needs its author or an admin (not_your_turn, 403). GET /v1/changes?since=N long-polls for changes made by others. ThreadRuntime takes { queue, parallel } for this.
  • Group conversations (team servers; ThreadRuntime option replyMode, the agent's setting, agentName, and members, how many people share the agent): each turn is sent with the reply mode in effect ('always', 'when-addressed', 'agent-decides'; the agent's 'auto' is always with one member, agent decides with several) and whether it mentions the agent. The agent may listen without replying (the stay_silent tool): the run then has a listened event ({ reason? }) and reasoning events when the model shares them, and no text. Threads are listed with replyMode (the override, 'inherit' by default), replyModeInEffect, members and typing ([{ id, name }]), and PATCH /v1/threads/:id accepts replyMode. Queued text messages of an agent with several members are sent together as one turn (the first run has batch, the others batchOf; each keeps its author in history); a queued message being sent can no longer be withdrawn (already_sent). POST /v1/threads/:id/typing takes exactly { typing: boolean } (a heartbeat while typing; it expires after 5 s and on send); it is kept in memory only and never reaches the agent.

Routes (under /api for the GUI): GET /v1/capabilities, GET|POST /v1/threads, PATCH /v1/threads/:id, GET /v1/threads/:id/history, GET /v1/threads/:id/view, POST /v1/runs, GET /v1/runs/:id/events?after=N (NDJSON), POST /v1/runs/:id/answer, POST /v1/runs/:id/cancel, and with the file tools POST /v1/uploads, GET /v1/threads/:id/files, GET /v1/threads/:id/files/:name.

PATCH /v1/threads/:id takes any of { title, archived, latex }: title (1–120 characters), archived (boolean), and latex, the conversation's override of the agent's ui.latex for the browser app: 'inherit' (the default, also for threads saved by earlier versions), 'on' or 'off'. Threads are listed with latex; GET /api/session (GUI) returns the agent's ui: { latex }. It returns the thread as listed.

GET /v1/resources returns the tree with threads (conversation folder path → thread ID) and archived, the paths of the folders whose conversation is archived; the browser app hides those by default. Nothing moves on disk, and version changes when a conversation is archived or restored.

POST /v1/resources/move takes { from, to } (paths from the root) and returns { path, from, commit? }. Renaming a conversation's own folder renames the conversation too (titleFromFolderName: the name as typed, also when the folder got a file-system-safe spelling of it, or the title unchanged when it already shows that text), and the answer then also has thread, as listed. A move that keeps the name does not; neither does a folder renamed by the agent in the sandbox.

GET /api/session also returns versions: { aiSdkLetta, server, lettaSdk }, read once at startup from the package.json of the packages this server actually resolves (an npm install or a source checkout alike; null when one cannot be read), and shown under "About this space" in the browser app. runtimeVersions() returns the same object.

POST /v1/runs takes { id, threadId, text, parentRunId, images? }, where images is a list of { mediaType, data } (base64, no data: prefix). Text may be empty when images are present. Images are validated against IMAGE_LIMITS and rejected with a fixed code (image_unsupported_type, image_invalid, image_remote_url: 400; image_too_large, images_too_many (400), images_too_large: 413). Only this route accepts a larger body (RUN_BODY_LIMIT_BYTES); others keep BODY_LIMIT_BYTES (24 KB) and answer payload_too_large (413) beyond it. Runtime state stores each image's type, size and SHA-256, never its bytes. An image may carry a name; with the file tools it is also saved to the conversation's folder under that name.…

Description from the npm listing.

  • ai
  • ai-sdk
  • letta
  • agent
  • server
  • ndjson
  • express

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@ai-sdk-letta/server weekly downloads on npm, last 90 days: 91 weekly downloads as of Oct 18, 2026.@ai-sdk-letta/serverWeekly downloads on npm · Last 90 days91downloads / week05001K1.5K2K2.5K3K3.5K4KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 18, 2026 · 89 observations · Updated Oc…pluginstats.com
@ai-sdk-letta/server weekly downloads on npm, last 90 days: 91 weekly downloads as of Oct 18, 2026.

7/30/90-day growth

@ai-sdk-letta/server weekly downloads growth on npm: -91.3% over 7 days, 30-day growth unavailable, 90-day growth unavailable.@ai-sdk-letta/serverWeekly downloads growth on npm91downloads / week now7-day growth-953 weekly downloads-91.3%30-day growth+91 weekly downloadsInsufficient history90-day growth+91 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@ai-sdk-letta/server weekly downloads growth on npm: -91.3% over 7 days, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@ai-sdk-letta/server npm ranking history: currently #1755 (by weekly downloads).@ai-sdk-letta/servernpm ranking · by weekly downloads · Last 90 days#1755current rank#1640#1660#1680#1700#1720#1740#1760Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
@ai-sdk-letta/server npm ranking history: currently #1755 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,161 shown · page 88, #19 (overall #1,759)
All npm: every listing in weekly downloads order

Listing placement

AI SDKs259 listings · 13 pages · page 13, #2 (overall #242)
AI SDKs: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (122)
Recent weekly downloads observations for @ai-sdk-letta/server
Date (UTC)Weekly downloadsChange vs. previous
91-19
110-74
184-719
903-22
925-16
9410
941-103
1,044-916
1,960-669
2,629-229
2,858-746
3,604+16
3,5880
3,588—

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@ai-sdk-letta/server. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.