嗨,HN — 我是作者。iesna.eu 是一个基于浏览器的生态系统,用于处理光度数据:解析标准的灯具文件(LDT/EULUMDAT、IES LM-63、Oxytech、ATLA-S001),根据 EN 13201 / ANSI/IES RP-8 / CJJ 45 / IES-IDA MLO 进行设计计算,以及(我最想展示的部分)在 Bevy 中渲染真实的城市场景,利用光度数据驱动实际的路灯行为,包括天空辉光的贡献。
天空辉光分析演示将一个真实的 LDT 文件加载到 Bevy 场景中(Khronos Bistro 测试资产)。灯具的光强分布直接驱动路灯的渲染——没有任何虚假处理——而天空辉光等级会随着你调整向上照明的百分比实时更新。切换到全切断灯具时,天空的等级会从 F(严重)变回 A(优秀)。你可以在建筑物和天空中看到这种差异。
技术栈:Rust 核心(eulumdat-rs 及相关库,大约 20 个库处理光度格式),Bevy 用于 3D 渲染,WASM 用于浏览器部署。没有后端;一切都在客户端运行。在现有光度库的基础上增加了大约一千行新代码,以实现 Bevy 的集成。
我希望获得反馈的几个方面:
- 目前的大气散射模型是单次散射的 Rayleigh+Mie。这对于我的使用案例是否合理,还是应该朝多次散射的方向发展?
- Bistro 测试场景在视觉上效果很好,但并不是一个受控环境。
- 有没有人知道一个更典型的公共城市几何资产,适合真实的路灯评估?
- CJJ 45 实现(中国国家道路照明标准)是我唯一一个需要从翻译的 PDF 中逆向工程的标准。如果有人有相关的第一手经验,我会很感激能进行一次理智的检查。
在 GitHub 上开源(eulumdat-rs 和相关库)。
Crates.io: eulumdat
返回首页
最新
嘿,HN!
我开发了 SimplePDF Copilot:一个可以与 PDF 编辑器互动的 AI 助手。它可以填写字段、回答问题、聚焦特定字段、添加字段、删除页面等等。
这个工具是基于我七年前开始的 SimplePDF 构建的,开创了尊重隐私的客户端 PDF 编辑,目前每月有超过 20 万人使用。
关于隐私模型:PDF 文件本身从未离开浏览器。解析、渲染和字段检测都在客户端进行。
模型所需的文本(以及你的消息)会发送到你指定的任何大型语言模型(LLM)。默认情况下,这是我们的演示代理(DeepSeek V4 Flash,受限于速率),但你可以自带密钥(BYOK),指向任何云服务提供商,或者完全本地化(我一直在使用 LM Studio 进行测试)。
与现有的“与 PDF 聊天”工具仅能提取文本/OCR 层不同,Copilot 可以对 PDF 进行操作:填写字段、添加字段(使用 Joe Barrow 的 CommonForms 在客户端检测,jbarrow 在 HN 上发布了一些我添加的后处理启发式方法)、聚焦字段、删除页面等等。
我之所以构建这个工具,是因为 SimplePDF 主要被医疗行业客户使用,在那里文档隐私至关重要,我希望提供一种不需要将个人身份信息(PII)发送给第三方的 AI 体验。
技术栈相当标准:
- Tanstack Start
- 来自 Vercel 的 AI SDK
- Tailwind(我个人更喜欢 CSS 模块,我是老派,但考虑到我开源的目标,我认为 Tailwind 更合适)
更有趣的部分是客户端工具调用:事件通过 iframe 的 postMessage 进行双向传递。
如果你不熟悉“工具调用”和“客户端工具调用”,这里有个简要介绍:
工具调用是 LLM 用于执行操作的方式。当 Claude 运行 grep 或 ls,或访问 MCP 服务器时,这些都是工具调用。
客户端工具调用意味着调用工具的意图来自 LLM,但执行发生在浏览器中。
这对速度很重要,你无法比客户端之间的操作更快,同时也让你能够限制暴露给 LLM 的数据。在演示中,我确实将文档内容提供给 LLM,但这个连接可以通过简单地移除暴露内容数据的工具来断开。
演示是完全开源的,已在 GitHub 上提供,演示链接与此帖的链接相同。
不公开的部分是 SimplePDF 本身(作为 iframe 加载)。
我可以继续谈论这个话题,如果你有任何问题,请告诉我,任何问题都可以!
[1] [https://github.com/jbarrow/commonforms](https://github.com/jbarrow/commonforms)
[2] [https://github.com/SimplePDF/simplepdf-embed/tree/main/copilot](https://github.com/SimplePDF/simplepdf-embed/tree/main/copilot)
[3] [https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&form=w9&lang=en](https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228...)
音乐的基本构成要素——音符、音阶、和声——并不是原始元素。它们是涌现出的结构。音高只是节奏的加速表现。<p>由 NoteookLM 生成的播客:<a href="https://www.youtube.com/watch?v=q9bFUocrm70" rel="nofollow">https://www.youtube.com/watch?v=q9bFUocrm70</a>
你好,HN。在过去的7个月里,我花费了近3000小时构建SNEWPAPERS,这是第一个具有全文提取、几乎完美的光学字符识别(OCR)、广泛分类法以及语义和智能搜索功能的历史报纸档案。
问题:
我想搜索报纸档案,但每个服务都只允许你搜索关键词和日期,并返回原始的报纸图像,而且很多图像没有上下文,信息量庞大而杂乱。
解决方案:
我教机器如何阅读报纸,到目前为止,我已经从“美国编年史”收藏中提取了超过60万页(约5TB)的内容。我需要处理的问题包括各种布局、字体大小、图像扫描质量、分辨率、纵横比,以及如何在页面上的图像中导航。我还必须弄清楚如何使OCR几乎完美,以便人们不会讨厌阅读提取的内容。我构建了一个多模型管道(布局技术、OCR技术、LLM、VLLM),使用启发式方法从布局到分割再到分类。我将所有内容放入OpenSearch/Postgres中,使其具有语义搜索功能,并在其上方添加了一个智能搜索工具,能够很好地使用API,帮助你编写查询以找到所需的信息。关于AWS架构和扩展,我也很乐意讨论,这确实很有挑战性!
如果你有五分钟时间,想要快速体验一下个性化的功能,我建议你:
在搜索任何内容之前,先访问Sleuth页面
询问它关于1736年至1963年间的任何问题,可能再问1到2个后续问题
然后转到搜索页面,这样你可以看到它为你编写的查询(左下角的“保存的查询”),并获取更多你感兴趣的信息
如果你觉得这很酷,想要了解更多,那么在导航栏的“指南”中有大约10分钟的视频指南,介绍各种功能。
其他一些人也尝试过这个项目,值得一提的是:
[https://dell-research-harvard.github.io/resources/americanstories](https://dell-research-harvard.github.io/resources/americanstories)(非常好的尝试)
[https://labs.loc.gov/work/experiments/newspaper-navigator/](https://labs.loc.gov/work/experiments/newspaper-navigator/)(专注于图像)
为了减少人工智能会话中的冷启动问题,我开发了一个工具,它作为MCP服务器运行,并在第0轮之前加载上下文。
发生了两件事:
1. **个人先验** - 您的工作流程和标准在每个会话中加载一次,并在所有支持的AI客户端之间保持持久性。
2. **专家先验** - 当提示是特定于堆栈时,基于语义相似性注入相关先验。这是为了减少AI的错误和不当行为。
**隐私保证**:设计上以本地优先。原始提示永远不会被存储。注入始终在客户端进行。
```bash
pipx install turnzero
turnzero setup # 注册MCP服务器与Claude Code、Cursor、Claude Desktop、Gemini CLI
turnzero verify # 确认一切连接正确
```
演示: [https://asciinema.org/a/8IV2yoLNTloSlZo0](https://asciinema.org/a/8IV2yoLNTloSlZo0)
代码库: [https://github.com/turnzero-ai/turnzero](https://github.com/turnzero-ai/turnzero)