找回密码
立即注册
搜索
发回帖 发新帖

5398

积分

0

好友

696

主题
发表于 2026-3-1 09:26:22 | 查看: 702| 回复: 0

与之前在Instantbox或其他容器中安装OpenCode不同,本次我们将使用其官方的原生Docker镜像进行部署。

简介

什么是 OpenCode?

OpenCode 是一个开源的 AI 编码代理(AI Coding Agent),通过大语言模型(LLM)自动化编程任务,从任务理解、代码生成到执行测试和自我修正,形成闭环。它支持终端、桌面应用和 IDE 集成,让开发者用自然语言描述需求,代理就能独立完成编码工作。

主要特点

  • 完全开源:采用 MIT 许可证,您可以自由使用、修改和分发。
  • 模型无锁定:您可以灵活配置并使用任何您喜欢的 AI 模型,无论是云端 API 还是本地模型。
  • 多种代理模式:
    • build 代理:拥有完全的系统访问权限,专为编码、调试和测试等开发工作设计。
    • plan 代理:只读模式,用于安全地分析和探索代码库,执行敏感操作前会请求许可。
  • 多样的使用方式:支持交互式命令行(CLI)、Web 浏览器界面,甚至还有跨平台的桌面应用。
  • 客户端/服务器架构:允许您将核心服务部署在远程服务器上,然后在本地通过客户端连接进行远程开发。

应用场景

  • 日常软件开发:使用 build 代理进行编码、调试、编写测试。
  • 学习新项目:使用 plan 代理安全地分析和理解一个陌生的代码库。
  • 项目规划与重构:在进行大型重构前,进行分析和计划制定。
  • 远程开发:将 OpenCode 服务部署在云服务器上,随时随地在本地进行高效编程。

OpenCode终端交互截图,显示代码搜索和修改流程

OpenCode 不受任何特定 AI 模型供应商的限制,允许您自由选择使用 Claude、OpenAI、Google 或是本地部署的 AI 模型。它注重终端体验,但同样提供了 Web 界面和桌面应用,以满足不同开发者的使用偏好。作为一款活跃的开源项目,其代码托管在 GitHub 上,方便社区贡献和持续迭代。

安装

OpenCode 提供了多种灵活的部署方式,以下我们重点介绍通过 Docker 安装与运行的两种模式。

本文写作时, latest 版本对应为  1.2.15;

OpenCode 1.2.15版本发布信息截图

1. 命令行 (CLI) 交互模式

这种方式非常适合快速、一次性的交互任务。它会在您退出后自动清理容器,不留下任何残留。

打开您的终端,执行以下命令:

docker run -it --rm ghcr.io/anomalyco/opencode:latest

命令说明:

  • -it: 启动交互模式,允许您与容器内的 OpenCode 进程进行实时对话。
  • --rm: 容器停止后自动删除,保持系统整洁。
  • ghcr.io/anomalyco/opencode: OpenCode 的官方 Docker 镜像。
  • 对于 CLI 模式,执行命令后直接在终端中即可开始与 OpenCode 交互。

OpenCode CLI界面截图

2. 网页 (Web) 服务模式

这种方式会将 OpenCode 作为一个后台服务长期运行,并提供一个 Web 界面供您随时访问。非常适合部署在个人服务器或 NAS 上。

第一步:准备目录

# 新建文件夹 opencode 和数据子目录
mkdir -p /volume1/docker/opencode/{data,workspace}

# 进入 opencode 目录
cd /volume1/docker/opencode

注意:/volume1/docker/opencode/data 是示例路径,您可以根据自己的实际情况修改。

第二步:运行容器

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name opencode \
   -p 4096:4096 \
   -v $(pwd)/data:/home/opencode \
   -v $(pwd)/workspace:/home/opencode/workspace \
   -e HOME=/home/opencode \
   ghcr.io/anomalyco/opencode:latest \
   web --hostname 0.0.0.0 --port 4096

# 带自定义账号密码
docker run -d \
   --restart unless-stopped \
   --name opencode \
   -p 4096:4096 \
   -v $(pwd)/data:/home/opencode \
   -v $(pwd)/workspace:/home/opencode/workspace \
   -e HOME=/home/opencode \
   -e OPENCODE_SERVER_USERNAME=laosu \
   -e OPENCODE_SERVER_PASSWORD=123456 \
   ghcr.io/anomalyco/opencode:latest \
   web --hostname 0.0.0.0 --port 4096

参数说明:

  • 端口 (-p)
    • 本地端口 4096 映射到容器的 4096 端口。
  • 卷 (-v)
    • 将当前目录下的 data 文件夹(即您刚创建的 /volume1/docker/opencode/data)挂载到容器的 /home/opencode 目录,用于持久化存储 OpenCode 的数据。
    • 将当前目录下的 workspace 文件夹,挂载到容器的 /home/opencode/workspace 目录,作为项目文件夹。
  • 环境变量 (-e)
    • HOME=/home/opencode: 设置容器内的主目录。
    • OPENCODE_SERVER_USERNAME=laosu:设置自定义用户名,默认用户为 opencode 。
    • OPENCODE_SERVER_PASSWORD=123456:添加强密码的保护。
  • 容器执行命令
    • web --hostname 0.0.0.0 --port 4096: 这部分是容器启动后执行的命令,意为以 Web 模式启动,并监听在所有网络接口的 4096 端口上。

运行

  • 对于 Web 模式,执行命令后,在浏览器中输入 http://服务器IP:4096 即可看到 OpenCode 的网页界面。

OpenCode Web服务主页界面

如果设置了自定义账号密码,则需要先登录。

OpenCode Web登录界面

从实际体验来看,用它来执行代码编写和调试任务效果不错。其核心在于利用强大的人工智能模型来理解开发者的意图。

OpenCode运行界面,展示数据统计与对话

通过Web界面,在手机上也能方便地查看和管理与AI代理的对话记录。

手机端查看OpenCode对话记录截图

参考文档

anomalyco/opencode: The open source coding agent.
地址:https://github.com/anomalyco/opencode/

OpenCode | 开源 AI 编程代理
地址:https://opencode.ai/

Package opencode
地址:https://ghcr.io/anomalyco/opencode

如果你想了解更多关于AI编程助手或Docker部署的实战技巧,欢迎访问云栈社区的技术板块进行交流与探索。




上一篇:RuoYi 4.8.0后台RCE漏洞原理与利用分析:绕过计划任务白名单实现任意代码执行
下一篇:FrankenPHP Worker模式:彻底告别传统PHP框架重复加载的性能顽疾
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-28 23:03 , Processed in 0.080933 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表