@poolzin/pool-bot 2026.3.13 → 2026.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +87 -0
- package/dist/agents/checkpoint-manager.js +291 -0
- package/dist/agents/poolbot-tools.js +5 -0
- package/dist/agents/subagent-announce-reliability.js +160 -0
- package/dist/agents/tool-result-truncation.js +299 -0
- package/dist/agents/tools/nodes-file-tool.js +197 -0
- package/dist/build-info.json +3 -3
- package/dist/cli/config-cli.js +60 -0
- package/dist/cron/cron-improvements.js +195 -0
- package/dist/discord/discord-improvements.js +167 -0
- package/dist/gateway/auth-rate-limit.js +19 -0
- package/dist/gateway/auth.js +41 -0
- package/dist/gateway/gateway-improvements.js +294 -0
- package/dist/gateway/node-command-policy.js +7 -2
- package/dist/infra/net/ssrf.js +15 -2
- package/dist/infra/shell-security.js +201 -0
- package/dist/memory/memory-improvements.js +239 -0
- package/dist/node-host/runner.js +146 -79
- package/dist/security/prototype-pollution.js +141 -0
- package/dist/security/webhook-security.js +253 -0
- package/dist/shared/net/ip.js +52 -1
- package/dist/slack/slack-improvements.js +225 -0
- package/dist/telegram/telegram-improvements.js +220 -0
- package/dist/ui-plugins/ui-plugins-improvements.js +191 -0
- package/docs/ANALISE_OPENCLAW_PROFISSIONAL.md +520 -0
- package/docs/competitive-analysis.md +421 -0
- package/docs/implementation-analysis.md +393 -0
- package/docs/plans/2026-03-11-file-operations-security-hardening.md +307 -0
- package/docs/plans/2026-03-11-integracao-projetos-poolbot.md +666 -0
- package/extensions/agency-agents/README.md +301 -0
- package/extensions/agency-agents/agents/CONTRIBUTING.md +353 -0
- package/extensions/agency-agents/agents/README.md +602 -0
- package/extensions/agency-agents/agents/design/design-brand-guardian.md +320 -0
- package/extensions/agency-agents/agents/design/design-image-prompt-engineer.md +234 -0
- package/extensions/agency-agents/agents/design/design-ui-designer.md +381 -0
- package/extensions/agency-agents/agents/design/design-ux-architect.md +467 -0
- package/extensions/agency-agents/agents/design/design-ux-researcher.md +327 -0
- package/extensions/agency-agents/agents/design/design-visual-storyteller.md +147 -0
- package/extensions/agency-agents/agents/design/design-whimsy-injector.md +436 -0
- package/extensions/agency-agents/agents/engineering/engineering-ai-engineer.md +144 -0
- package/extensions/agency-agents/agents/engineering/engineering-backend-architect.md +233 -0
- package/extensions/agency-agents/agents/engineering/engineering-devops-automator.md +374 -0
- package/extensions/agency-agents/agents/engineering/engineering-frontend-developer.md +223 -0
- package/extensions/agency-agents/agents/engineering/engineering-mobile-app-builder.md +491 -0
- package/extensions/agency-agents/agents/engineering/engineering-rapid-prototyper.md +460 -0
- package/extensions/agency-agents/agents/engineering/engineering-security-engineer.md +275 -0
- package/extensions/agency-agents/agents/engineering/engineering-senior-developer.md +174 -0
- package/extensions/agency-agents/agents/examples/README.md +48 -0
- package/extensions/agency-agents/agents/examples/nexus-spatial-discovery.md +852 -0
- package/extensions/agency-agents/agents/examples/workflow-landing-page.md +119 -0
- package/extensions/agency-agents/agents/examples/workflow-startup-mvp.md +155 -0
- package/extensions/agency-agents/agents/integrations/README.md +117 -0
- package/extensions/agency-agents/agents/integrations/aider/README.md +38 -0
- package/extensions/agency-agents/agents/integrations/antigravity/README.md +49 -0
- package/extensions/agency-agents/agents/integrations/claude-code/README.md +31 -0
- package/extensions/agency-agents/agents/integrations/cursor/README.md +38 -0
- package/extensions/agency-agents/agents/integrations/gemini-cli/README.md +36 -0
- package/extensions/agency-agents/agents/integrations/opencode/README.md +58 -0
- package/extensions/agency-agents/agents/integrations/windsurf/README.md +26 -0
- package/extensions/agency-agents/agents/marketing/marketing-app-store-optimizer.md +319 -0
- package/extensions/agency-agents/agents/marketing/marketing-content-creator.md +52 -0
- package/extensions/agency-agents/agents/marketing/marketing-growth-hacker.md +52 -0
- package/extensions/agency-agents/agents/marketing/marketing-instagram-curator.md +111 -0
- package/extensions/agency-agents/agents/marketing/marketing-reddit-community-builder.md +121 -0
- package/extensions/agency-agents/agents/marketing/marketing-social-media-strategist.md +123 -0
- package/extensions/agency-agents/agents/marketing/marketing-tiktok-strategist.md +123 -0
- package/extensions/agency-agents/agents/marketing/marketing-twitter-engager.md +124 -0
- package/extensions/agency-agents/agents/marketing/marketing-wechat-official-account.md +143 -0
- package/extensions/agency-agents/agents/marketing/marketing-xiaohongshu-specialist.md +136 -0
- package/extensions/agency-agents/agents/marketing/marketing-zhihu-strategist.md +160 -0
- package/extensions/agency-agents/agents/product/product-feedback-synthesizer.md +117 -0
- package/extensions/agency-agents/agents/product/product-sprint-prioritizer.md +152 -0
- package/extensions/agency-agents/agents/product/product-trend-researcher.md +157 -0
- package/extensions/agency-agents/agents/project-management/project-management-experiment-tracker.md +196 -0
- package/extensions/agency-agents/agents/project-management/project-management-project-shepherd.md +192 -0
- package/extensions/agency-agents/agents/project-management/project-management-studio-operations.md +198 -0
- package/extensions/agency-agents/agents/project-management/project-management-studio-producer.md +201 -0
- package/extensions/agency-agents/agents/project-management/project-manager-senior.md +133 -0
- package/extensions/agency-agents/agents/scripts/convert.sh +362 -0
- package/extensions/agency-agents/agents/scripts/install.sh +465 -0
- package/extensions/agency-agents/agents/scripts/lint-agents.sh +115 -0
- package/extensions/agency-agents/agents/spatial-computing/macos-spatial-metal-engineer.md +335 -0
- package/extensions/agency-agents/agents/spatial-computing/terminal-integration-specialist.md +68 -0
- package/extensions/agency-agents/agents/spatial-computing/visionos-spatial-engineer.md +52 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-cockpit-interaction-specialist.md +30 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-immersive-developer.md +30 -0
- package/extensions/agency-agents/agents/spatial-computing/xr-interface-architect.md +30 -0
- package/extensions/agency-agents/agents/specialized/agentic-identity-trust.md +367 -0
- package/extensions/agency-agents/agents/specialized/agents-orchestrator.md +365 -0
- package/extensions/agency-agents/agents/specialized/data-analytics-reporter.md +52 -0
- package/extensions/agency-agents/agents/specialized/data-consolidation-agent.md +58 -0
- package/extensions/agency-agents/agents/specialized/lsp-index-engineer.md +312 -0
- package/extensions/agency-agents/agents/specialized/report-distribution-agent.md +63 -0
- package/extensions/agency-agents/agents/specialized/sales-data-extraction-agent.md +65 -0
- package/extensions/agency-agents/agents/strategy/EXECUTIVE-BRIEF.md +95 -0
- package/extensions/agency-agents/agents/strategy/QUICKSTART.md +194 -0
- package/extensions/agency-agents/agents/strategy/coordination/agent-activation-prompts.md +401 -0
- package/extensions/agency-agents/agents/strategy/coordination/handoff-templates.md +357 -0
- package/extensions/agency-agents/agents/strategy/nexus-strategy.md +1110 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-0-discovery.md +178 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-1-strategy.md +238 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-2-foundation.md +278 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-3-build.md +286 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-4-hardening.md +332 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-5-launch.md +277 -0
- package/extensions/agency-agents/agents/strategy/playbooks/phase-6-operate.md +318 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-enterprise-feature.md +157 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-incident-response.md +217 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-marketing-campaign.md +187 -0
- package/extensions/agency-agents/agents/strategy/runbooks/scenario-startup-mvp.md +154 -0
- package/extensions/agency-agents/agents/support/support-analytics-reporter.md +363 -0
- package/extensions/agency-agents/agents/support/support-executive-summary-generator.md +210 -0
- package/extensions/agency-agents/agents/support/support-finance-tracker.md +440 -0
- package/extensions/agency-agents/agents/support/support-infrastructure-maintainer.md +616 -0
- package/extensions/agency-agents/agents/support/support-legal-compliance-checker.md +586 -0
- package/extensions/agency-agents/agents/support/support-support-responder.md +583 -0
- package/extensions/agency-agents/agents/testing/testing-accessibility-auditor.md +313 -0
- package/extensions/agency-agents/agents/testing/testing-api-tester.md +304 -0
- package/extensions/agency-agents/agents/testing/testing-evidence-collector.md +208 -0
- package/extensions/agency-agents/agents/testing/testing-performance-benchmarker.md +266 -0
- package/extensions/agency-agents/agents/testing/testing-reality-checker.md +236 -0
- package/extensions/agency-agents/agents/testing/testing-test-results-analyzer.md +303 -0
- package/extensions/agency-agents/agents/testing/testing-tool-evaluator.md +392 -0
- package/extensions/agency-agents/agents/testing/testing-workflow-optimizer.md +448 -0
- package/extensions/agency-agents/index.ts +733 -0
- package/extensions/agency-agents/node_modules/.bin/jiti +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsc +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsserver +21 -0
- package/extensions/agency-agents/node_modules/.bin/tsx +21 -0
- package/extensions/agency-agents/node_modules/.bin/vite +21 -0
- package/extensions/agency-agents/node_modules/.bin/vitest +21 -0
- package/extensions/agency-agents/node_modules/.bin/yaml +21 -0
- package/extensions/agency-agents/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/extensions/agency-agents/package.json +25 -0
- package/extensions/agency-agents/poolbot.plugin.json +11 -0
- package/extensions/agency-agents/src/AgencyAgentsService.test.ts +443 -0
- package/extensions/agency-agents/src/AgencyAgentsService.ts +288 -0
- package/extensions/agency-agents/src/types.ts +147 -0
- package/extensions/agency-agents/vitest.config.ts +8 -0
- package/extensions/hexstrike-ai/README.md +98 -0
- package/extensions/hexstrike-ai/node_modules/.bin/tsc +21 -0
- package/extensions/hexstrike-ai/node_modules/.bin/tsserver +21 -0
- package/extensions/hexstrike-ai/package.json +29 -0
- package/extensions/hexstrike-ai/poolbot.plugin.json +31 -0
- package/extensions/hexstrike-ai/src/client.ts +91 -0
- package/extensions/hexstrike-ai/src/index.ts +170 -0
- package/extensions/hexstrike-ai/src/server/hexstrike_mcp.py +5470 -0
- package/extensions/hexstrike-ai/src/server/hexstrike_server.py +17289 -0
- package/extensions/hexstrike-ai/src/server/requirements.txt +84 -0
- package/extensions/hexstrike-ai/src/server-manager.ts +83 -0
- package/extensions/hexstrike-ai/tsconfig.json +20 -0
- package/extensions/page-agent/README.md +159 -0
- package/extensions/page-agent/index.ts +595 -0
- package/extensions/page-agent/node_modules/.bin/jiti +21 -0
- package/extensions/page-agent/node_modules/.bin/playwright +21 -0
- package/extensions/page-agent/node_modules/.bin/tsc +21 -0
- package/extensions/page-agent/node_modules/.bin/tsserver +21 -0
- package/extensions/page-agent/node_modules/.bin/tsx +21 -0
- package/extensions/page-agent/node_modules/.bin/vitest +21 -0
- package/extensions/page-agent/node_modules/.bin/yaml +21 -0
- package/extensions/page-agent/package.json +43 -0
- package/extensions/page-agent/poolbot.plugin.json +24 -0
- package/extensions/page-agent/src/PageAgentService.test.ts +517 -0
- package/extensions/page-agent/src/PageAgentService.ts +636 -0
- package/extensions/page-agent/src/PoolBotPageController.test.ts +358 -0
- package/extensions/page-agent/src/PoolBotPageController.ts +245 -0
- package/extensions/page-agent/src/index.ts +20 -0
- package/extensions/page-agent/src/tools.test.ts +231 -0
- package/extensions/page-agent/src/tools.ts +167 -0
- package/extensions/page-agent/src/types.ts +198 -0
- package/extensions/xyops/README.md +227 -0
- package/extensions/xyops/index.ts +342 -0
- package/extensions/xyops/node_modules/.bin/jiti +21 -0
- package/extensions/xyops/node_modules/.bin/tsc +21 -0
- package/extensions/xyops/node_modules/.bin/tsserver +21 -0
- package/extensions/xyops/node_modules/.bin/tsx +21 -0
- package/extensions/xyops/node_modules/.bin/vitest +21 -0
- package/extensions/xyops/node_modules/.bin/yaml +21 -0
- package/extensions/xyops/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/extensions/xyops/package.json +39 -0
- package/extensions/xyops/poolbot.plugin.json +21 -0
- package/extensions/xyops/src/client.test.ts +467 -0
- package/extensions/xyops/src/client.ts +157 -0
- package/extensions/xyops/src/types.ts +147 -0
- package/extensions/xyops/vitest.config.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# HexStrike AI MCP Agents v6.0
|
|
2
|
+
#
|
|
3
|
+
# INSTALLATION COMMANDS:
|
|
4
|
+
# python3 -m venv hexstrike_env
|
|
5
|
+
# source hexstrike_env/bin/activate
|
|
6
|
+
# python3 -m pip install -r requirements.txt
|
|
7
|
+
# python3 hexstrike_server.py
|
|
8
|
+
|
|
9
|
+
# ============================================================================
|
|
10
|
+
# CORE FRAMEWORK DEPENDENCIES (ACTUALLY USED)
|
|
11
|
+
# ============================================================================
|
|
12
|
+
flask>=2.3.0,<4.0.0 # Web framework for API server (flask import)
|
|
13
|
+
requests>=2.31.0,<3.0.0 # HTTP library (requests import)
|
|
14
|
+
psutil>=5.9.0,<6.0.0 # System utilities (psutil import)
|
|
15
|
+
fastmcp>=0.2.0,<1.0.0 # MCP framework (from mcp.server.fastmcp import FastMCP)
|
|
16
|
+
|
|
17
|
+
# ============================================================================
|
|
18
|
+
# WEB SCRAPING & AUTOMATION (ACTUALLY USED)
|
|
19
|
+
# ============================================================================
|
|
20
|
+
beautifulsoup4>=4.12.0,<5.0.0 # HTML parsing (from bs4 import BeautifulSoup)
|
|
21
|
+
selenium>=4.15.0,<5.0.0 # Browser automation (selenium imports)
|
|
22
|
+
webdriver-manager>=4.0.0,<5.0.0 # ChromeDriver management (referenced in code)
|
|
23
|
+
|
|
24
|
+
# ============================================================================
|
|
25
|
+
# ASYNC & NETWORKING (ACTUALLY USED)
|
|
26
|
+
# ============================================================================
|
|
27
|
+
aiohttp>=3.8.0,<4.0.0 # Async HTTP (aiohttp import)
|
|
28
|
+
|
|
29
|
+
# ============================================================================
|
|
30
|
+
# PROXY & TESTING (ACTUALLY USED)
|
|
31
|
+
# ============================================================================
|
|
32
|
+
mitmproxy>=9.0.0,<11.0.0 # HTTP proxy (mitmproxy imports)
|
|
33
|
+
|
|
34
|
+
# ============================================================================
|
|
35
|
+
# BINARY ANALYSIS (CONDITIONALLY USED)
|
|
36
|
+
# ============================================================================
|
|
37
|
+
pwntools>=4.10.0,<5.0.0 # Binary exploitation (from pwn import *)
|
|
38
|
+
angr>=9.2.0,<10.0.0 # Binary analysis (import angr)
|
|
39
|
+
bcrypt==4.0.1 # Pin bcrypt version for passlib compatibility (fixes pwntools dependency issue)
|
|
40
|
+
|
|
41
|
+
# ============================================================================
|
|
42
|
+
# EXTERNAL SECURITY TOOLS (150+ Tools - Install separately)
|
|
43
|
+
# ============================================================================
|
|
44
|
+
#
|
|
45
|
+
# HexStrike v6.0 integrates with 150+ external security tools that must be
|
|
46
|
+
# installed separately from their official sources:
|
|
47
|
+
#
|
|
48
|
+
# 🔍 Network & Reconnaissance (25+ tools):
|
|
49
|
+
# - nmap, masscan, rustscan, autorecon, amass, subfinder, fierce
|
|
50
|
+
# - dnsenum, theharvester, responder, netexec, enum4linux-ng
|
|
51
|
+
#
|
|
52
|
+
# 🌐 Web Application Security (40+ tools):
|
|
53
|
+
# - gobuster, feroxbuster, ffuf, dirb, dirsearch, nuclei, nikto
|
|
54
|
+
# - sqlmap, wpscan, arjun, paramspider, x8, katana, httpx
|
|
55
|
+
# - dalfox, jaeles, hakrawler, gau, waybackurls, wafw00f
|
|
56
|
+
#
|
|
57
|
+
# 🔐 Authentication & Password (12+ tools):
|
|
58
|
+
# - hydra, john, hashcat, medusa, patator, netexec
|
|
59
|
+
# - evil-winrm, hash-identifier, ophcrack
|
|
60
|
+
#
|
|
61
|
+
# 🔬 Binary Analysis & Reverse Engineering (25+ tools):
|
|
62
|
+
# - ghidra, radare2, gdb, binwalk, ropgadget, checksec, strings
|
|
63
|
+
# - volatility3, foremost, steghide, exiftool, angr, pwntools
|
|
64
|
+
#
|
|
65
|
+
# ☁️ Cloud & Container Security (20+ tools):
|
|
66
|
+
# - prowler, scout-suite, trivy, kube-hunter, kube-bench
|
|
67
|
+
# - docker-bench-security, checkov, terrascan, falco
|
|
68
|
+
#
|
|
69
|
+
# 🏆 CTF & Forensics (20+ tools):
|
|
70
|
+
# - volatility3, autopsy, sleuthkit, stegsolve, zsteg, outguess
|
|
71
|
+
# - photorec, testdisk, scalpel, bulk-extractor
|
|
72
|
+
#
|
|
73
|
+
# 🕵️ OSINT & Intelligence (20+ tools):
|
|
74
|
+
# - sherlock, social-analyzer, recon-ng, maltego, spiderfoot
|
|
75
|
+
# - shodan-cli, censys-cli, have-i-been-pwned
|
|
76
|
+
#
|
|
77
|
+
# Installation Notes:
|
|
78
|
+
# 1. Kali Linux 2024.1+ includes most tools by default
|
|
79
|
+
# 2. Ubuntu/Debian users should install tools from official repositories
|
|
80
|
+
# 3. Some tools require compilation from source or additional setup
|
|
81
|
+
# 4. Cloud tools require API keys and authentication configuration
|
|
82
|
+
# 5. Browser Agent requires Chrome/Chromium and ChromeDriver installation
|
|
83
|
+
#
|
|
84
|
+
# For complete installation instructions and setup guides, see README.md
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { spawn, ChildProcess } from "node:child_process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
|
|
7
|
+
export interface ServerConfig {
|
|
8
|
+
port: number;
|
|
9
|
+
host: string;
|
|
10
|
+
pythonPath?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class HexStrikeServerManager {
|
|
14
|
+
private process: ChildProcess | null = null;
|
|
15
|
+
private config: { port: number; host: string; pythonPath: string };
|
|
16
|
+
|
|
17
|
+
constructor(config: Partial<ServerConfig> = {}) {
|
|
18
|
+
this.config = {
|
|
19
|
+
port: config.port ?? 8888,
|
|
20
|
+
host: config.host ?? "127.0.0.1",
|
|
21
|
+
pythonPath: config.pythonPath ?? "python3",
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async start(): Promise<void> {
|
|
26
|
+
const serverPath = path.join(__dirname, "server", "hexstrike_server.py");
|
|
27
|
+
|
|
28
|
+
this.process = spawn(this.config.pythonPath, [serverPath], {
|
|
29
|
+
env: {
|
|
30
|
+
...process.env,
|
|
31
|
+
HEXSTRIKE_PORT: String(this.config.port),
|
|
32
|
+
HEXSTRIKE_HOST: this.config.host,
|
|
33
|
+
},
|
|
34
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
const timeout = setTimeout(() => {
|
|
39
|
+
reject(new Error("HexStrike server failed to start within 30s"));
|
|
40
|
+
}, 30000);
|
|
41
|
+
|
|
42
|
+
this.process?.stdout?.on("data", (data: Buffer) => {
|
|
43
|
+
const output = data.toString();
|
|
44
|
+
console.log(`[HexStrike] ${output}`);
|
|
45
|
+
if (output.includes("Server started") || output.includes("Listening")) {
|
|
46
|
+
clearTimeout(timeout);
|
|
47
|
+
resolve();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
this.process?.stderr?.on("data", (data: Buffer) => {
|
|
52
|
+
console.error(`[HexStrike] ${data.toString()}`);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
this.process?.on("error", (err) => {
|
|
56
|
+
clearTimeout(timeout);
|
|
57
|
+
reject(err);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
this.process?.on("exit", (code) => {
|
|
61
|
+
if (code !== 0 && code !== null) {
|
|
62
|
+
clearTimeout(timeout);
|
|
63
|
+
reject(new Error(`HexStrike server exited with code ${code}`));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async stop(): Promise<void> {
|
|
70
|
+
if (this.process) {
|
|
71
|
+
this.process.kill("SIGTERM");
|
|
72
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
73
|
+
if (!this.process.killed) {
|
|
74
|
+
this.process.kill("SIGKILL");
|
|
75
|
+
}
|
|
76
|
+
this.process = null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
get isRunning(): boolean {
|
|
81
|
+
return this.process !== null && !this.process.killed;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"lib": ["ES2022"],
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"declaration": true,
|
|
15
|
+
"declarationMap": true,
|
|
16
|
+
"sourceMap": true
|
|
17
|
+
},
|
|
18
|
+
"include": ["src/**/*"],
|
|
19
|
+
"exclude": ["node_modules", "dist", "src/server"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Page Agent Extension for PoolBot
|
|
2
|
+
|
|
3
|
+
AI-powered browser automation extension that enables PoolBot to control web browsers through natural language instructions. Built on Playwright with a ReAct (Reasoning + Acting) agent loop.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **ReAct Agent Loop**: Observe → Think → Act cycle for autonomous web navigation
|
|
8
|
+
- **8 Built-in Tools**: Navigate, click, type, select, scroll, wait, execute_script, done
|
|
9
|
+
- **Multi-Language Support**: English and Chinese interfaces
|
|
10
|
+
- **Custom Instructions**: Per-domain instructions for specialized handling
|
|
11
|
+
- **Event-Driven**: Real-time activity and history tracking
|
|
12
|
+
- **Lifecycle Hooks**: Pre/post step callbacks for custom logic
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Install as PoolBot extension
|
|
18
|
+
poolbot extension install @poolbot/page-agent
|
|
19
|
+
|
|
20
|
+
# Or manual installation
|
|
21
|
+
cd extensions/page-agent
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm build
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Configuration
|
|
27
|
+
|
|
28
|
+
Add to your PoolBot configuration:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"pageAgent": {
|
|
33
|
+
"maxSteps": 30,
|
|
34
|
+
"llm": {
|
|
35
|
+
"provider": "anthropic",
|
|
36
|
+
"model": "claude-3-5-sonnet-20241022",
|
|
37
|
+
"apiKey": "${ANTHROPIC_API_KEY}",
|
|
38
|
+
"baseURL": "https://api.anthropic.com",
|
|
39
|
+
"temperature": 0.7,
|
|
40
|
+
"maxRetries": 3
|
|
41
|
+
},
|
|
42
|
+
"language": "en-US",
|
|
43
|
+
"instructions": {
|
|
44
|
+
"system": "Custom system prompt for all tasks",
|
|
45
|
+
"getPageInstructions": {
|
|
46
|
+
"github.com": "Focus on code repositories and pull requests",
|
|
47
|
+
"docs.example.com": "Extract API documentation content"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage
|
|
55
|
+
|
|
56
|
+
### Basic Task Execution
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { PageAgentService } from '@poolbot/page-agent'
|
|
60
|
+
|
|
61
|
+
const agent = new PageAgentService(config, controller)
|
|
62
|
+
|
|
63
|
+
const result = await agent.executeTask(
|
|
64
|
+
'Go to example.com and find the pricing information'
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
console.log(result.output) // Task output
|
|
68
|
+
console.log(result.stepsTaken) // Number of steps executed
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Event Monitoring
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
agent.on('activity', (activity) => {
|
|
75
|
+
console.log(`Step ${activity.stepNumber}: ${activity.action}`)
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
agent.on('history', (event) => {
|
|
79
|
+
console.log(`History: ${event.type} - ${event.summary}`)
|
|
80
|
+
})
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Lifecycle Hooks
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
const agent = new PageAgentService(config, controller, {
|
|
87
|
+
beforeStep: async (step) => {
|
|
88
|
+
console.log(`About to execute: ${step.action}`)
|
|
89
|
+
return { continue: true }
|
|
90
|
+
},
|
|
91
|
+
afterStep: async (step, result) => {
|
|
92
|
+
console.log(`Completed: ${step.action} with ${result}`)
|
|
93
|
+
}
|
|
94
|
+
})
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Available Tools
|
|
98
|
+
|
|
99
|
+
| Tool | Description | Parameters |
|
|
100
|
+
|------|-------------|------------|
|
|
101
|
+
| `navigate` | Navigate to URL | `url: string` |
|
|
102
|
+
| `click` | Click element | `selector: string` |
|
|
103
|
+
| `type` | Type text | `selector: string, text: string` |
|
|
104
|
+
| `select` | Select dropdown option | `selector: string, value: string` |
|
|
105
|
+
| `scroll` | Scroll page | `direction: 'up' \| 'down', amount?: number` |
|
|
106
|
+
| `wait` | Wait for time/selector | `duration?: number, selector?: string` |
|
|
107
|
+
| `execute_script` | Run JavaScript | `script: string` |
|
|
108
|
+
| `done` | Complete task | `success: boolean, answer?: string` |
|
|
109
|
+
|
|
110
|
+
## Architecture
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
┌─────────────────┐
|
|
114
|
+
│ PageAgentService│ ← ReAct loop orchestration
|
|
115
|
+
├─────────────────┤
|
|
116
|
+
│ PoolBotPageController │ ← Playwright wrapper
|
|
117
|
+
├─────────────────┤
|
|
118
|
+
│ Browser Tools │ ← 8 automation tools
|
|
119
|
+
└─────────────────┘
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Testing
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Run all tests
|
|
126
|
+
pnpm test
|
|
127
|
+
|
|
128
|
+
# Watch mode
|
|
129
|
+
pnpm test:watch
|
|
130
|
+
|
|
131
|
+
# Coverage
|
|
132
|
+
pnpm test:coverage
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## API Reference
|
|
136
|
+
|
|
137
|
+
### PageAgentService
|
|
138
|
+
|
|
139
|
+
- `executeTask(instruction: string): Promise<PageAgentExecutionResult>` - Execute a task
|
|
140
|
+
- `stop(): void` - Stop current execution
|
|
141
|
+
- `getStatus(): PageAgentStatus` - Get current status
|
|
142
|
+
- `on(event, handler)` - Subscribe to events
|
|
143
|
+
|
|
144
|
+
### PoolBotPageController
|
|
145
|
+
|
|
146
|
+
- `goto(url: string)` - Navigate to URL
|
|
147
|
+
- `click(selector: string)` - Click element
|
|
148
|
+
- `type(selector: string, text: string)` - Type text
|
|
149
|
+
- `select(selector: string, value: string)` - Select option
|
|
150
|
+
- `scroll(direction, amount)` - Scroll page
|
|
151
|
+
- `waitForSelector(selector: string)` - Wait for element
|
|
152
|
+
- `waitForTimeout(ms: number)` - Wait for time
|
|
153
|
+
- `evaluate<T>(script: string): Promise<T>` - Execute JavaScript
|
|
154
|
+
- `screenshot(): Promise<string>` - Take screenshot (base64)
|
|
155
|
+
- `getPageContent(): Promise<string>` - Get page text content
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
MIT
|