@ donmai/ 服务器
重建后的基础设施 东迈. 提供工作队列、会话存储、工人池管理、发行锁定和网络热量.
安装
npm install @donmai/server
需要一个 Redis 实例( 与 Redis, Upstash, Vercel KV 或任何 Redis 兼容的商店合作) .
它提供什么
| 构成部分 | 说明 |
|---|---|
| 工作队列 | 优先排队 原子要求/释放(组合) |
| 会话集 | 关键值会话状态(状态、成本、时间戳) |
| 工人集资 | 工人登记、心跳、能力跟踪 |
| 问题锁 | 等待排队的每个问题 mutex |
| 代理跟踪 | QA 尝试计数,代理工作历史 |
| Webhook 处理能力 | 用 TTL 发送 Dedup 网页 |
| 托肯施图 | OAuth 令牌存储和检索 |
| 比率限制 | 控制桶率 |
| 工人代理人 | API 工人关键核查 |
| Redis 事件缓存 | 由Redis Streams(消费者团体,MAXLEN trim)支持的州长活动总线 |
| RedisEvent 编辑器 | 州长活动使用 SETNX 和 TTL 启动 |
| 重置覆盖 | 州治人治(HOLD,优先) |
| 重置处理状态 | 顶层相位跟踪(研究,积压生成) |
快速启动
import { createRedisClient, enqueueWork, claimWork } from '@donmai/server'
// Redis client (auto-reads REDIS_URL from env)
const redis = createRedisClient()
// Enqueue a work item with priority
await enqueueWork({
issueId: 'issue-uuid',
identifier: 'PROJ-123',
workType: 'development',
priority: 2,
prompt: 'Implement the login feature...',
})
// Worker claims next item
const work = await claimWork('worker-1')
if (work) {
console.log(`Claimed: ${work.identifier} [${work.workType}]`)
}
环境变量
| 变量 | 需求 | 说明 |
|---|---|---|
REDIS_URL | 对 | Redis 连接 URL( 例如 ), redis://localhost:6379(中文(简体) ) |
相关软件包
| 软件包 | 说明 |
|---|---|
| @ donmai/ core (韩语) | 核心指挥员 |
| @donmai/ cli (英语) | CLI工具(工人、管弦乐手) |
| @donmai/ nextjs (英语) | Next.js Webhook 服务器 |
许可证
麻省理工学院