直接使用 OpenCode

产品概述

OpenCode 是驱动 Witty CLI 的智能体框架(agent framework)。Witty 所有后端交互统一建立在 opencode serve 之上:会话操作走 HTTP API,流式事件走 SSE,权限 / Question 回复走 API,Agent / MCP / Session 元信息也来自 OpenCode。

对普通用户而言,Witty CLI 已经封装好终端入口,无需直接接触 OpenCode。本手册面向需要绕过 Witty CLI、直接使用 OpenCode(或深入理解其底层实现)的进阶用户,介绍如何在 openEuler 上使用 OpenCode 以及其托管配置结构。

版本说明:本节基于 openEuler 24.03 LTS 上当前安装的 OpenCode(1.17.x)。OpenCode 自身按上游进度发布,具体命令与配置以 opencode.ai/docs 为准。

OpenCode 能做什么

OpenCode 是一个面向终端与服务器的智能体框架,围绕以下核心能力组织:

能力说明
Agent智能体定义,可配置角色提示词、权限与默认模式(primary / subagent / all)
Skill场景化能力包,供 Agent 按需加载(如诊断、绘图、报告等)
MCP模型上下文协议服务,连接外部数据与工具(如 openEuler 官网门户)
Permission对工具、文件、shell 等操作的授权策略(allow / ask / deny)
Session会话管理与上下文恢复
Serveropencode serve 提供无头 HTTP + SSE 服务,供客户端(如 Witty)对接

Witty 与 OpenCode 的关系

  • Witty CLI 为终端用户提供 Shell 直输与 REPL 两种入口;
  • Witty 自身不实现智能体逻辑,而是复用 OpenCode 的 Agent / Skill / MCP / Permission 能力;
  • 安装 Witty 后,witty-agent-loader 会在 /etc/opencode/opencode.json 中聚合生成 OpenCode 配置,注册内置 Agent、Skill 与 MCP。

因此,直接使用 OpenCode 时,这些能力同样可用;所不同的是,你需要自行启动 opencodeopencode serve,并通过 OpenCode 自身的配置体系来管理。

相关文档