每日 Show HN

Upvote0

2025年11月27日 的 Show HN

14 条
134

Runprompt – run .prompt files from the command line #

github.com favicongithub.com
49 评论2:26 PM在 HN 查看
I built a single-file Python script that lets you run LLM prompts from the command line with templating, structured outputs, and the ability to chain prompts together.

When I discovered Google's Dotprompt format (frontmatter + Handlebars templates), I realized it was perfect for something I'd been wanting: treating prompts as first-class programs you can pipe together Unix-style. Google uses Dotprompt in Firebase Genkit and I wanted something simpler - just run a .prompt file directly on the command line.

Here's what it looks like:

--- model: anthropic/claude-sonnet-4-20250514 output: format: json schema: sentiment: string, positive/negative/neutral confidence: number, 0-1 score --- Analyze the sentiment of: {{STDIN}}

Running it:

cat reviews.txt | ./runprompt sentiment.prompt | jq '.sentiment'

The things I think are interesting:

* Structured output schemas: Define JSON schemas in the frontmatter using a simple `field: type, description` syntax. The LLM reliably returns valid JSON you can pipe to other tools.

* Prompt chaining: Pipe JSON output from one prompt as template variables into the next. This makes it easy to build multi-step agentic workflows as simple shell pipelines.

* Zero dependencies: It's a single Python file that uses only stdlib. Just curl it down and run it.

* Provider agnostic: Works with Anthropic, OpenAI, Google AI, and OpenRouter (which gives you access to dozens of models through one API key).

You can use it to automate things like extracting structured data from unstructured text, generating reports from logs, and building small agentic workflows without spinning up a whole framework.

Would love your feedback, and PRs are most welcome!

78

MkSlides – Markdown to slides with a similar workflow to MkDocs #

github.com favicongithub.com
15 评论1:00 PM在 HN 查看
As a teacher, we keep our slides as markdown files in git repos and want to build these automatically so they can be viewed online (or offline if needed). To achieve this, I have created MkSlides. This tool converts all markdown in a folder to slides generated with Reveal.js. The workflow is very similar to MkDocs.

Install: `pip install mkslides`

Building slides: `mkslides build`

Live preview during editing: `mkslides serve`

Comparison with other tools like marp, slidev, ...:

- This tool is a single command and easy to integrate in CI/CD pipelines.

- It only needs Python.

- The workflow is also very similar to MkDocs, which makes it easy to combine the two in a single GitHub/GitLab repo.

- Generates an index landing page for multiple slideshows in a folder which is really convenient if you have e.g. a slideshow per chapter.

- It is lightweight.

- Everything is IaC.

62

Era – Open-source local sandbox for AI agents #

github.com favicongithub.com
19 评论5:28 AM在 HN 查看
Just watched this video by ThePrimeagen (https://www.youtube.com/watch?v=efwDZw7l2Nk) about attackers jailbreaking Claude to run cyber attacks. The core issue: AI agents need isolation.

We built ERA to fix this – local microVM-based sandboxing for AI-generated code with hardware-level security. Think containers, but safer. Such attacks wouldn't touch your host if running in ERA.

GitHub: https://github.com/BinSquare/ERA

Quick start: https://github.com/BinSquare/ERA/tree/main/era-agent/tutoria...

Would love your thoughts and feedback!

36

Spikelog – A simple metrics service for scripts, cron jobs, and MVPs #

spikelog.com faviconspikelog.com
17 评论11:10 AM在 HN 查看
Hi all!

I built Spikelog because I kept wanting to track simple numbers over time but every time I looked at proper observability tools, I'd bounce off the setup complexity. I wanted to make something that didn't require a lot of thinking to use.

Spikelog is made to be as simple as possible:

- POST a JSON with chart name + value (you can add some tags as well but I've not tested this part works yet)

- Chart appears automatically

- 1,000 point rolling window per chart (old data expires, no retention config)

- Max 10 charts

That's basically the whole product.

I built it in about a day using Cursor. The API is intentionally minimal so AI assistants can use it too.

I have a prompt that lets your coding agent analyze a codebase and add tracking automatically (after you approve the plan).

I used it to make Spikelog track itself: https://spikelog.com/p/spikelog

There's no alerting yet (that's next), no complex aggregations, no dashboards beyond the auto-generated charts. If you need real observability use something fully featured like Axiom or Datadog. This is for people who just want to see if a number went up or down and don't want to build that themselves. i.e. they want something slightly better than just logging the number.

You can also share the charts publicly and I might add some password protection if there is demand for that.

I haven't battle-tested it under heavy load. The rolling window deletion is naive (deletes oldest points on insert). There are probably edge cases I haven't hit yet.

Would love feedback, especially if you try it and hit something broken.

21

ZigFormer – An LLM implemented in pure Zig #

4 评论4:19 PM在 HN 查看
Hi everyone,

I've made an early version of ZigFormer, a small LLM implemented in Zig with no dependencies on external ML frameworks like PyTorch or JAX. ZigFormer is modelled after a textbook LLM (like GPT-2 from OpenAI) and can be used as a Zig library as well as a standalone application to train a model and chat with it.

This was mainly an educational project. I'm sharing it here in case others find it interesting or useful.

Link to the project: https://github.com/CogitatorTech/zigformer

9

MakeSkill – The Intelligent Skill Builder for Claude #

makeskill.cc faviconmakeskill.cc
3 评论3:59 AM在 HN 查看
Creating high-quality skills for Claude manually is complex, requiring specific technical knowledge of the file system structure (like SKILL.md), YAML metadata configuration, and precise prompt engineering to ensure the agent behaves correctly.

MakeSkill eliminates this friction by automating the technical implementation.

Instead of writing code and configuration files from scratch, users interact with MakeSkill's AI to refine their ideas. The platform then generates the complete, optimized skill package—following all best practices—ready to be downloaded and imported directly into Claude for immediate use.

Try it: http://makeskill.cc/

5

Fixing LLM memory degradation in long coding sessions #

github.com favicongithub.com
5 评论8:29 AM在 HN 查看
Long-session LLM memory degradation (entropy) is the silent killer of complex coding projects. Models like Gemini, GPT-4, and Claude all suffer from it, leading to hallucinations and lost context.

I've developed an open-source protocol that temporarily "fixes" this issue by structuring the dialogue. It's not the final architectural solution, but it’s a proven patch for developers working right now.

Looking for feedback from the community on how we can solve this structurally. https://github.com/robertomisuraca-blip/LLM-Entropy-Fix-Prot...

4

Derusted – An open-source programmable HTTPS MitM proxy engine in Rust #

github.com favicongithub.com
0 评论1:26 PM在 HN 查看
I've released Derusted — a programmable HTTPS MITM proxy engine written in Rust.

This grew out of frustration with existing MITM and proxy tooling being: - unsafe or outdated - coupled to one runtime or protocol - hard to embed into other projects - not flexible for security/compliance use cases

Derusted is a library-first design, meant to be used inside other systems like: - browser automation tooling - secure proxies and gateway stacks - traffic inspection - network research - observability and incident response tooling

Highlights: - Written fully in safe Rust - Supports HTTP/1.1 & HTTP/2 MITM - Pluggable inspection pipeline - Certificate generation + pinned cert detection - Redaction support for sensitive data - No `unsafe` - ~150 tests

Links: Repo: https://github.com/kumarimlab/derusted Crate: https://crates.io/crates/derusted Docs: https://docs.rs/derusted/latest/derusted/

Still early, but I'd love feedback — especially around QUIC/H3, benchmarking, use cases, and potential improvements.

Happy to answer questions.

3

I built a free astro and tailwind static site for GitHub pages #

tariqdude.github.io favicontariqdude.github.io
2 评论10:17 PM在 HN 查看
Using my GitHub pro+ with vs code setup

This is a demonstration of how good of a site can I build essentially 100% for free + free hosting (if coded manually without a 50$ subscription)

And I went completely overboard on purpose its 99% useless for a real production deployment im sure but for mini blogs probably might be useful idk

I dont even use the new GitHub spark or whatever to slow compared to 1k+ line edits every couple minutes

im obviously working on a ton of other things I won't make public yet but will in the future

3

Env files aren't meant for storing secrets #

github.com favicongithub.com
0 评论10:34 AM在 HN 查看
I think .env files are fine for non-sensitive config but they’re a terrible place to store real secrets once you have a couple of engineers, machines, or a single engineer with multiple concurrent projects.

But I've worked for big and small tech and have seen this happen: 1. .env files are plaintext credential dumps 2. teams share .env files via slack and eventually drifts 3. accidental .env commit

I built envmap, a small cli tool that manages and injects your environment key values locally + with support for aws + vault + 1pass backends as source of truth. I use this and deleted my .env, .env.example, .env.production(I'm the worst).

Would appreciate any feedback + contributions!

2

PyTorch-World – Modular Library to Build and Train World Models #

github.com favicongithub.com
0 评论10:38 AM在 HN 查看
Hello everyone! I’ve built PyTorch-World, a modular library for learning, training, and experimenting with world models.

While studying world models, I noticed that each new paper introduces a mix of new components and architectures—but the core structure stays surprisingly consistent. Yet there wasn’t an easy way to swap these components in and out, experiment with them independently, or understand how they interact to form a complete world model.

PyTorch-World aims to solve that: it provides a clean, modular framework where you can plug in different components, compare approaches, and learn how world models work from the inside out.

New updates rolling out soon, this is v0.0.3!

You can also install the library from pip https://pypi.org/project/pytorch-world/

Currently this library supports PlaNet world model by Google, Here's the code to train the model in a CartPole-v1 environment:

from world_models.models.planet import Planet

p = Planet(env="CartPole-v1", bit_depth=5, headless=True, max_episode_steps=100, action_repeats=1, results_dir="my_experiment")

p.train(epochs=1)

2

Lissa Saver macOS Screen Saver #

github.com favicongithub.com
0 评论11:45 PM在 HN 查看
Lissa Saver is a macOS Screensaver Hot off the Demo Scene with Gravity Simullation with Clifford Pickover Fractal and Lissajous animations. BREW INSTALL brew tap johnrpenner/tap; brew install --cask lissasaver