在过去的三年里,我担任一家初创公司的首席技术官,负责从零开始构建一个庞大的Postgres应用程序(一个仓库管理系统)。我们有100多个相互关联的表,持续交付一个又一个功能的复杂性几乎让我们崩溃(无论是公司还是我们的理智!)
离开后,我创建了Typegres,以更简单的方法解决这些痛点,这是我在其他地方找不到的:
1. 定义你的模式:将你的模式定义为TypeScript类。
2. 表达你的数据模型:在这些类上添加方法(将封装101应用于你的数据库);这包括计算列和关系。
3. 暴露你的API:明确标记要暴露的成员。
4. 使用它(这部分很疯狂):现在客户端(例如,网页浏览器)可以直接使用你的数据模型,以SQL级别的能力查询数据(编译成单个查询)<i>通过RPC</i>(安全地!)
有关视觉解释和更多细节,请访问:<a href="https://typegres.com" rel="nofollow">https://typegres.com</a>
v0.3中的新功能:
- SQLite支持:完全重构代码库,以支持多种方言并保持高保真度。
- 实时查询:订阅复杂查询,当基础数据发生变化时获取最新结果。
GitHub: <a href="https://github.com/ryanrasti/typegres" rel="nofollow">https://github.com/ryanrasti/typegres</a>
游乐场: <a href="https://typegres.com/play/" rel="nofollow">https://typegres.com/play/</a>
返回首页
最新
你好,社区!<p>我在这里分享一个我独立从零开始构建的编码代理,使用了代理工程技术。它是用Go语言编写的,功能齐全,具备你在日常工作中所期待的有用代理特性,界面简洁明了。<p>我将它命名为Keen Code。代码库链接在这里:<a href="https://github.com/mochow13/keen-code" rel="nofollow">https://github.com/mochow13/keen-code</a><p>尽管它最初是一个实验,但现在已经成为一个成熟的编码代理,可以用于实际的软件工程工作。它支持多个提供者、技能、MCP(多通道处理)、通过子代理进行多代理编排、自动压缩等功能。<p>我自己已经在实际的生产级工作中使用它,同时也用于自身的开发。<p>值得注意的是,我在这个编码代理上实现了两个独立的想法:<p>1. 回合记忆<p>在多轮对话中,工具输出会被移除,仅保留工具调用的痕迹。在单个代理循环中,代理可以看到完整的工具结果,但在下一轮中,它将不再看到工具结果。<p>这种方法的最大好处是,许多在后续轮次中不需要的工具结果不会占用上下文。因此,Keen Code在多轮对话中的上下文窗口填充速度比其他代理慢得多。这就是为什么你会经常看到上下文窗口在新代理轮次开始时从20%下降到1%。<p>当然,这种方法有其优缺点。如果代理需要先前调用的工具结果,它将无法获得。但我的想法是,像读取、bash、web_fetch这样的工具调用是便宜的。你需要参考之前读取的某个文件吗?再读一次。实际上,Claude Code或Codex经常重新读取文件,即使它之前已经读取过同一个文件。<p>我计划在这一领域投入更多的精力。我还有一些额外的想法需要探索,并可能进一步优化这种方法。<p>如果你想了解更多,可以阅读这里:<a href="https://mochow13.github.io/keen-code/docs/turn-memory.html" rel="nofollow">https://mochow13.github.io/keen-code/docs/turn-memory.html</a><p>2. 技能驱动的MCP<p>我实现的另一个想法是技能驱动的MCP。目标与Anthropic在工具搜索工具中所做的类似:优化上下文。<p>在这个想法中,每个MCP服务器接收一个技能。但这个技能并不是典型的“MCP服务器使用指导”技能,而是由Keen生成的。详细信息在这里:<a href="https://mochow13.github.io/keen-code/docs/mcp-skills.html" rel="nofollow">https://mochow13.github.io/keen-code/docs/mcp-skills.html</a><p>其主要优点是,默认情况下没有服务器完全预加载工具模式。代理仅接收服务器的技能前言。如果需要某个服务器,代理会加载完整的技能文件,其中列出了工具及其描述。然后,代理会读取特定工具的模式文件,以便调用该工具。<p>缺点是每次MCP调用都需要文件读取操作。但一切都在发现时本地保存,所以这完全没问题。<p>---<p>除了上述两个想法外,我还在探索和尝试其他知名的上下文优化想法,如哈希行编辑。<p>如果你对以上想法感兴趣,请务必查看!这里是CLI使用指南:<a href="https://mochow13.github.io/keen-code/docs/cli-usage.html" rel="nofollow">https://mochow13.github.io/keen-code/docs/cli-usage.html</a><p>由于该项目是开源的,欢迎提出问题和贡献!
评论了昨天的 Ask HN:你在做什么?(2026年8月),我想我也可以提交一个 Show HN。
如果你看到攀岩世界杯/锦标赛,有一个3D建模的东西[1]。我想把这个应用到我的每周抱石训练中。
我使用iPhone将本地攀岩馆扫描成3D网格。构建了一个简单的编辑器,可以裁剪、合并、移动/旋转网格。你可以与网格互动,查看路线、查看攀爬等。因此,这与许多高斯点云项目不同,后者主要用于查看。我建立了一个更新攀岩墙的流程。攀岩路线是手动标注的。攀岩视频与3D网格进行注册。根据一段输入视频,身体位置被解析到3D/4D空间中。你可以从不同的角度查看身体标志点。
使用了COLMAP、OpenMVS、fastapi、svelte,数据库只是本地的json文件。导出了一个只读版本,这样我可以在GitHub页面上托管。
如果你攀岩,或者认识攀岩的人,欢迎分享你的反馈。你通常会记录自己的攀爬吗?如果我将这个做成一个服务,什么会让你使用它?
[1] [https://www.youtube.com/shorts/8zdUOaCr6DY](https://www.youtube.com/shorts/8zdUOaCr6DY)
在实施一个大型高性能服务的过程中,为了保持上下文简洁(主要是为了人类理解),我将规格整理成了mermaid图表。在与人类沟通时,这些图表易于理解和记忆。但当我要求代理实现图表中的内容时,大多数情况下它们都失败了。
因此,我得出结论:代理在编写mermaid图表方面表现良好,但在读取图表时却不够出色。
我开发了graph2agent,旨在以确定性的方式(不依赖推理 :))将mermaid图表转换为代理易于理解的丰富文本。例如: [示例链接](https://github.com/graph2agent/examples/blob/main/examples/markdown/five-families.md?plain=1)
这使得我们在任何类型的图表中减少了50%的错误率,而在序列图中则减少了80%的错误率。同时,输入的token数量平均增加了8%(这是预期的),但推理token的数量几乎下降了50%。
您可以将其与MCP结合使用,这样代理可以调用任何mermaid图表,也可以将其放入预提交作业中,在每个PR上运行,以确保所有图表都能被代理处理!
希望您喜欢这个工具!欢迎分享您的想法!
终于发生了……这是互联网的悲伤一天 :(
<p>编辑:对我来说,在英国使用Starlink时。