返回

文章详情

OpenCode 2.0

Hacker News2026年10月14日 20:48

OpenCode 2.0 是一次重大改进。它借鉴了数百万日常用户的经验,以提供一个能够灵活适应代理需求的系统。虽然有很多新功能、性能改进和错误修复,但以下是一些更具影响力的用户界面变化。服务从一开始,OpenCode 就采用了客户端/服务器模型。然而,这并不是它默认利用的功能,主要被高级用户使用。在 2.0 中,这个服务器现在自动作为后台进程在您的机器上运行。当您打开 TUI、web 界面或桌面应用时,它们全部与同一个中央进程进行通信。opencode pid 48213 运行会话 修复不稳定测试 添加深色模式 审查变更如果您使用编程客户端 @opencode/client 来编写自己的脚本,它们将自动发现本地服务并正常工作。这对于计划任务特别有用。您还可以通过 CLI 调用它,使用 opencode api 命令。您可以将其暴露给其他主机,并运行 /pair 或 opencode pair 来将其连接到其他应用程序。我们正在开发的原生应用可利用这一流程。API旧 API 是在我们和世界一起学习代理是什么及应该是什么过程中的杂乱成长的,非常糟糕。我们从头开始,检查了数百万用户使用 OpenCode 的所有奇怪用例。现在,它几乎支持您需要执行的任何操作。OpenCode 也意识到自己的 API,并将调用它来执行有用的操作,比如在开始新工作时将当前会话移动到 Git 工作树中。会话 新会话 OpenCode ~/app 修复不稳定上传测试 中断 迁移配置加载器 标签已关闭 新会话 此会话 ~/worktrees/rate-limit 我们还发布了一个新的客户端包 @opencode/client,其中包含原生 JavaScript 和 Effect 的客户端。 review.ts 导入 { OpenCode } 从 "@opencode/client" 导入 { Service } 从 "@opencode/client/service" const endpoint = await Service.ensure() const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint), }) const session = await client.session.create({ location: { directory: process.cwd() }, }) await client.session.prompt({ sessionID: session.id, text: "审查当前变更", }) 代码模式模型喜欢编写代码,而 OpenCode 2.0 比任何其他编码代理更好地利用这一点。我们在 @opencode/codemode 包中构建了一个最小 JavaScript 解释器。会话 代码模式 MCP 服务器 github 线性 哨兵 此包可以摄取 MCP 服务器或 OpenAPI 端点,将其转换为代理可以在脚本中调用的函数。它可以原生运行这些脚本,而无需 Node.js VM 的复杂性或嵌入复杂的解决方案,如 QuickJS。这使您的代理能够编写可以完成诸如调用工具、映射结果并调用另一个工具等操作的脚本。一次单路往返,而不是逐个调用。所有 2.0 中的 MCP 服务器默认启用代码模式。这意味着您可以在最小上下文膨胀的情况下添加成千上万个它们,而您的代理会发现并组合它们以完成任务。后台任务最新一批模型在编排方面表现出色,重要的是让代理充分表达其能力。会话 背景首先,我们添加了后台子代理。这允许主代理将一些工作委托给另一个代理,同时继续其工作。这是自动发生的,但您还可以手动触发它——甚至使用不同的模型。允许您进行诸如“生成一个后台 fable 子代理以审查此代码,同时您继续提示”之类的操作。其次,我们添加了后台 shell 命令。shell 工具可以异步调用,因此较长的工作不必阻塞主代理。当事情完成时,它会收到通知。如果任何前台 shell 命令或子代理超过您的预期时间,您可以按热键将它们移到后台,以便您可以继续提示。插件尽管 OpenCode 1.0 有一个插件系统,但从未得到所需的关注。为了解决这个问题,我们迫使自己将几乎所有 OpenCode 2.0 功能作为内部插件实现,现在已经有 80 多个插件。这确保了插件 API 得到很好的维护。我们还将 TUI 插件从实验阶段提升到稳定阶段。由于这一切都由 OpenTUI 提供支持,您几乎可以构建任何东西。以下是一些无用的东西的示例。我们还花费了大量时间确保 OpenCode 2.0 中的所有内容都可以热重载。因此,它可以在会话中为自己编写插件并立即使用——我们在之前的博客文章中介绍了这一设计。您可以要求 OpenCode 构建您想要的任何插件,它知道怎么做。如果您想阅读文档,它们可以在此处找到。SDK OpenCode 现在还可以用作库

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡