16、【Agent】【OpenCode】源码构建(Bun介绍)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Agent】【OpenCode】对话测试(免费模型)

安装了 OpenCode,并进入了 OpenCode 的终端用户界面 TUI,并查看了 OpenCode 关联可用的大模型,不过由于刚安装,没有配置任何 AI 模型提供商 Provider,所以可用的外部大模型为 0 credentials,然后在对话框中,虽然没有配置任何大模型,还是可以正常对话,并且右侧还有上下文以及 tokens 的消耗显示,很明显 OpenCode 是使用了大模型进行回复,接着安装了 tshark 进行了实验,抓取到了 OpenCode 和 opencode.ai 之间的流量交互,并提醒 OpenCode 会上传当前项目的上下文(比如文件列表和部分代码),要注意隐私保护,下面继续分析

OpenCode

终端输入

bash 复制代码
git clone https://github.com/anomalyco/opencode.git

可以下载 Github 上 OpenCode 的源码,如果访问速度较慢,可以用 Gitee 今天刚同步的仓库

bash 复制代码
git clone https://gitee.com/hitweston/opencode.git

终端输入

bash 复制代码
cd opencode

进入 OpenCode 源码目录,接着输入

bash 复制代码
head package.json

查看 OpenCode 包信息如下

这里使用的 head 是个很常用的基础命令,可以用来显示文件的开头部分(默认前 10 行),方便快速查看文件内容,而不用打开整个文件(对大文件很有用),这里是用来快速检查 package.json 文件的开头内容,来看 OpenCode 项目是 Node.js 还是 Bun 项目的配置文件,从上面的结果来看,OpenCode 是个典型的 JavaScript/TypeScript 的项目,并且该项目规定了必须使用 Bun 包管理器进行安装,推荐版本的是

javascript 复制代码
"packageManager": "bun@1.3.10"

这里提到的 Bun 是一个超快的 JavaScript 运行时(runtime)和工具集,其目标是替代 Node.js + npm + Webpack + Babel 等一整套传统前端工具链,可以理解为 Node.js 的现代化,一体化,高性能替代品,Bun 方案有三大核心功能

功能 传统方案 Bun 方案
运行 JS/TS 代码 node app.js bun run app.ts
安装依赖包 npm install bun install
打包&构建项目 Webpack/Vite/Rollup bun build(内置)

这些功能可以全部由一个二进制文件 bun 完成,除了功能强大,Bun 的速度还特别快(得益于其实现使用的 Zig 语言,比 C 更高效)

  • 启动速度比 Node.js 快 10~100 倍
  • 包安装速度 比 npm 快 10~100倍(实测 bun install 可以几秒装完 React 全家桶),npm install 装 1000 个包,可能要 1min,而 bun install 则可以快到 3~5s

此外,bun 还原生支持 TypeScript,JSX,ESM 等,无需额外配置

下面再对比下 npm/Node.js 和 Bun 的基本信息

对比项 npm / Node.js Bun
开发者 Joyent,OpenJS Jarred Sumner(个人开发者)
首发时间 2009 年 2022 年
兼容性 - 完全兼容 Node.js API(大部分场景可直接替换)
包管理 npm / yam 内置 bun install(兼容 npm registry
TypeScript 需要 ts-node / 编译 原生直接运行 .ts 文件

比如 *.js 这种 JavaScript 纯文件,既可以用 node 运行,也可以用 bun 运行!


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog

相关推荐
Wenzar_1 分钟前
用 JAX 构建可微分光子神经网络仿真器
java·人工智能·深度学习·神经网络
小真zzz2 分钟前
搜极星:专业第三方中立洞察GEO专家——深度详解
人工智能
我爱cope4 分钟前
【Agent智能体23 | 规划-规划工作流】
人工智能·设计模式·语言模型·职场和发展
lzhdim11 分钟前
C盘空间多出来4GB:谷歌服软 Chrome本地AI大模型可禁用、删除了
前端·人工智能·chrome
Monkery12 分钟前
WWDC26 全面汇总
前端·人工智能
Cloud_Shy61813 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第四章 Item 27 - 29)
开发语言·人工智能·经验分享·python·学习方法
汤姆yu14 分钟前
AI全生命周期七大安全模块落地指南
人工智能·信息安全·大模型
断眉的派大星14 分钟前
YOLO26 完整学习笔记:从 Anchor-Free、TAL、STAL 到端到端无 NMS 部署
人工智能·笔记·学习·yolo·目标检测·计算机视觉·目标跟踪
不爱土豆唯爱马铃薯16 分钟前
MonkeyCode私有化部署全攻略:架构解析+4步部署+在线版对比
人工智能
团象科技17 分钟前
中小出海企业站点运维实践 关于WP建站海外主机的行业观察
运维·人工智能