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

相关推荐
Nturmoils8 小时前
把工具变成可发现能力:鸿蒙端动态能力注册表实践
人工智能
ZGIS智博创享8 小时前
矿产数智化专题连载③ | 深挖AI智能找矿内核:以传统成矿理论为根基,算法赋能隐伏矿体突破
人工智能·知识图谱·ai算法·ai找矿·地质找矿逻辑
xd1855785558 小时前
[特殊字符] 宠物美容指南 —— 鸿蒙AI智能助手开发全流程解析
人工智能·华为·harmonyos·鸿蒙·宠物
名不经传的养虾人8 小时前
从0到1:企业级AI项目迭代日记 Vol.71|系统显示正常,但实际上什么都没发生
数据库·人工智能·ai编程·ai工作流·企业ai
Urbano9 小时前
卫衣全工序自动化智造科普:替代工位、设备选型与产能升级方案
大数据·人工智能·自动化
凌杰9 小时前
AI 学习笔记:补充 OpenClaw
人工智能
王莎莎-MinerU9 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
FakeKesh19 小时前
学了一周Python,我决定手搓一个最小的AI Agent循环(附源码)
agent
程序员秋天9 小时前
用Spring AI实现多轮对话记忆,别再让AI每次都"失忆"
agent·ai编程
嘉立创FPC苗工9 小时前
FPC 柔性线路板,解锁智能眼镜轻量化与高性能新赛道
大数据·人工智能·制造·fpc·电路板