by xiayu1987
Cheap Money-Saving Self-hosted AI agent workspace with tool calling, MCP, multi-model routing, sandboxed execution, multi-agent workflows, and LLM-authored 3D character animation rendered with Three.js.
# Add to your Claude Code skills
git clone https://github.com/xiayu1987/noobotLast scanned: 9/3/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@xmldom/xmldom: xmldom: XML fragment injection via invalid EntityReference.nodeName during requireWellFormed serialization",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "deepmerge-ts: DeepmergeTS has stack exhaustion when merging recursive object graphs",
"severity": "high"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to host confusion via skipped IDN canonicalization on scheme-relative references",
"severity": "high"
},
{
"type": "npm-audit",
"message": "html-to-text: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "js-yaml: JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported",
"severity": "high"
},
{
"type": "npm-audit",
"message": "mailparser: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "pm2: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "qs: qs array-limit bypass via bracket-key comma parsing",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-09-03T08:34:29.434Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how noobot compares with popular alternatives.
noobot is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by xiayu1987. Cheap Money-Saving Self-hosted AI agent workspace with tool calling, MCP, multi-model routing, sandboxed execution, multi-agent workflows, and LLM-authored 3D character animation rendered with Three.js. It has 188 GitHub stars.
noobot returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/xiayu1987/noobot" and add it to your Claude Code skills directory (see the Installation section above).
noobot is primarily written in JavaScript. It is open-source under xiayu1987 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh noobot against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Say goodbye to the 1-dollar hello-world era.
Cheap Money-Saving Self-hosted AI agent workspace for tool calling, multi-model routing, MCP, and multi-agent workflows.
中文 | English
Windows installer (choose Noobot.Setup.<version>.exe) · macOS package (choose Noobot-<version>-mac.zip) · Configuration · Discussions
Noobot is an open-source Web and desktop AI agent application built with Node.js, Vue 3, and Electron. It provides isolated user workspaces, durable sessions, extensible tools, semantic workflows, and model-family routing across OpenAI-compatible providers from one self-hosted deployment.
Co-creators: Hyler · Epicur · gonglei · Z · Y · C
An English demo of a fictional portfolio analysis: Noobot verifies source data, chains four file tools, surfaces the live analysis flow, and publishes reusable report attachments.

Import a 3D character with basic motions and tell Noobot what you want it to do. You can create solo or multi-character scenes, make characters wave, walk, jump, and interact, then refine their movement, timing, and position in later messages. No animation code is required.

The recording below comes from a running Noobot system. It follows the complete creative experience: import and select a character, describe a scene in plain language, and watch it perform a continuous sequence of idle, wave, jump, walk, and finishing motions inside the conversation.

Each animation is saved as a work created in the current session. It remains available after a refresh and can be refined from any later message without scrolling back to where it was first created.
To get started, open Character, import a model, select one or more characters from More actions, and describe the movement you want to see.

| Option | Download or command | Notes |
|---|---|---|
| Windows installer | Latest release, then choose Noobot.Setup.<version>.exe |
Recommended for Windows |
| Windows packaged archive | Latest release, then choose Noobot-<version>-win.zip |
ZIP distribution without the setup wizard |
| macOS packaged archive | Latest release, then choose Noobot-<version>-mac.zip |
Packaged macOS desktop client |
| Self-hosted Web | ./start.sh |
Linux or macOS server deployment |
The macOS release is not signed with an Apple Developer ID or notarized. After extracting the ZIP, move Noobot.app to Applications. If macOS blocks it, try opening it once, then go to System Settings > Privacy & Security and click Open Anyway. See Apple's Gatekeeper guidance.
Alternatively, if you trust the downloaded release, remove the quarantine attribute from this app in Terminal, then open it again:
xattr -dr com.apple.quarantine /Applications/Noobot.app
git clone https://github.com/xiayu1987/noobot.git
cd noobot
chmod +x start.sh
./start.sh
Notes:
start.sh runs the project launcher first (scripts/project-launcher.mjs).service/config/global.config.json does not exist, an interactive setup wizard will create it.api_key and base_url are optional; when left empty, the model library's ${ENV} references are kept so you can fill them in later via config-params.json. It also asks for the execution isolation mode (sandbox runs commands in Docker, host runs them directly on this machine).NOOBOT_MODEL_NAME=gemini_3_7_flash \
NOOBOT_MODEL_API_KEY=xxx \
NOOBOT_MODEL_BASE_URL=https://example.com/v1 \
NOOBOT_EXECUTION_ISOLATION_MODE=sandbox \
./start.sh
NOOBOT_MODEL_NAME accepts a model library key or model name. NOOBOT_MODEL_API_KEY and NOOBOT_MODEL_BASE_URL are optional. NOOBOT_EXECUTION_ISOLATION_MODE is sandbox (default) or host.
Optional: NOOBOT_SETUP_WORKSPACE_ROOT (initial workspace_root, relative to service/, default ../workspace). Optional: NOOBOT_SETUP_LANG=zh|en (controls setup wizard language and synchronizes preferences.language plus built-in config copy text localization).
Default endpoints:
http://127.0.0.1:10060http://127.0.0.1:10061http://127.0.0.1:10062Stop all services:
chmod +x stop-services.sh
./stop-services.sh
This repository uses npm workspaces from the root package.json.
cd noobot
npm install --workspaces
Useful commands:
# run all test scripts that exist
npm run test
# development servers
npm run dev:service
npm run dev:agent-proxy
npm run dev:client
# build the startup UI and web client
npm run build
The root package.json is the source of truth for the current workspace list and
repository-wide scripts. Package-specific scripts can also be run with
npm run -w <workspace> <script>.
Optional system deps:
libreoffice (Office document conversion)ffmpeg (audio/video processing)docker (programmable workspace compute sandbox)Run npm run test:model-access for a local visual tester that reuses existing model configuration and the model runtime. Toggle and edit request parameters, import model-proxy logs, and inspect actual requests and raw responses. See the usage guide.
The noobot command runs a turn in-process against the same workspace and configuration as the service. Run it with npm run cli -- <args> inside service/, or install the command with npm link in service/. noobot --help prints the authoritative option list.
noobot -p "Summarize README.md" -f README.md # new session, attach a file
echo "continue" | noobot -c # message from stdin, most recent session
noobot -r <sessionId> "next step" # existing session
noobot resume-turn -r <sessionId> --dialog <dialogProcessId> --turn <turnScopeId>
noobot sessions # list sessions
noobot -o json -p "hi" # text | json | stream-json
-r/--resume <sessionId> is the only session selector; -c/--continue picks the most recent session. They are mutually exclusive, and --connector is only allowed for new sessions.resume-turn continues a specific turn and requires -r, --dialog and --turn.application/octet-stream.0 done, 1 failed, `