Galactic Vending Machine
娱乐
免费 · App 内购买 · 专为 iPad 设计。未针对 macOS 验证。
Galactic Vending Machine is a sci-fi content generation tool that runs on your device and connects you to a live mesh network of other nodes.
Select a theme — cyberpunk, space opera, dystopian, or cosmic — then generate writing prompts, story briefs, affirmations, sci-fi ideas, alien code, image prompts, and more. Each output is shaped by your theme and neural flux level.
GALACTIC PRO
Free agents receive 3 transmissions per day. Galactic Pro unlocks unlimited transmissions across every theme for $1.99/month (auto-renewable, cancel anytime in your App Store settings).
GALACTIC MESH NETWORK
Connect to a real-time presence network. See other active nodes, send transmissions, and exchange messages across the mesh channel. Your callsign is permanent — it syncs across all your devices.
NEURAL FLUX
Your device's motion sensors influence the content generation. Tilt and movement feed into the flux level, making each output unique.
AGENT IDENTITY
Sign in with Apple or an email magic link to claim your permanent callsign and start generating. Verified identity, synced everywhere — your data stays yours.
PRIVACY FIRST
No tracking. No ads. No data harvesting. AI processing runs through secure edge functions, and sessions are ephemeral by default.
Terms of Use: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/
Privacy Policy: https://www.galacticvendingmachine.com/privacy
更多 One fix, for sharing to the mesh.
Tapping [broadcast to mesh] under a transmission now visibly does something. The result appears right under the button and says how many other devices on the mesh received it, or that none did because no one else was on the mesh at that moment. Before, the confirmation appeared far down the page and vanished after three seconds.
Your other devices now receive what you share. A device used to ignore any broadcast carrying its own name, so your iPad never saw what your phone sent.
Simple view now shows what people share, under “Shared from the generator”. It used to show nothing.
What you share also appears on your own screen, and anything shared by others can be reported or blocked like any other message.
1.0.37 10月18日
A small one, built from what people noticed in 1.0.35.
Names in the terminal can now be tapped. Type /who and tap any callsign in the list to message that person privately, the same way tapping a name in the feed already worked. Before, the list could only be read.
/who says which device is which. Your other devices are named ("your iPad", "your iPhone"), and the one you are holding reads "you, this device".
A private message to your own callsign now says "Only your other devices can read this", so it is clear where it went.
When the mesh count on the Dynamic Island is out of date, the number turns grey instead of showing a question mark.
1.0.36 9月29日
A big one. Some of it you will see; more of it is things that used to be quietly wrong.
YOUR DEVICES WORK TOGETHER
Achievements now follow you between devices. Each device used to keep its own record while failing, silently, to save it to your account, so a second device awarded everything again.
Private messages sent while you were away now reach you. They are kept, encrypted so only your device can read them, for 48 hours. Before, a message arrived only if you happened to be online the moment it was sent.
Your own devices are named on the mesh: "Your iPad", "Your Mac", "Your iPhone", instead of "Your other device".
Your streak carries across devices properly, counts a day when you open the app from the background, and no longer resets on the night the clocks change.
THE MESH
Bluetooth counted every neighbour twice, said "sent" when nobody was in range, and could stay unreachable after the relay was switched off and on. All three are fixed.
A second device for a name you already know is now marked as new, rather than trusted automatically, so private messages are harder to intercept.
Location channels no longer rejoin your last sector every time the app opens.
Two mesh achievements that could never be earned now can.
HONEST READINGS
SYSTEM STATUS in the app showed an internet speed it had not measured. It now shows only what it can know.
The network telemetry and IP geolocation switches both do what they say, and turning IP geolocation off removes your IP and location from the screen straight away.
The app no longer shares a motion reading with the mesh. Nothing used it.
The 9am transmission arrives once, at 9am. Opened early, it used to repeat every half hour.
The privacy policy has been rewritten to describe exactly what is stored and who handles it.
ACCOUNTS
Restoring a purchase while signed out now ends up Pro, signing out affects only the device you are on, and purchases waiting for approval are handled properly.
1.0.35 (98)
1.0.35 9月28日
A small release. One thing you can see, and a lot you cannot.
THE MESH NO LONGER TELLS YOU IT IS BROKEN WHEN IT IS NOT
Location channels could show an amber warning saying "others cannot see this node" while other people were, in fact, seeing you perfectly well. The check behind it ran every thirty seconds, and any single slow response set the warning off — but staying visible on the mesh does not depend on that check at all, so nothing was actually wrong.
The warning now appears only when joining genuinely fails, which is the one case where it is true. If you see it, it means it.
UNDERNEATH
Most of this release is work you will never notice, which is the point. A missing entry in the app's database definitions had quietly switched off a whole layer of safety checking across every query the app makes; restoring it immediately surfaced a real fault that had been invisible for months. Two more places that were discarding errors from iOS now report them instead. None of it changes what the app does — it changes how quickly the next fault gets found.
1.0.34 (94)
1.0.34 9月15日
A small release with one purpose: making the plain-language mesh easy to find.
THE VIEW SWITCH NOW SHOWS BOTH CHOICES
1.0.32 added a plain-language version of the galactic mesh, reachable from a small grey link above the panel. The link was too quiet to do its job — nothing about it said a second view existed, so most people would never have known to tap it.
Above the mesh panel you will now see:
view: [terminal] [simple]
Whichever one you are looking at is green. Tap the other to swap, and the app remembers your choice. Nothing about either view has changed — same network, same messages, same terminal you already know.
1.0.33 (93)
1.0.33 9月7日
Two things, one of them three months late.
YOUR SETTINGS NOW FOLLOW YOU BETWEEN DEVICES
Callsign, region, theme and streak were always meant to sync through iCloud. They never did — not once, in any release since June. The code that talked to iCloud failed before it could report anything, so the app looked fine and quietly kept every device separate. That is fixed, and the AGENT panel now has an "icloud sync" row that tells you when it last worked, not just when it failed.
THE MESH, IN PLAIN LANGUAGE
If you have used the galactic mesh before, nothing changes: the terminal opens exactly as it always has, with a small [simple view] link above it. Tap it and the same mesh appears in ordinary words — who is here, a message box, a Send button, and a name to tap when you want to reach one person. New installs start there and can switch to the terminal any time. Both views are the same network; a message sent in one shows up in the other.
ALSO
The Lock Screen and Home Screen plugin no longer complains eleven times at every launch, and a node that arrives without a theme no longer renders a stray dot.
1.0.32 (92)
1.0.32 9月5日
One fix, and it is the one that has been wrong the longest.
ACTIVE NODES NOW SHOWS WHO IS ACTUALLY THERE
For several releases the mesh could carry your messages but could not show you who else was on it. Broadcasts crossed in milliseconds while ACTIVE NODES sat at [0] — a working network that looked dead.
The fault was in the networking library the app uses to track presence. It accepted every node, reported success, and then never passed a single presence update back. Nothing was wrong with your device, your connection, or the mesh itself. That is also why earlier attempts at this missed: every one of them changed our own code, and our own code was not the problem.
Other nodes now appear as they join and drop away as they leave, on both the galactic mesh and location sectors.
1.0.31 (91)
1.0.31 9月3日
Two fixes, both about the app telling you the truth.
MESSAGES WRITTEN OFFLINE NO LONGER VANISH
Write a message with no signal and it showed as queued, waiting to send on
reconnect. Closing the app threw that queue away — but the message stayed in the
feed still promising to send. One had been sitting there for four days with
nothing left anywhere that could send it.
The queue is now saved alongside the message, so it survives a restart and sends
when you reconnect. If it can't, it says "not sent" instead of "queued", so you
know to send it again rather than assuming it went.
ONE MESH ACTIVITY ON THE LOCK SCREEN, NOT THREE
GALACTIC MESH could appear two or three times at once, each showing a different
node count. A Live Activity keeps running after the app closes, so every launch
started another without noticing the one already there. The app now takes over
the existing one instead of adding to it, and clears any left over.
Also in this build: if iCloud fails to carry your callsign, region, theme or
streak across to your other devices, the app can now say so. It used to fail in
silence, which looked exactly like working.
1.0.30 8月29日
THE LOCK SCREEN DISPLAY ACTUALLY STAYS
Connect to the mesh and lock your phone: the Galactic Mesh activity now stays on your Lock Screen and Dynamic Island, with a live count of the nodes you can reach.
It used to appear and then vanish moments later. It was being switched off whenever the internet connection dropped — and iOS drops that connection the instant you lock the phone, which is exactly when a Lock Screen display is the point of having one.
The count is honest now too. It was only ever counting nodes reached over the internet, so it read zero even with several devices connected over Bluetooth right beside you. It counts whichever way you are actually reaching people.
YOUR CALLSIGN, WHERE YOUR NAME BELONGS
Your own messages showed as "you", which made your callsign the one name in the feed you could not read — despite it being the name others need in order to message you. It now shows your callsign, and tapping it addresses your own other devices, so you can send from your phone to your tablet.
In a location channel it shows your sector name instead. That is deliberate: you carry a different callsign in every sector so the places you visit cannot be linked to each other, or to your identity on the main mesh. Now you can see it rather than just be told about it.
CHOOSING A SECTOR PRECISION IS NOT SWITCHING IT ON
The precision buttons in location channels were drawn in the same green that means "live" everywhere else in the app, so the default looked like it was already running when nothing had been requested and nothing shared. Choosing a precision is now clearly a choice, and getting a sector is clearly a separate, deliberate step.
GENERATED OUTPUT STAYS ON YOUR DEVICE
Everything you generated while signed in was being written to our database — and nothing in the app ever read it back. It has been removed. Your output is kept on your device, and the privacy section now carries a control that says how many items are stored and clears them.
We would rather not hold data we have no use for.
STILL BEING WORKED ON
ACTIVE NODES may still read [0]. This is a fault in the service that reports who is present, not on your device, and it is with them. Messages, direct messages and the Bluetooth mesh are unaffected and work normally.
———
1.0.29 (84)
1.0.29 8月24日
WHAT THE LAST RELEASE GOT WRONG
1.0.27's notes said an empty ACTIVE NODES list was a fault on the server rather than on your device. That was wrong, and it was our bug.
Your node was being published correctly the whole time — other people could see you. It was your own copy of the list that was broken, in two ways: it was only ever rebuilt when the network volunteered an update, so a device that missed one stayed empty forever; and when it did rebuild, it counted every stale copy of a node, so the same person could appear four or five times over. If you saw duplicates, that was the same fault from the other side.
Both are fixed, and the list now repairs itself rather than waiting to be told.
SAYING WHAT IS ON, AND WHAT IS MERELY OPEN
The mesh and location channels rows said "activate" while the ⊞ chip in the header counted the same features as already on. Those rows only open a panel — they switch nothing on — so they now say open and close.
The mesh also described itself as broadcasting your node before you had accepted the community guidelines. Nothing was ever published early; the label was simply wrong, and now it says nothing is published until you agree.
HOW TO MESSAGE ONE PERSON
You could always tap someone's name in the feed, or type /msg followed by their callsign. Neither was written down anywhere except inside /help, which you have to already know to type. It is on screen now. And when nobody is around, the panel says why a direct message needs someone to have appeared at least once — they are encrypted to that node's key, so there has to be a key.
THE MESH AND YOUR SECTOR ARE NOT THE SAME PLACE
Different channels, different people, nothing crosses between them. You also carry a different callsign in each sector, deliberately: it is what stops the places you visit being linked to each other, or to your mesh identity. Both panels now say so instead of leaving you to notice the name changed.
SETTINGS THAT WERE STUCK OFF
If you have had the app a while, features switched on by default in 1.0.27 may still have been off for you — a saved preference always won, even one you never chose. That is now corrected on first launch. If you deliberately turned something off after joining the mesh, it stays off.
———
1.0.28 (79)
1.0.28 8月18日
THE MESH IS ON BY DEFAULT
The galactic mesh is what this app is for, and it was sitting behind a
switch most people never found. It now starts on. Nothing about your node
is published until you accept the community guidelines — the app waits for
that before it joins the public channel.
Location sector channels default on too. That arms the feature and asks for
nothing: no location leaves your device until you tap [get my sector].
⊞ NEW IN THE HEADER
Every network switch in one place — mesh, Bluetooth relay, location
channels, telemetry, IP lookup — each with a line on what it does and what
it costs. The number is how many are on.
HOME SCREEN WIDGET
Add GALACTIC MESH to your Home Screen: your callsign, nodes in range,
Bluetooth peers, your sector, unread messages. iOS decides when a widget
redraws, not us, so every reading carries its own age — and once a snapshot
is genuinely old the widget stops presenting the numbers as current rather
than quietly ageing into fiction.
LOCK SCREEN AND DYNAMIC ISLAND
Now actually appears while you are connected to the mesh. It shipped in
earlier versions and never once showed up — the code joining it to the app
was missing from the build. And when iOS refuses it, usually because Live
Activities are switched off for this app in Settings, the app now says so
instead of looking broken.
DIRECT MESSAGES REACH EVERY DEVICE
A sealed message is encrypted separately for each device the recipient
owns, so a DM to someone reading on their iPad still reaches their iPhone.
SECTOR CHANNELS HAVE CAUGHT UP WITH THE MESH
Tap a name in the feed to message that person directly. Block now works on
sector messages, not just mesh messages — a sector is public in exactly the
same way, and someone abusive there could previously be reported but never
silenced.
ONE THING WE KNOW ABOUT
ACTIVE NODES can read [0] while other people really are connected. It is
the part of the network that reports who is present, and the fault is on
the server side, not on your device — messages and direct messages are
unaffected and cross normally. We would rather tell you than let you wonder.
1.0.27 8月14日
• DIRECT MESSAGES NOW ACTUALLY SEND — in the last version a direct
message would usually refuse with "no key held for that node". The
encryption itself was working; the app was only learning how to
encrypt to someone from the active node list, and that list is often
empty. It now learns from any message they send, so hearing from
someone once is enough to reply to them privately.
• MESSAGING SOMEONE WHO REINSTALLED — reinstalling gives a node a new
identity. That used to leave the two of you unable to message each
other permanently, with nothing explaining why. Their new identity is
now accepted as soon as one of their signed messages verifies.
• THE VERSION NUMBER IS CORRECT — the system readout had been reporting
1.0.9 since 1.0.9. It now reports the version you actually installed.
1.0.26 8月7日
• DIRECT MESSAGES ARE NOW END-TO-END ENCRYPTED — a direct message is
sealed to the person you send it to. The message itself can only be
read by them: not by us, not by other nodes on the channel, not by
the devices that relay it over Bluetooth.
• DIRECT MESSAGES NO LONGER GO MISSING — a message sent to someone who
is offline is now waiting for them when they next open the app,
instead of reaching only the people who happened to be connected at
that moment.
• BLOCK ANYONE, ON ANY TRANSPORT — you can now block a sender who
reaches you over Bluetooth, not only one who reaches you over the
internet.
• SEE HOW FAR A MESSAGE TRAVELLED — Bluetooth messages now show whether
the sender was in direct range, or how many other devices relayed it
to reach you.
• A QUIET MESH NO LONGER LOOKS BROKEN — instead of only "0 nodes", it
now tells you when a node was last in range, and how many you have met.
• YOUR OWN MESSAGES NO LONGER DISAPPEAR — writing with no connection
used to leave the message nowhere you could see it. It now appears
straight away marked queued, and sends itself the moment you reconnect.
• BLUETOOTH RADIO READOUT, AND AN OFF SWITCH — how long the radio has
been running, the most nodes seen at once, and how many times you have
met another node — with a control to turn the relay off for battery.
• NOTIFICATION STATUS — the AGENT panel shows whether direct-message
alerts are on, and what to do if they are not. Alerts name who wrote
to you but never show the message, because the app cannot read it
either. Broadcasts to all nodes never notify; only direct messages do.
• HONEST NETWORK TOOLS — the terminal no longer reports speeds or
round-trip times it cannot actually measure on this device. Where a
reading isn't possible, it says so instead of showing a number.
1.0.25 8月4日
• INVITE A NODE — share a link and the mesh opens straight in the app. The card shows what the mesh is, so anyone can join from a message.
• ALWAYS RELAYING — the Bluetooth mesh now runs in the background. Your device keeps carrying messages for nearby nodes instead of only while the mesh panel is open.
• MESH STATUS IN THE HEADER — one indicator shows whether you're connected and how many devices are in Bluetooth range. Tap it to jump straight to the mesh.
• YOUR OTHER DEVICES NOW APPEAR — signing in on a second device used to hide it from you. Both now show as separate nodes.
• SENSORS — motion tracking now works on iPhone, and a new "compass" command in the network terminal reads a real magnetic bearing from the device.
• FIXES — panels hold their position when you join the mesh or open a sector, and invite links open the app instead of Safari.
1.0.24 8月1日
• OFFLINE MESH — the galactic mesh now works with no internet at
all. Nearby devices connect over Bluetooth and relay messages
node to node, so transmissions reach people even with no signal.
• Direct messages sent over the offline mesh are end-to-end
encrypted — the devices relaying them cannot read them.
• Improved reliability on the latest iOS.
1.0.23 7月28日
• Fixed a crash when running node scans in the intrusion terminal.
• New REGION channel — a far wider search area, so you can find
other nodes even when your local sector is quiet.
• Terminal commands in mesh and sector chat: /who, /msg, /me and
more. Type /help to list them.
• Messages written while offline are now held and sent automatically
when the connection returns, instead of being lost.
• Location sectors now use a separate identity per sector, so your
sectors can't be linked to each other or to your mesh callsign.
1.0.22 7月26日
• Tapping a daily transmission notification now reliably opens and
decodes it into a full transmission — even when the app was fully
closed, not just running in the background.
1.0.21 7月24日
• New ethical-hacker toolkit in the intrusion terminal: encoders,
ciphers, hashes, a security-concept lab, simulated recon, and
decode-the-flag CTF puzzles. Try "help".
• Fixed the mesh network and location channels getting stuck on
"connecting…".
• Stability fix for long terminal output.
1.0.20 7月23日
• A return key now sits alongside the prompt in the AI Neural Interface
and Network Intrusion Terminal — send a transmission without reaching
for the keyboard.
• The remaining-generations counter now updates the instant a
transmission is charged, so the limit no longer arrives unannounced.
• Improved reliability when restoring a previous purchase.
• Groundwork for direct-message alerts from the mesh network.
1.0.19 7月21日
• The AI and intrusion terminals now open to the same consistent position as the other panels.
• Minor polish.
1.0.18 7月17日
• Refreshed the app icon for a cleaner look on your home screen.
• Redesigned the header — the full app name now shows, with tidier, evenly aligned controls.
• The mesh and terminal panels now open to a consistent position, clear of the status bar.
• Minor polish and fixes throughout.
1.0.17 7月15日
• Refreshed the app icon for a cleaner look on your home screen.
• Tidied the header so more of the title shows, with evenly aligned controls.
• The mesh and terminal panels now open to a consistent position.
• Minor polish and fixes throughout.
1.0.16 7月14日
• Tapping a transmission notification now delivers your transmission instantly.
• Header polish and a fix so the screen no longer drifts sideways.
• Small refinements throughout.
1.0.15 7月12日
• Location Channels and the Galactic Mesh now stay connected reliably when you're signed in on more than one device.
• Your callsign now syncs across your devices the instant you sign in — no relaunch needed.
• Tapping a transmission notification takes you straight to the right generator.
• Fewer, smarter notifications — no more duplicate alerts while you're already in the app.
• New account menu (⊙) in the top bar for quick sign-out.
1.0.14 7月9日
Subscribe and Restore now sign you in first, so Pro works reliably across all your devices.
Message as the same identity across your devices — your transmissions now sync.
Tapping a transmission now opens the right generator.
Stability and reliability improvements.
1.0.13 7月7日
One fix, for sharing to the mesh.
Tapping [broadcast to mesh] under a transmission now visibly does something. The result appears right under the button and says how many other devices on the mesh received it, or that none did because no one else was on the mesh at that moment. Before, the confirmation appeared far down the page and vanished after three seconds.
Your other devices now receive what you share. A device used to ignore any broadcast carrying its own name, so your iPad never saw what your phone sent.
Simple view now shows what people share, under “Shared from the generator”. It used to show nothing.
What you share also appears on your own screen, and anything shared by others can be reported or blocked like any other message.
更多 版本 1.0.37 10月18日
未收集数据 开发者不会从此 App 中收集任何数据。