The best Hacker News stories from Show from the past day
Latest posts:
Show HN: The current sky at your approximate location, as a CSS gradient
For HTML Day 2025 [1], I made a web service that displays the current sky at your approximate location as a CSS gradient. Colours are simulated on-demand using atmospheric absorption and scattering coefficients. Updates every minute, without the use of client-side JavaScript.<p>Source code and additional information is available on GitHub: <a href="https://github.com/dnlzro/horizon" rel="nofollow">https://github.com/dnlzro/horizon</a><p>[1] <a href="https://html.energy/html-day/2025/index.html" rel="nofollow">https://html.energy/html-day/2025/index.html</a>
Show HN: The current sky at your approximate location, as a CSS gradient
For HTML Day 2025 [1], I made a web service that displays the current sky at your approximate location as a CSS gradient. Colours are simulated on-demand using atmospheric absorption and scattering coefficients. Updates every minute, without the use of client-side JavaScript.<p>Source code and additional information is available on GitHub: <a href="https://github.com/dnlzro/horizon" rel="nofollow">https://github.com/dnlzro/horizon</a><p>[1] <a href="https://html.energy/html-day/2025/index.html" rel="nofollow">https://html.energy/html-day/2025/index.html</a>
Show HN: The current sky at your approximate location, as a CSS gradient
For HTML Day 2025 [1], I made a web service that displays the current sky at your approximate location as a CSS gradient. Colours are simulated on-demand using atmospheric absorption and scattering coefficients. Updates every minute, without the use of client-side JavaScript.<p>Source code and additional information is available on GitHub: <a href="https://github.com/dnlzro/horizon" rel="nofollow">https://github.com/dnlzro/horizon</a><p>[1] <a href="https://html.energy/html-day/2025/index.html" rel="nofollow">https://html.energy/html-day/2025/index.html</a>
Show HN: Synchrotron, a real-time DSP engine in pure Python
Yes, Python.<p>I can already hear the screams from the rafters telling me how terrible of a choice Python is - but in my case, I valued modularity, extensibility, <i>hackability</i> over raw performance. (It was also a challenge to myself to see how far I can get without referencing existing implementations)<p>Synchrotron processes nodes: simple Python classes with typed I/O and a render() method for processing. It can be as concise as 5 lines:<p><pre><code> class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
</code></pre>
Nodes can then be spawned and linked programmatically or in the graphical editor. Synchrotron handles the rest at runtime. Besides the web UI, you can also interact with the engine via Python, REST, DSL, or standalone TUI.<p>Currently you can build synths, FX chains, MIDI instruments, arpeggiators, controllers, or just mess about with sound :><p>Editor: <a href="https://synchrotron.thatother.dev/" rel="nofollow">https://synchrotron.thatother.dev/</a>
Source: <a href="https://github.com/ThatOtherAndrew/Synchrotron" rel="nofollow">https://github.com/ThatOtherAndrew/Synchrotron</a><p>It's still experimental (and my first ever shipped project), but I'd love feedback from people who tinker with audio/DSP/live coding. Docs are terrible currently, but that's my next big goal!
Show HN: Synchrotron, a real-time DSP engine in pure Python
Yes, Python.<p>I can already hear the screams from the rafters telling me how terrible of a choice Python is - but in my case, I valued modularity, extensibility, <i>hackability</i> over raw performance. (It was also a challenge to myself to see how far I can get without referencing existing implementations)<p>Synchrotron processes nodes: simple Python classes with typed I/O and a render() method for processing. It can be as concise as 5 lines:<p><pre><code> class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
</code></pre>
Nodes can then be spawned and linked programmatically or in the graphical editor. Synchrotron handles the rest at runtime. Besides the web UI, you can also interact with the engine via Python, REST, DSL, or standalone TUI.<p>Currently you can build synths, FX chains, MIDI instruments, arpeggiators, controllers, or just mess about with sound :><p>Editor: <a href="https://synchrotron.thatother.dev/" rel="nofollow">https://synchrotron.thatother.dev/</a>
Source: <a href="https://github.com/ThatOtherAndrew/Synchrotron" rel="nofollow">https://github.com/ThatOtherAndrew/Synchrotron</a><p>It's still experimental (and my first ever shipped project), but I'd love feedback from people who tinker with audio/DSP/live coding. Docs are terrible currently, but that's my next big goal!
Show HN: Synchrotron, a real-time DSP engine in pure Python
Yes, Python.<p>I can already hear the screams from the rafters telling me how terrible of a choice Python is - but in my case, I valued modularity, extensibility, <i>hackability</i> over raw performance. (It was also a challenge to myself to see how far I can get without referencing existing implementations)<p>Synchrotron processes nodes: simple Python classes with typed I/O and a render() method for processing. It can be as concise as 5 lines:<p><pre><code> class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
</code></pre>
Nodes can then be spawned and linked programmatically or in the graphical editor. Synchrotron handles the rest at runtime. Besides the web UI, you can also interact with the engine via Python, REST, DSL, or standalone TUI.<p>Currently you can build synths, FX chains, MIDI instruments, arpeggiators, controllers, or just mess about with sound :><p>Editor: <a href="https://synchrotron.thatother.dev/" rel="nofollow">https://synchrotron.thatother.dev/</a>
Source: <a href="https://github.com/ThatOtherAndrew/Synchrotron" rel="nofollow">https://github.com/ThatOtherAndrew/Synchrotron</a><p>It's still experimental (and my first ever shipped project), but I'd love feedback from people who tinker with audio/DSP/live coding. Docs are terrible currently, but that's my next big goal!
Show HN: Trayce – Burp Suite for developers
About a year ago I introduced Trayce to HN as the "network tab for docker containers". Now I have released a new version which adds an HTTP client. The idea is to combine network monitoring with an HTTP client to help developers interact with and debug web application servers.<p>Think "Burp Suite for developers".<p>Trayce stores requests as local files using the .bru file format. The UI is based on Flutter which means it offers a super-fast and modern desktop GUI with a total download size of 13MB (on Linux). I am still adding features to it so would love feedback. Currently the new features in the pipeline are: OAuth2, GRPC, and scripting. It is open source and free to use but a perpetual license must be purchased for continued use. The license model is similar to that of Sublime Text.<p>Thank you!
Show HN: Trayce – Burp Suite for developers
About a year ago I introduced Trayce to HN as the "network tab for docker containers". Now I have released a new version which adds an HTTP client. The idea is to combine network monitoring with an HTTP client to help developers interact with and debug web application servers.<p>Think "Burp Suite for developers".<p>Trayce stores requests as local files using the .bru file format. The UI is based on Flutter which means it offers a super-fast and modern desktop GUI with a total download size of 13MB (on Linux). I am still adding features to it so would love feedback. Currently the new features in the pipeline are: OAuth2, GRPC, and scripting. It is open source and free to use but a perpetual license must be purchased for continued use. The license model is similar to that of Sublime Text.<p>Thank you!
Show HN: Trayce – Burp Suite for developers
About a year ago I introduced Trayce to HN as the "network tab for docker containers". Now I have released a new version which adds an HTTP client. The idea is to combine network monitoring with an HTTP client to help developers interact with and debug web application servers.<p>Think "Burp Suite for developers".<p>Trayce stores requests as local files using the .bru file format. The UI is based on Flutter which means it offers a super-fast and modern desktop GUI with a total download size of 13MB (on Linux). I am still adding features to it so would love feedback. Currently the new features in the pipeline are: OAuth2, GRPC, and scripting. It is open source and free to use but a perpetual license must be purchased for continued use. The license model is similar to that of Sublime Text.<p>Thank you!
Show HN: When is the next Caltrain? (minimal webapp)
I was frustrated with the existing caltrain websites / apps, so I made a super minimalist one to answer the actual question I have: how long until the next train?<p>If you're in SF it grabs the next southbound trains, otherwise, the next northbound.
Show HN: Browser AI agent platform designed for reliability
We’re very excited to share something we’ve been building. Notte <a href="https://www.notte.cc/">https://www.notte.cc/</a> is a full-stack browser agent platform built to reliably automate a wide range of workflows.<p>Browser agents aren’t new, but what is still hard is covering real-world flows reliably. The inspiration for Notte was to make a full-featured platform that bridges the agent reliability gap. We’ve packaged everything via a singe API for ease of use:<p>- Site Interactions - Observe website states, scrape data and execute actions<p>- Structured Output - Get data in your exact format with Pydantic models<p>- Stealth browser sessions - built-in CAPTCHA solving, proxies, and anti-detection<p>- Hybrid workflows - Combine scripting and AI agents to reduce costs and improve reliability<p>- Secrets vaults - Credential management to store emails, passwords, MFA tokens, SSO, etc.<p>- Digital personas - Digital identities with unique emails, phones for account creation workflows<p>With these tools, Notte allows you to automate difficult tasks like account creation, form filling, work on authenticated dashboards. Close compatibility with Playwright allows you to cut LLM costs and improve execution speed by mixing web automation primitives and include agents only for specific parts that require reasoning and adaptability.<p>Here’s a short YouTube demo: <a href="https://www.youtube.com/watch?v=b1CzmfpdzaQ" rel="nofollow">https://www.youtube.com/watch?v=b1CzmfpdzaQ</a><p>If any of this sounds interesting, you can run your first agent following our quickstart on GitHub <a href="https://github.com/nottelabs/notte" rel="nofollow">https://github.com/nottelabs/notte</a>. Or play around with our free plan through our Notte Console: <a href="https://console.notte.cc/">https://console.notte.cc/</a><p>We’d love to hear if there’s anything else required before you’d try or trust it on your own workflows :)
Show HN: Browser AI agent platform designed for reliability
We’re very excited to share something we’ve been building. Notte <a href="https://www.notte.cc/">https://www.notte.cc/</a> is a full-stack browser agent platform built to reliably automate a wide range of workflows.<p>Browser agents aren’t new, but what is still hard is covering real-world flows reliably. The inspiration for Notte was to make a full-featured platform that bridges the agent reliability gap. We’ve packaged everything via a singe API for ease of use:<p>- Site Interactions - Observe website states, scrape data and execute actions<p>- Structured Output - Get data in your exact format with Pydantic models<p>- Stealth browser sessions - built-in CAPTCHA solving, proxies, and anti-detection<p>- Hybrid workflows - Combine scripting and AI agents to reduce costs and improve reliability<p>- Secrets vaults - Credential management to store emails, passwords, MFA tokens, SSO, etc.<p>- Digital personas - Digital identities with unique emails, phones for account creation workflows<p>With these tools, Notte allows you to automate difficult tasks like account creation, form filling, work on authenticated dashboards. Close compatibility with Playwright allows you to cut LLM costs and improve execution speed by mixing web automation primitives and include agents only for specific parts that require reasoning and adaptability.<p>Here’s a short YouTube demo: <a href="https://www.youtube.com/watch?v=b1CzmfpdzaQ" rel="nofollow">https://www.youtube.com/watch?v=b1CzmfpdzaQ</a><p>If any of this sounds interesting, you can run your first agent following our quickstart on GitHub <a href="https://github.com/nottelabs/notte" rel="nofollow">https://github.com/nottelabs/notte</a>. Or play around with our free plan through our Notte Console: <a href="https://console.notte.cc/">https://console.notte.cc/</a><p>We’d love to hear if there’s anything else required before you’d try or trust it on your own workflows :)
Show HN: Browser AI agent platform designed for reliability
We’re very excited to share something we’ve been building. Notte <a href="https://www.notte.cc/">https://www.notte.cc/</a> is a full-stack browser agent platform built to reliably automate a wide range of workflows.<p>Browser agents aren’t new, but what is still hard is covering real-world flows reliably. The inspiration for Notte was to make a full-featured platform that bridges the agent reliability gap. We’ve packaged everything via a singe API for ease of use:<p>- Site Interactions - Observe website states, scrape data and execute actions<p>- Structured Output - Get data in your exact format with Pydantic models<p>- Stealth browser sessions - built-in CAPTCHA solving, proxies, and anti-detection<p>- Hybrid workflows - Combine scripting and AI agents to reduce costs and improve reliability<p>- Secrets vaults - Credential management to store emails, passwords, MFA tokens, SSO, etc.<p>- Digital personas - Digital identities with unique emails, phones for account creation workflows<p>With these tools, Notte allows you to automate difficult tasks like account creation, form filling, work on authenticated dashboards. Close compatibility with Playwright allows you to cut LLM costs and improve execution speed by mixing web automation primitives and include agents only for specific parts that require reasoning and adaptability.<p>Here’s a short YouTube demo: <a href="https://www.youtube.com/watch?v=b1CzmfpdzaQ" rel="nofollow">https://www.youtube.com/watch?v=b1CzmfpdzaQ</a><p>If any of this sounds interesting, you can run your first agent following our quickstart on GitHub <a href="https://github.com/nottelabs/notte" rel="nofollow">https://github.com/nottelabs/notte</a>. Or play around with our free plan through our Notte Console: <a href="https://console.notte.cc/">https://console.notte.cc/</a><p>We’d love to hear if there’s anything else required before you’d try or trust it on your own workflows :)
Show HN: Browser AI agent platform designed for reliability
We’re very excited to share something we’ve been building. Notte <a href="https://www.notte.cc/">https://www.notte.cc/</a> is a full-stack browser agent platform built to reliably automate a wide range of workflows.<p>Browser agents aren’t new, but what is still hard is covering real-world flows reliably. The inspiration for Notte was to make a full-featured platform that bridges the agent reliability gap. We’ve packaged everything via a singe API for ease of use:<p>- Site Interactions - Observe website states, scrape data and execute actions<p>- Structured Output - Get data in your exact format with Pydantic models<p>- Stealth browser sessions - built-in CAPTCHA solving, proxies, and anti-detection<p>- Hybrid workflows - Combine scripting and AI agents to reduce costs and improve reliability<p>- Secrets vaults - Credential management to store emails, passwords, MFA tokens, SSO, etc.<p>- Digital personas - Digital identities with unique emails, phones for account creation workflows<p>With these tools, Notte allows you to automate difficult tasks like account creation, form filling, work on authenticated dashboards. Close compatibility with Playwright allows you to cut LLM costs and improve execution speed by mixing web automation primitives and include agents only for specific parts that require reasoning and adaptability.<p>Here’s a short YouTube demo: <a href="https://www.youtube.com/watch?v=b1CzmfpdzaQ" rel="nofollow">https://www.youtube.com/watch?v=b1CzmfpdzaQ</a><p>If any of this sounds interesting, you can run your first agent following our quickstart on GitHub <a href="https://github.com/nottelabs/notte" rel="nofollow">https://github.com/nottelabs/notte</a>. Or play around with our free plan through our Notte Console: <a href="https://console.notte.cc/">https://console.notte.cc/</a><p>We’d love to hear if there’s anything else required before you’d try or trust it on your own workflows :)
Show HN: Browser AI agent platform designed for reliability
We’re very excited to share something we’ve been building. Notte <a href="https://www.notte.cc/">https://www.notte.cc/</a> is a full-stack browser agent platform built to reliably automate a wide range of workflows.<p>Browser agents aren’t new, but what is still hard is covering real-world flows reliably. The inspiration for Notte was to make a full-featured platform that bridges the agent reliability gap. We’ve packaged everything via a singe API for ease of use:<p>- Site Interactions - Observe website states, scrape data and execute actions<p>- Structured Output - Get data in your exact format with Pydantic models<p>- Stealth browser sessions - built-in CAPTCHA solving, proxies, and anti-detection<p>- Hybrid workflows - Combine scripting and AI agents to reduce costs and improve reliability<p>- Secrets vaults - Credential management to store emails, passwords, MFA tokens, SSO, etc.<p>- Digital personas - Digital identities with unique emails, phones for account creation workflows<p>With these tools, Notte allows you to automate difficult tasks like account creation, form filling, work on authenticated dashboards. Close compatibility with Playwright allows you to cut LLM costs and improve execution speed by mixing web automation primitives and include agents only for specific parts that require reasoning and adaptability.<p>Here’s a short YouTube demo: <a href="https://www.youtube.com/watch?v=b1CzmfpdzaQ" rel="nofollow">https://www.youtube.com/watch?v=b1CzmfpdzaQ</a><p>If any of this sounds interesting, you can run your first agent following our quickstart on GitHub <a href="https://github.com/nottelabs/notte" rel="nofollow">https://github.com/nottelabs/notte</a>. Or play around with our free plan through our Notte Console: <a href="https://console.notte.cc/">https://console.notte.cc/</a><p>We’d love to hear if there’s anything else required before you’d try or trust it on your own workflows :)
Show HN: Stasher – Burn-after-read secrets from the CLI, no server, no trust
Stasher is a tiny CLI tool that lets you share encrypted secrets that burn after reading — no accounts, no logins, no servers to trust.<p>I built it because I just wanted to share a password. Not spin up infra. Not register for some "secure" web app. Not trust Slack threads. Just send a secret.<p>Secrets are encrypted client-side with AES-256-GCM. You get a `uuid:key` token to share. Once someone reads it, it's gone. If they don't read it in 10 minutes, it expires and deleted.<p>Everything is verifiable. Every release is signed, SLSA-attested, SBOM-included, and logged in the Rekor transparency log. Every line of code is public.<p>There's also a browser-based companion: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> — works in a sandboxed popup using the same encrypted model. Share from the terminal, pick up in the browser.<p>No data stored unencrypted. No metadata. No logs. No surveillance.<p>---<p>GitHub (CLI): <a href="https://github.com/stasher-dev/stasher-cli" rel="nofollow">https://github.com/stasher-dev/stasher-cli</a>
GitHub (App): <a href="https://github.com/stasher-dev/stasher-app" rel="nofollow">https://github.com/stasher-dev/stasher-app</a>
API (Cloudflare Worker): <a href="https://github.com/stasher-dev/stasher-api" rel="nofollow">https://github.com/stasher-dev/stasher-api</a>
CI/CD (Open): <a href="https://github.com/stasher-dev/stasher-ci" rel="nofollow">https://github.com/stasher-dev/stasher-ci</a>
NPM: <a href="https://www.npmjs.com/package/stasher-cli" rel="nofollow">https://www.npmjs.com/package/stasher-cli</a>
Website: <a href="https://stasher.dev" rel="nofollow">https://stasher.dev</a>
Browser App: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> (runs in sandbox from <a href="https://dev.stasher" rel="nofollow">https://dev.stasher</a>)<p>Built with Cloudflare Workers, KV, and Durable Objects. All code open, auditable, and signed.<p>Try it:<p>```bash
npx enstash "vault code is 1234#"
npx destash "uuid:base64key"<p>thanks for reading
Show HN: Stasher – Burn-after-read secrets from the CLI, no server, no trust
Stasher is a tiny CLI tool that lets you share encrypted secrets that burn after reading — no accounts, no logins, no servers to trust.<p>I built it because I just wanted to share a password. Not spin up infra. Not register for some "secure" web app. Not trust Slack threads. Just send a secret.<p>Secrets are encrypted client-side with AES-256-GCM. You get a `uuid:key` token to share. Once someone reads it, it's gone. If they don't read it in 10 minutes, it expires and deleted.<p>Everything is verifiable. Every release is signed, SLSA-attested, SBOM-included, and logged in the Rekor transparency log. Every line of code is public.<p>There's also a browser-based companion: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> — works in a sandboxed popup using the same encrypted model. Share from the terminal, pick up in the browser.<p>No data stored unencrypted. No metadata. No logs. No surveillance.<p>---<p>GitHub (CLI): <a href="https://github.com/stasher-dev/stasher-cli" rel="nofollow">https://github.com/stasher-dev/stasher-cli</a>
GitHub (App): <a href="https://github.com/stasher-dev/stasher-app" rel="nofollow">https://github.com/stasher-dev/stasher-app</a>
API (Cloudflare Worker): <a href="https://github.com/stasher-dev/stasher-api" rel="nofollow">https://github.com/stasher-dev/stasher-api</a>
CI/CD (Open): <a href="https://github.com/stasher-dev/stasher-ci" rel="nofollow">https://github.com/stasher-dev/stasher-ci</a>
NPM: <a href="https://www.npmjs.com/package/stasher-cli" rel="nofollow">https://www.npmjs.com/package/stasher-cli</a>
Website: <a href="https://stasher.dev" rel="nofollow">https://stasher.dev</a>
Browser App: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> (runs in sandbox from <a href="https://dev.stasher" rel="nofollow">https://dev.stasher</a>)<p>Built with Cloudflare Workers, KV, and Durable Objects. All code open, auditable, and signed.<p>Try it:<p>```bash
npx enstash "vault code is 1234#"
npx destash "uuid:base64key"<p>thanks for reading
Show HN: Stasher – Burn-after-read secrets from the CLI, no server, no trust
Stasher is a tiny CLI tool that lets you share encrypted secrets that burn after reading — no accounts, no logins, no servers to trust.<p>I built it because I just wanted to share a password. Not spin up infra. Not register for some "secure" web app. Not trust Slack threads. Just send a secret.<p>Secrets are encrypted client-side with AES-256-GCM. You get a `uuid:key` token to share. Once someone reads it, it's gone. If they don't read it in 10 minutes, it expires and deleted.<p>Everything is verifiable. Every release is signed, SLSA-attested, SBOM-included, and logged in the Rekor transparency log. Every line of code is public.<p>There's also a browser-based companion: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> — works in a sandboxed popup using the same encrypted model. Share from the terminal, pick up in the browser.<p>No data stored unencrypted. No metadata. No logs. No surveillance.<p>---<p>GitHub (CLI): <a href="https://github.com/stasher-dev/stasher-cli" rel="nofollow">https://github.com/stasher-dev/stasher-cli</a>
GitHub (App): <a href="https://github.com/stasher-dev/stasher-app" rel="nofollow">https://github.com/stasher-dev/stasher-app</a>
API (Cloudflare Worker): <a href="https://github.com/stasher-dev/stasher-api" rel="nofollow">https://github.com/stasher-dev/stasher-api</a>
CI/CD (Open): <a href="https://github.com/stasher-dev/stasher-ci" rel="nofollow">https://github.com/stasher-dev/stasher-ci</a>
NPM: <a href="https://www.npmjs.com/package/stasher-cli" rel="nofollow">https://www.npmjs.com/package/stasher-cli</a>
Website: <a href="https://stasher.dev" rel="nofollow">https://stasher.dev</a>
Browser App: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> (runs in sandbox from <a href="https://dev.stasher" rel="nofollow">https://dev.stasher</a>)<p>Built with Cloudflare Workers, KV, and Durable Objects. All code open, auditable, and signed.<p>Try it:<p>```bash
npx enstash "vault code is 1234#"
npx destash "uuid:base64key"<p>thanks for reading
Show HN: Stasher – Burn-after-read secrets from the CLI, no server, no trust
Stasher is a tiny CLI tool that lets you share encrypted secrets that burn after reading — no accounts, no logins, no servers to trust.<p>I built it because I just wanted to share a password. Not spin up infra. Not register for some "secure" web app. Not trust Slack threads. Just send a secret.<p>Secrets are encrypted client-side with AES-256-GCM. You get a `uuid:key` token to share. Once someone reads it, it's gone. If they don't read it in 10 minutes, it expires and deleted.<p>Everything is verifiable. Every release is signed, SLSA-attested, SBOM-included, and logged in the Rekor transparency log. Every line of code is public.<p>There's also a browser-based companion: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> — works in a sandboxed popup using the same encrypted model. Share from the terminal, pick up in the browser.<p>No data stored unencrypted. No metadata. No logs. No surveillance.<p>---<p>GitHub (CLI): <a href="https://github.com/stasher-dev/stasher-cli" rel="nofollow">https://github.com/stasher-dev/stasher-cli</a>
GitHub (App): <a href="https://github.com/stasher-dev/stasher-app" rel="nofollow">https://github.com/stasher-dev/stasher-app</a>
API (Cloudflare Worker): <a href="https://github.com/stasher-dev/stasher-api" rel="nofollow">https://github.com/stasher-dev/stasher-api</a>
CI/CD (Open): <a href="https://github.com/stasher-dev/stasher-ci" rel="nofollow">https://github.com/stasher-dev/stasher-ci</a>
NPM: <a href="https://www.npmjs.com/package/stasher-cli" rel="nofollow">https://www.npmjs.com/package/stasher-cli</a>
Website: <a href="https://stasher.dev" rel="nofollow">https://stasher.dev</a>
Browser App: <a href="https://app.stasher.dev" rel="nofollow">https://app.stasher.dev</a> (runs in sandbox from <a href="https://dev.stasher" rel="nofollow">https://dev.stasher</a>)<p>Built with Cloudflare Workers, KV, and Durable Objects. All code open, auditable, and signed.<p>Try it:<p>```bash
npx enstash "vault code is 1234#"
npx destash "uuid:base64key"<p>thanks for reading
Show HN: Octofriend, a cute coding agent that can swap between GPT-5 and Claude
Hey HN! We're shipping Octofriend today, a cute coding assistant that can swap between GPT-5, Claude, local or open-source LLMs, etc mid-conversation as needed. It handles reasoning tokens (including encrypted ones from OpenAI and Anthropic) really well, and includes a couple of custom-trained ML models to fix minor diff edit and JSON encoding errors that we've also open-sourced. Have fun!