直接使用 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 | 会话管理与上下文恢复 |
| Server | opencode 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 时,这些能力同样可用;所不同的是,你需要自行启动 opencode 或 opencode serve,并通过 OpenCode 自身的配置体系来管理。
相关文档
文档捉虫