@derivativelabs/agent-process

中文文档
2.1.2发布于 2026/09/24MITTypeScriptES Module零依赖近 30 天下载 5997

Platform-native agent daemon runtime. Library-first API (agentStart/agentStop/agentFleet) with launchd (macOS), systemd (Linux), and pm2 (Windows) backends.

原始使用文档
文档目录9 节
  1. Install
  2. Library API (recommended)
  3. In-Process Agent (for the daemon itself)
  4. CLI
  5. Configuration
  6. API Reference
  7. Library Functions
  8. AgentStartConfig
  9. License

@derivativelabs/agent-process

Platform-native agent daemon runtime. Start, stop, and manage long-running agent processes using your OS's native service manager.

PlatformBackendService Location
macOSlaunchd~/Library/LaunchAgents/com.dundas.*.plist
Linuxsystemd~/.config/systemd/user/dundas-*.service
Windowspm2PM2_HOME=~/.dundas/pm2

Install

bun add @derivativelabs/agent-process

Products import library functions directly — no CLI needed:

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');

In-Process Agent (for the daemon itself)

The daemon script uses createAgent to set up HTTP server, services, and lifecycle:

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();

CLI

A thin convenience wrapper for operators:

# 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

Configuration

Create agent.config.ts in your project root:

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 Reference

Library Functions

FunctionDescription
agentStart(config)Install service config + start daemon. Returns AgentHandle
agentStop(name)Stop a running agent
agentRestart(name)Restart an agent
agentStatus(name)Get status info (state, PID, port, memory, uptime)
agentFleet()List all managed agents
agentLogs(name, opts?)Tail or stream agent logs
agentUninstall(name)Stop + remove service config

AgentStartConfig

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
}

License

MIT

版本与发布记录

@derivativelabs/agent-process 共发布 3 个版本,首次发布于 2026/03/02;过去 12 个月发布了 3 个版本。

版本发布日期距今
2.1.2latest2026/09/241 个月前
2.1.12026/03/038 个月前
2.1.02026/03/028 个月前

关于 @derivativelabs/agent-process 的常见问题

@derivativelabs/agent-process 是什么?

Platform-native agent daemon runtime. Library-first API (agentStart/agentStop/agentFleet) with launchd (macOS), systemd (Linux), and pm2 (Windows) backends.

如何安装 @derivativelabs/agent-process?

在项目目录运行 npm install @derivativelabs/agent-process,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 agent,可以用 npx agent 直接运行。

@derivativelabs/agent-process 支持 TypeScript 吗?

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

@derivativelabs/agent-process 支持 ESM 还是 CommonJS?

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

@derivativelabs/agent-process 可以商用吗?

@derivativelabs/agent-process 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@derivativelabs/agent-process 的下载量有多少?

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

@derivativelabs/agent-process 还在维护吗?

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