fork moltbot

This commit is contained in:
Nugraha Labib 2026-01-29 19:33:54 +07:00
parent c41ea252b0
commit 7e1eb2b535
40 changed files with 13108 additions and 901 deletions

4
.gitignore vendored
View File

@ -71,3 +71,7 @@ USER.md
# local tooling # local tooling
.serena/ .serena/
# Moltbot local data (chat history, credentials, config)
.moltbot-data/
workspace/

View File

@ -1,5 +1,5 @@
# Repository Guidelines # Repository Guidelines
- Repo: https://github.com/moltbot/moltbot - Repo: https://github.com/nugrahalabib/moltbot
- GitHub issues/comments/PR comments: use literal multiline strings or `-F - <<'EOF'` (or $'...') for real newlines; never embed "\\n". - GitHub issues/comments/PR comments: use literal multiline strings or `-F - <<'EOF'` (or $'...') for real newlines; never embed "\\n".
## Project Structure & Module Organization ## Project Structure & Module Organization

View File

@ -52,7 +52,7 @@ Status: beta.
- Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon. - Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
- Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco. - Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
- Docs: keep docs header sticky so navbar stays visible while scrolling. (#2445) Thanks @chenyuan99. - Docs: keep docs header sticky so navbar stays visible while scrolling. (#2445) Thanks @chenyuan99.
- Docs: update exe.dev install instructions. (#https://github.com/moltbot/moltbot/pull/3047) Thanks @zackerthescar. - Docs: update exe.dev install instructions. (#https://github.com/nugrahalabib/moltbot/pull/3047) Thanks @zackerthescar.
- Security: use Windows ACLs for permission audits and fixes on Windows. (#1957) - Security: use Windows ACLs for permission audits and fixes on Windows. (#1957)
- Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla. - Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla.
- Routing: precompile session key regexes. (#1697) Thanks @Ray0907. - Routing: precompile session key regexes. (#1697) Thanks @Ray0907.

View File

@ -3,7 +3,7 @@
Welcome to the lobster tank! 🦞 Welcome to the lobster tank! 🦞
## Quick Links ## Quick Links
- **GitHub:** https://github.com/moltbot/moltbot - **GitHub:** https://github.com/nugrahalabib/moltbot
- **Discord:** https://discord.gg/qkhbAGHRBT - **Discord:** https://discord.gg/qkhbAGHRBT
- **X/Twitter:** [@steipete](https://x.com/steipete) / [@moltbot](https://x.com/moltbot) - **X/Twitter:** [@steipete](https://x.com/steipete) / [@moltbot](https://x.com/moltbot)
@ -20,7 +20,7 @@ Welcome to the lobster tank! 🦞
## How to Contribute ## How to Contribute
1. **Bugs & small fixes** → Open a PR! 1. **Bugs & small fixes** → Open a PR!
2. **New features / architecture** → Start a [GitHub Discussion](https://github.com/moltbot/moltbot/discussions) or ask in Discord first 2. **New features / architecture** → Start a [GitHub Discussion](https://github.com/nugrahalabib/moltbot/discussions) or ask in Discord first
3. **Questions** → Discord #setup-help 3. **Questions** → Discord #setup-help
## Before You PR ## Before You PR
@ -49,4 +49,4 @@ We are currently prioritizing:
- **Skills**: Expanding the library of bundled skills and improving the Skill Creation developer experience. - **Skills**: Expanding the library of bundled skills and improving the Skill Creation developer experience.
- **Performance**: Optimizing token usage and compaction logic. - **Performance**: Optimizing token usage and compaction logic.
Check the [GitHub Issues](https://github.com/moltbot/moltbot/issues) for "good first issue" labels! Check the [GitHub Issues](https://github.com/nugrahalabib/moltbot/issues) for "good first issue" labels!

View File

@ -9,8 +9,8 @@
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/moltbot/moltbot/actions/workflows/ci.yml?branch=main"><img src="https://img.shields.io/github/actions/workflow/status/moltbot/moltbot/ci.yml?branch=main&style=for-the-badge" alt="CI status"></a> <a href="https://github.com/nugrahalabib/moltbot/actions/workflows/ci.yml?branch=main"><img src="https://img.shields.io/github/actions/workflow/status/moltbot/moltbot/ci.yml?branch=main&style=for-the-badge" alt="CI status"></a>
<a href="https://github.com/moltbot/moltbot/releases"><img src="https://img.shields.io/github/v/release/moltbot/moltbot?include_prereleases&style=for-the-badge" alt="GitHub release"></a> <a href="https://github.com/nugrahalabib/moltbot/releases"><img src="https://img.shields.io/github/v/release/moltbot/moltbot?include_prereleases&style=for-the-badge" alt="GitHub release"></a>
<a href="https://deepwiki.com/moltbot/moltbot"><img src="https://img.shields.io/badge/DeepWiki-moltbot-111111?style=for-the-badge" alt="DeepWiki"></a> <a href="https://deepwiki.com/moltbot/moltbot"><img src="https://img.shields.io/badge/DeepWiki-moltbot-111111?style=for-the-badge" alt="DeepWiki"></a>
<a href="https://discord.gg/clawd"><img src="https://img.shields.io/discord/1456350064065904867?label=Discord&logo=discord&logoColor=white&color=5865F2&style=for-the-badge" alt="Discord"></a> <a href="https://discord.gg/clawd"><img src="https://img.shields.io/discord/1456350064065904867?label=Discord&logo=discord&logoColor=white&color=5865F2&style=for-the-badge" alt="Discord"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge" alt="MIT License"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge" alt="MIT License"></a>
@ -86,7 +86,7 @@ Details: [Development channels](https://docs.molt.bot/install/development-channe
Prefer `pnpm` for builds from source. Bun is optional for running TypeScript directly. Prefer `pnpm` for builds from source. Bun is optional for running TypeScript directly.
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install

View File

@ -14,9 +14,9 @@
<ul> <ul>
<li>Packaging: include dist/shared output in npm tarball (fixes missing reasoning-tags import on install).</li> <li>Packaging: include dist/shared output in npm tarball (fixes missing reasoning-tags import on install).</li>
</ul> </ul>
<p><a href="https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p> <p><a href="https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p>
]]></description> ]]></description>
<enclosure url="https://github.com/moltbot/moltbot/releases/download/v2026.1.24-1/Moltbot-2026.1.24-1.zip" length="12396699" type="application/octet-stream" sparkle:edSignature="VaEdWIgEJBrZLIp2UmigoQ6vaq4P/jNFXpHYXvXHD5MsATS0CqBl6ugyyxRq+/GbpUqmdgdlht4dTUVbLRw6BA=="/> <enclosure url="https://github.com/nugrahalabib/moltbot/releases/download/v2026.1.24-1/Moltbot-2026.1.24-1.zip" length="12396699" type="application/octet-stream" sparkle:edSignature="VaEdWIgEJBrZLIp2UmigoQ6vaq4P/jNFXpHYXvXHD5MsATS0CqBl6ugyyxRq+/GbpUqmdgdlht4dTUVbLRw6BA=="/>
</item> </item>
<item> <item>
<title>2026.1.24</title> <title>2026.1.24</title>
@ -93,9 +93,9 @@
<li>Tests: avoid fake-timer dependency in embedded runner stream mock to reduce CI flakes. (#1597) Thanks @rohannagpal.</li> <li>Tests: avoid fake-timer dependency in embedded runner stream mock to reduce CI flakes. (#1597) Thanks @rohannagpal.</li>
<li>Tests: increase embedded runner ordering test timeout to reduce CI flakes. (#1597) Thanks @rohannagpal.</li> <li>Tests: increase embedded runner ordering test timeout to reduce CI flakes. (#1597) Thanks @rohannagpal.</li>
</ul> </ul>
<p><a href="https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p> <p><a href="https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p>
]]></description> ]]></description>
<enclosure url="https://github.com/moltbot/moltbot/releases/download/v2026.1.24/Moltbot-2026.1.24.zip" length="12396700" type="application/octet-stream" sparkle:edSignature="u+XzKD3YwV8s79gIr7LK4OtDCcmp/b+cjNC6SHav3/1CVJegh02SsBKatrampox32XGx8P2+8c/+fHV+qpkHCA=="/> <enclosure url="https://github.com/nugrahalabib/moltbot/releases/download/v2026.1.24/Moltbot-2026.1.24.zip" length="12396700" type="application/octet-stream" sparkle:edSignature="u+XzKD3YwV8s79gIr7LK4OtDCcmp/b+cjNC6SHav3/1CVJegh02SsBKatrampox32XGx8P2+8c/+fHV+qpkHCA=="/>
</item> </item>
<item> <item>
<title>2026.1.23</title> <title>2026.1.23</title>
@ -180,9 +180,9 @@
<li>Browser: keep extension relay tabs controllable when the extension reuses a session id after switching tabs. (#1160)</li> <li>Browser: keep extension relay tabs controllable when the extension reuses a session id after switching tabs. (#1160)</li>
<li>Agents: warn and ignore tool allowlists that only reference unknown or unloaded plugin tools. (#1566)</li> <li>Agents: warn and ignore tool allowlists that only reference unknown or unloaded plugin tools. (#1566)</li>
</ul> </ul>
<p><a href="https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p> <p><a href="https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md">View full changelog</a></p>
]]></description> ]]></description>
<enclosure url="https://github.com/moltbot/moltbot/releases/download/v2026.1.23/Moltbot-2026.1.23.zip" length="22326233" type="application/octet-stream" sparkle:edSignature="p40dFczUfmMpsif4BrEUYVqUPG2WiBXleWgefwu4WiqjuyXbw7CAaH5CpQKig/k2qRLlE59kX7AR/qJqmy+yCA=="/> <enclosure url="https://github.com/nugrahalabib/moltbot/releases/download/v2026.1.23/Moltbot-2026.1.23.zip" length="22326233" type="application/octet-stream" sparkle:edSignature="p40dFczUfmMpsif4BrEUYVqUPG2WiBXleWgefwu4WiqjuyXbw7CAaH5CpQKig/k2qRLlE59kX7AR/qJqmy+yCA=="/>
</item> </item>
</channel> </channel>
</rss> </rss>

View File

@ -10,7 +10,7 @@ struct AboutSettings: View {
VStack(spacing: 8) { VStack(spacing: 8) {
let appIcon = NSApplication.shared.applicationIconImage ?? CritterIconRenderer.makeIcon(blink: 0) let appIcon = NSApplication.shared.applicationIconImage ?? CritterIconRenderer.makeIcon(blink: 0)
Button { Button {
if let url = URL(string: "https://github.com/moltbot/moltbot") { if let url = URL(string: "https://github.com/nugrahalabib/moltbot") {
NSWorkspace.shared.open(url) NSWorkspace.shared.open(url)
} }
} label: { } label: {
@ -49,7 +49,7 @@ struct AboutSettings: View {
AboutLinkRow( AboutLinkRow(
icon: "chevron.left.slash.chevron.right", icon: "chevron.left.slash.chevron.right",
title: "GitHub", title: "GitHub",
url: "https://github.com/moltbot/moltbot") url: "https://github.com/nugrahalabib/moltbot")
AboutLinkRow(icon: "globe", title: "Website", url: "https://steipete.me") AboutLinkRow(icon: "globe", title: "Website", url: "https://steipete.me")
AboutLinkRow(icon: "bird", title: "Twitter", url: "https://twitter.com/steipete") AboutLinkRow(icon: "bird", title: "Twitter", url: "https://twitter.com/steipete")
AboutLinkRow(icon: "envelope", title: "Email", url: "mailto:peter@steipete.me") AboutLinkRow(icon: "envelope", title: "Email", url: "mailto:peter@steipete.me")

View File

@ -51,11 +51,11 @@
</div> </div>
<div class="titlebar__actions"> <div class="titlebar__actions">
<a class="titlebar__cta" href="https://github.com/moltbot/moltbot"> <a class="titlebar__cta" href="https://github.com/nugrahalabib/moltbot">
<span class="titlebar__cta-label">GitHub</span> <span class="titlebar__cta-label">GitHub</span>
<span class="titlebar__cta-meta">repo</span> <span class="titlebar__cta-meta">repo</span>
</a> </a>
<a class="titlebar__cta titlebar__cta--accent" href="https://github.com/moltbot/moltbot/releases/latest"> <a class="titlebar__cta titlebar__cta--accent" href="https://github.com/nugrahalabib/moltbot/releases/latest">
<span class="titlebar__cta-label">Download</span> <span class="titlebar__cta-label">Download</span>
<span class="titlebar__cta-meta">latest</span> <span class="titlebar__cta-meta">latest</span>
</a> </a>
@ -118,9 +118,9 @@
<div class="footer__line"> <div class="footer__line">
<span class="footer__sig">moltbot.ai</span> <span class="footer__sig">moltbot.ai</span>
<span class="footer__sep">·</span> <span class="footer__sep">·</span>
<a href="https://github.com/moltbot/moltbot">source</a> <a href="https://github.com/nugrahalabib/moltbot">source</a>
<span class="footer__sep">·</span> <span class="footer__sep">·</span>
<a href="https://github.com/moltbot/moltbot/releases">releases</a> <a href="https://github.com/nugrahalabib/moltbot/releases">releases</a>
</div> </div>
<div class="footer__hint" aria-hidden="true"> <div class="footer__hint" aria-hidden="true">
tip: press <kbd>F2</kbd> (Mac: <kbd>fn</kbd>+<kbd>F2</kbd>) to flip tip: press <kbd>F2</kbd> (Mac: <kbd>fn</kbd>+<kbd>F2</kbd>) to flip

View File

@ -13,11 +13,11 @@
"topbarLinks": [ "topbarLinks": [
{ {
"name": "GitHub", "name": "GitHub",
"url": "https://github.com/moltbot/moltbot" "url": "https://github.com/nugrahalabib/moltbot"
}, },
{ {
"name": "Releases", "name": "Releases",
"url": "https://github.com/moltbot/moltbot/releases" "url": "https://github.com/nugrahalabib/moltbot/releases"
} }
], ],
"redirects": [ "redirects": [

View File

@ -580,7 +580,7 @@ tccutil reset All bot.molt.mac.debug
``` ```
**Fix 2: Force New Bundle ID** **Fix 2: Force New Bundle ID**
If resetting doesn't work, change the `BUNDLE_ID` in [`scripts/package-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/package-mac-app.sh) (e.g., add a `.test` suffix) and rebuild. This forces macOS to treat it as a new app. If resetting doesn't work, change the `BUNDLE_ID` in [`scripts/package-mac-app.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/package-mac-app.sh) (e.g., add a `.test` suffix) and rebuild. This forces macOS to treat it as a new app.
### Gateway stuck on "Starting..." ### Gateway stuck on "Starting..."

View File

@ -269,8 +269,8 @@ Tip: ask the agent to **plan and supervise** the fix (step-by-step), then execut
necessary commands. That keeps changes small and easier to audit. necessary commands. That keeps changes small and easier to audit.
If you discover a real bug or fix, please file a GitHub issue or send a PR: If you discover a real bug or fix, please file a GitHub issue or send a PR:
https://github.com/moltbot/moltbot/issues https://github.com/nugrahalabib/moltbot/issues
https://github.com/moltbot/moltbot/pulls https://github.com/nugrahalabib/moltbot/pulls
Start with these commands (share outputs when asking for help): Start with these commands (share outputs when asking for help):
@ -305,7 +305,7 @@ The wizard can also build UI assets automatically. After onboarding, you typical
From source (contributors/dev): From source (contributors/dev):
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm build pnpm build
@ -408,7 +408,7 @@ Related: [Migrating](/install/migrating), [Where things live on disk](/help/faq#
### Where do I see whats new in the latest version ### Where do I see whats new in the latest version
Check the GitHub changelog: Check the GitHub changelog:
https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md
Newest entries are at the top. If the top section is marked **Unreleased**, the next dated Newest entries are at the top. If the top section is marked **Unreleased**, the next dated
section is the latest shipped version. Entries are grouped by **Highlights**, **Changes**, and section is the latest shipped version. Entries are grouped by **Highlights**, **Changes**, and
@ -422,7 +422,7 @@ detail: [Troubleshooting](/help/troubleshooting#docsmoltbot-shows-an-ssl-error-c
Please help us unblock it by reporting here: https://spa.xfinity.com/check_url_status. Please help us unblock it by reporting here: https://spa.xfinity.com/check_url_status.
If you still can't reach the site, the docs are mirrored on GitHub: If you still can't reach the site, the docs are mirrored on GitHub:
https://github.com/moltbot/moltbot/tree/main/docs https://github.com/nugrahalabib/moltbot/tree/main/docs
### Whats the difference between stable and beta ### Whats the difference between stable and beta
@ -435,7 +435,7 @@ that same version to `latest`**. Thats why beta and stable can point at the
**same version**. **same version**.
See what changed: See what changed:
https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md
### How do I install the beta version and whats the difference between beta and dev ### How do I install the beta version and whats the difference between beta and dev
@ -484,7 +484,7 @@ That gives you a local repo you can edit, then update via git.
If you prefer a clean clone manually, use: If you prefer a clean clone manually, use:
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm build pnpm build
@ -802,7 +802,7 @@ This **does not delete your data** - it only changes the Moltbot code install. Y
From npm → git: From npm → git:
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm build pnpm build
@ -2723,4 +2723,4 @@ You can add options like `debounce:2s cap:25 drop:summarize` for followup modes.
--- ---
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/moltbot/moltbot/discussions). Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/nugrahalabib/moltbot/discussions).

View File

@ -891,6 +891,6 @@ node -e "import('./path/to/handler.ts').then(console.log)"
## See Also ## See Also
- [CLI Reference: hooks](/cli/hooks) - [CLI Reference: hooks](/cli/hooks)
- [Bundled Hooks README](https://github.com/moltbot/moltbot/tree/main/src/hooks/bundled) - [Bundled Hooks README](https://github.com/nugrahalabib/moltbot/tree/main/src/hooks/bundled)
- [Webhook Hooks](/automation/webhook) - [Webhook Hooks](/automation/webhook)
- [Configuration](/gateway/configuration#hooks) - [Configuration](/gateway/configuration#hooks)

View File

@ -18,8 +18,8 @@ read_when:
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/moltbot/moltbot">GitHub</a> · <a href="https://github.com/nugrahalabib/moltbot">GitHub</a> ·
<a href="https://github.com/moltbot/moltbot/releases">Releases</a> · <a href="https://github.com/nugrahalabib/moltbot/releases">Releases</a> ·
<a href="/">Docs</a> · <a href="/">Docs</a> ·
<a href="/start/clawd">Moltbot assistant setup</a> <a href="/start/clawd">Moltbot assistant setup</a>
</p> </p>
@ -120,7 +120,7 @@ Switching between npm and git installs later is easy: install the other flavor a
From source (development): From source (development):
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm ui:build # auto-installs UI deps on first run pnpm ui:build # auto-installs UI deps on first run

View File

@ -8,7 +8,7 @@ read_when:
# Ansible Installation # Ansible Installation
The recommended way to deploy Moltbot to production servers is via **[moltbot-ansible](https://github.com/moltbot/moltbot-ansible)** — an automated installer with security-first architecture. The recommended way to deploy Moltbot to production servers is via **[moltbot-ansible](https://github.com/nugrahalabib/moltbot-ansible)** — an automated installer with security-first architecture.
## Quick Start ## Quick Start
@ -18,7 +18,7 @@ One-command install:
curl -fsSL https://raw.githubusercontent.com/moltbot/moltbot-ansible/main/install.sh | bash curl -fsSL https://raw.githubusercontent.com/moltbot/moltbot-ansible/main/install.sh | bash
``` ```
> **📦 Full guide: [github.com/moltbot/moltbot-ansible](https://github.com/moltbot/moltbot-ansible)** > **📦 Full guide: [github.com/nugrahalabib/moltbot-ansible](https://github.com/nugrahalabib/moltbot-ansible)**
> >
> The moltbot-ansible repo is the source of truth for Ansible deployment. This page is a quick overview. > The moltbot-ansible repo is the source of truth for Ansible deployment. This page is a quick overview.
@ -117,7 +117,7 @@ If you prefer manual control over the automation:
sudo apt update && sudo apt install -y ansible git sudo apt update && sudo apt install -y ansible git
# 2. Clone repository # 2. Clone repository
git clone https://github.com/moltbot/moltbot-ansible.git git clone https://github.com/nugrahalabib/moltbot-ansible.git
cd moltbot-ansible cd moltbot-ansible
# 3. Install Ansible collections # 3. Install Ansible collections
@ -193,13 +193,13 @@ moltbot channels login
## Advanced Configuration ## Advanced Configuration
For detailed security architecture and troubleshooting: For detailed security architecture and troubleshooting:
- [Security Architecture](https://github.com/moltbot/moltbot-ansible/blob/main/docs/security.md) - [Security Architecture](https://github.com/nugrahalabib/moltbot-ansible/blob/main/docs/security.md)
- [Technical Details](https://github.com/moltbot/moltbot-ansible/blob/main/docs/architecture.md) - [Technical Details](https://github.com/nugrahalabib/moltbot-ansible/blob/main/docs/architecture.md)
- [Troubleshooting Guide](https://github.com/moltbot/moltbot-ansible/blob/main/docs/troubleshooting.md) - [Troubleshooting Guide](https://github.com/nugrahalabib/moltbot-ansible/blob/main/docs/troubleshooting.md)
## Related ## Related
- [moltbot-ansible](https://github.com/moltbot/moltbot-ansible) — full deployment guide - [moltbot-ansible](https://github.com/nugrahalabib/moltbot-ansible) — full deployment guide
- [Docker](/install/docker) — containerized gateway setup - [Docker](/install/docker) — containerized gateway setup
- [Sandboxing](/gateway/sandboxing) — agent sandbox configuration - [Sandboxing](/gateway/sandboxing) — agent sandbox configuration
- [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) — per-agent isolation - [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) — per-agent isolation

View File

@ -437,7 +437,7 @@ Example:
## Troubleshooting ## Troubleshooting
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`. - Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
- Container not running: it will auto-create per session on demand. - Container not running: it will auto-create per session on demand.
- Permission errors in sandbox: set `docker.user` to a UID:GID that matches your - Permission errors in sandbox: set `docker.user` to a UID:GID that matches your
mounted workspace ownership (or chown the workspace folder). mounted workspace ownership (or chown the workspace folder).

View File

@ -88,7 +88,7 @@ moltbot onboard --install-daemon
### 3) From source (contributors/dev) ### 3) From source (contributors/dev)
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm ui:build # auto-installs UI deps on first run pnpm ui:build # auto-installs UI deps on first run

View File

@ -84,7 +84,7 @@ The macOS packaging flow expects a stable Info.plist template at:
apps/macos/Sources/Moltbot/Resources/Info.plist apps/macos/Sources/Moltbot/Resources/Info.plist
``` ```
[`scripts/package-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/package-mac-app.sh) copies this template into the app bundle and patches dynamic fields [`scripts/package-mac-app.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/package-mac-app.sh) copies this template into the app bundle and patches dynamic fields
(bundle ID, version/build, Git SHA, Sparkle keys). This keeps the plist deterministic for SwiftPM (bundle ID, version/build, Git SHA, Sparkle keys). This keeps the plist deterministic for SwiftPM
packaging and Nix builds (which do not rely on a full Xcode toolchain). packaging and Nix builds (which do not rely on a full Xcode toolchain).

View File

@ -125,7 +125,7 @@ moltbot health
``` ```
Notes: Notes:
- `pnpm build` matters when you run the packaged `moltbot` binary ([`moltbot.mjs`](https://github.com/moltbot/moltbot/blob/main/moltbot.mjs)) or use Node to run `dist/`. - `pnpm build` matters when you run the packaged `moltbot` binary ([`moltbot.mjs`](https://github.com/nugrahalabib/moltbot/blob/main/moltbot.mjs)) or use Node to run `dist/`.
- If you run from a repo checkout without a global install, use `pnpm moltbot ...` for CLI commands. - If you run from a repo checkout without a global install, use `pnpm moltbot ...` for CLI commands.
- If you run directly from TypeScript (`pnpm moltbot ...`), a rebuild is usually unnecessary, but **config migrations still apply** → run doctor. - If you run directly from TypeScript (`pnpm moltbot ...`), a rebuild is usually unnecessary, but **config migrations still apply** → run doctor.
- Switching between global and git installs is easy: install the other flavor, then run `moltbot doctor` so the gateway service entrypoint is rewritten to the current install. - Switching between global and git installs is easy: install the other flavor, then run `moltbot doctor` so the gateway service entrypoint is rewritten to the current install.

View File

@ -25,7 +25,7 @@ description: Deploy Moltbot on Fly.io
```bash ```bash
# Clone the repo # Clone the repo
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
# Create a new Fly app (pick your own name) # Create a new Fly app (pick your own name)

View File

@ -188,7 +188,7 @@ docker compose version
## 6) Clone the Moltbot repository ## 6) Clone the Moltbot repository
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
``` ```

View File

@ -96,7 +96,7 @@ docker compose version
## 3) Clone the Moltbot repository ## 3) Clone the Moltbot repository
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
``` ```

View File

@ -33,7 +33,7 @@ To build the macOS app and package it into `dist/Moltbot.app`, run:
If you don't have an Apple Developer ID certificate, the script will automatically use **ad-hoc signing** (`-`). If you don't have an Apple Developer ID certificate, the script will automatically use **ad-hoc signing** (`-`).
For dev run modes, signing flags, and Team ID troubleshooting, see the macOS app README: For dev run modes, signing flags, and Team ID troubleshooting, see the macOS app README:
https://github.com/moltbot/moltbot/blob/main/apps/macos/README.md https://github.com/nugrahalabib/moltbot/blob/main/apps/macos/README.md
> **Note**: Ad-hoc signed apps may trigger security prompts. If the app crashes immediately with "Abort trap 6", see the [Troubleshooting](#troubleshooting) section. > **Note**: Ad-hoc signed apps may trigger security prompts. If the app crashes immediately with "Abort trap 6", see the [Troubleshooting](#troubleshooting) section.
@ -76,7 +76,7 @@ If the app crashes when you try to allow **Speech Recognition** or **Microphone*
```bash ```bash
tccutil reset All bot.molt.mac.debug tccutil reset All bot.molt.mac.debug
``` ```
2. If that fails, change the `BUNDLE_ID` temporarily in [`scripts/package-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/package-mac-app.sh) to force a "clean slate" from macOS. 2. If that fails, change the `BUNDLE_ID` temporarily in [`scripts/package-mac-app.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/package-mac-app.sh) to force a "clean slate" from macOS.
### Gateway "Starting..." indefinitely ### Gateway "Starting..." indefinitely
If the gateway status stays on "Starting...", check if a zombie process is holding the port: If the gateway status stays on "Starting...", check if a zombie process is holding the port:

View File

@ -63,7 +63,7 @@ Use the release note generator so Sparkle renders formatted HTML notes:
```bash ```bash
SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/Moltbot-2026.1.27-beta.1.zip https://raw.githubusercontent.com/moltbot/moltbot/main/appcast.xml SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/Moltbot-2026.1.27-beta.1.zip https://raw.githubusercontent.com/moltbot/moltbot/main/appcast.xml
``` ```
Generates HTML release notes from `CHANGELOG.md` (via [`scripts/changelog-to-html.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/changelog-to-html.sh)) and embeds them in the appcast entry. Generates HTML release notes from `CHANGELOG.md` (via [`scripts/changelog-to-html.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/changelog-to-html.sh)) and embeds them in the appcast entry.
Commit the updated `appcast.xml` alongside the release assets (zip + dSYM) when publishing. Commit the updated `appcast.xml` alongside the release assets (zip + dSYM) when publishing.
## Publish & verify ## Publish & verify

View File

@ -5,11 +5,11 @@ read_when:
--- ---
# mac signing (debug builds) # mac signing (debug builds)
This app is usually built from [`scripts/package-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/package-mac-app.sh), which now: This app is usually built from [`scripts/package-mac-app.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/package-mac-app.sh), which now:
- sets a stable debug bundle identifier: `bot.molt.mac.debug` - sets a stable debug bundle identifier: `bot.molt.mac.debug`
- writes the Info.plist with that bundle id (override via `BUNDLE_ID=...`) - writes the Info.plist with that bundle id (override via `BUNDLE_ID=...`)
- calls [`scripts/codesign-mac-app.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/codesign-mac-app.sh) to sign the main binary and app bundle so macOS treats each rebuild as the same signed bundle and keeps TCC permissions (notifications, accessibility, screen recording, mic, speech). For stable permissions, use a real signing identity; ad-hoc is opt-in and fragile (see [macOS permissions](/platforms/mac/permissions)). - calls [`scripts/codesign-mac-app.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/codesign-mac-app.sh) to sign the main binary and app bundle so macOS treats each rebuild as the same signed bundle and keeps TCC permissions (notifications, accessibility, screen recording, mic, speech). For stable permissions, use a real signing identity; ad-hoc is opt-in and fragile (see [macOS permissions](/platforms/mac/permissions)).
- uses `CODESIGN_TIMESTAMP=auto` by default; it enables trusted timestamps for Developer ID signatures. Set `CODESIGN_TIMESTAMP=off` to skip timestamping (offline debug builds). - uses `CODESIGN_TIMESTAMP=auto` by default; it enables trusted timestamps for Developer ID signatures. Set `CODESIGN_TIMESTAMP=off` to skip timestamping (offline debug builds).
- inject build metadata into Info.plist: `MoltbotBuildTimestamp` (UTC) and `MoltbotGitCommit` (short hash) so the About pane can show build, git, and debug/release channel. - inject build metadata into Info.plist: `MoltbotBuildTimestamp` (UTC) and `MoltbotGitCommit` (short hash) so the About pane can show build, git, and debug/release channel.
- **Packaging requires Node 22+**: the script runs TS builds and the Control UI build. - **Packaging requires Node 22+**: the script runs TS builds and the Control UI build.

View File

@ -116,7 +116,7 @@ curl -fsSL https://molt.bot/install.sh | bash
### Option B: Hackable Install (For tinkering) ### Option B: Hackable Install (For tinkering)
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
npm install npm install
npm run build npm run build

View File

@ -137,7 +137,7 @@ systemctl --user status
Follow the Linux Getting Started flow inside WSL: Follow the Linux Getting Started flow inside WSL:
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm ui:build # auto-installs UI deps on first run pnpm ui:build # auto-installs UI deps on first run

View File

@ -19,12 +19,12 @@ When the operator says “release”, immediately do this preflight (no extra qu
1) **Version & metadata** 1) **Version & metadata**
- [ ] Bump `package.json` version (e.g., `2026.1.27-beta.1`). - [ ] Bump `package.json` version (e.g., `2026.1.27-beta.1`).
- [ ] Run `pnpm plugins:sync` to align extension package versions + changelogs. - [ ] Run `pnpm plugins:sync` to align extension package versions + changelogs.
- [ ] Update CLI/version strings: [`src/cli/program.ts`](https://github.com/moltbot/moltbot/blob/main/src/cli/program.ts) and the Baileys user agent in [`src/provider-web.ts`](https://github.com/moltbot/moltbot/blob/main/src/provider-web.ts). - [ ] Update CLI/version strings: [`src/cli/program.ts`](https://github.com/nugrahalabib/moltbot/blob/main/src/cli/program.ts) and the Baileys user agent in [`src/provider-web.ts`](https://github.com/nugrahalabib/moltbot/blob/main/src/provider-web.ts).
- [ ] Confirm package metadata (name, description, repository, keywords, license) and `bin` map points to [`moltbot.mjs`](https://github.com/moltbot/moltbot/blob/main/moltbot.mjs) for `moltbot`. - [ ] Confirm package metadata (name, description, repository, keywords, license) and `bin` map points to [`moltbot.mjs`](https://github.com/nugrahalabib/moltbot/blob/main/moltbot.mjs) for `moltbot`.
- [ ] If dependencies changed, run `pnpm install` so `pnpm-lock.yaml` is current. - [ ] If dependencies changed, run `pnpm install` so `pnpm-lock.yaml` is current.
2) **Build & artifacts** 2) **Build & artifacts**
- [ ] If A2UI inputs changed, run `pnpm canvas:a2ui:bundle` and commit any updated [`src/canvas-host/a2ui/a2ui.bundle.js`](https://github.com/moltbot/moltbot/blob/main/src/canvas-host/a2ui/a2ui.bundle.js). - [ ] If A2UI inputs changed, run `pnpm canvas:a2ui:bundle` and commit any updated [`src/canvas-host/a2ui/a2ui.bundle.js`](https://github.com/nugrahalabib/moltbot/blob/main/src/canvas-host/a2ui/a2ui.bundle.js).
- [ ] `pnpm run build` (regenerates `dist/`). - [ ] `pnpm run build` (regenerates `dist/`).
- [ ] Verify npm package `files` includes all required `dist/*` folders (notably `dist/node-host/**` and `dist/acp/**` for headless node + ACP CLI). - [ ] Verify npm package `files` includes all required `dist/*` folders (notably `dist/node-host/**` and `dist/acp/**` for headless node + ACP CLI).
- [ ] Confirm `dist/build-info.json` exists and includes the expected `commit` hash (CLI banner uses this for npm installs). - [ ] Confirm `dist/build-info.json` exists and includes the expected `commit` hash (CLI banner uses this for npm installs).
@ -50,7 +50,7 @@ When the operator says “release”, immediately do this preflight (no extra qu
5) **macOS app (Sparkle)** 5) **macOS app (Sparkle)**
- [ ] Build + sign the macOS app, then zip it for distribution. - [ ] Build + sign the macOS app, then zip it for distribution.
- [ ] Generate the Sparkle appcast (HTML notes via [`scripts/make_appcast.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/make_appcast.sh)) and update `appcast.xml`. - [ ] Generate the Sparkle appcast (HTML notes via [`scripts/make_appcast.sh`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/make_appcast.sh)) and update `appcast.xml`.
- [ ] Keep the app zip (and optional dSYM zip) ready to attach to the GitHub release. - [ ] Keep the app zip (and optional dSYM zip) ready to attach to the GitHub release.
- [ ] Follow [macOS release](/platforms/mac/release) for the exact commands and required env vars. - [ ] Follow [macOS release](/platforms/mac/release) for the exact commands and required env vars.
- `APP_BUILD` must be numeric + monotonic (no `-beta`) so Sparkle compares versions correctly. - `APP_BUILD` must be numeric + monotonic (no `-beta`) so Sparkle compares versions correctly.

View File

@ -14,7 +14,7 @@ read_when:
## Model latency bench (local keys) ## Model latency bench (local keys)
Script: [`scripts/bench-model.ts`](https://github.com/moltbot/moltbot/blob/main/scripts/bench-model.ts) Script: [`scripts/bench-model.ts`](https://github.com/nugrahalabib/moltbot/blob/main/scripts/bench-model.ts)
Usage: Usage:
- `source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10` - `source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10`

View File

@ -11,7 +11,7 @@ Deploy Moltbot on Render using Infrastructure as Code. The included `render.yaml
## Deploy with a Render Blueprint ## Deploy with a Render Blueprint
<a href="https://render.com/deploy?repo=https://github.com/moltbot/moltbot" target="_blank" rel="noreferrer">Deploy to Render</a> <a href="https://render.com/deploy?repo=https://github.com/nugrahalabib/moltbot" target="_blank" rel="noreferrer">Deploy to Render</a>
Clicking this link will: Clicking this link will:

View File

@ -34,7 +34,7 @@ npm install -g moltbot@latest
From source (development): From source (development):
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm ui:build # auto-installs UI deps on first run pnpm ui:build # auto-installs UI deps on first run

View File

@ -166,7 +166,7 @@ Pairing doc: [Pairing](/start/pairing)
If youre hacking on Moltbot itself, run from source: If youre hacking on Moltbot itself, run from source:
```bash ```bash
git clone https://github.com/moltbot/moltbot.git git clone https://github.com/nugrahalabib/moltbot.git
cd moltbot cd moltbot
pnpm install pnpm install
pnpm ui:build # auto-installs UI deps on first run pnpm ui:build # auto-installs UI deps on first run

12646
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -186,7 +186,7 @@
"express": "^5.2.1", "express": "^5.2.1",
"file-type": "^21.3.0", "file-type": "^21.3.0",
"grammy": "^1.39.3", "grammy": "^1.39.3",
"hono": "4.11.4", "hono": "^4.11.7",
"jiti": "^2.6.1", "jiti": "^2.6.1",
"json5": "^2.2.3", "json5": "^2.2.3",
"jszip": "^3.10.1", "jszip": "^3.10.1",
@ -210,7 +210,7 @@
}, },
"optionalDependencies": { "optionalDependencies": {
"@napi-rs/canvas": "^0.1.88", "@napi-rs/canvas": "^0.1.88",
"node-llama-cpp": "3.15.0" "node-llama-cpp": "^2.3.2"
}, },
"devDependencies": { "devDependencies": {
"@grammyjs/types": "^3.23.0", "@grammyjs/types": "^3.23.0",

1209
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -59,7 +59,7 @@ version_content=$(extract_version_section "$VERSION" "$CHANGELOG_FILE")
if [[ -z "$version_content" ]]; then if [[ -z "$version_content" ]]; then
echo "<h2>Moltbot $VERSION</h2>" echo "<h2>Moltbot $VERSION</h2>"
echo "<p>Latest Moltbot update.</p>" echo "<p>Latest Moltbot update.</p>"
echo "<p><a href=\"https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md\">View full changelog</a></p>" echo "<p><a href=\"https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md\">View full changelog</a></p>"
exit 0 exit 0
fi fi
@ -88,4 +88,4 @@ if [[ "$in_list" == true ]]; then
echo "</ul>" echo "</ul>"
fi fi
echo "<p><a href=\"https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md\">View full changelog</a></p>" echo "<p><a href=\"https://github.com/nugrahalabib/moltbot/blob/main/CHANGELOG.md\">View full changelog</a></p>"

View File

@ -49,7 +49,7 @@ else
fi fi
cp -f "$NOTES_HTML" "$TMP_DIR/${ZIP_BASE}.html" cp -f "$NOTES_HTML" "$TMP_DIR/${ZIP_BASE}.html"
DOWNLOAD_URL_PREFIX=${SPARKLE_DOWNLOAD_URL_PREFIX:-"https://github.com/moltbot/moltbot/releases/download/v${VERSION}/"} DOWNLOAD_URL_PREFIX=${SPARKLE_DOWNLOAD_URL_PREFIX:-"https://github.com/nugrahalabib/moltbot/releases/download/v${VERSION}/"}
export PATH="$ROOT/apps/macos/.build/artifacts/sparkle/Sparkle/bin:$PATH" export PATH="$ROOT/apps/macos/.build/artifacts/sparkle/Sparkle/bin:$PATH"
if ! command -v generate_appcast >/dev/null; then if ! command -v generate_appcast >/dev/null; then

View File

@ -117,7 +117,7 @@ function buildDocsSection(params: { docsPath?: string; isMinimal: boolean; readT
"## Documentation", "## Documentation",
`Moltbot docs: ${docsPath}`, `Moltbot docs: ${docsPath}`,
"Mirror: https://docs.molt.bot", "Mirror: https://docs.molt.bot",
"Source: https://github.com/moltbot/moltbot", "Source: https://github.com/nugrahalabib/moltbot",
"Community: https://discord.com/invite/clawd", "Community: https://discord.com/invite/clawd",
"Find new skills: https://clawdhub.com", "Find new skills: https://clawdhub.com",
"For Moltbot behavior, commands, config, or architecture: consult local docs first.", "For Moltbot behavior, commands, config, or architecture: consult local docs first.",

View File

@ -114,7 +114,7 @@ const MAX_LOG_CHARS = 8000;
const DEFAULT_PACKAGE_NAME = "moltbot"; const DEFAULT_PACKAGE_NAME = "moltbot";
const CORE_PACKAGE_NAMES = new Set([DEFAULT_PACKAGE_NAME, "moltbot"]); const CORE_PACKAGE_NAMES = new Set([DEFAULT_PACKAGE_NAME, "moltbot"]);
const CLI_NAME = resolveCliName(); const CLI_NAME = resolveCliName();
const CLAWDBOT_REPO_URL = "https://github.com/moltbot/moltbot.git"; const CLAWDBOT_REPO_URL = "https://github.com/nugrahalabib/moltbot.git";
const DEFAULT_GIT_DIR = path.join(os.homedir(), "moltbot"); const DEFAULT_GIT_DIR = path.join(os.homedir(), "moltbot");
function normalizeTag(value?: string | null): string | null { function normalizeTag(value?: string | null): string | null {

View File

@ -15,8 +15,8 @@ export const MEMORY_SYSTEM_PROMPT = [
"Paste this into your agent:", "Paste this into your agent:",
"", "",
"Install the memory system by applying:", "Install the memory system by applying:",
"https://github.com/moltbot/moltbot/commit/9ffea23f31ca1df5183b25668f8f814bee0fb34e", "https://github.com/nugrahalabib/moltbot/commit/9ffea23f31ca1df5183b25668f8f814bee0fb34e",
"https://github.com/moltbot/moltbot/commit/7d1fee70e76f2f634f1b41fca927ee663914183a", "https://github.com/nugrahalabib/moltbot/commit/7d1fee70e76f2f634f1b41fca927ee663914183a",
].join("\n"); ].join("\n");
export async function shouldSuggestMemorySystem(workspaceDir: string): Promise<boolean> { export async function shouldSuggestMemorySystem(workspaceDir: string): Promise<boolean> {

View File

@ -163,7 +163,7 @@ export function handleChatEvent(
if (payload.sessionKey !== state.sessionKey) return null; if (payload.sessionKey !== state.sessionKey) return null;
// Final from another run (e.g. sub-agent announce): refresh history to show new message. // Final from another run (e.g. sub-agent announce): refresh history to show new message.
// See https://github.com/moltbot/moltbot/issues/1909 // See https://github.com/nugrahalabib/moltbot/issues/1909
if ( if (
payload.runId && payload.runId &&
state.chatRunId && state.chatRunId &&