2作者: theYipster6 天前原帖
我一直想在我的桌面虚拟机中利用 QEMU/KVM,但由于 virt-manager 对 NVIDIA 3D 加速的支持不足、对丑陋 XML 的教条式坚持,以及在将 ISO 附加到虚拟机镜像时需要点击看似 15 个按钮的令人困惑的用户界面设计,我一直感到困惑。当我进一步了解到 NVIDIA 的 3D 加速问题是 libvirt 而非 QEMU 的 virtio 驱动造成的时,我有了一个想法…… 瞧,vm-curator!这是一个用 Rust 编写的快速友好的虚拟机管理 TUI。你可以直接使用 QEMU 创建、配置、组织和管理虚拟机。没有 libvirt,没有 XML,没有奇怪的用户界面。只提供恰到好处的友好性、可定制性和速度,真正实用。 最棒的是什么?3D 半虚拟化可以与 NVIDIA 显卡(通过 virtio-vga-gl!)一起工作!无需费尽周折就能实现 GPU 直通! (免责声明:这在其他 Linux 客户虚拟机上运行良好,但不适合在 Windows 上游戏。如果你想在虚拟机中玩 Windows 游戏,直通是必须的。vm-curator 很快会提供快速友好的支持。) 我们正在寻找贡献者(特别是帮助处理 ASCII 艺术的人),欢迎捐赠。(Claude 提供了很大的帮助,但这并不是一个随意编码的项目。我们大约共同编写了 10,000 行代码。这实际上是学习 Rust 的一个很好的方式!)
2作者: Hacakthon6 天前原帖
我是一名在SPPU学习计算机工程的学生。在使用React 19进行项目开发时,我意识到我们用于SEO的标准库(如React Helmet)仍然在采用“旧”的方式。 问题:旧版库使用一种称为“副作用”的技巧,在页面加载后更改页面标题和元标签。这可能导致标题闪烁,或者让网站感觉稍微慢一些,因为浏览器需要额外处理。 解决方案:React 19增加了一个内置功能,可以自动将标签移动到页面顶部(<head>)。我创建了react-meta-seo,以便让每个人都能轻松使用这个新功能。 为什么对开发者来说更简单: 无需“提供者”:您不需要将整个应用程序包裹在一个特殊组件中。它可以在您放置的任何地方正常工作。 体积小:它的体积不到4KB。相比之下,传统选项通常为15KB或更多。 不再有损坏的Google数据:它会自动检查您的Google搜索数据(JSON-LD),确保格式正确。 内置预览:我添加了一个工具,让您在编码时就能看到您的网站在Twitter或Facebook上的样子。 简单的网站地图工具:它包括一个命令行工具,可以为您生成sitemap.xml。 我想构建一个利用React 19新特性,使SEO设置更快、更简单的工具。我非常希望能得到一些关于代码的反馈! GitHub: [https://github.com/ATHARVA262005/react-meta](https://github.com/ATHARVA262005/react-meta)
1作者: shijizhi_19196 天前原帖
嗨,HN, 我已经对大型语言模型(LLM)代理进行了实验一段时间,常常觉得对于简单的工作流程(聊天、工具调用、小循环),现有的框架增加了很多抽象和样板代码。 因此,我构建了一个名为 PicoFlow 的小型 Python 库。目标很简单: 使用普通的异步 Python 表达代理工作流程,而不是框架特定的图形或链条。 **最小聊天代理** 每个步骤只是一个异步函数,工作流程通过 `>>` 组合: ```python from picoflow import flow, llm, create_agent LLM_URL = "llm+openai://api.openai.com/v1/chat/completions?model=gpt-4.1-mini&api_key_env=OPENAI_API_KEY" @flow async def input_step(ctx): return ctx.with_input(input("你:")) agent = create_agent( input_step >> llm("回答用户:{input}", llm_adapter=LLM_URL) ) agent.run() ``` 没有链条,没有图形,没有单独的提示/模板对象。你可以通过在异步步骤中直接放置断点来调试。 **控制流就是 Python** 循环和分支使用普通的 Python 逻辑编写,而不是 DSL 节点: ```python def repeat(step): async def run(ctx): while not ctx.done: ctx = await step.acall(ctx) return ctx return Flow(run) ``` 该框架仅调度步骤;它不会试图控制你的控制流。 **切换模型提供者 = 更改 URL** 另一个设计选择:模型后端通过单个 LLM URL 配置。 OpenAI: ```python LLM_URL = "llm+openai://api.openai.com/v1/chat/completions?model=gpt-4.1-mini&api_key_env=OPENAI_API_KEY" ``` 切换到另一个兼容 OpenAI 的提供者(例如 SiliconFlow 或本地网关): ```python LLM_URL = "llm+openai://api.siliconflow.cn/v1/chat/completions?model=Qwen/Qwen2.5-7B-Instruct&api_key_env=SILICONFLOW_API_KEY" ``` 工作流程代码完全不变。只有运行时配置发生变化。这使得在实践中进行 A/B 测试模型和切换提供者变得更加便宜。 **何时有用(何时无用)** 如果你: - 想快速原型化代理 - 更喜欢显式控制流 - 不想学习大型框架抽象 那么 PicoFlow 可能会很有用。 如果你: - 严重依赖预构建的组件和集成 - 想要一个包含所有功能的编排平台 那么它可能并不理想。 **代码库:** [https://github.com/the-picoflow/picoflow](https://github.com/the-picoflow/picoflow) 这仍然处于早期阶段,并且具有一定的主观性。我非常希望能得到反馈,看看这种“工作流程即 Python”的风格是否对其他人有用,或者人们是否已经有更好的解决方案。 谢谢!
1作者: mosbyllc6 天前原帖
编程对我来说一直像是一道高墙。在我的日常工作中,我是一个“初级”工程师——总是卡在语法上,而其他人则在发布功能。我常常怀疑自己是否适合这个行业。 但最近,我尝试了一种“氛围编码”的方法——我专注于逻辑和流程,让人工智能处理实现细节。结果就是AIMovieQuotes([https://www.aimoviequotes.com](https://www.aimoviequotes.com))。 这是一个简单但实用的引擎:你可以通过情绪、主题或关键词搜索电影、电视和歌曲中的经典台词。 这个过程让我大开眼界。过去,当CSS出错或数据库查询变得复杂时,我会放弃这个项目。这一次,我充当了架构师。我描述了结果,而人工智能则铺平了道路。 我第一次感受到了创造的纯粹乐趣,而不是调试的挫败感。 我分享这个不仅是为了展示这个工具,更是为了传达一个认识:从“有一个想法”到“发布一个产品”的差距正在缩小。即使对于像我这样的“弱”编码者,构建一个完整的产品现在也是可能的。 我希望你能找到所需的引用,但更重要的是,我希望这能鼓励其他初级工程师停止担心语法,开始发布产品。