@adelie/server

中文文档
0.6.5发布于 2026/11/07Apache-2.0TypeScriptES Module近 30 天下载 2529

Adelie网络服务器:多用户认证与授权,Session执行与SSE流化,以及用法核算,构建于@adelie/core上.

中文使用文档
文档目录4 节
  1. 建筑
  2. 环境
  3. 运行
  4. 安全说明(已知MVP限制)

@ adelie/ 服务器

Adelie Web后端——SDK"人"边界的Web执行. HTTP 载有即时输入、批准和中断; Server-Sent Events 流出 OmniMessage 输出。 添加多用户认证、 项目授权、 会话运行时间、 排程和使用核算 @adelie/core。 。 。 .

建筑

  • HTTP 密码: 浩诺+ @hono/node-server; 数据 http 模块(src/http/app.ts)从每个模块组装业务表面 HttpModule.routes 贡献和约束没有端口(测试驱动它通过 app.request()(三); index.ts 是启动条目(dotenv,优雅的关闭).
  • 存储: SQLite 通过节点的内置 node:sqlite (WAL)只持有索引和汇总(用户、认证会话、项目授权、代理/会议索引、使用、UI预览、错误记录)。 代理状态、追踪和工作空间作为文件保留 ~/.adelie/data/<project>/agents/<agent>/与SDK和CLI完全共享.
  • 运行时间:会话管理器保留活动会话(获得或恢复或康复、每会场变换、运行/压缩驱动);批准表面为SSE approval_request 和决定每次重新读取存储的核准模式; 中断等待核准以拒绝中止; 调度器起火 agent_state/schedule/*.toml 在服务运行时执行任务.
  • 证监会: 每道单曲事件 ids , 带有有边框的回放缓冲器 (1000 事件 / 2MB); 重新连接从 Last-Event-ID 或收到 resync_required;心跳每20秒评论一次.
  • 使用量数字 : token_usage 事件逐行持续;费用在查询时根据目前的按模型定价计算.
  • 终端数字 : src/terminal/ 运行 pty 会话服务器侧(node-pty),并将每个字节输入到一个无头的xterm,所以守护进程——而不是浏览器——拥有屏幕. 控制是JSON通过HTTP(/api/terminals: 列表 / 创建 / 捕获 / 密钥 / 杀死; 创建接受 cwd, (中文(简体) ), name, (中文(简体) ), cols编号 :rows (单位:千美元) shell 覆盖; 字节流是二进制 WebSocket at /api/terminals/:id/stream (单位:千美元)[opcode, slot, payload],输出组合成 ~5ms 窗口,并立即冲出。 在附加服务器时会使当前网格返回到一个ANSI还原流中,所以一个再装入或第二个设备会重建精确的屏幕——回滚,颜色,光标和DEC输入模式——同时外壳会一直运行. 网络应用程序两次浮出水面:一个内应用码头(Ctrl+), Codex-style) and the standalone最终 page ({\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢attaches an existing terminal — the dock's detach handoff —========================================================== (============================= (=============================================================================================== (======================================================================/将一个新的参数化。 会话运行在进程(没有叉子终端工人);这个模块是唯一能触摸节点-pty的东西,这就是如果负载要求它会分裂的地方.

完整路由表和SSE协议的记载见 服务器 API 引用。通过 @adelie/server/api。 。 。 .

环境

变量含义默认
PORT 编号 : HOST听取端口/ 地址4000 编号 : 127.0.0.1
ADELIE_HOME (曾经是) PENGUIN_HOME(中文(简体) )数据根( 与 SDK/ CLI 共享)~/.adelie/data
ADELIE_WEB_DB (曾经是) PENGUIN_WEB_DB(中文(简体) )SQLite 文件路径<root>/web.db
ADELIE_WEB_DIST (曾经是) PENGUIN_WEB_DIST(中文(简体) )前端构建 dir( 静态托管 + SPA 后退当下)../web/dist,或捆绑 web-dist/ 在 npm 软件包中
ADELIE_TRUST_PROXY信托 x-forwarded-proto (单位:千美元)1 以启用 : 它在 HTTPS 上打开热更新网络门并标记会话 cookie Secure – 仅在反向代理后设置/剪切页眉本身未设置( 未信任)
ADELIE_CLI_ENTRY (曾经是) PENGUIN_CLI_ENTRY(中文(简体) )向代理服务器提供的 CLI 条目脚本: 它被写入 <root>/bin/penguin 并放在每个命令的路径前penguin server|web 设置在名称下, 桌面外壳会通过预重命名的 ; 否则此服务器的输入是开始的, 当它有一个

上面的每个部署变量都会用括号读取拼写:其写作器在外 此寄存器( 桌面 shell 的发射环境, 现有部署的单位文件, an 更古老的发射台脚本),所以两个名字都被接受,而那些编剧则移动过来——见: packages/core/src/state/boundary-env.ts。 。 。 .

.env 在进程 cwd 中自动加载.

运行

pnpm --filter @adelie/server dev     # tsx watch (front end via the Vite dev proxy)
pnpm --filter @adelie/server build   # tsup → dist/
pnpm --filter @adelie/server start   # node dist/index.js

pnpm typecheck / test 运行 tsc 和 vitest(测试使用临时根 + 内膜 DB;没有端口,没有LLM 的活电话) .

安全说明(已知MVP限制)

  • 中国证监会: 会话饼干是 SameSite=Lax 并只接受 Content-Type: application/json;还没有CSRF标志.
  • 登录节流:在连续5次失败后,每个用户名的指数回转(1倍于60斯的上限), 429 too_many_attempts 窗口内,在成功时重置;内存,所以重启即可清除. 未知用户名被相同的节制, 因此它不是一个账户存在预告器 。 一个倒置代理仍然可以为公共部署添加IP级限制.
  • 内建管理员 admin 以随机密码播种,该密码被散开并隐去 (单位:千美元)ADELIE_SEED_ADMIN_PASSWORD 把它钉入测试/e2e). 在设定出密码之前,每个开始会打印出第一个登录链接,在浏览器中签名以选择一个;一个横幅会一直提醒直到初始旗帜被清除.
  • 密码的使用 node:crypto 挤压( s)scrypt$N$r$p$salt$hash时间保障平等。 一个会话是一行 auth_sessions (cookie holds a manual sorder,行其sha256;它在重启后活了下来,续延已就位的过期,并登录删除行. 课会持续30天,并进行滑动更新.
  • 模型证书在项目所隐藏的0600配置文件中现场直播;API总是掩盖它们.
  • 终端是运行服务器的 OS 账户的外壳,即API最有特权的东西——它们没有项目范围. 一个终端只可见于创建它的账户(有人的ID回答404,不是403)和流 WebSocket 检查 Origin 在会话 cookie上,因为一个WebSocket握手不受CORS约束. 请不要显示您不会给 SSH 账户的终端部署 .
  • 在反向代理后, 禁用 SSE 路径的响应缓冲( 服务器已经发送) X-Accel-Buffering: no)和设置 ADELIE_TRUST_PROXY=1 与 x-forwarded-proto 转发后会话 cookie 标记 Secure ——单发头是不值得信任的,所以没有选入HTTPS部署就发行了它的饼干而不用旗.

部分 爱德莉 • Apache-2.0

版本与发布记录

@adelie/server 共发布 19 个版本,首次发布于 2026/10/17;过去 12 个月发布了 19 个版本。

版本发布日期距今
0.6.5latest2026/11/07今天
0.6.42026/11/052 天前
0.6.32026/11/043 天前
0.6.22026/11/025 天前
0.6.12026/11/016 天前
0.6.02026/10/308 天前

关于 @adelie/server 的常见问题

@adelie/server 是什么?

Adelie网络服务器:多用户认证与授权,Session执行与SSE流化,以及用法核算,构建于@adelie/core上.

如何安装 @adelie/server?

在项目目录运行 npm install @adelie/server,或使用 pnpm add / yarn add / bun add。

@adelie/server 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@adelie/server 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adelie/server 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@adelie/server 可以商用吗?

@adelie/server 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adelie/server 的下载量有多少?

根据 npm 官方下载统计,@adelie/server 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,529 次,日均约 84 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adelie/server 还在维护吗?

最新版本 0.6.5 发布于 2026/11/07(今天);至今共发布 19 个版本,其中过去 12 个月发布了 19 个;首次发布于 2026/10/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。