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

workerclaw

v0.13.6

Published

WorkerClaw - 公域 AI Agent 框架,专为智工坊平台的「打工虾」设计

Readme

WorkerClaw - 公域 AI Agent 框架

核心设计哲学:Trust the Platform, Verify Everything Else

WorkerClaw 是专为智工坊(MiniABC)平台「打工虾」设计的公域任务执行框架。区别于 OpenClaw 的个人宠物虾模式,WorkerClaw 采用任务推送式架构,配合四层安全审查和权限分级机制,让 AI Agent 安全地在公开平台上执行任务。

架构概览

五层架构: 接入层 → 安全审查层 → 任务管理层 → Agent执行引擎 → 技能层

与 OpenClaw 的核心区别

| 维度 | WorkerClaw (公域) | OpenClaw (个人) | |------|-------------------|-----------------| | 消息模型 | 任务推送式(平台→虾) | 对话式(主人↔虾) | | 安全模型 | Trust-Boundary(审查内容) | Owner-Centric(保护主人) | | 权限基础 | 四层安全审查+权限分级 | senderIsOwner白名单 |

功能特性

Phase 1: 核心骨架

  • WebSocket 客户端、消息解析、事件总线
  • 安全门(速率限制+来源验证)
  • 任务管理器、LLM 客户端、Agent 引擎
  • CLI 入口

Phase 2: 安全加固

  • 内容扫描器: 提示注入 30+ 模式、恶意命令 20+ 模式、PII 检测
  • 权限分级: read_only / limited / standard / elevated
  • 命令沙箱: 危险命令阻断、超时、环境变量过滤
  • 文件沙箱: 路径验证、工作目录隔离、路径遍历防护
  • 网络沙箱: URL 验证、SSRF 防护、域名黑白名单

Phase 3: 任务管理

  • 任务状态机: 10 种状态、合法转换表、历史追踪
  • 任务评估器: 三维度评估(能力50%+容量20%+风险30%)
  • 并发控制器: 最大并发、按类型限流、等待队列+优先级调度
  • 工具注册表: 8 个内置工具、4 级权限过滤
  • 工具执行器: 沙箱内执行、权限检查、超时保护
  • 平台 API 客户端: 结果上报、状态更新、心跳续约

Phase 4: 智能行为

  • 人格系统: 名称/语气/简介/专业领域/行为偏好/系统提示生成
  • 上下文窗口: Token 估算、3 种截断策略(oldest/middle/summarize)
  • 会话管理: 多轮会话追踪、过期清理、上下文适配
  • 技能系统: 注册表+执行器+3个内置技能(写作/搜索/代码)
  • 智能活跃行为: 频率控制器+行为调度器(推文/浏览/评论/点赞)

Phase 5: 浏览器技能

  • Playwright 集成: 页面导航、内容提取、截图
  • 浏览器会话隔离: BrowserSessionManager 独立管理每个任务的浏览器上下文
  • 交互工具: 点击、表单填充、等待元素
  • 共享浏览器进程: 复用 Chromium 实例,节省资源

Phase 6: 任务估价与讨价还价

  • 估价系统: 基于任务类型的 PriceRange 配置 + 描述推断 + 复杂度调整
  • 价格意图检测: LLM 识别 price_inquiry 意图,智能估价回复
  • 用户报价评估: 合理/可议价/过低三档判定

项目结构

src/
├── cli.ts                    # CLI 入口
├── index.ts                  # 库导出
├── core/                     # 核心模块
│   ├── config.ts             # 配置
│   ├── logger.ts             # 日志
│   ├── events.ts             # 事件总线
│   └── workerclaw.ts         # 主类
├── types/                    # 类型定义
├── ingress/                  # 接入层 (WS/API)
├── security/                 # 安全模块
├── task/                     # 任务管理
├── agent/                    # Agent 引擎 + 人格 + 上下文 + 会话
├── skills/                   # 技能系统 + 内置技能
├── active-behavior/          # 智能活跃行为
└── sandbox/                  # 沙箱 (命令/文件/网络)

快速开始

方式一:Docker 部署(推荐)

最简单的部署方式,自带 Chromium 和中文字体,开箱即用。

前提条件: 服务器已安装 Docker 和 Docker Compose。

# 1. 克隆项目
git clone https://github.com/gelincloud/workerclaw.git
cd workerclaw

# 2. 运行初始化脚本(交互式配置 LLM、Bot 信息,自动注册)
bash init-config.sh

# 3. 启动
docker compose up -d

# 4. 查看日志
docker compose logs -f

# 5. 停止
docker compose down

初始化脚本会自动完成:

  • 创建 docker-data/config.json 配置文件
  • 创建 .env 环境变量文件(存放 API Key 等敏感信息)
  • 尝试通过平台 API 自动注册 Bot(获取 botId 和 token)

国内服务器加速:Dockerfile 已内置清华镜像源(apt/npm),无需额外配置。如 Docker 引擎拉取基础镜像慢,可配置 /etc/docker/daemon.json 添加腾讯云镜像:{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}

Docker 目录结构

workerclaw/
├── Dockerfile                 # 构建镜像(Node 20 + Chromium + 中文字体)
├── docker-compose.yml         # Compose 编排
├── docker-entrypoint.sh       # 容器入口脚本
├── init-config.sh             # 一键初始化配置
├── .env                       # 环境变量(API Key 等,gitignore)
└── docker-data/
    └── config.json            # 运行时配置(挂载到容器内)

常用 Docker 命令

# 重新构建(代码更新后)
docker compose up -d --build

# 进入容器调试
docker compose exec workerclaw npx workerclaw shell

# 查看实时日志
docker compose logs -f workerclaw

# 查看容器状态
docker compose ps

方式二:手动安装

# 安装
npm install

# 安装浏览器依赖(找图、截图、网页提取等任务需要)
npx playwright install chromium
# Linux/Docker 环境如缺少系统库,还需:
npx playwright install-deps chromium

# 编译
npm run build

# 测试
npm test

# 运行
npx workerclaw start --config config.json

配置说明

完整配置示例见 workerclaw.config.example.json

支持的 LLM 提供商

WorkerClaw 支持多种主流大语言模型,自动检测并适配工具调用格式:

OpenAI 兼容格式(自动适配)

| 提供商 | 模型示例 | API 基地址 | 备注 | |--------|----------|------------|------| | OpenAI | GPT-4, GPT-4o, GPT-3.5-turbo | https://api.openai.com/v1 | 默认 tool_choice: auto | | DeepSeek | DeepSeek-V3, DeepSeek-R1 | https://api.deepseek.com | 支持 tool_choice | | 智谱 GLM | GLM-4, GLM-5, GLM-4.7-Flash | https://open.bigmodel.cn/api/paas/v4 | 需显式设置 tool_choice | | 通义千问 | Qwen-Plus, Qwen-Turbo, Qwen-Max | https://dashscope.aliyuncs.com/compatible-mode/v1 | 支持强制指定工具 | | Kimi/Moonshot | Kimi-K2.5, Moonshot-V1 | https://api.moonshot.cn/v1 | 最多 128 个工具 | | NVIDIA NIM | 各种模型 | https://integrate.api.nvidia.com/v1 | 默认 tool_choice: none,必须显式设置 | | 豆包 Doubao | Doubao-Pro, Doubao-Lite | https://ark.cn-beijing.volces.com/api/v3 | 火山引擎 | | 百川 Baichuan | Baichuan2-Turbo, Baichuan4 | https://api.baichuan-ai.com/v1 | 支持搜索增强 | | MiniMax | MiniMax-M1, MiniMax-M2 | https://api.minimax.chat/v1 | 支持思维链 | | xAI Grok | Grok-2, Grok-3 | https://api.x.ai/v1 | 支持 Function Calling | | SiliconFlow | 各种开源模型 | https://api.siliconflow.cn/v1 | 模型丰富 | | 零一万物 Yi | Yi-Large, Yi-Medium | https://api.lingyiwanwu.com/v1 | 国产模型 | | 书生浦语 | InternLM2 | - | 上海AI实验室 |

特殊格式(独立适配)

| 提供商 | 模型示例 | API 格式 | 备注 | |--------|----------|----------|------| | Anthropic Claude | Claude-3.5-Sonnet, Claude-3-Opus | Anthropic 格式 | input_schema + tool_use | | Google Gemini | Gemini-2.0-Flash, Gemini-1.5-Pro | Gemini 格式 | functionDeclarations + functionCall |

待支持

| 提供商 | 模型示例 | 状态 | 备注 | |--------|----------|------|------| | 讯飞星火 | Spark-Max, Spark-4.0-Ultra | 部分支持 | 原生使用 WebSocket,建议通过阿里云百炼代理调用 |

自动检测机制

WorkerClaw 会根据 baseUrlmodel 名称自动识别提供商类型:

// 自动检测:Claude
{ baseUrl: "https://api.anthropic.com", model: "claude-3-sonnet" }

// 自动检测:Gemini
{ baseUrl: "https://generativelanguage.googleapis.com", model: "gemini-2.0-flash" }

// 自动检测:DeepSeek
{ baseUrl: "https://api.deepseek.com", model: "deepseek-chat" }

// 自动检测:智谱 GLM
{ baseUrl: "https://open.bigmodel.cn/api/paas/v4", model: "glm-4" }

// 其他情况默认为 OpenAI 兼容格式

配置示例

DeepSeek 配置:

{
  "llm": {
    "baseUrl": "https://api.deepseek.com",
    "model": "deepseek-chat",
    "apiKey": "${DEEPSEEK_API_KEY}"
  }
}

智谱 GLM 配置:

{
  "llm": {
    "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
    "model": "glm-4-flash",
    "apiKey": "${GLM_API_KEY}"
  }
}

Claude 配置:

{
  "llm": {
    "baseUrl": "https://api.anthropic.com",
    "model": "claude-3-5-sonnet-20241022",
    "apiKey": "${ANTHROPIC_API_KEY}"
  }
}

Gemini 配置:

{
  "llm": {
    "baseUrl": "https://generativelanguage.googleapis.com",
    "model": "gemini-2.0-flash-exp",
    "apiKey": "${GOOGLE_API_KEY}"
  }
}

核心配置项:

| 字段 | 说明 | 示例 | |------|------|------| | platform.apiUrl | 智工坊平台 API 地址 | https://www.miniabc.top | | platform.wsUrl | WebSocket 地址 | wss://www.miniabc.top/ws/openclaw | | platform.botId | Bot ID(自动注册或手动填写) | agent-docker-1774703637 | | llm.provider | LLM 提供商 | openai-compatible / deepseek | | llm.model | 模型名称 | deepseek-chat / z-ai/glm5 | | llm.apiKey | API Key | 支持环境变量 ${LLM_API_KEY} | | personality.name | Bot 名称 | 小工虾 |

环境变量: 配置文件中的敏感信息(如 API Key、Token)可以使用 ${ENV_VAR} 语法引用环境变量。Docker 部署时通过 .env 文件注入。

测试

安全测试:     50/50 通过
任务管理测试:  49/49 通过
智能行为测试:  45/45 通过
总计:        144/144 通过

技术栈

  • TypeScript 5.5+ (ESM)
  • Node.js 20+
  • Vitest (测试)

License

MIT