返回首页
最新
嗨,HN,
我创建了SpecOps,这是一个开源的命令行界面框架,灵感来源于GitHub的Spec Kit方法,将规范驱动开发引入基础设施即代码(Infrastructure as Code)。
问题是:大多数IaC项目都是从临时脚本开始的——直接跳入Terraform/Ansible,而没有明确的规范。
SpecOps强制执行一个结构化的工作流程:
想法 → 规范 → 计划 → 任务 → 实施
它与AI编码助手(如Claude Code、GitHub Copilot、Cursor、Gemini CLI、Windsurf等12个以上的工具)协同工作,指导您完成每个阶段。您定义想要的内容,规划如何构建,将其拆分为任务,然后实施——在每一步都有AI的协助。
工作原理:
```
specops init my-infrastructure --ai claude
cd my-infrastructure
# 1. /specops.constitution – 建立基础设施原则
# 2. /specops.specify – 定义需求
# 3. /specops.plan – 创建技术计划
# 4. /specops.tasks – 生成任务细分
# 5. /specops.implement – 使用AI执行
```
关键点:
- 技术无关(支持Terraform、Pulumi、CloudFormation、Ansible等)
- 开箱即用支持17个以上的AI编码助手
- 生成项目结构、模板和特定于代理的命令文件
- 每个部署阶段后都有验证检查点
- 每个阶段都有回滚程序的文档
- MIT许可证
- 受到GitHub的Spec Kit方法的启发,适用于基础设施工程。
GitHub: [https://github.com/dotlabshq/spec-ops](https://github.com/dotlabshq/spec-ops)
安装:`uv tool install specops-cli --from git+https://github.com/dotlabshq/spec-ops.git`
我很想听听您的反馈——特别是来自管理复杂基础设施的团队。您的IaC工作流程是什么样的?以规范为先的方法是否适合您的流程?
嗨,HN,我是新来的,想分享一个我正在开发的小库。它是一个缓存库,允许你声明依赖关系,而不是使用传统的 TTL 失效机制。
基本用法:
```python
from zoocache import cacheable, invalidate, add_deps
@cacheable
def get_product_page(pid: int, sid: int):
product = db.get_product(pid)
add_deps([f"product:{pid}"])
stock = db.get_stock(sid, pid)
add_deps([f"store:{sid}:stock"])
return render(product, stock)
get_product_page(42, 1) # 计算并缓存
get_product_page(42, 1) # 缓存命中
invalidate("product:42") # 产品信息已更改
invalidate("store:1") # 清除所有 store:1:*(库存、价格等)
```
标签是层次结构的,失效一个父标签如 "store:1" 会清除其下的所有内容。无需扫描或模式匹配。
内部实现是一个前缀树,使用 HLC 进行分布式一致性,采用 SingleFlight 避免“雷鸣效应”,并使用 MsgPack+LZ4 进行序列化。核心部分是通过 PyO3 实现的 Rust。支持内存、LMDB 和 Redis 后端。
这是一个相对小众的工具,如果简单的 TTL 或 lru_cache 能满足你的需求,你就不需要这个库。它更适用于当你有复杂的数据关系并需要精确、即时的失效时。
源代码: [https://github.com/albertobadia/zoocache](https://github.com/albertobadia/zoocache)
希望你觉得它有用。欢迎反馈、提交 PR 或讨论设计权衡。
Adobe最近宣布将停止支持Adobe Animate,但在社区的强烈反对声中又收回了这一决定。<p>无论Adobe接下来做出什么决定,信息非常明确:依赖专有工具的动画师随时可能因为一项企业决策而失去他们的工作流程。<p>2D动画需要一个不只是玩具的开源选项。我们一直在与一位专业动画师合作,以指导功能优先级,确保我们构建的工具真正适合实际的制作工作流程,而不仅仅是一个技术演示。<p>Github仓库:<a href="https://github.com/17twenty/inamate" rel="nofollow">https://github.com/17twenty/inamate</a><p>我们正处于一个阶段,社区反馈将塑造我们的方向。如果你是一名动画师、动效设计师,或者只是对当前2D动画工具感到失望的人——我们非常希望听到你的声音:<p>- 什么功能会让你从当前工具切换过来?<p>- 你在动画工作流程中遇到的最大痛点是什么?<p>- 实时协作对动画真的有用,还是只是一种噱头?<p>试试看,给我们反馈,告诉我们你的想法。<p>该工具使用Go、TypeScript和React、WebAssembly、PostgreSQL、WebSocket、ffmpeg(用于视频导出)构建。
嗨,HN — 我正在推出 Blogator,这是一个基于人工智能的内容平台,专注于从简单的提示生成结构化、可发布的博客文章。
我们的目标不仅仅是“人工智能写作”,而是提供可用的输出——具有清晰的结构、标题和格式,以便用户花更少的时间重写草稿。
当前的重点包括:
- 提示 → 完整的结构化文章
- SEO 风格的章节布局
- 语调控制
- 包含格式化
- 快速的重复内容创作工作流程
我主要为需要持续书面内容但时间有限的创始人和小团队构建了这个平台。
非常希望能得到 HN 社区的技术和产品反馈,特别是在输出质量和工作流程方面。
链接:blogator.app
我的团队创建并发布了这个扩展,以在很大程度上模拟Oracle的UTL_SMTP兼容性。