openclaw-node-harness 2.0.0
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/LICENSE +21 -0
- package/README.md +184 -0
- package/bin/discord-read.js +228 -0
- package/bin/fleet-deploy.js +365 -0
- package/bin/lane-watchdog.js +232 -0
- package/bin/mesh-agent.js +714 -0
- package/bin/mesh-bridge.js +535 -0
- package/bin/mesh-deploy-listener.js +322 -0
- package/bin/mesh-deploy.js +1048 -0
- package/bin/mesh-health-publisher.js +247 -0
- package/bin/mesh-task-daemon.js +451 -0
- package/bin/mesh-tool-discord.js +293 -0
- package/bin/mesh.js +649 -0
- package/boot/manifest.yaml +187 -0
- package/cli.js +35 -0
- package/config/daemon.json.template +16 -0
- package/config/obsidian-sync.json.template +39 -0
- package/config/openclaw.json.template +124 -0
- package/config/transcript-sources.json.template +22 -0
- package/identity/AGENTS.md +201 -0
- package/identity/CLAUDE.md +64 -0
- package/identity/DELEGATION.md +304 -0
- package/identity/HEARTBEAT.md +163 -0
- package/identity/MEMORY_SPEC.md +368 -0
- package/identity/PRINCIPLES.md +81 -0
- package/identity/SOUL.md +48 -0
- package/identity/TOOLS.md +47 -0
- package/install.sh +895 -0
- package/lib/agent-activity.js +390 -0
- package/lib/kanban-io.js +352 -0
- package/lib/mesh-registry.js +194 -0
- package/lib/mesh-roles.js +13 -0
- package/lib/mesh-tasks.js +306 -0
- package/lib/nats-resolve.js +108 -0
- package/mission-control/README.md +36 -0
- package/mission-control/drizzle/0000_simple_silhouette.sql +62 -0
- package/mission-control/drizzle/meta/0000_snapshot.json +413 -0
- package/mission-control/drizzle/meta/_journal.json +13 -0
- package/mission-control/drizzle.config.ts +13 -0
- package/mission-control/eslint.config.mjs +18 -0
- package/mission-control/next.config.ts +7 -0
- package/mission-control/package-lock.json +10518 -0
- package/mission-control/package.json +49 -0
- package/mission-control/postcss.config.mjs +7 -0
- package/mission-control/public/file.svg +1 -0
- package/mission-control/public/globe.svg +1 -0
- package/mission-control/public/next.svg +1 -0
- package/mission-control/public/vercel.svg +1 -0
- package/mission-control/public/window.svg +1 -0
- package/mission-control/scripts/enrich-descriptions.js +193 -0
- package/mission-control/scripts/gen-chronology.js +102 -0
- package/mission-control/scripts/import-pipeline-v2.js +523 -0
- package/mission-control/scripts/import-pipeline.js +295 -0
- package/mission-control/src/app/api/activity/live/route.ts +27 -0
- package/mission-control/src/app/api/activity/route.ts +47 -0
- package/mission-control/src/app/api/burndown/route.ts +112 -0
- package/mission-control/src/app/api/critical-path/route.ts +159 -0
- package/mission-control/src/app/api/dependencies/route.ts +176 -0
- package/mission-control/src/app/api/memory/categories/route.ts +93 -0
- package/mission-control/src/app/api/memory/consolidate/route.ts +107 -0
- package/mission-control/src/app/api/memory/doc/route.ts +89 -0
- package/mission-control/src/app/api/memory/flush/route.ts +129 -0
- package/mission-control/src/app/api/memory/graph/route.ts +105 -0
- package/mission-control/src/app/api/memory/items/route.ts +86 -0
- package/mission-control/src/app/api/memory/list/route.ts +48 -0
- package/mission-control/src/app/api/memory/retrieve/route.ts +51 -0
- package/mission-control/src/app/api/memory/search/route.ts +143 -0
- package/mission-control/src/app/api/memory/sync/route.ts +23 -0
- package/mission-control/src/app/api/memory/wikilinks/route.ts +75 -0
- package/mission-control/src/app/api/mesh/events/route.ts +67 -0
- package/mission-control/src/app/api/mesh/nodes/route.ts +221 -0
- package/mission-control/src/app/api/mesh/tokens/route.ts +133 -0
- package/mission-control/src/app/api/projects/route.ts +102 -0
- package/mission-control/src/app/api/resolve-path/route.ts +92 -0
- package/mission-control/src/app/api/scheduler/tick/route.ts +38 -0
- package/mission-control/src/app/api/scheduler/waves/route.ts +54 -0
- package/mission-control/src/app/api/screenshot/route.ts +127 -0
- package/mission-control/src/app/api/settings/gateway/route.ts +92 -0
- package/mission-control/src/app/api/skills/[id]/health/route.ts +57 -0
- package/mission-control/src/app/api/skills/list/route.ts +41 -0
- package/mission-control/src/app/api/souls/[id]/evolution/route.ts +253 -0
- package/mission-control/src/app/api/souls/[id]/prompt/route.ts +205 -0
- package/mission-control/src/app/api/souls/[id]/propagate/route.ts +146 -0
- package/mission-control/src/app/api/souls/route.ts +174 -0
- package/mission-control/src/app/api/tasks/[id]/handoff/route.ts +115 -0
- package/mission-control/src/app/api/tasks/[id]/route.ts +266 -0
- package/mission-control/src/app/api/tasks/[id]/tree/route.ts +94 -0
- package/mission-control/src/app/api/tasks/route.ts +253 -0
- package/mission-control/src/app/api/tts/route.ts +47 -0
- package/mission-control/src/app/api/workspace/files/route.ts +88 -0
- package/mission-control/src/app/api/workspace/read/route.ts +73 -0
- package/mission-control/src/app/burndown/page.tsx +309 -0
- package/mission-control/src/app/calendar/page.tsx +839 -0
- package/mission-control/src/app/favicon.ico +0 -0
- package/mission-control/src/app/globals.css +67 -0
- package/mission-control/src/app/graph/page.tsx +352 -0
- package/mission-control/src/app/layout.tsx +35 -0
- package/mission-control/src/app/live/page.tsx +232 -0
- package/mission-control/src/app/memory/page.tsx +154 -0
- package/mission-control/src/app/mesh/page.tsx +457 -0
- package/mission-control/src/app/obsidian/page.tsx +252 -0
- package/mission-control/src/app/page.tsx +70 -0
- package/mission-control/src/app/roadmap/page.tsx +1757 -0
- package/mission-control/src/app/settings/page.tsx +260 -0
- package/mission-control/src/app/souls/page.tsx +573 -0
- package/mission-control/src/components/board/activity-timeline.tsx +96 -0
- package/mission-control/src/components/board/daily-board.tsx +373 -0
- package/mission-control/src/components/board/kanban-board.tsx +364 -0
- package/mission-control/src/components/board/kanban-column.tsx +105 -0
- package/mission-control/src/components/board/live-stream.tsx +116 -0
- package/mission-control/src/components/board/skill-health-card.tsx +128 -0
- package/mission-control/src/components/board/status-banner.tsx +124 -0
- package/mission-control/src/components/board/task-card.tsx +454 -0
- package/mission-control/src/components/board/unified-task-dialog.tsx +1043 -0
- package/mission-control/src/components/layout/resizable-layout.tsx +68 -0
- package/mission-control/src/components/layout/sidebar.tsx +90 -0
- package/mission-control/src/components/live/audio-spectrum.tsx +106 -0
- package/mission-control/src/components/live/chat-bubble.tsx +52 -0
- package/mission-control/src/components/live/chat-input.tsx +92 -0
- package/mission-control/src/components/memory/doc-reader.tsx +172 -0
- package/mission-control/src/components/memory/memory-list.tsx +169 -0
- package/mission-control/src/components/memory/search-bar.tsx +67 -0
- package/mission-control/src/components/memory/search-results.tsx +149 -0
- package/mission-control/src/components/obsidian/backlinks-panel.tsx +52 -0
- package/mission-control/src/components/obsidian/file-tree.tsx +186 -0
- package/mission-control/src/components/obsidian/local-graph.tsx +107 -0
- package/mission-control/src/components/obsidian/obsidian-graph.tsx +192 -0
- package/mission-control/src/components/obsidian/obsidian-reader.tsx +246 -0
- package/mission-control/src/lib/activity.ts +29 -0
- package/mission-control/src/lib/config.ts +21 -0
- package/mission-control/src/lib/db/index.ts +429 -0
- package/mission-control/src/lib/db/schema.ts +218 -0
- package/mission-control/src/lib/gateway-notify.ts +113 -0
- package/mission-control/src/lib/hooks.ts +536 -0
- package/mission-control/src/lib/memory/categories.ts +125 -0
- package/mission-control/src/lib/memory/entities.ts +482 -0
- package/mission-control/src/lib/memory/extract.ts +369 -0
- package/mission-control/src/lib/memory/retrieval.ts +281 -0
- package/mission-control/src/lib/memory/wikilinks.ts +147 -0
- package/mission-control/src/lib/nats.ts +126 -0
- package/mission-control/src/lib/parsers/clawvault-doc.ts +98 -0
- package/mission-control/src/lib/parsers/daily-log.ts +73 -0
- package/mission-control/src/lib/parsers/memory-md.ts +81 -0
- package/mission-control/src/lib/parsers/task-markdown.ts +459 -0
- package/mission-control/src/lib/parsers/transcript.ts +209 -0
- package/mission-control/src/lib/scheduler.ts +394 -0
- package/mission-control/src/lib/speech/use-speech-pipeline.ts +176 -0
- package/mission-control/src/lib/sync/memory.ts +224 -0
- package/mission-control/src/lib/sync/tasks.ts +271 -0
- package/mission-control/src/lib/tts/edge.ts +31 -0
- package/mission-control/src/lib/tts/google.ts +78 -0
- package/mission-control/src/lib/tts/index.ts +39 -0
- package/mission-control/src/lib/tts/types.ts +18 -0
- package/mission-control/tsconfig.json +42 -0
- package/obsidian-vault/.obsidian/app.json +10 -0
- package/obsidian-vault/.obsidian/community-plugins.json +8 -0
- package/obsidian-vault/.obsidian/graph.json +40 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/main.js +58769 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/manifest.json +10 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/styles.css +47 -0
- package/obsidian-vault/00-meta/.gitkeep +0 -0
- package/obsidian-vault/01-architecture/.gitkeep +0 -0
- package/obsidian-vault/02-smart-contracts/.gitkeep +0 -0
- package/obsidian-vault/03-backend/.gitkeep +0 -0
- package/obsidian-vault/04-mobile/.gitkeep +0 -0
- package/obsidian-vault/05-ar-mapping/.gitkeep +0 -0
- package/obsidian-vault/06-3d-assets/.gitkeep +0 -0
- package/obsidian-vault/07-sound-music/.gitkeep +0 -0
- package/obsidian-vault/08-lore/.gitkeep +0 -0
- package/obsidian-vault/09-quests-playthrough/.gitkeep +0 -0
- package/obsidian-vault/10-economy/.gitkeep +0 -0
- package/obsidian-vault/11-nft-assets/.gitkeep +0 -0
- package/obsidian-vault/12-nft-mechanics/.gitkeep +0 -0
- package/obsidian-vault/13-dao-guild-social/.gitkeep +0 -0
- package/obsidian-vault/14-game-progression/.gitkeep +0 -0
- package/obsidian-vault/15-analytics/.gitkeep +0 -0
- package/obsidian-vault/16-security/.gitkeep +0 -0
- package/obsidian-vault/17-devops/.gitkeep +0 -0
- package/obsidian-vault/18-marketplace/.gitkeep +0 -0
- package/obsidian-vault/19-decisions/.gitkeep +0 -0
- package/obsidian-vault/20-business-strategy/.gitkeep +0 -0
- package/obsidian-vault/21-legal-regulatory/.gitkeep +0 -0
- package/obsidian-vault/nodes/.gitkeep +0 -0
- package/openclaw.env.example +17 -0
- package/package.json +45 -0
- package/services/launchd/ai.openclaw.gateway.plist +59 -0
- package/services/launchd/ai.openclaw.lane-watchdog.plist +32 -0
- package/services/launchd/ai.openclaw.log-rotate.plist +28 -0
- package/services/launchd/ai.openclaw.memory-daemon.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-agent.plist +38 -0
- package/services/launchd/ai.openclaw.mesh-bridge.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-deploy-listener.plist +33 -0
- package/services/launchd/ai.openclaw.mesh-health-publisher.plist +29 -0
- package/services/launchd/ai.openclaw.mesh-task-daemon.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-tool-discord.plist +36 -0
- package/services/launchd/ai.openclaw.mission-control.plist +41 -0
- package/services/service-manifest.json +13 -0
- package/services/systemd/openclaw-gateway.service +21 -0
- package/services/systemd/openclaw-lane-watchdog.service +21 -0
- package/services/systemd/openclaw-log-rotate.service +13 -0
- package/services/systemd/openclaw-log-rotate.timer +9 -0
- package/services/systemd/openclaw-memory-daemon.service +21 -0
- package/services/systemd/openclaw-mesh-agent.service +19 -0
- package/services/systemd/openclaw-mesh-bridge.service +21 -0
- package/services/systemd/openclaw-mesh-deploy-listener.service +23 -0
- package/services/systemd/openclaw-mesh-health-publisher.service +21 -0
- package/services/systemd/openclaw-mesh-task-daemon.service +21 -0
- package/services/systemd/openclaw-mesh-tool-discord.service +21 -0
- package/services/systemd/openclaw-mission-control.service +22 -0
- package/skills/1password/.clawhub/origin.json +7 -0
- package/skills/1password/SKILL.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/acquisition-channel-advisor/SKILL.md +643 -0
- package/skills/acquisition-channel-advisor/examples/conversation-flow.md +531 -0
- package/skills/agent-browser/.clawhub/origin.json +7 -0
- package/skills/agent-browser/CONTRIBUTING.md +63 -0
- package/skills/agent-browser/SKILL.md +338 -0
- package/skills/agentic-compass/.clawhub/origin.json +7 -0
- package/skills/agentic-compass/README.md +96 -0
- package/skills/agentic-compass/SKILL.md +112 -0
- package/skills/agentic-compass/references/README.md +5 -0
- package/skills/agentic-compass/scripts/agentic-compass.py +196 -0
- package/skills/arcane-dev-ops/SKILL.md +61 -0
- package/skills/arcane-dev-ops/references/checklist.md +22 -0
- package/skills/arcane-dev-ops/references/validation-cases.md +11 -0
- package/skills/arcane-dev-ops/scripts/prepush_check.sh +41 -0
- package/skills/auto-updater/.clawhub/origin.json +7 -0
- package/skills/auto-updater/SKILL.md +158 -0
- package/skills/auto-updater/references/agent-guide.md +152 -0
- package/skills/auto-updater/references/summary-examples.md +109 -0
- package/skills/business-health-diagnostic/SKILL.md +782 -0
- package/skills/byterover/.clawhub/origin.json +7 -0
- package/skills/byterover/SKILL.md +105 -0
- package/skills/byterover/TROUBLESHOOTING.md +50 -0
- package/skills/byterover/WORKFLOWS.md +229 -0
- package/skills/capability-evolver/.clawhub/origin.json +7 -0
- package/skills/capability-evolver/CONTRIBUTING.md +11 -0
- package/skills/capability-evolver/README.md +157 -0
- package/skills/capability-evolver/README.zh-CN.md +112 -0
- package/skills/capability-evolver/SKILL.md +93 -0
- package/skills/capability-evolver/assets/gep/capsules.json +5 -0
- package/skills/capability-evolver/assets/gep/genes.json +104 -0
- package/skills/capability-evolver/index.js +59 -0
- package/skills/capability-evolver/package.json +22 -0
- package/skills/capability-evolver/scripts/analyze_by_skill.js +121 -0
- package/skills/capability-evolver/scripts/build_public.js +350 -0
- package/skills/capability-evolver/scripts/export_history.js +98 -0
- package/skills/capability-evolver/scripts/extract_log.js +85 -0
- package/skills/capability-evolver/scripts/generate_history.js +75 -0
- package/skills/capability-evolver/scripts/human_report.js +147 -0
- package/skills/capability-evolver/scripts/publish_public.js +516 -0
- package/skills/capability-evolver/scripts/suggest_version.js +89 -0
- package/skills/capability-evolver/src/evolve.js +594 -0
- package/skills/capability-evolver/src/gep/assetStore.js +204 -0
- package/skills/capability-evolver/src/gep/candidates.js +134 -0
- package/skills/capability-evolver/src/gep/paths.js +23 -0
- package/skills/capability-evolver/src/gep/prompt.js +254 -0
- package/skills/capability-evolver/src/gep/selector.js +89 -0
- package/skills/capability-evolver/src/gep/signals.js +27 -0
- package/skills/cc-godmode/.clawhub/origin.json +7 -0
- package/skills/cc-godmode/CHANGELOG.md +66 -0
- package/skills/cc-godmode/README.md +293 -0
- package/skills/cc-godmode/SKILL.md +242 -0
- package/skills/cc-godmode/docs/AGENTS.md +332 -0
- package/skills/cc-godmode/docs/MIGRATION.md +206 -0
- package/skills/cc-godmode/docs/TROUBLESHOOTING.md +357 -0
- package/skills/cc-godmode/docs/WORKFLOWS.md +329 -0
- package/skills/cc-godmode/references/agents.md +433 -0
- package/skills/cc-godmode/scripts/build-skill.js +232 -0
- package/skills/clawdbot-filesystem/.clawhub/origin.json +7 -0
- package/skills/clawdbot-filesystem/LICENSE.md +21 -0
- package/skills/clawdbot-filesystem/README.md +322 -0
- package/skills/clawdbot-filesystem/SKILL.md +219 -0
- package/skills/clawdbot-filesystem/config.json +41 -0
- package/skills/clawdbot-filesystem/package.json +69 -0
- package/skills/clawdbot-security-check/.clawhub/origin.json +7 -0
- package/skills/clawdbot-security-check/README.md +168 -0
- package/skills/clawdbot-security-check/SKILL.md +145 -0
- package/skills/clawdbot-security-check/references/audit-checks.md +521 -0
- package/skills/clawdbot-security-check/skill.json +42 -0
- package/skills/clawddocs/.clawhub/origin.json +7 -0
- package/skills/clawddocs/SKILL.md +176 -0
- package/skills/clawddocs/package.json +9 -0
- package/skills/clawddocs/scripts/build-index.sh +17 -0
- package/skills/clawddocs/scripts/cache.sh +13 -0
- package/skills/clawddocs/scripts/fetch-doc.sh +7 -0
- package/skills/clawddocs/scripts/recent.sh +5 -0
- package/skills/clawddocs/scripts/search.sh +8 -0
- package/skills/clawddocs/scripts/sitemap.sh +23 -0
- package/skills/clawddocs/scripts/track-changes.sh +16 -0
- package/skills/clawddocs/snippets/common-configs.md +69 -0
- package/skills/clawguard/.clawhub/origin.json +7 -0
- package/skills/clawguard/SKILL.md +137 -0
- package/skills/company-research/SKILL.md +393 -0
- package/skills/company-research/examples/sample.md +164 -0
- package/skills/company-research/template.md +60 -0
- package/skills/crypto-price/.clawhub/origin.json +7 -0
- package/skills/crypto-price/ARCHITECTURE.md +437 -0
- package/skills/crypto-price/README.md +194 -0
- package/skills/crypto-price/SKILL.md +61 -0
- package/skills/crypto-price/requirements.txt +1 -0
- package/skills/crypto-price/scripts/get_price_chart.py +988 -0
- package/skills/customer-journey-map/SKILL.md +343 -0
- package/skills/customer-journey-map/examples/sample.md +33 -0
- package/skills/customer-journey-map/template.md +28 -0
- package/skills/customer-journey-mapping-workshop/SKILL.md +522 -0
- package/skills/deep-research/.clawhub/origin.json +7 -0
- package/skills/deep-research/SKILL.md +93 -0
- package/skills/deep-research/rules/logic.md +32 -0
- package/skills/discord-telegram-triage/SKILL.md +59 -0
- package/skills/discord-telegram-triage/references/discord-runbook.md +28 -0
- package/skills/discord-telegram-triage/references/validation-cases.md +11 -0
- package/skills/discord-telegram-triage/scripts/triage_snapshot.sh +23 -0
- package/skills/discovery-interview-prep/SKILL.md +408 -0
- package/skills/discovery-process/SKILL.md +503 -0
- package/skills/discovery-process/examples/sample.md +60 -0
- package/skills/discovery-process/template.md +39 -0
- package/skills/dist/arcane-dev-ops.skill +0 -0
- package/skills/dist/discord-telegram-triage.skill +0 -0
- package/skills/dist/founder-brief-summarizer.skill +0 -0
- package/skills/epic-breakdown-advisor/SKILL.md +664 -0
- package/skills/epic-hypothesis/SKILL.md +285 -0
- package/skills/epic-hypothesis/examples/sample.md +104 -0
- package/skills/epic-hypothesis/template.md +30 -0
- package/skills/excel/.clawhub/origin.json +7 -0
- package/skills/excel/SKILL.md +332 -0
- package/skills/excel/scripts/excel.py +1120 -0
- package/skills/fast-browser-use/.clawhub/origin.json +7 -0
- package/skills/fast-browser-use/CODEBUDDY.md +142 -0
- package/skills/fast-browser-use/Cargo.toml +77 -0
- package/skills/fast-browser-use/README.md +62 -0
- package/skills/fast-browser-use/SKILL.md +217 -0
- package/skills/fast-browser-use/package-lock.json +28 -0
- package/skills/fast-browser-use/package.json +8 -0
- package/skills/fast-browser-use/rustfmt.toml +10 -0
- package/skills/fast-browser-use/src/bin/cli.rs +373 -0
- package/skills/fast-browser-use/src/bin/mcp_server.rs +203 -0
- package/skills/fast-browser-use/src/browser/config.rs +136 -0
- package/skills/fast-browser-use/src/browser/debug.rs +16 -0
- package/skills/fast-browser-use/src/browser/mod.rs +61 -0
- package/skills/fast-browser-use/src/browser/session.rs +478 -0
- package/skills/fast-browser-use/src/dom/element.rs +442 -0
- package/skills/fast-browser-use/src/dom/extract_dom.js +849 -0
- package/skills/fast-browser-use/src/dom/mod.rs +14 -0
- package/skills/fast-browser-use/src/dom/tree.rs +296 -0
- package/skills/fast-browser-use/src/dom/yaml.rs +149 -0
- package/skills/fast-browser-use/src/error.rs +115 -0
- package/skills/fast-browser-use/src/lib.rs +17 -0
- package/skills/fast-browser-use/src/mcp/handler.rs +63 -0
- package/skills/fast-browser-use/src/mcp/mod.rs +81 -0
- package/skills/fast-browser-use/src/tools/Readability.min.js +1480 -0
- package/skills/fast-browser-use/src/tools/annotate.rs +165 -0
- package/skills/fast-browser-use/src/tools/click.rs +84 -0
- package/skills/fast-browser-use/src/tools/close.rs +35 -0
- package/skills/fast-browser-use/src/tools/close_tab.rs +45 -0
- package/skills/fast-browser-use/src/tools/convert_to_markdown.js +117 -0
- package/skills/fast-browser-use/src/tools/cookies.rs +58 -0
- package/skills/fast-browser-use/src/tools/debug.rs +44 -0
- package/skills/fast-browser-use/src/tools/evaluate.rs +40 -0
- package/skills/fast-browser-use/src/tools/extract.rs +66 -0
- package/skills/fast-browser-use/src/tools/go_back.rs +35 -0
- package/skills/fast-browser-use/src/tools/go_forward.rs +35 -0
- package/skills/fast-browser-use/src/tools/hover.js +33 -0
- package/skills/fast-browser-use/src/tools/hover.rs +97 -0
- package/skills/fast-browser-use/src/tools/html_to_markdown.rs +99 -0
- package/skills/fast-browser-use/src/tools/input.rs +93 -0
- package/skills/fast-browser-use/src/tools/local_storage.rs +159 -0
- package/skills/fast-browser-use/src/tools/markdown.rs +181 -0
- package/skills/fast-browser-use/src/tools/mod.rs +326 -0
- package/skills/fast-browser-use/src/tools/navigate.rs +55 -0
- package/skills/fast-browser-use/src/tools/new_tab.rs +60 -0
- package/skills/fast-browser-use/src/tools/press_key.rs +78 -0
- package/skills/fast-browser-use/src/tools/read_links.rs +59 -0
- package/skills/fast-browser-use/src/tools/readability_script.rs +8 -0
- package/skills/fast-browser-use/src/tools/screenshot.rs +47 -0
- package/skills/fast-browser-use/src/tools/scroll.js +22 -0
- package/skills/fast-browser-use/src/tools/scroll.rs +95 -0
- package/skills/fast-browser-use/src/tools/select.js +23 -0
- package/skills/fast-browser-use/src/tools/select.rs +129 -0
- package/skills/fast-browser-use/src/tools/sitemap.rs +426 -0
- package/skills/fast-browser-use/src/tools/snapshot.rs +324 -0
- package/skills/fast-browser-use/src/tools/switch_tab.rs +69 -0
- package/skills/fast-browser-use/src/tools/tab_list.rs +76 -0
- package/skills/fast-browser-use/src/tools/utils.rs +92 -0
- package/skills/fast-browser-use/src/tools/wait.rs +53 -0
- package/skills/fast-browser-use/test_auth.json +3 -0
- package/skills/fast-browser-use/test_state.json +6 -0
- package/skills/fast-browser-use/tests/browser_tools_integration.rs +233 -0
- package/skills/fast-browser-use/tests/cli_recipes_integration.rs +112 -0
- package/skills/fast-browser-use/tests/cookies_integration.rs +56 -0
- package/skills/fast-browser-use/tests/debug_integration.rs +83 -0
- package/skills/fast-browser-use/tests/dom_integration.rs +170 -0
- package/skills/fast-browser-use/tests/local_storage_integration.rs +75 -0
- package/skills/fast-browser-use/tests/markdown_integration.rs +448 -0
- package/skills/fast-browser-use/tests/navigation_integration.rs +241 -0
- package/skills/fast-browser-use/tests/sitemap_integration.rs +326 -0
- package/skills/fast-browser-use/tests/tab_management_integration.rs +300 -0
- package/skills/feature-investment-advisor/SKILL.md +639 -0
- package/skills/feature-investment-advisor/examples/conversation-flow.md +538 -0
- package/skills/finance-based-pricing-advisor/SKILL.md +763 -0
- package/skills/finance-metrics-quickref/SKILL.md +309 -0
- package/skills/find-skills/.clawhub/origin.json +7 -0
- package/skills/find-skills/SKILL.md +143 -0
- package/skills/flavor-text-writer/SKILL.md +27 -0
- package/skills/founder-brief-summarizer/SKILL.md +52 -0
- package/skills/founder-brief-summarizer/references/response-templates.md +15 -0
- package/skills/founder-brief-summarizer/references/validation-cases.md +11 -0
- package/skills/founder-brief-summarizer/scripts/brief_template.sh +28 -0
- package/skills/frontend-design/.clawhub/origin.json +7 -0
- package/skills/frontend-design/LICENSE.txt +190 -0
- package/skills/frontend-design/SKILL.md +53 -0
- package/skills/gemini/.clawhub/origin.json +7 -0
- package/skills/gemini/SKILL.md +33 -0
- package/skills/gemini-deep-research/.clawhub/origin.json +7 -0
- package/skills/gemini-deep-research/SKILL.md +78 -0
- package/skills/gemini-deep-research/scripts/deep_research.py +176 -0
- package/skills/git-essentials/.clawhub/origin.json +7 -0
- package/skills/git-essentials/SKILL.md +239 -0
- package/skills/git-essentials/references/advanced.md +211 -0
- package/skills/github/.clawhub/origin.json +7 -0
- package/skills/github/SKILL.md +57 -0
- package/skills/google-drive/.clawhub/origin.json +7 -0
- package/skills/google-drive/LICENSE.txt +21 -0
- package/skills/google-drive/SKILL.md +320 -0
- package/skills/growth-loop/SKILL.md +270 -0
- package/skills/growth-loop/_meta.json +9 -0
- package/skills/growth-loop/references/diagnosis-framework.md +84 -0
- package/skills/growth-loop/references/platform-benchmarks.md +79 -0
- package/skills/growth-loop/scripts/init-campaign.sh +274 -0
- package/skills/humanize-ai-text/.clawhub/origin.json +7 -0
- package/skills/humanize-ai-text/SKILL.md +192 -0
- package/skills/humanize-ai-text/scripts/compare.py +58 -0
- package/skills/humanize-ai-text/scripts/detect.py +160 -0
- package/skills/humanize-ai-text/scripts/patterns.json +191 -0
- package/skills/humanize-ai-text/scripts/transform.py +127 -0
- package/skills/humanizer/.clawhub/origin.json +7 -0
- package/skills/humanizer/README.md +82 -0
- package/skills/humanizer/SKILL.md +443 -0
- package/skills/jobs-to-be-done/SKILL.md +378 -0
- package/skills/jobs-to-be-done/examples/sample.md +80 -0
- package/skills/jobs-to-be-done/template.md +65 -0
- package/skills/lean-ux-canvas/SKILL.md +561 -0
- package/skills/lean-ux-canvas/examples/sample.md +88 -0
- package/skills/lean-ux-canvas/template.md +32 -0
- package/skills/markdown-formatter/.clawhub/origin.json +7 -0
- package/skills/markdown-formatter/README.md +137 -0
- package/skills/markdown-formatter/SKILL.md +369 -0
- package/skills/markdown-formatter/config.json +20 -0
- package/skills/markdown-formatter/index.js +439 -0
- package/skills/markdown-formatter/package.json +23 -0
- package/skills/markdown-formatter/test.js +23 -0
- package/skills/marketing-mode/.clawhub/origin.json +7 -0
- package/skills/marketing-mode/README.md +49 -0
- package/skills/marketing-mode/SKILL.md +703 -0
- package/skills/marketing-mode/mode-prompt.md +39 -0
- package/skills/marketing-mode/skill.json +51 -0
- package/skills/memory-hygiene/.clawhub/origin.json +7 -0
- package/skills/memory-hygiene/SKILL.md +91 -0
- package/skills/memory-setup/.clawhub/origin.json +7 -0
- package/skills/memory-setup/SKILL.md +180 -0
- package/skills/memorylayer/.clawhub/origin.json +7 -0
- package/skills/memorylayer/README.md +197 -0
- package/skills/memorylayer/SKILL.md +227 -0
- package/skills/memorylayer/examples/agent-integration.js +145 -0
- package/skills/memorylayer/examples/basic-usage.js +87 -0
- package/skills/memorylayer/examples/token-savings-demo.js +183 -0
- package/skills/memorylayer/index.js +115 -0
- package/skills/memorylayer/package-lock.json +295 -0
- package/skills/memorylayer/package.json +27 -0
- package/skills/memorylayer/python/memorylayer_skill.py +230 -0
- package/skills/memorylayer/python/requirements.txt +7 -0
- package/skills/mesh/SKILL.md +184 -0
- package/skills/model-usage/.clawhub/origin.json +7 -0
- package/skills/model-usage/SKILL.md +54 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/moltbook-interact/.clawhub/origin.json +7 -0
- package/skills/moltbook-interact/INSTALL.md +139 -0
- package/skills/moltbook-interact/README.md +198 -0
- package/skills/moltbook-interact/SKILL.md +72 -0
- package/skills/moltbook-interact/references/api.md +106 -0
- package/skills/moltbook-interact/scripts/moltbook.sh +142 -0
- package/skills/moltbook-registry/.clawhub/origin.json +7 -0
- package/skills/moltbook-registry/README.md +26 -0
- package/skills/moltbook-registry/SKILL.md +82 -0
- package/skills/moltbook-registry/index.js +180 -0
- package/skills/moltbook-registry/package.json +11 -0
- package/skills/mythril-scanner/SKILL.md +27 -0
- package/skills/n8n/.clawhub/origin.json +7 -0
- package/skills/n8n/SKILL.md +141 -0
- package/skills/n8n/references/api.md +156 -0
- package/skills/n8n/scripts/n8n_api.py +158 -0
- package/skills/n8n-workflow-automation/.clawhub/origin.json +7 -0
- package/skills/n8n-workflow-automation/SKILL.md +103 -0
- package/skills/n8n-workflow-automation/assets/runbook-template.md +32 -0
- package/skills/narrative-designer/SKILL.md +27 -0
- package/skills/ontology/.clawhub/origin.json +7 -0
- package/skills/ontology/SKILL.md +236 -0
- package/skills/ontology/references/queries.md +211 -0
- package/skills/ontology/references/schema.md +322 -0
- package/skills/ontology/scripts/ontology.py +374 -0
- package/skills/openai-image-gen/.clawhub/origin.json +7 -0
- package/skills/openai-image-gen/SKILL.md +45 -0
- package/skills/openai-image-gen/scripts/gen.py +227 -0
- package/skills/openclaw-agent-optimize/.clawhub/origin.json +7 -0
- package/skills/openclaw-agent-optimize/SKILL.md +33 -0
- package/skills/openclaw-agent-optimize/references/agent-orchestration.md +20 -0
- package/skills/openclaw-agent-optimize/references/context-management.md +15 -0
- package/skills/openclaw-agent-optimize/references/continuous-learning.md +14 -0
- package/skills/openclaw-agent-optimize/references/cron-optimization.md +16 -0
- package/skills/openclaw-agent-optimize/references/memory-patterns.md +14 -0
- package/skills/openclaw-agent-optimize/references/model-selection.md +18 -0
- package/skills/openclaw-skill-scanner/.clawhub/origin.json +7 -0
- package/skills/openclaw-skill-scanner/SKILL.md +88 -0
- package/skills/openclaw-skill-scanner/install-hook.sh +294 -0
- package/skills/openclaw-skill-scanner/report-template.md +53 -0
- package/skills/openclaw-skill-scanner/scanner.py +929 -0
- package/skills/openclaw-skill-scanner/whitelist.json +18 -0
- package/skills/opportunity-solution-tree/SKILL.md +428 -0
- package/skills/opportunity-solution-tree/examples/sample.md +104 -0
- package/skills/opportunity-solution-tree/template.md +33 -0
- package/skills/pdf/.clawhub/origin.json +7 -0
- package/skills/pdf/SKILL.md +304 -0
- package/skills/pestel-analysis/SKILL.md +384 -0
- package/skills/pestel-analysis/examples/sample.md +143 -0
- package/skills/pestel-analysis/template.md +53 -0
- package/skills/pol-probe/SKILL.md +217 -0
- package/skills/pol-probe/examples/sample.md +136 -0
- package/skills/pol-probe/template.md +59 -0
- package/skills/pol-probe-advisor/SKILL.md +492 -0
- package/skills/positioning-statement/SKILL.md +229 -0
- package/skills/positioning-statement/examples/sample.md +51 -0
- package/skills/positioning-statement/template.md +25 -0
- package/skills/positioning-workshop/SKILL.md +424 -0
- package/skills/prd-development/SKILL.md +654 -0
- package/skills/prd-development/examples/sample.md +43 -0
- package/skills/prd-development/template.md +55 -0
- package/skills/press-release/SKILL.md +277 -0
- package/skills/press-release/examples/sample.md +73 -0
- package/skills/press-release/template.md +39 -0
- package/skills/prioritization-advisor/SKILL.md +451 -0
- package/skills/proactive-messages/.clawhub/origin.json +7 -0
- package/skills/proactive-messages/SKILL.md +91 -0
- package/skills/problem-framing-canvas/SKILL.md +466 -0
- package/skills/problem-framing-canvas/examples/sample.md +58 -0
- package/skills/problem-framing-canvas/template.md +22 -0
- package/skills/problem-statement/SKILL.md +255 -0
- package/skills/problem-statement/examples/sample.md +82 -0
- package/skills/problem-statement/template.md +37 -0
- package/skills/product-strategy-session/SKILL.md +434 -0
- package/skills/product-strategy-session/examples/sample.md +67 -0
- package/skills/product-strategy-session/template.md +38 -0
- package/skills/prompt-guard/.clawhub/origin.json +7 -0
- package/skills/prompt-guard/ARCHITECTURE.md +364 -0
- package/skills/prompt-guard/CHANGELOG.md +200 -0
- package/skills/prompt-guard/README.md +215 -0
- package/skills/prompt-guard/SECURITY.md +66 -0
- package/skills/prompt-guard/SKILL.md +174 -0
- package/skills/prompt-guard/blog/how-i-secured-my-ai-agent.md +185 -0
- package/skills/prompt-guard/config.example.yaml +56 -0
- package/skills/prompt-guard/references/detection-patterns.md +298 -0
- package/skills/prompt-guard/requirements.txt +1 -0
- package/skills/prompt-guard/scripts/analyze_log.py +224 -0
- package/skills/prompt-guard/scripts/audit.py +344 -0
- package/skills/prompt-guard/scripts/detect.py +1587 -0
- package/skills/prompt-guard/scripts/hivefence.py +345 -0
- package/skills/proto-persona/SKILL.md +336 -0
- package/skills/proto-persona/examples/sample.md +97 -0
- package/skills/proto-persona/template.md +45 -0
- package/skills/recommendation-canvas/SKILL.md +382 -0
- package/skills/recommendation-canvas/examples/sample.md +94 -0
- package/skills/recommendation-canvas/template.md +86 -0
- package/skills/refactor-suggest/.clawhub/origin.json +7 -0
- package/skills/refactor-suggest/SKILL.md +94 -0
- package/skills/roadmap-planning/SKILL.md +506 -0
- package/skills/roadmap-planning/examples/sample.md +62 -0
- package/skills/roadmap-planning/template.md +30 -0
- package/skills/saas-economics-efficiency-metrics/SKILL.md +694 -0
- package/skills/saas-economics-efficiency-metrics/examples/cash-trap.md +365 -0
- package/skills/saas-economics-efficiency-metrics/examples/healthy-unit-economics.md +279 -0
- package/skills/saas-economics-efficiency-metrics/template.md +263 -0
- package/skills/saas-revenue-growth-metrics/SKILL.md +629 -0
- package/skills/saas-revenue-growth-metrics/examples/healthy-saas.md +131 -0
- package/skills/saas-revenue-growth-metrics/examples/warning-signs.md +229 -0
- package/skills/saas-revenue-growth-metrics/template.md +192 -0
- package/skills/save-money/.clawhub/origin.json +7 -0
- package/skills/save-money/SKILL.md +173 -0
- package/skills/scripts/golden_skills_v3.sh +32 -0
- package/skills/search/.clawhub/origin.json +7 -0
- package/skills/search/SKILL.md +18 -0
- package/skills/search/skill.json +1 -0
- package/skills/second-brain/.clawhub/origin.json +7 -0
- package/skills/second-brain/SKILL.md +278 -0
- package/skills/second-brain/scripts/ensue-api.sh +37 -0
- package/skills/self-improving-agent/.clawhub/origin.json +7 -0
- package/skills/self-improving-agent/.learnings/ERRORS.md +5 -0
- package/skills/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
- package/skills/self-improving-agent/.learnings/LEARNINGS.md +5 -0
- package/skills/self-improving-agent/SKILL.md +130 -0
- package/skills/self-improving-agent/assets/LEARNINGS.md +45 -0
- package/skills/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
- package/skills/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
- package/skills/self-improving-agent/hooks/openclaw/handler.js +56 -0
- package/skills/self-improving-agent/hooks/openclaw/handler.ts +62 -0
- package/skills/self-improving-agent/references/examples.md +374 -0
- package/skills/self-improving-agent/references/hooks-setup.md +223 -0
- package/skills/self-improving-agent/references/openclaw-integration.md +248 -0
- package/skills/self-improving-agent/references/templates.md +480 -0
- package/skills/self-improving-agent/scripts/activator.sh +20 -0
- package/skills/self-improving-agent/scripts/error-detector.sh +55 -0
- package/skills/self-improving-agent/scripts/extract-skill.sh +203 -0
- package/skills/self-improving-agent-1-0-2/.clawhub/origin.json +7 -0
- package/skills/self-improving-agent-1-0-2/SKILL.md +562 -0
- package/skills/self-improving-agent-1-0-2/assets/LEARNINGS.md +45 -0
- package/skills/self-improving-agent-1-0-2/assets/SKILL-TEMPLATE.md +182 -0
- package/skills/self-improving-agent-1-0-2/references/clawdbot-integration.md +311 -0
- package/skills/self-improving-agent-1-0-2/references/examples.md +374 -0
- package/skills/self-improving-agent-1-0-2/references/hooks-setup.md +223 -0
- package/skills/self-improving-agent-1-0-2/scripts/activator.sh +20 -0
- package/skills/self-improving-agent-1-0-2/scripts/error-detector.sh +55 -0
- package/skills/self-improving-agent-1-0-2/scripts/extract-skill.sh +203 -0
- package/skills/self-love-confidence/.clawhub/origin.json +7 -0
- package/skills/self-love-confidence/SKILL.md +79 -0
- package/skills/self-reflection/.clawhub/origin.json +7 -0
- package/skills/self-reflection/README.md +292 -0
- package/skills/self-reflection/SKILL.md +110 -0
- package/skills/self-reflection/self-reflection.example.json +6 -0
- package/skills/slither-analyzer/SKILL.md +27 -0
- package/skills/solidity-audit/SKILL.md +27 -0
- package/skills/soulcraft/.clawhub/origin.json +7 -0
- package/skills/soulcraft/README.md +123 -0
- package/skills/soulcraft/SKILL.md +340 -0
- package/skills/soulcraft/references/question-bank.md +154 -0
- package/skills/soulcraft/references/soul-examples.md +207 -0
- package/skills/soulcraft/research/RESEARCH_REPORT.md +317 -0
- package/skills/spotify-player/.clawhub/origin.json +7 -0
- package/skills/spotify-player/SKILL.md +44 -0
- package/skills/storyboard/SKILL.md +259 -0
- package/skills/storyboard/examples/sample.md +71 -0
- package/skills/storyboard/template.md +41 -0
- package/skills/summarize/.clawhub/origin.json +7 -0
- package/skills/summarize/SKILL.md +59 -0
- package/skills/superdesign/.clawhub/origin.json +7 -0
- package/skills/superdesign/SKILL.md +224 -0
- package/skills/tam-sam-som-calculator/SKILL.md +399 -0
- package/skills/tam-sam-som-calculator/examples/sample.md +142 -0
- package/skills/tam-sam-som-calculator/scripts/market-sizing.py +95 -0
- package/skills/tam-sam-som-calculator/template.md +35 -0
- package/skills/tavily-search/.clawhub/origin.json +7 -0
- package/skills/tavily-search/SKILL.md +49 -0
- package/skills/tavily-search/scripts/extract.mjs +59 -0
- package/skills/tavily-search/scripts/search.mjs +101 -0
- package/skills/twitter/SKILL.md +74 -0
- package/skills/twitter/_meta.json +9 -0
- package/skills/twitter/references/validation-cases.md +53 -0
- package/skills/twitter/scripts/twitter.sh +421 -0
- package/skills/ui-ux-pro-max/.clawhub/origin.json +7 -0
- package/skills/ui-ux-pro-max/SKILL.md +54 -0
- package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
- package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
- package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
- package/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
- package/skills/ui-ux-pro-max/scripts/search.py +111 -0
- package/skills/user-story/SKILL.md +272 -0
- package/skills/user-story/examples/sample.md +110 -0
- package/skills/user-story/scripts/user-story-template.py +65 -0
- package/skills/user-story/template.md +32 -0
- package/skills/user-story-mapping/SKILL.md +296 -0
- package/skills/user-story-mapping/examples/sample.md +77 -0
- package/skills/user-story-mapping/template.md +41 -0
- package/skills/user-story-mapping-workshop/SKILL.md +485 -0
- package/skills/user-story-mapping-workshop/template.md +28 -0
- package/skills/user-story-splitting/SKILL.md +313 -0
- package/skills/user-story-splitting/examples/sample.md +147 -0
- package/skills/user-story-splitting/template.md +37 -0
- package/skills/wacli/.clawhub/origin.json +7 -0
- package/skills/wacli/SKILL.md +53 -0
- package/skills/web-search/.clawhub/origin.json +7 -0
- package/skills/web-search/SKILL.md +151 -0
- package/skills/web-search/references/api-details.md +207 -0
- package/skills/web-search/scripts/search.py +576 -0
- package/skills/workshop-facilitation/SKILL.md +88 -0
- package/skills/world-builder/SKILL.md +27 -0
- package/souls/blockchain-auditor/PRINCIPLES.md +75 -0
- package/souls/blockchain-auditor/SOUL.md +56 -0
- package/souls/blockchain-auditor/capabilities.json +33 -0
- package/souls/blockchain-auditor/evolution/capsules.json +4 -0
- package/souls/blockchain-auditor/evolution/events.jsonl +1 -0
- package/souls/blockchain-auditor/evolution/genes.json +62 -0
- package/souls/daedalus/PRINCIPLES.md +78 -0
- package/souls/daedalus/SOUL.md +48 -0
- package/souls/daedalus/capabilities.json +46 -0
- package/souls/identity-architect/PRINCIPLES.md +83 -0
- package/souls/identity-architect/SOUL.md +66 -0
- package/souls/identity-architect/capabilities.json +38 -0
- package/souls/identity-architect/evolution/capsules.json +4 -0
- package/souls/identity-architect/evolution/events.jsonl +0 -0
- package/souls/identity-architect/evolution/genes.json +4 -0
- package/souls/infra-ops/PRINCIPLES.md +77 -0
- package/souls/infra-ops/SOUL.md +56 -0
- package/souls/infra-ops/capabilities.json +33 -0
- package/souls/infra-ops/evolution/capsules.json +4 -0
- package/souls/infra-ops/evolution/events.jsonl +0 -0
- package/souls/infra-ops/evolution/genes.json +4 -0
- package/souls/lore-writer/PRINCIPLES.md +74 -0
- package/souls/lore-writer/SOUL.md +54 -0
- package/souls/lore-writer/capabilities.json +37 -0
- package/souls/lore-writer/evolution/capsules.json +4 -0
- package/souls/lore-writer/evolution/events.jsonl +0 -0
- package/souls/lore-writer/evolution/genes.json +4 -0
- package/souls/qa-evidence/PRINCIPLES.md +97 -0
- package/souls/qa-evidence/SOUL.md +66 -0
- package/souls/qa-evidence/capabilities.json +32 -0
- package/souls/qa-evidence/evolution/capsules.json +4 -0
- package/souls/qa-evidence/evolution/events.jsonl +0 -0
- package/souls/qa-evidence/evolution/genes.json +4 -0
- package/souls/registry.json +211 -0
- package/souls/sync-registry.js +65 -0
- package/uninstall.sh +102 -0
- package/workspace-bin/auto-checkpoint +60 -0
- package/workspace-bin/clawvault-access-control +65 -0
- package/workspace-bin/clawvault-local +28 -0
- package/workspace-bin/compile-boot +494 -0
- package/workspace-bin/daily-log-writer.mjs +251 -0
- package/workspace-bin/evolve +540 -0
- package/workspace-bin/fitness_score.py +395 -0
- package/workspace-bin/hooks/pre-commit +80 -0
- package/workspace-bin/install-daemon +299 -0
- package/workspace-bin/lane-watchdog.js +232 -0
- package/workspace-bin/lib/__init__.py +0 -0
- package/workspace-bin/lib/frontmatter.py +114 -0
- package/workspace-bin/memory-daemon.mjs +879 -0
- package/workspace-bin/memory-maintenance.mjs +531 -0
- package/workspace-bin/mesh-bridge.mjs +154 -0
- package/workspace-bin/multi-review +130 -0
- package/workspace-bin/obsidian +125 -0
- package/workspace-bin/obsidian-sync.mjs +888 -0
- package/workspace-bin/openclaw-register-source +102 -0
- package/workspace-bin/proactive-scan +147 -0
- package/workspace-bin/quality-gate +175 -0
- package/workspace-bin/screenshot +96 -0
- package/workspace-bin/session-recap +453 -0
- package/workspace-bin/skill-audit +494 -0
- package/workspace-bin/skill-quality-check +134 -0
- package/workspace-bin/skill-routing-eval +599 -0
- package/workspace-bin/soul-prompt +251 -0
- package/workspace-bin/subagent-audit.mjs +267 -0
- package/workspace-bin/test-multi-soul-workflow +130 -0
- package/workspace-bin/trust-registry +465 -0
- package/workspace-docs/AGENTS.md +201 -0
- package/workspace-docs/CLAUDE.md +64 -0
- package/workspace-docs/PRINCIPLES.md +81 -0
- package/workspace-docs/SOUL.md +48 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# CODEBUDDY.md This file provides guidance to CodeBuddy Code when working with code in this repository.
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
|
|
5
|
+
`browser-use` is a Rust library for browser automation via Chrome DevTools Protocol (CDP). It provides:
|
|
6
|
+
|
|
7
|
+
- A browser session manager wrapping `headless_chrome`
|
|
8
|
+
- A tool system for common browser operations (navigate, click, input, extract, etc.)
|
|
9
|
+
- DOM extraction with indexed interactive elements
|
|
10
|
+
- An MCP (Model Context Protocol) server for AI-driven browser automation
|
|
11
|
+
|
|
12
|
+
## Common Commands
|
|
13
|
+
|
|
14
|
+
### Building
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
cargo build # Build library
|
|
18
|
+
cargo build --bin mcp-server # Build MCP server binary
|
|
19
|
+
cargo build --release # Production build
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Testing
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cargo test # Run unit tests only
|
|
26
|
+
cargo test -- --ignored # Run integration tests (requires Chrome installed)
|
|
27
|
+
cargo test dom_integration # Run specific test file
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Running
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cargo run --bin mcp-server # Run MCP server (headless)
|
|
34
|
+
cargo run --bin mcp-server -- --headed # Run with visible browser
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Development
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
cargo check # Fast compile check
|
|
41
|
+
cargo clippy # Linting
|
|
42
|
+
cargo fmt # Format code
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Architecture
|
|
46
|
+
|
|
47
|
+
### Module Structure
|
|
48
|
+
|
|
49
|
+
The codebase is organized into five main modules:
|
|
50
|
+
|
|
51
|
+
**1. `browser/` - Browser Management**
|
|
52
|
+
|
|
53
|
+
- `session.rs`: `BrowserSession` wraps `headless_chrome::Browser` and manages tabs
|
|
54
|
+
- `config.rs`: `LaunchOptions` and `ConnectionOptions` for browser initialization
|
|
55
|
+
- Key APIs: `launch()`, `connect()`, `navigate()`, `extract_dom()`
|
|
56
|
+
|
|
57
|
+
**2. `dom/` - DOM Extraction & Indexing**
|
|
58
|
+
|
|
59
|
+
- `tree.rs`: `DomTree` represents page structure with indexed interactive elements
|
|
60
|
+
- `element.rs`: `ElementNode` is a serializable DOM node with visibility/interactivity metadata
|
|
61
|
+
- `extract_dom.js`: JavaScript injected into pages to extract DOM as JSON
|
|
62
|
+
- Flow: JS extraction → JSON → `ElementNode` tree → index interactive elements → `DomTree.selectors`
|
|
63
|
+
|
|
64
|
+
**3. `tools/` - Browser Automation Tools**
|
|
65
|
+
|
|
66
|
+
- Each tool is in its own file: `navigate.rs`, `click.rs`, `input.rs`, `extract.rs`, `screenshot.rs`, `evaluate.rs`, `wait.rs`
|
|
67
|
+
- All tools implement the `Tool` trait with type-safe parameter structs (e.g., `ClickParams`, `NavigateParams`)
|
|
68
|
+
- `ToolRegistry` manages tools and executes them with `ToolContext` (contains `BrowserSession` + optional cached `DomTree`)
|
|
69
|
+
- Element selection: tools accept either CSS selectors OR numeric indices (from `DomTree`)
|
|
70
|
+
- **⚠️ IMPORTANT: When adding a new tool, remember to register it in `src/mcp/mod.rs` using the `register_mcp_tools!` macro**
|
|
71
|
+
|
|
72
|
+
**4. `mcp/` - Model Context Protocol Server**
|
|
73
|
+
|
|
74
|
+
- `handler.rs`: `BrowserServer` wraps `BrowserSession` in `Arc<Mutex<>>` for thread-safe MCP access
|
|
75
|
+
- `mod.rs`: Uses `register_mcp_tools!` macro to auto-generate MCP tool wrappers from internal tools
|
|
76
|
+
- Runs as stdio-based MCP server via `rmcp` crate
|
|
77
|
+
|
|
78
|
+
**5. `error.rs` - Error Handling**
|
|
79
|
+
|
|
80
|
+
- `BrowserError` enum with variants for launch/connection/navigation/DOM/tool failures
|
|
81
|
+
- Converts `anyhow::Error` from `headless_chrome` and `serde_json::Error`
|
|
82
|
+
|
|
83
|
+
### Key Design Patterns
|
|
84
|
+
|
|
85
|
+
**Tool System**: The `Tool` trait uses associated types for compile-time parameter validation:
|
|
86
|
+
|
|
87
|
+
```rust
|
|
88
|
+
trait Tool {
|
|
89
|
+
type Params: Serialize + Deserialize + JsonSchema;
|
|
90
|
+
fn execute_typed(&self, params: Self::Params, context: &mut ToolContext) -> Result<ToolResult>;
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**DOM Indexing**: Interactive elements get numeric indices for easier LLM targeting:
|
|
95
|
+
|
|
96
|
+
- Extract DOM → Traverse tree → Detect interactive elements (buttons, links, inputs)
|
|
97
|
+
- Assign indices only to visible + interactive elements
|
|
98
|
+
- Tools can use `{"index": 5}` instead of complex CSS selectors
|
|
99
|
+
|
|
100
|
+
**Dual Element Selection**: Tools accept both:
|
|
101
|
+
|
|
102
|
+
- CSS selector: `{"selector": "#submit-btn"}`
|
|
103
|
+
- Numeric index: `{"index": 5}` (requires DOM extraction first)
|
|
104
|
+
|
|
105
|
+
**MCP Integration**: The `register_mcp_tools!` macro automatically wraps internal tools:
|
|
106
|
+
|
|
107
|
+
- Takes tool type + MCP name + description
|
|
108
|
+
- Generates async function that locks session, calls tool, converts result
|
|
109
|
+
- All registered in `tool_router` for `rmcp` dispatcher
|
|
110
|
+
|
|
111
|
+
### Testing Approach
|
|
112
|
+
|
|
113
|
+
- Unit tests in each module for struct/enum behavior
|
|
114
|
+
- Integration tests in `tests/` require Chrome (`#[ignore]` attribute)
|
|
115
|
+
- Run ignored tests with: `cargo test -- --ignored`
|
|
116
|
+
- Tests use `data:` URLs to avoid network dependencies
|
|
117
|
+
|
|
118
|
+
## Important Implementation Notes
|
|
119
|
+
|
|
120
|
+
- The MCP server runs in a single-threaded Tokio runtime (`#[tokio::main(flavor = "current_thread")]`)
|
|
121
|
+
- `BrowserSession` holds a `headless_chrome::Browser` and manages one active tab at a time
|
|
122
|
+
- DOM extraction executes JavaScript in the browser and parses the returned JSON
|
|
123
|
+
- All tools work on the active tab; use `switch_tab()` to change context
|
|
124
|
+
- Element indices are only valid for the specific DOM extraction they came from
|
|
125
|
+
- Re-extracting the DOM rebuilds the selector list on `DomTree` and reassigns all indices
|
|
126
|
+
- **When writing JavaScript to be executed in the browser, always use `JSON.stringify()` to ensure the result is returned properly** - this prevents issues with complex objects and ensures consistent serialization
|
|
127
|
+
|
|
128
|
+
## Crate Dependencies
|
|
129
|
+
|
|
130
|
+
- `headless_chrome`: CDP client for Chrome/Chromium automation
|
|
131
|
+
- `rmcp`: Model Context Protocol (MCP) server framework
|
|
132
|
+
- `serde`/`serde_json`: JSON serialization for params and DOM
|
|
133
|
+
- `schemars`: JSON Schema generation for tool parameters
|
|
134
|
+
- `thiserror`: Ergonomic error definitions
|
|
135
|
+
- `tokio` (optional): Async runtime for MCP server
|
|
136
|
+
- `clap` (optional): CLI arg parsing for MCP server binary
|
|
137
|
+
|
|
138
|
+
## File Locations
|
|
139
|
+
|
|
140
|
+
- MCP server binary: `src/bin/mcp_server.rs`
|
|
141
|
+
- DOM extraction script: `src/dom/extract_dom.js` (embedded via `include_str!`)
|
|
142
|
+
- Integration tests: `tests/dom_integration.rs`
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[[bin]]
|
|
2
|
+
name = "mcp-server"
|
|
3
|
+
path = "src/bin/mcp_server.rs"
|
|
4
|
+
required-features = ["mcp-server"]
|
|
5
|
+
|
|
6
|
+
[[bin]]
|
|
7
|
+
name = "fast-browser-use"
|
|
8
|
+
path = "src/bin/cli.rs"
|
|
9
|
+
required-features = ["cli"]
|
|
10
|
+
|
|
11
|
+
[package]
|
|
12
|
+
name = "browser-use"
|
|
13
|
+
version = "0.1.0"
|
|
14
|
+
edition = "2024"
|
|
15
|
+
authors = ["rknoche"]
|
|
16
|
+
description = "A lightweight Rust library for browser automation via Chrome DevTools Protocol (CDP), featuring a built-in Model Context Protocol (MCP) server for AI-driven browser automation"
|
|
17
|
+
license = "MIT"
|
|
18
|
+
repository = "https://github.com/rknoche6/fast-browser-use"
|
|
19
|
+
readme = "README.md"
|
|
20
|
+
keywords = ["browser", "automation", "cdp", "devtools", "mcp"]
|
|
21
|
+
categories = ["web-programming", "development-tools"]
|
|
22
|
+
|
|
23
|
+
[features]
|
|
24
|
+
default = ["mcp-handler", "cli"]
|
|
25
|
+
mcp-handler = ["rmcp/macros", "rmcp/server"]
|
|
26
|
+
mcp-server = [
|
|
27
|
+
"mcp-handler",
|
|
28
|
+
"rmcp/transport-io",
|
|
29
|
+
"rmcp/transport-sse-server",
|
|
30
|
+
"rmcp/transport-streamable-http-server",
|
|
31
|
+
"tokio",
|
|
32
|
+
"clap",
|
|
33
|
+
"axum",
|
|
34
|
+
"tokio-util",
|
|
35
|
+
"env_logger",
|
|
36
|
+
]
|
|
37
|
+
cli = [
|
|
38
|
+
"clap",
|
|
39
|
+
"tokio",
|
|
40
|
+
"env_logger",
|
|
41
|
+
"rand",
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
[dependencies]
|
|
45
|
+
headless_chrome = "1.0.18"
|
|
46
|
+
rmcp = "0.8"
|
|
47
|
+
thiserror = "2.0"
|
|
48
|
+
serde = { version = "1.0", features = ["derive"] }
|
|
49
|
+
serde_json = "1.0"
|
|
50
|
+
anyhow = "1.0"
|
|
51
|
+
indexmap = { version = "2.0", features = ["serde"] }
|
|
52
|
+
schemars = "1.1"
|
|
53
|
+
async-trait = "0.1"
|
|
54
|
+
tokio = { version = "1", features = [
|
|
55
|
+
"rt",
|
|
56
|
+
"rt-multi-thread",
|
|
57
|
+
"macros",
|
|
58
|
+
"sync",
|
|
59
|
+
"net",
|
|
60
|
+
"signal",
|
|
61
|
+
"io-std",
|
|
62
|
+
"fs",
|
|
63
|
+
], optional = true }
|
|
64
|
+
clap = { version = "4.5", features = ["derive"], optional = true }
|
|
65
|
+
axum = { version = "0.8", optional = true }
|
|
66
|
+
tokio-util = { version = "0.7", optional = true }
|
|
67
|
+
log = "0.4"
|
|
68
|
+
env_logger = { version = "0.11", optional = true }
|
|
69
|
+
html2md = "0.2"
|
|
70
|
+
rand = { version = "0.8", optional = true }
|
|
71
|
+
image = "0.24"
|
|
72
|
+
imageproc = "0.23"
|
|
73
|
+
rusttype = "0.9"
|
|
74
|
+
base64 = "0.21"
|
|
75
|
+
|
|
76
|
+
[dev-dependencies]
|
|
77
|
+
urlencoding = "2.1"
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Any contribution is very much welcome!
|
|
2
|
+
Skill published in clawhub https://www.clawhub.ai/rknoche6/fast-browser-use
|
|
3
|
+
|
|
4
|
+
# browser-use
|
|
5
|
+
|
|
6
|
+
A lightweight Rust library for browser automation via Chrome DevTools Protocol (CDP).
|
|
7
|
+
|
|
8
|
+
## ✨ Highlights
|
|
9
|
+
|
|
10
|
+
- **Zero Node.js dependency** - Pure Rust implementation directly controlling browsers via CDP
|
|
11
|
+
- **Lightweight & Fast** - No heavy runtime, minimal overhead
|
|
12
|
+
- **MCP Integration** - Built-in Model Context Protocol server for AI-driven automation
|
|
13
|
+
- **Simple API** - Easy-to-use tools for common browser operations
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cargo add browser-use
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Styling
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
cargo +nightly fmt
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```rust
|
|
30
|
+
use browser_use::browser::BrowserSession;
|
|
31
|
+
|
|
32
|
+
// Launch browser and navigate
|
|
33
|
+
let session = BrowserSession::launch(Default::default())?;
|
|
34
|
+
session.navigate("https://example.com", None)?;
|
|
35
|
+
|
|
36
|
+
// Extract DOM with indexed interactive elements
|
|
37
|
+
let dom = session.extract_dom()?;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## MCP Server
|
|
41
|
+
|
|
42
|
+
Run the built-in MCP server for AI-driven automation:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Headless mode
|
|
46
|
+
cargo run --bin mcp-server
|
|
47
|
+
|
|
48
|
+
# Visible browser
|
|
49
|
+
cargo run --bin mcp-server -- --headed
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Features
|
|
53
|
+
|
|
54
|
+
- Navigate, click, input, screenshot, extract content
|
|
55
|
+
- DOM extraction with indexed interactive elements
|
|
56
|
+
- CSS selector or numeric index-based element targeting
|
|
57
|
+
- Thread-safe browser session management
|
|
58
|
+
|
|
59
|
+
## Requirements
|
|
60
|
+
|
|
61
|
+
- Rust 1.70+
|
|
62
|
+
- Chrome or Chromium installed
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fast-browser-use
|
|
3
|
+
displayName: Fastest Browser Use
|
|
4
|
+
emoji: "⚡"
|
|
5
|
+
summary: Rust-powered browser automation that rips through DOMs 10x faster than Puppeteer.
|
|
6
|
+
homepage: https://github.com/rknoche6/fast-browser-use
|
|
7
|
+
primaryEnv: bash
|
|
8
|
+
os:
|
|
9
|
+
- darwin
|
|
10
|
+
- linux
|
|
11
|
+
requires:
|
|
12
|
+
bins:
|
|
13
|
+
- chrome
|
|
14
|
+
install:
|
|
15
|
+
- kind: brew
|
|
16
|
+
formula: rknoche6/tap/fast-browser-use
|
|
17
|
+
- kind: cargo
|
|
18
|
+
package: fast-browser-use
|
|
19
|
+
description: "Rust-powered browser automation engine driving Chrome via CDP for fast DOM extraction, scraping, screenshots, and session management. Use for high-performance web scraping, infinite-scroll harvesting, vision-mapped interaction, or site structure analysis."
|
|
20
|
+
triggers:
|
|
21
|
+
- "scrape this website fast"
|
|
22
|
+
- "use fast-browser-use to"
|
|
23
|
+
- "harvest data from this page"
|
|
24
|
+
- "take a screenshot of this site"
|
|
25
|
+
- "analyze the site structure"
|
|
26
|
+
negative_triggers:
|
|
27
|
+
- "browse my local files"
|
|
28
|
+
- "use agent-browser"
|
|
29
|
+
- "fetch a single URL and summarize"
|
|
30
|
+
config:
|
|
31
|
+
requiredEnv:
|
|
32
|
+
- CHROME_PATH
|
|
33
|
+
example: |
|
|
34
|
+
# Standard headless setup
|
|
35
|
+
export CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
|
36
|
+
export BROWSER_HEADLESS="true"
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
# Fastest Browser Use
|
|
40
|
+
|
|
41
|
+
A Rust-based browser automation engine that provides a lightweight binary driving Chrome directly via CDP. It is optimized for token-efficient DOM extraction, robust session management, and speed.
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+
|
|
45
|
+
## 🧪 Recipes for Agents
|
|
46
|
+
|
|
47
|
+
### 1. Bypass "Bot Detection" via Human Emulation
|
|
48
|
+
Simulate mouse jitter and random delays to scrape protected sites.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
fast-browser-use navigate --url "https://protected-site.com" \
|
|
52
|
+
--human-emulation \
|
|
53
|
+
--wait-for-selector "#content"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 2. The "Deep Freeze" Snapshot
|
|
57
|
+
Capture the entire DOM state *and* computed styles for perfect reconstruction later.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
fast-browser-use snapshot --include-styles --output state.json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 3. Login & Cookie Heist
|
|
64
|
+
Log in manually once, then steal the session for headless automation.
|
|
65
|
+
|
|
66
|
+
**Step 1: Open non-headless for manual login**
|
|
67
|
+
```bash
|
|
68
|
+
fast-browser-use login --url "https://github.com/login" --save-session ./auth.json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Step 2: Reuse session later**
|
|
72
|
+
```bash
|
|
73
|
+
fast-browser-use navigate --url "https://github.com/dashboard" --load-session ./auth.json
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 4. 🚜 Infinite Scroll Harvester
|
|
77
|
+
**Extract fresh data from infinite-scroll pages** — perfect for harvesting the latest posts, news, or social feeds.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Harvest headlines from Hacker News (scrolls 3x, waits 800ms between)
|
|
81
|
+
fast-browser-use harvest \
|
|
82
|
+
--url "https://news.ycombinator.com" \
|
|
83
|
+
--selector ".titleline a" \
|
|
84
|
+
--scrolls 3 \
|
|
85
|
+
--delay 800 \
|
|
86
|
+
--output headlines.json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Real output** (59 unique items in ~6 seconds):
|
|
90
|
+
```json
|
|
91
|
+
[
|
|
92
|
+
"Genode OS is a tool kit for building highly secure special-purpose OS",
|
|
93
|
+
"Mobile carriers can get your GPS location",
|
|
94
|
+
"Students using \"humanizer\" programs to beat accusations of cheating with AI",
|
|
95
|
+
"Finland to end \"uncontrolled human experiment\" with ban on youth social media",
|
|
96
|
+
...
|
|
97
|
+
]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Works on any infinite scroll page: Reddit, Twitter, LinkedIn feeds, search results, etc.
|
|
101
|
+
|
|
102
|
+
### 5. 📸 Quick Screenshot
|
|
103
|
+
Capture any page as PNG:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
fast-browser-use screenshot \
|
|
107
|
+
--url "https://example.com" \
|
|
108
|
+
--output page.png \
|
|
109
|
+
--full-page # Optional: capture entire scrollable page
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 6. 🗺️ Sitemap & Page Structure Analyzer
|
|
113
|
+
Discover how a site is organized by parsing sitemaps and analyzing page structure.
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Basic sitemap discovery (checks robots.txt + common sitemap URLs)
|
|
117
|
+
fast-browser-use sitemap --url "https://example.com"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Full analysis with page structure (headings, nav, sections)
|
|
122
|
+
fast-browser-use sitemap \
|
|
123
|
+
--url "https://example.com" \
|
|
124
|
+
--analyze-structure \
|
|
125
|
+
--max-pages 10 \
|
|
126
|
+
--max-sitemaps 5 \
|
|
127
|
+
--output site-structure.json
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Options:**
|
|
131
|
+
- `--analyze-structure`: Also extract page structure (headings, nav, sections, meta)
|
|
132
|
+
- `--max-pages N`: Limit structure analysis to N pages (default: 5)
|
|
133
|
+
- `--max-sitemaps N`: Limit sitemap parsing to N sitemaps (default: 10, useful for large sites)
|
|
134
|
+
|
|
135
|
+
**Example output:**
|
|
136
|
+
```json
|
|
137
|
+
{
|
|
138
|
+
"base_url": "https://example.com",
|
|
139
|
+
"robots_txt": "User-agent: *\nSitemap: https://example.com/sitemap.xml",
|
|
140
|
+
"sitemaps": ["https://example.com/sitemap.xml"],
|
|
141
|
+
"pages": [
|
|
142
|
+
"https://example.com/about",
|
|
143
|
+
"https://example.com/products",
|
|
144
|
+
"https://example.com/contact"
|
|
145
|
+
],
|
|
146
|
+
"page_structures": [
|
|
147
|
+
{
|
|
148
|
+
"url": "https://example.com",
|
|
149
|
+
"title": "Example - Home",
|
|
150
|
+
"headings": [
|
|
151
|
+
{"level": 1, "text": "Welcome to Example"},
|
|
152
|
+
{"level": 2, "text": "Our Services"}
|
|
153
|
+
],
|
|
154
|
+
"nav_links": [
|
|
155
|
+
{"text": "About", "href": "/about"},
|
|
156
|
+
{"text": "Products", "href": "/products"}
|
|
157
|
+
],
|
|
158
|
+
"sections": [
|
|
159
|
+
{"tag": "main", "id": "content", "role": "main"},
|
|
160
|
+
{"tag": "footer", "id": "footer", "role": null}
|
|
161
|
+
],
|
|
162
|
+
"main_content": {"tag": "main", "id": "content", "word_count": 450},
|
|
163
|
+
"meta": {
|
|
164
|
+
"description": "Example company homepage",
|
|
165
|
+
"canonical": "https://example.com/"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Use this to understand site architecture before scraping, map navigation flows, or audit SEO structure.
|
|
173
|
+
|
|
174
|
+
## ⚡ Performance Comparison
|
|
175
|
+
|
|
176
|
+
| Feature | Fast Browser Use (Rust) | Puppeteer (Node) | Selenium (Java) |
|
|
177
|
+
| :--- | :--- | :--- | :--- |
|
|
178
|
+
| **Startup Time** | **< 50ms** | ~800ms | ~2500ms |
|
|
179
|
+
| **Memory Footprint** | **15 MB** | 100 MB+ | 200 MB+ |
|
|
180
|
+
| **DOM Extract** | **Zero-Copy** | JSON Serialize | Slow Bridge |
|
|
181
|
+
|
|
182
|
+
## Capabilities & Tools
|
|
183
|
+
|
|
184
|
+
### Vision & Extraction
|
|
185
|
+
- **vision_map**: Returns a screenshot overlay with numbered bounding boxes for all interactive elements.
|
|
186
|
+
- **snapshot**: Capture the raw HTML snapshot (YAML/Markdown optimized for AI).
|
|
187
|
+
- **screenshot**: Capture a visual image of the page.
|
|
188
|
+
- **extract**: Get structured data from the DOM.
|
|
189
|
+
- **markdown**: Convert the current page content to Markdown.
|
|
190
|
+
- **sitemap**: Analyze site structure via robots.txt, sitemaps, and page semantic analysis.
|
|
191
|
+
|
|
192
|
+
### Navigation & Lifecycle
|
|
193
|
+
- **navigate**: Visit a specific URL.
|
|
194
|
+
- **go_back** / **go_forward**: Traverse browser history.
|
|
195
|
+
- **wait**: Pause execution or wait for specific conditions.
|
|
196
|
+
- **new_tab**: Open a new browser tab.
|
|
197
|
+
- **switch_tab**: Switch focus to a specific tab.
|
|
198
|
+
- **close_tab**: Close the current or specified tab.
|
|
199
|
+
- **tab_list**: List all open tabs.
|
|
200
|
+
- **close**: Terminate the browser session.
|
|
201
|
+
|
|
202
|
+
### Interaction
|
|
203
|
+
- **click**: Click elements via CSS selectors or DOM indices.
|
|
204
|
+
- **input**: Type text into fields.
|
|
205
|
+
- **press_key**: Send specific keyboard events.
|
|
206
|
+
- **hover**: Hover over elements.
|
|
207
|
+
- **scroll**: Scroll the viewport.
|
|
208
|
+
- **select**: Choose options in dropdowns.
|
|
209
|
+
|
|
210
|
+
### State & Debugging
|
|
211
|
+
- **cookies**: Manage session cookies (get/set).
|
|
212
|
+
- **local_storage**: Manage local storage data.
|
|
213
|
+
- **debug**: Access console logs and debug information.
|
|
214
|
+
|
|
215
|
+
## Usage
|
|
216
|
+
|
|
217
|
+
This skill is specialized for complex web interactions that require maintaining state (like being logged in), handling dynamic JavaScript content, or managing multiple pages simultaneously. It offers higher performance and control compared to standard fetch-based tools.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fast-browser-use",
|
|
3
|
+
"lockfileVersion": 3,
|
|
4
|
+
"requires": true,
|
|
5
|
+
"packages": {
|
|
6
|
+
"": {
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"prettier": "^3.8.1"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"node_modules/prettier": {
|
|
12
|
+
"version": "3.8.1",
|
|
13
|
+
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
|
|
14
|
+
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
|
|
15
|
+
"dev": true,
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"bin": {
|
|
18
|
+
"prettier": "bin/prettier.cjs"
|
|
19
|
+
},
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=14"
|
|
22
|
+
},
|
|
23
|
+
"funding": {
|
|
24
|
+
"url": "https://github.com/prettier/prettier?sponsor=1"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|