返回首页
最新
嗨,HN,我们开发了开源项目 OSS Claude Cowork,作为 OpenClaw 的一个插件。它允许你创建实时工件(类似 Claude),这些工件可以连接到数据源,而不是数据集。(例如:自动获取 Stripe 数据)<p>其他工具(如 Paperclip 和 Multica)专注于任务管理,但我们的愿景是构建一个界面,感觉像你已经喜欢使用的 SaaS 工具。<p>这是一个开源项目,欢迎反馈。
嗨,HN,我们是Sai和Aayush,我们正在构建Hypercubic(<a href="https://www.hypercubic.ai">https://www.hypercubic.ai</a>),旨在将人工智能工具引入主机和COBOL世界。(我们去年做过一次Launch HN:<a href="https://news.ycombinator.com/item?id=45877517">https://news.ycombinator.com/item?id=45877517</a>。)今天,我们推出了Hopper,一个用于主机的自主开发环境。
您可以在这里下载:<a href="https://www.hypercubic.ai/hopper">https://www.hypercubic.ai/hopper</a>,您还可以申请访问并立即获得一个主机用户帐户进行体验。
此外,还有一个视频演示可在<a href="https://www.youtube.com/watch?v=q81L5DcfBvE" rel="nofollow">https://www.youtube.com/watch?v=q81L5DcfBvE</a>观看。
主机仍然在许多关键基础设施中发挥着重要作用:银行、支付、保险、航空公司、政府项目、物流以及大型机构的核心运营。许多这些系统已有数十年历史,但它们仍能处理巨大的交易量,因为它们可靠、安全,并深深嵌入业务运营中。
很多软件是用COBOL编写的,并运行在IBM z/OS上。开发环境与现代云或Unix风格的开发有很大不同。开发人员通常通过TN3270终端会话、ISPF面板、分区数据集、JCL、JES队列、输出缓冲、返回代码、VSAM文件、CICS事务和特定于商店的约定进行工作,而不是使用GitHub、命令行、包管理器和CI管道。
TN3270是与许多IBM主机系统交互的终端接口。ISPF是开发人员在该终端内使用的菜单和面板系统,用于浏览数据集、编辑源代码、提交作业和检查输出。它功能强大且可靠,但设计是为了让专家在屏幕、功能键和固定宽度工作流程中导航,而不是为AI代理设计的。
一个简单的COBOL修改可能需要找到正确的源成员、检查复制书、定位编译JCL、提交作业、读取JES/SYSPRINT输出、解释条件代码、修补固定宽度源代码并重新提交。
这项工作中的许多部分定义明确且重复性强,非常适合自主AI。然而,要实现这一点,仅仅在终端旁边放一个聊天机器人是不够的。代理需要在主机环境中操作。
Hopper结合了三项功能:(1)一个真实的TN3270终端,(2)针对数据集、成员、作业和输出缓冲的主机感知面板,以及(3)一个可以跨越这些z/OS界面操作的AI代理。
例如,以下是Hopper可以帮助调试的一个小示例:
```
COBOL:
IDENTIFICATION DIVISION.
PROGRAM-ID. PAYCALC.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CUSTOMER-BALANCE PIC 9(7)V99.
PROCEDURE DIVISION.
ADD 100.00 TO CUSTOMER-BALNCE
DISPLAY "UPDATED BALANCE: " CUSTOMER-BALANCE
STOP RUN.
JCL:
//PAYCOMP JOB (ACCT),'COMPILE',CLASS=A,MSGCLASS=X
//COBOL EXEC IGYWCL
//[COBOL.SYSIN](https://cobol.sysin/) DD DSN=USER1.APP.COBOL(PAYCALC),DISP=SHR
//[LKED.SYSLMOD](https://lked.syslmod/) DD DSN=USER1.APP.LOAD(PAYCALC),DISP=SHR
```
人类需要提交此作业,检查JES输出,打开`SYSPRINT`,找到未定义的`CUSTOMER-BALNCE`,将其映射回源代码,修补成员并重新提交。Hopper旨在让代理能够自主地通过相同的循环进行操作。
Hopper并不是试图将主机隐藏在一个通用的抽象后面,也不是一个聊天机器人。设计原则很简单:保持主机环境的真实性,但使其对AI代理可访问。
敏感操作需要获得批准,终端始终可见。
一旦代理能够在主机环境中操作,就会出现新的工作流程:更快的作业调试、自动文档生成、更安全的代码更改、测试生成、迁移规划、流量重放和现代化验证。
我们很想听听您的想法!特别是来自那些有主机、COBOL或进行过遗留企业现代化经验的人士。
嗨,HN,我是来自 Manufact 的 Pietro(<a href="https://manufact.com">https://manufact.com</a>),我们为 MCP 构建开源开发工具和基础设施。
<p>你可能知道我们推出的 mcp-use(<a href="https://github.com/mcp-use/mcp-use" rel="nofollow">https://github.com/mcp-use/mcp-use</a>),这是一个开源的全栈 SDK,用于构建 MCP 服务器和客户端。</p>
<p>在 Manufact,我们给自己设定了一个使命,并乐于尽可能多地编写 MCP 服务器。在这个过程中,我们不断完善我们的 SDK,以提供最佳的开发者/代理体验。</p>
<p>测试/开发 MCP 服务器是一个痛苦的过程,因为:</p>
<ul>
<li>在普通客户端中配置 MCP 并不容易。人们抱怨安装它们不简单,想象一下每次更改后都需要刷新它们。</li>
<li>测试不仅仅是逐个测试工具的有效性,还要确保代理能够理解它们,并以正确的方式/顺序调用工具。</li>
<li>如果在本地安装 MCP 是一个挑战,那么在远程客户端(人们实际使用你产品的地方,如 claude.ai、chatgpt.com)就更具挑战性。</li>
<li>模型能力 + 系统提示(代理)将最终使用你的服务器,差异很大。有些人可能使用 Claude Code 的 Opus 4.7,有些人可能在 chatgpt.com 上使用 Instant,模型调用你的工具的能力差异很大。在本地使用 GPT5.5 测试和在 ChatGPT 上使用相同模型测试的体验截然不同。</li>
</ul>
<p>首先:本地开发循环</p>
<p>有两件事使得像 Next 和 Vite(等)这样的网页开发框架优于其他框架,那就是热模块替换(HMR)和本地预览。</p>
<p>MCP 的预览是什么?在我们看来,就是一个聊天窗口。每当你运行 npm run dev 启动一个 mcp-use 服务器时,我们会在本地服务器上提供一个检查器,自动连接到你的 MCP 服务器,它有一个 BYOK 聊天窗口,可以逐个测试工具,并提供关于你的 MCP 服务器的超详细元数据,以确保其合规。</p>
<p>这里有一个有趣的技术挑战,就是制作一个几乎完全在浏览器中运行的 MCP 客户端。</p>
<p>关于 HMR:这并不简单,有几种方法可以实现,我们选择了困难但正确的方法。我们使用协议原语实现了 HMR,如果你更改了一个工具,我们不会强制刷新服务器并取消之前的 MCP 会话,而是向客户端发送 notifications/tools/list_changed 通知(在规范中),客户端知道应该重新加载工具。至于 UI 元素,我们使用 Vite HMR,并将 UI 更改转发到检查器的所有元素中,因此例如你可以更改 MCP 返回的 UI 元素,并实时在嵌入式聊天中看到变化。(这看起来非常神奇)</p>
<p>这大大加快了 MCP 的开发速度。</p>
<p>你可以通过运行 npx @mcp-use/inspector 或直接使用我们的 SDK 来试用我们的检查器。</p>
<p>附加信息:我经常做的一件事是启动 Claude Code,并启用 --chrome,然后告诉它去检查器 URL 测试服务器,这为代理创建了一个闭环,使得与他们一起开发 MCP 更加可预测。</p>
<p>第二:在其他客户端上测试(免责声明:这是一个云功能)</p>
<p>在实际客户端上测试可能更痛苦。我们创建了一个自动化测试功能,你可以在常规代理测试格式中定义与 MCP 服务器相关的测试用例(用户消息、预期工具调用、评分标准)。由于“在本地使用 GPT5.5 测试和在 ChatGPT 上使用相同模型测试的体验截然不同”,我们需要在实际客户端上进行测试,因此我们使用浏览器代理安装应用程序,并直接在客户端上启动测试。</p>
<p>会话结束后,你会获得结果以及对话的屏幕截图和录屏。这对于在团队之间共享 MCP 应用的新版本非常有用。</p>
<p>我很想听听大家的想法和反馈,尤其是想知道人们在生产环境和本地如何(如果有的话)测试他们的 MCP 服务器。</p>
<p>(我在 2 月 25 日开始编写 MCP,那时没有可用的工具,几乎没有客户端支持,我很想看看今天人们是如何做到的。)</p>