2作者: Hacakthon23 天前
我是一名 SPPU 的计算机工程系学生。在用 React 19 做一个项目时,我意识到我们用于 SEO 的标准库(比如 React Helmet)仍然在使用“旧”方法。<p>问题所在:旧的库使用一种叫做“副作用”的技巧,在页面加载完成后才更改页面标题和元标签。这可能导致标题闪烁,或者让网站感觉稍微慢一些,因为浏览器需要做额外的工作。<p>解决方案:React 19 增加了一个内置功能,可以自动将标签移动到页面顶部(&lt;head&gt;)。我构建了 react-meta-seo,让每个人都能轻松使用这个新功能。<p>为什么它对开发者来说更简单:<p>无需“Provider”:你不需要将整个应用程序包裹在一个特殊的组件中。它只需放置在任何地方即可工作。<p>体积小巧:它小于 4KB。相比之下,旧的选项通常是 15KB 或更大。<p>不再出现 Google 数据错误:它会自动检查你的 Google 搜索数据 (JSON-LD),以确保其格式正确。<p>内置预览:我添加了一个工具,让你在编码时就能看到你的网站在 Twitter 或 Facebook 上的样子。<p>简单的站点地图工具:它包含一个命令行工具,可以为你生成 sitemap.xml。<p>我想构建一个使用新的 React 19 功能来使 SEO 变得更快、更容易设置的工具。我很乐意收到关于代码的反馈!<p>GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;ATHARVA262005&#x2F;react-meta" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ATHARVA262005&#x2F;react-meta</a>
1作者: shijizhi_191923 天前
嗨 HN, 我一直在试验 LLM 代理一段时间了,并且经常觉得,对于简单的流程(聊天、工具调用、小循环),现有的框架增加了大量的抽象和样板代码。 因此,我构建了一个名为 PicoFlow 的小型 Python 库。目标很简单: 使用普通的异步 Python 来表达代理工作流程,而不是特定于框架的图或链。 最小的聊天代理 每个步骤都只是一个异步函数,并且工作流程通过 &gt;&gt; 组合: ```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(“You:”)) agent = create_agent( input_step >> llm(“Answer the user: {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作者: mosbyllc23 天前
对我来说,编程一直像一堵高墙。在我的日常工作中,我是一个“初级”工程师——一个会被语法问题卡住,而其他人已经发布功能的人。我经常怀疑自己是否适合这份工作。 但最近,我尝试了“氛围编程”——我专注于逻辑和流程,让 AI 处理实现细节。结果就是 AIMovieQuotes (https://www.aimoviequotes.com)。 它是一个简单但有用的引擎:你可以通过情绪、主题或关键词搜索电影、电视和歌曲中的经典台词。 这个过程是一个启示。过去,当 CSS 崩溃或数据库查询变得复杂时,我就会放弃这个项目。这一次,我扮演了架构师的角色。我描述了结果,而 AI 铺平了道路。 这是我第一次感受到纯粹的创作乐趣,而不是调试的挫败感。 我分享这个不仅仅是为了展示这个工具,更是为了分享一个感悟:“有想法”和“发布产品”之间的差距正在消失。即使对于像我这样的“弱”程序员来说,构建一个完整的产品现在也成为可能。 我希望你能找到你需要的引言,但更重要的是,我希望这能鼓励其他初级程序员停止担心语法,开始发布产品。