找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1913

积分

0

好友

255

主题
发表于 11 小时前 | 查看: 2| 回复: 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框架重复加载的性能顽疾
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2026-3-1 21:03 , Processed in 0.381682 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

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