6作者: alphag33k8 个月前原帖
我们构建了一个 Rust MCP 服务器,它封装了出色的无头终端(HT),使其能够为自主编码工具提供服务。<p>大多数自主编码工具在处理阻塞的交互式终端工具时遇到困难(例如所有的样板生成器、基础设施 CLI 工具等)。这是因为许多现有的 CLI 开发工具是为人类设计的,要求进行交互式输入。我们构建这个工具的目的是让自主编码工具(如 Claude Code、Cursor、Memex 等)能够像人类一样“看见”和“与”终端进行交互。<p>在我们的演示视频中,您将看到它如何像人类一样操作 vim/emacs——选择选项、导航菜单以及实时修改文本。这对于需要与为人类交互设计的工具协作的 AI 编码助手至关重要。<p>我们最初在 TypeScript 中构建了一个 MCP 服务器,封装了 HT(Rust)二进制文件,作为概念验证。它运行得非常好,因此我们决定对其进行精简,使其更加紧凑且易于安装。<p>在这个过程中,我们发现使用 Rust 和 MCP Rust SDK 构建 MCP 服务器非常有吸引力,性能显著提升: - 启动时间快了 40 倍(约 50 毫秒对比约 2 秒) - 内存使用减少 70%(约 15MB 对比约 50MB) - 单个 3MB 的二进制文件对比约 200MB 的 Node.js 依赖 - 无子进程开销或外部依赖<p>正如 Andy 所说:“终端是计算机中最古老和最普及的 UI 框架之一。并且它们是有状态的。”没有 HT,代理很难直接管理这个状态;而有了 HT-MCP,代理可以像人类一样观察和与终端进行交互。<p>这是一个早期的首次发布,我们非常希望听到您是否觉得它有用。<p>这里有一个使用 Claude Code 和 Memex(我们自己的桌面代理编码工具)的演示。<p>通过 Homebrew 安装:`brew tap memextech/tap && brew install ht-mcp`<p>1. <a href="https://github.com/andyk/ht">https://github.com/andyk/ht</a> by Andy Konwinski 2. <a href="https://github.com/user-attachments/assets/e70a3240-77f5-4ef2-953b-202b310dbf74">https://github.com/user-attachments/assets/e70a3240-77f5-4ef...</a> 3. <a href="https://github.com/user-attachments/assets/6a1b6e76-5d5c-4ba4-87ee-70a31f0bc4ce">https://github.com/user-attachments/assets/6a1b6e76-5d5c-4ba...</a> 4. <a href="https://news.ycombinator.com/item?id=40552257">https://news.ycombinator.com/item?id=40552257</a>
6作者: nirw4nna8 个月前原帖
嗨,HN, 在过去的几个月里,我从零开始用 C++/CUDA 构建了一个名为 `dsc` 的张量库。我的主要关注点是确保基础功能的正确性,优先考虑干净的 API、简洁性以及对本地运行小型 LLM 的清晰可观测性。 主要特点包括: - 从零开始编写的 C++ 核心,支持 CUDA。 - 类似 PyTorch 的熟悉 Python API。 - 能够运行真实模型:它足够完整,可以加载 HuggingFace 上的 Qwen 模型,并通过一行代码在 CUDA 和 CPU 上进行推理[1]。 - 为 Python 和 C++ 提供简单的内置可观测性。 接下来的计划是添加对 BF16 的支持,然后我将致力于 GPU 工作负载的可视化。 该项目仍处于早期阶段,我非常感激来自 HN 社区的任何反馈、代码审查或问题! GitHub 仓库:[https://github.com/nirw4nna/dsc](https://github.com/nirw4nna/dsc) [1]: [https://github.com/nirw4nna/dsc/blob/main/examples/models/qwen2_5.py](https://github.com/nirw4nna/dsc/blob/main/examples/models/qwen2_5.py)