返回首页
最新
嗨,HN,我开发了 Jetbase——一个基于 Python 的数据库迁移工具。
Jetbase 具有以下特点:
- 严格的验证机制,可以检测在应用后被更改或删除的迁移文件(防止漂移,快速失败)
- 数据库锁定,确保多个迁移进程不能同时运行
- 完整的回滚支持
- 文件名中直接强制使用递增的版本号,使迁移历史一目了然
- 使用原生 SQL,而不是 ORM
主要的 Python 工具是 Alembic,但它主要与 ORM 一起使用,并不包括像验证检查这样的功能。因此,我开发了 Jetbase 来添加我所需要的功能。
我还遇到了一些其他问题:
- 比 Alembic 有更多验证检查的工具通常是基于 Java,而不是 Python
- 一些工具将回滚支持限制在付费层级
- 希望有一种简单的方法来查看迁移历史
我从 ORM 转向了原生 SQL,这使得 Alembic 的 ORM 集成变得不再必要。我转变的原因包括:
- 在数据库 UI 工具(如 DBeaver、Snowflake)中直接探索查询,不想将其重新编写为 ORM 语法
- ORM 对于 Python 数据管道(S3 → Snowflake → Postgres)来说并不合理
- 原生 SQL 在基本 CRUD 之外的操作更高效
- 与一个姐妹团队共享数据库,不想在 API 中创建额外的 ORM 模型来查询他们的内容
代码库(附带快速入门指南):[https://github.com/jetbase-hq/jetbase](https://github.com/jetbase-hq/jetbase)
目前支持 Postgres 和 SQLite(计划添加更多数据库)。
期待听到任何反馈!
嗨,HN,
我创建了 fp-pack,这是一个小型的 TypeScript 函数式工具库,专注于管道优先的组合。
其目标是保持管道的简单性和可读性,同时支持提前退出和副作用——而不引入像 Option 或 Either 这样的单子。
大部分代码使用普通的 pipe/pipeAsync。对于少数需要提前终止的情况,fp-pack 提供了一个基于副作用的管道,可以安全地短路。
我还撰写了一份“AI 代理技能”文档,以帮助大型语言模型生成一致的 fp-pack 风格代码。
欢迎任何反馈、批评或问题。
在你说这是另一个RAG克隆之前,请先听我说几句。
<p>问题:
作为创作者:你需要录制屏幕、编辑、注释,然后再进行展示。如果有任何变化,你就得重新做一遍这个过程。
作为最终用户:你需要观看一段5分钟的视频,而你只需要知道其中5秒钟的内容来完成特定任务。
<p>解决方案:
对于创作者:录制并上传你的原始屏幕捕捉,无需进一步的努力。
对于最终用户:你提问后,会得到与你的具体问题相关的文档,并附有注释的截图。
<p>这与Scribe或RAG有什么不同?
* 与Scribe相比:Scribe是用于主动捕捉(在工作时点击)。DocuFine则是用于被动提取——它在事后将你现有的原始视频或演示转换为指南。
* 与RAG相比:大多数视频RAG仅搜索转录文本。DocuFine通过大型语言模型(LLM)“看”用户界面,然后使用光学字符识别(OCR)将注释“贴”到实际按钮上,因此即使视频没有声音,指南也能在空间上准确。
<p>网站尚未上线——我目前正在收集对这个概念和演示的反馈,待优化LLM成本和提取逻辑后再开放。
<p>演示链接:
- 初始录制:<a href="https://streamable.com/c5gom5" rel="nofollow">https://streamable.com/c5gom5</a>
- 提问内容:如何找到客户下的订单?
- 生成的输出指南:<a href="https://streamable.com/9c4ncj" rel="nofollow">https://streamable.com/9c4ncj</a>
<p>端到端演示:<a href="https://streamable.com/hqb6te" rel="nofollow">https://streamable.com/hqb6te</a>
<p>非常感谢你的诚实反馈!
我开发了ccc,可以通过Telegram在手机上控制Claude Code会话。它允许您远程启动会话,在Claude完成任务时接收通知,并在手机和PC之间无缝切换。
<p>功能:
- 100% 自托管,运行在您的机器上
- 支持多会话,使用Telegram主题
- 语音消息(通过Whisper转录)
- 图片附件供Claude分析
- tmux集成以保持会话持久性
<p>使用Go语言构建。期待您的反馈!