1作者: kevin-au2 个月前原帖
如果你尝试过使用 Playwright 测试去中心化应用(dApp),你就会知道这个问题。MetaMask 并不是为无头浏览器设计的。你最终会得到脆弱的黑客解决方案、不稳定的测试,以及一个随机崩溃的 CI 流水线。 我创建了 Mock Wallet 来解决这个问题——然后意识到它解决了更大的问题。 它有三个功能: 1. Playwright 原生钱包测试 像其他模拟工具一样将其放入你的测试套件中。模拟连接、签名和交易,而无需触碰浏览器扩展。支持无头模式,适用于 CI,且可靠性高。 ```javascript // 示例 const wallet = await MockWallet.connect(page); await wallet.approve({ amount: '1.5', token: 'ETH' }); await expect(page.locator('.balance')).toHaveText('1.5 ETH'); ``` 2. AI 代理钱包 代理通过 API 获取可编程钱包。没有用户界面,没有弹窗,无需人工干预。你的代理通过调用端点进行签名和交易。 3. 人工 + 代理混合流程 其他人无法处理的部分——测试人类与代理在同一合约下交互的工作流程。批准流程、共同签名、代理发起 + 人工确认的交易。 在沙盒环境中使用模拟资金开始。切换一个标志即可上线。 mockwallet.dev — 免费沙盒,无需注册即可试用。 欢迎任何进行 Web3 应用端到端测试的人的严厉反馈。
2作者: vinzify2 个月前原帖
大家好, 我开发了 GitPop,这是一个开源的轻量级 Windows 文件资源管理器扩展,它将快速的 Git 界面直接带入你的右键菜单。 问题是:我厌倦了打开沉重的 IDE(如 VS Code)或笨重的 GUI 客户端仅仅为了快速提交,但我又希望拥有终端工作流所缺乏的漂亮视觉差异和暂存复选框。 解决方案是:当你右键点击任何包含 .git 仓库的文件夹并选择“GitPop Here”时,它会立即启动一个时尚的深色模式用户界面覆盖层。你可以查看更改、暂存文件,并直接从桌面提交。 为了进一步加快速度,我添加了一个 AI “Sparkle” 按钮,它会读取你的 git diff 并自动生成一个符合规范的提交信息。 技术细节: 技术栈:我使用 Tauri v2、React 和 Rust 构建了这个项目。我特别选择 Tauri 而不是 Electron,因为上下文菜单弹出窗口需要瞬间打开并使用最少的内存。 隐私优先(本地 AI):默认情况下,AI 功能连接到本地的 Ollama 实例(如 llama3.2),这意味着你的专有源代码差异永远不会离开你的机器。我还为那些喜欢云模型的用户添加了对 OpenAI、Anthropic 和 Gemini 的支持。 Git 后端:Rust 后端通过生成隐藏的子进程来执行本地 Git CLI 二进制文件,而不是与 libgit2 纠缠。这意味着它会自动尊重你现有的全局 Git 配置、SSH 密钥和 GPG 签名。 一个有趣的工程挑战:在 Windows 11 上使用 Webview2 构建透明的玻璃质感用户界面出乎意料地棘手。将“transparent”: true 与隐藏的启动状态(“visible”: false)结合使用导致渲染引擎完全崩溃。我还不得不编写自定义的操作系统级 Rust 代码,以防止每次运行 Git 命令时背景 CMD 终端闪烁。 接下来(macOS):目前,发布版本针对 Windows 文件资源管理器进行了大量优化,但我正在积极开发 macOS 版本,以将完全相同的体验直接集成到 Finder 中。 在我完成 Mac 版本的构建时,我希望你能尝试 Windows 版本。安装程序(.exe/.msi)和源代码可以在 GitHub 上找到。 仓库链接: [https://github.com/vinzify/gitpop](https://github.com/vinzify/gitpop) 我会在评论区回答有关技术栈、Tauri v2 或实现方面的任何问题!
2作者: jawiggins2 个月前原帖
最近,几家人工智能实验室发布了实验,试图让人工智能编码代理完成大型软件项目。 - Cursor尝试从零开始制作一个浏览器: [https://cursor.com/blog/scaling-agents](https://cursor.com/blog/scaling-agents) - Anthropic尝试制作一个C编译器: [https://www.anthropic.com/engineering/building-c-compiler](https://www.anthropic.com/engineering/building-c-compiler) 我一直在思考是否有一些软件包可以通过使用现有的测试套件,并让代理在项目上工作,直到现有的测试套件通过,从而轻松重现。 在尝试让Claude Code重现redis和sqlite之后,我开始寻找一些代理制作的重现可能真正有用的软件包。 我找到了libxml2,这是一个广泛使用的开源C语言库,旨在解析、创建和处理XML和HTML文档。三个月前,它在更新中宣布不再维护,并指出“这个项目不再维护,并存在[已知的安全问题](https://gitlab.gnome.org/GNOME/libxml2/-/issues/346)。使用该软件处理不受信任的数据是愚蠢的。” 经过几天的工作,我创建了xmloxide,这是一个内存安全的Rust替代品,替代libxml2,能够通过兼容性套件以及W3C XML一致性测试套件。大多数解析操作的性能相似,而在序列化方面表现更好。它提供了C API,可以替代现有的libxml2使用。 - crates.io: [https://crates.io/crates/xmloxide](https://crates.io/crates/xmloxide) - GitHub发布: [https://github.com/jonwiggins/xmloxide/releases/tag/v0.1.0](https://github.com/jonwiggins/xmloxide/releases/tag/v0.1.0) 虽然我不指望人们立即转向这个新的、未经验证的软件包,但我确实认为这里有一些有趣的思考,关于像Claude Code这样的编码代理如何在给定测试套件的情况下快速迭代。随着重写变得更容易,COBOL等系统所面临的遗留代码问题可能会消失。持续维护以修复CVE和更新到较新软件包版本的问题将占据软件包管理工作更大比例。
2作者: dh20132 个月前原帖
你好,HN, 我创建了DuLink来解决一个个人问题:我的主要语言是英语,而我母亲的主要语言是普通话。我经常找到一些关于健康或时事的文章,想与她分享,但由于复制粘贴和使用谷歌翻译的繁琐,她很少阅读这些文章。 它的功能: DuLink接收一个文章的URL,提取核心内容以去除杂乱,然后生成一个静态的翻译阅读视图。它保留了语义化的HTML结构(标题、列表),但去除了原网站的JavaScript和广告追踪。 “为什么”: 现有的工具要么翻译整个杂乱的页面(包括导航菜单/页脚),要么要求接收者安装扩展。我想要的是一种真正简单的解决方案。一个“发出后无需再管”的链接,消除所有障碍。无需设置,无需额外工具,只需打开即可理解。我还添加了音频播放功能,因为在手机上阅读密集的文本可能会让人感到疲惫,尤其是对于年长的眼睛。有时候,听取内容更为轻松。 我为个人使用场景构建了这个工具,但我在这里分享给任何希望跨语言分享有意义内容的人。如果它能帮助你弥合这个鸿沟,我很想听听你的反馈。 欢迎任何反馈。 <a href="https://dulink.click/" rel="nofollow">https://dulink.click/</a>