Bitterbot is a local-first personal AI agent that runs on a user’s devices, keeps persistent memories, performs tasks, and can exchange reusable skills with other agents. It is intended for people who want a personal assistant that remains available across conversations and activities. The catalogue entries provide instructions and agents for working with Bitterbot.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Bitterbot-AI/bitterbot-desktop --skill nottegit clone --depth 1 https://github.com/Bitterbot-AI/bitterbot-desktopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bitterbot-ai/bitterbot-desktop/notte)<a href="https://agentmods.dev/skills/bitterbot-ai/bitterbot-desktop/notte"><img src="https://agentmods.dev/badge/skills/bitterbot-ai/bitterbot-desktop/notte/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bitterbot-ai/bitterbot-desktop/notte"><img src="https://agentmods.dev/badge/skills/bitterbot-ai/bitterbot-desktop/notte.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 97 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Data Exfiltration · line 61 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 61 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.02530 |
| Opus 5 | $0.00032 | $0.01265 |
| Sonnet 5 | $0.00013 | $0.00506 |
| Haiku 4.5 | $0.00006 | $0.00253 |
Grade A, and why
notte scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -X POST https://api.notte.cc/functions/{function_id}/runs/start \ How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Notte
Hosted browser infrastructure with a CLI that does three things the bundled browser tool and Firecrawl cannot:
- Functions — deploy a browser automation script as a serverless, API-callable endpoint with built-in cron scheduling. The natural fit for crystallized skills and dream-engine cycles.
- Vault-backed login — passwords auto-fill on matching URLs without ever entering the model's context.
- Stealth sessions — residential proxies + inline captcha solving, for sites where the bundled Chromium gets locked out.
Functions — deploy a browser flow as a callable API
Crystallized skills and dream-cycle automations both want the same thing: a stable, repeatable browser action the agent can call by name on a schedule. Notte Functions is exactly that.
# 1. Capture an agent's run as deterministic Python (or hand-write it).
notte agents workflow-code # exports the latest agent's steps as Python
notte sessions workflow-code # or export from a CLI session
# 2. Deploy the script as a Function (one-shot — no servers, no infra).
notte functions create --file workflow.py
# → returns function_id
# 3. Run on demand, or schedule.
notte functions run # one-off
notte functions schedule-set --cron "0 */2 * * *" # every 2h, matches dream cycles
notte functions runs # invocation history
notte functions fork # version forward without losing the original
# 4. Or invoke via HTTP from anywhere (skill scripts, gateway hooks, channels).
curl -X POST https://api.notte.cc/functions/{function_id}/runs/start \
-H "Authorization: Bearer $NOTTE_API_KEY" \
-d '{"url":"https://example.com","query":"laptop"}'
Why this matters for Bitterbot:
- A crystallized skill that ends in "open this URL and grab the data" can be backed by a Function — fast, deterministic, no LLM tokens per execution.
- Function
schedule-setaligns directly with dream-engine cron triggers (every 2h consolidation, daily syncs, hourly monitors). notte agents workflow-codeis structurally the same pattern as Bitterbot's dream engine crystallizing execution paths — the agent figures out the steps, then the deterministic Function takes over for production.- Functions auto-inherit Notte's session capabilities: vault credentials, stealth proxies, captcha solving — without re-deploying anything.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 230 lines · 63 tokens per session scan A 2e27183d7229
notte is a skill published in the GitHub repository Bitterbot-AI/bitterbot-desktop (2,461 stars, last pushed yesterday), licensed MIT. It adds 63 tokens to every session and 2,530 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
claude-in-chrome
Automates your Chrome browser to interact with web pages - clicking elements, filling forms, capturing screenshots, reading console logs, and navigating sites. Opens pages in new tabs within your existing Chrome session. Requires site-level permissions before executing (configured in the extension).
ha-browser
Hope Agent browser automation — the standard status → tabs → snapshot → act loop, stale-ref recovery rules, and what to do when login / 2FA / captcha / camera-prompt / dialog blocks progress. Load this skill whenever you reach for the browser tool. Trigger on: user asks the agent to open / control / click / scrape /…
browser-use
Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load only when the user asks to open or automate a browser, interact with or test rendered page UI, scrape a site that needs browser execution, or capture a browser screenshot or video. Do not…
browser
Complete real user web tasks end-to-end via browser-tool, navigate, interact, wait for page state, extract results, and provide evidence when needed.
web-access
A method for handling difficult web tasks across search, page fetching, and a real browser. It covers sites that need login sessions, dynamic pages, anti-bot handling, or exploration before their structure is understood.
browser-automation
Web browser automation for tasks requiring UI interaction, login-protected pages, or human-like browsing when APIs are insufficient.