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

@downcity/server

v0.1.14

Published

Downcity Server — Agent transport layer (RPC + HTTP) for @downcity/agent

Downloads

528

Readme

@downcity/server

@downcity/server 是 Downcity Agent 的传输适配层。

包内只做两件事:

  • AgentRPC:把一个本地 Agent 通过 NDJSON over TCP 暴露成本机 RPC 服务,配合 RemoteAgent("rpc://...") 使用。
  • AgentHTTP:把 Agent 暴露成最小 SDK HTTP 面(/api/sdk/sessions/*),可作为独立 HTTP 服务启动,也可作为 Hono 子路由挂到调用方自己的服务器上。

@downcity/server 不承载 Agent 业务实现,所有 session、plugin、executor 能力仍由 @downcity/agent 提供。

安装

pnpm add @downcity/agent @downcity/server

用法

import { Agent } from "@downcity/agent";
import { AgentRPC, AgentHTTP } from "@downcity/server";

const agent = new Agent({ id, path, model });
await agent.ready();

const rpc = new AgentRPC(agent);
await rpc.listen({ host: "127.0.0.1", port: 15314 });

const http = new AgentHTTP(agent);
await http.server().listen({ host: "127.0.0.1", port: 5314 });

// 或者把 router 挂到自己的 Hono 上:
import { Hono } from "hono";
const app = new Hono();
app.route("/", http.router());

停机:

await rpc.close();
await http.close();
await agent.dispose();

设计要点

  • AgentRPC 仅封装 NDJSON over TCP,不带 auth;本机使用。
  • AgentHTTP 仅承载 RemoteAgent SDK transport;平台级路由请由调用方自行装配。
  • AgentRPC / AgentHTTP 都是按需启动,互不依赖。