@ derivativelabs/ 代理程序
平台本地代理守护进程运行时间 。 使用您的OS的本地服务管理器开始,停止,并管理长期运行的代理程序.
| 平台 | 后端 | 服务地点 |
|---|---|---|
| 马科斯 | 发射d | ~/Library/LaunchAgents/com.dundas.*.plist |
| 链接 | 系统d | ~/.config/systemd/user/dundas-*.service |
| 窗口 | 页:1 | PM2_HOME=~/.dundas/pm2 |
安装
bun add @derivativelabs/agent-process
图书馆 API( 建议)
产品直接导入库功能——不需要CLI:
import { agentStart, agentStop, agentStatus, agentFleet } from '@derivativelabs/agent-process';
// Start a daemon
const handle = await agentStart({
name: 'my-agent',
script: './src/daemon.ts',
port: 3050,
env: { NODE_ENV: 'production' },
restart: true,
maxMemory: '300M',
});
console.log(`Started ${handle.name} (PID: ${handle.pid}, Platform: ${handle.platform})`);
// Check status
const info = await agentStatus('my-agent');
console.log(`State: ${info.state}`);
// List all agents
const fleet = await agentFleet();
fleet.forEach(a => console.log(`${a.name}: ${a.state}`));
// Stop
await agentStop('my-agent');
处理代理( 守护进程本身)
守护进程脚本使用 createAgent 设置 HTTP 服务器、 服务和生命周期 :
import { createAgent } from '@derivativelabs/agent-process';
import { HeartbeatService } from '@derivativelabs/agent-process/services';
const agent = createAgent({
name: 'my-brain',
port: 3050,
services: [
new HeartbeatService({
interval: 30_000,
handler: async (ctx) => {
console.log(`Heartbeat from ${ctx.agentName}`);
},
}),
],
});
await agent.start();
国 际
操作员的薄便利包装 :
# Define your agent in agent.config.ts, then:
agent install # Install service config (plist/unit/pm2)
agent start # Install + start
agent start --foreground # Run in foreground (no daemon)
agent fleet # List all managed agents
agent health my-agent # Check health endpoint
agent logs my-agent # Tail logs
agent logs -f my-agent # Stream logs
agent stop my-agent # Stop
agent remove my-agent # Stop + uninstall
配置
创建 agent.config.ts 在您的工程根中 :
import { defineAgent } from '@derivativelabs/agent-process';
export default defineAgent({
name: 'my-brain',
port: 3050,
entrypoint: './src/daemon.ts',
process: {
restart: true,
maxRestarts: 10,
restartBackoff: 1000,
maxMemory: '500M',
},
});
API 参考
库函数
| 函数 | 说明 |
|---|---|
agentStart(config) | 安装服务配置 + 启动守护进程 。 回返 AgentHandle |
agentStop(name) | 停止运行的代理 |
agentRestart(name) | 重新启动代理 |
agentStatus(name) | 获取状态信息( 状态、 PID、 端口、 内存、 上行) |
agentFleet() | 列出所有被管理的代理商 |
agentLogs(name, opts?) | 尾端或流代理日志 |
agentUninstall(name) | 停止 + 删除服务配置 |
代理服务器SartConfig
interface AgentStartConfig {
name: string; // Agent name (alphanumeric + hyphens)
script: string; // Path to daemon script
port?: number; // HTTP port (1024-65535)
interpreter?: string; // Runtime binary (default: bun)
env?: Record<string, string>;
workingDirectory?: string;
restart?: boolean; // Auto-restart on crash (default: true)
maxMemory?: string; // e.g. '300M', '1G'
maxRestarts?: number; // Default: 10
restartBackoff?: number; // ms between restarts
logDir?: string; // Custom log directory
}
许可证
麻省理工学院