MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Sign in with NanoGPT, turn your prompts into reusable apps, and share a link or export one HTML file. Runs use your own NanoGPT balance. No analytics; your key stays in your browser.
MediaHTML · JavaScriptGitHub @nanoodlecomOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Visual AI workflow editor in your browser — wire text, image, video, and audio models into node graphs and shareable apps. No backend, no analytics, bring your own key.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Reusable AI apps for NanoGPT users. Sign in with your NanoGPT account,
connect text, image, video, audio and LLM steps into a workflow, and run
it on your own NanoGPT balance. Turn a workflow you want to use again into
an app, share its link, or export it as one self-contained .html file.
Try it now: nanoodle.com — sign in with
NanoGPT using OAuth. No separate nanoodle account or
install; live model calls use your NanoGPT balance. Pasting an API key is
also supported.Read the full README ↗Reusable AI apps for NanoGPT users. Sign in with your NanoGPT account,
connect text, image, video, audio and LLM steps into a workflow, and run
it on your own NanoGPT balance. Turn a workflow you want to use again into
an app, share its link, or export it as one self-contained .html file.
Try it now: nanoodle.com — sign in with NanoGPT using OAuth. No separate nanoodle account or install; live model calls use your NanoGPT balance. Pasting an API key is also supported.
Open an example, change its input, and run it. Choose Create app to keep the inputs and outputs together for next time, then share or export it.
.html file.nanoodle is a folder of static HTML pages — three core pages plus a changelog, guides and landing pages. The editor and its apps run in the browser; model generation happens at NanoGPT:
vendor/ and
served from the same origin — no CDNs, no external gateways.#g= / #a=) encode the graph in the URL fragment, which browsers
omit from requests to the hosting server. Anyone you give the full link
to can read its graph and any included inputs or samples._headers) pins which origins each
page may talk to, so "no tracking" is enforced by the browser, not just
promised in a README.These promises describe the browser editor and its apps. The separate
hosted service at mcp.nanoodle.com receives the inputs for tools called
there; see its own documentation before using it. The privacy page at
/legal describes the browser path in plain terms.
Share a workflow you use with NanoGPT, or report a workflow problem. Tell us the task, what happened, and whether you have used it again. Cost is useful if you know it. These are voluntary public GitHub submissions; remove API keys, OAuth tokens, and private inputs or media before posting. Nothing is submitted from the editor automatically.
Hosted: https://nanoodle.com serves exactly the files in this repo as a
static site (Cloudflare Pages / Workers assets — see wrangler.jsonc,
_headers, _redirects, sw.js). There is no server-side code; hosting
adds nothing but HTTPS and the CSP headers.
Self-hosted: serve the folder with any static file server:
python3 -m http.server 8000
# http://localhost:8000/ → the editor
# http://localhost:8000/play.html → the app builder
Notes for self-hosting:
http(s) origin; pasting an API key also works
from plain file://._headers and _redirects are Cloudflare conventions. On another host,
reproduce the CSP headers yourself or skip them (the app works without,
you just lose the browser-enforced guarantee)..html apps are standalone and need no hosting at all.The default config routes 10% of usage as referral credits to the maintainer. If you self-host, swap the key. Concretely, two things carry a referral code:
invitation_code in the OAuth authorize URL (index.html, play.html,
search for invitation_code)nano-gpt.com/r/...This costs you nothing — NanoGPT pays it out of their side, and per their
program, signing up through a referral link gives you a 5% discount. It
does credit the maintainer for accounts and usage originating here.
Replace the code with your own (or delete the parameter and use bare
nano-gpt.com links) if you'd rather not.
index.html — the editor (site root, /app). A NanoGPT workflow
canvas: Text, Join, LLM, Image, Edit, Vision, Decide, video, music,
speech, clean voice and more. Drag port to port (compatible inputs glow and snap by type), run
disconnected groups in parallel, share a graph via URL, save/load JSON.
UI in six languages (EN/ES/FR/DE/PT/JA), auto-detected with a switcher.play.html — the app builder (/play, or ✨ Create app in the
editor). Turns any workflow into a standalone app: auto-generated inputs
→ Run → outputs. Restyle it with
patchling, share via #a=
link, or export a self-contained .html.legal.html — terms, privacy, FAQ (/legal).changelog.html — release notes (/changelog), generated from
updates.json by scripts/gen-changelog.mjs, plus an Atom feed
(feed.xml). Field notes (Nano Maxi's Subnano articles) come from
articles.json; the guides row is the sitemap's /guide/examples/* pages.guide/ — static docs (/guide/): the noodle-graph.json format,
running workflows headlessly, self-hosting, share links, the Custom
endpoint localhost contract, and a how-to for every reviewed gallery
workflow (/guide/examples/). Zero scripts; same-origin images and media only.nanoodle-vs-comfyui.html,
nanoodle-vs-n8n.html, comfyui-alternative.html,
comfyui-alternative-no-gpu.html) and localized home pages (es/,
fr/, de/, pt/, ja/).A saved graph (noodle-graph.json) — or any share link — doesn't need the
browser: two zero-dependency sibling libraries re-execute it headlessly —
nanoodle-js
(npm install nanoodle 0.8.0, Node 22.23.4+, 24.22.1+, or 26.12.1+) and
nanoodle-py
(pip install nanoodle 0.5.0, stdlib-only). Same graphs, same results;
useful for scripts, servers, and agent skills. Walkthrough:
Run workflows headlessly.
import { Workflow } from "nanoodle";
const wf = await Workflow.load("https://nanoodle.com/#g=…"); // or noodle-graph.json
const result = await wf.run({ Text: "NIGHT RIDE" });
await result.get("Image").save("night-ride.png");
npx nanoodle inspect "https://nanoodle.com/#g=..." # offline, no key
npx nanoodle run "https://nanoodle.com/#g=..." --out ./out
Everything lives under the nanoodlecom GitHub org:
| Repo | What it is |
|---|---|
| nanoodle | NanoGPT workflow editor, app builder, and site (this repo) |
| nanoodle-js | Zero-dependency JS executor — use when running saved graphs from Node or the CLI |
| nanoodle-py | Zero-dependency Python executor — use when your scripts speak Python |
| nanoodle-mcp | MCP server exposing saved graphs as tools — use when an AI agent should run your workflows |
| run-noodle-action | GitHub Action — use when a graph should run in CI |
| nanoodle-skill | One agent skill that teaches an agent to build any graph — use when the agent should author workflows itself |
| noodle-skills | Prebuilt one-task agent skills — use when you want a ready-made skill, no graph editing |
| awesome-noodles | Gallery of ready-to-open graphs — use when you want examples to start from |
| built-with-nanoodle | Showcase of finished apps, every one still ours — use when you want to see what nanoodle makes, or to put yours on the list |
| noodle-embed | <noodle-embed> web component — use when a page should render a workflow read-only |
Naming note: the package is nanoodle on both registries while the repos are
nanoodle-js / nanoodle-py — so it's npm install nanoodle and pip install nanoodle.
No build step. Edit the HTML files, refresh the browser.
scripts/check-*.mjs are offline pre-commit checks (wired via
.githooks/, git config core.hooksPath .githooks) covering the export
bundler, the OAuth flow, run-engine compatibility, pricing, i18n coverage
and more. They spend no API credits — everything runs against recorded
fixtures.
scripts/check-js-parity.mjs dual-runs the same graphs through play.html’s
RUNTIME_JS and the sibling nanoodle-js
package and asserts identical NanoGPT request bodies — the safety net for
eventually replacing the inlined processor with the package. Skips if
nanoodle-js isn’t checked out next to this repo (or set NANOODLE_JS).
play.html also embeds a generated bundle of that package (the njs-engine
script block, scripts/gen-js-engine.mjs, freshness-checked pre-commit)
and routes network nodes through it by default — ?engine=play (or
localStorage.njs_engine = "0") opts back into the built-in runners;
scripts/check-njs-delegation.mjs asserts the delegated path produces
byte-identical requests. Exported apps carry the bundle too, so the same
flag works there. The editor honors the same flag: index.html lazy-loads
the same bundle as vendor/njs-engine.js (emitted by the same generator),
and known library gaps are vetoed back to the built-in runners per run;
scripts/check-njs-editor-delegation.mjs pins that path to the built-in
runners byte-for-byte.
updates.json is the in-app changelog behind the 📣 button. It's opt-in
per commit: add an Update: one polished line to a commit message and the
post-commit hook folds it in. Commits without one stay silent. Edit the
JSON by hand anytime; scripts/check-updates.mjs keeps it valid.
MIT.
| mp4cat |
| Lossless mp4 concat, browser or Node — use when you just need to join clips, no ffmpeg |