能力配置
适用角色:管理员
前置条件:已接入模型厂商
本篇覆盖平台七层能力中的四层:智能体 → 场景 → 插件 → MCP 工具。它们共同决定 AI 能做什么。
目录
| 节 | 内容 | 作用 |
|---|---|---|
| 一、智能体设置 | 主代理/子代理、提示词、工具权限 | 定义 AI 的角色 |
| 二、动态场景 | 预置提示词+工具组合 | 沉淀常用工作流 |
| 三、插件管理 | 注册、安装、启停插件 | 扩展 AI 能力 |
| 四、MCP 配置 | 接入外部工具与数据源 | 连接外部世界 |
一、智能体设置

| 列 | 说明 |
|---|---|
| 名称 | 智能体名称 |
| 类型 | 主代理/子代理 |
| 描述 | 用途说明 |
| 状态 | 上线/下线 |
| 操作 | 编辑、删除 |
| 类型 | 数量限制 | 用途 |
|---|---|---|
| 主代理 | 运行时只保留第一个 primary agent | 平台的默认助手,所有用户的默认选择 |
| 子代理 | 多个 | 专职处理特定任务,由主代理按需委派 |
注意 · 主代理由安装向导在初始化时创建(默认为「主智能体」)。改动主代理会让所有在线用户的会话短暂中断约 2 秒,会话内容不丢失。
1.1 添加智能体

| 字段 | 必填 | 说明 |
|---|---|---|
| 名称 | ✅ | 如 my-agent |
| 类型 | ✅ | 主代理/子代理 |
| 描述 | — | 用途说明 |
| 系统提示词 | — | 定义 AI 的角色与行为准则 |
| 工具权限 | — | 按类别勾选,见下 |
| 头像 | — | png/jpg/webp,≤ 2MB |
| 模型 | — | 留空则使用默认语言模型 |
| 状态 | — | 上线/下线 |
1.2 工具权限
工具权限按 10 个类别分组勾选:
| 类别 | 包含的工具 |
|---|---|
| 文件操作 | read(读取文件内容)、write(创建新文件)、edit(修改现有文件)、apply_patch(应用补丁) |
| 文件搜索 | glob(按模式查找文件)、grep(搜索文件内容)、ast-grep 搜索/替换 |
| Shell 命令 | bash(执行命令) |
| 代理/会话 | task(子任务) |
| Web | webfetch(获取网页)、websearch(搜索网络) |
| LSP | 语言服务器协议相关 |
| 待办事项 | todowrite(任务清单管理) |
| Skill/MCP | skill(调用技能) |
| 后台任务 | 后台异步任务 |
| 图像生成 | image_generation(AI 生图) |
提示 · 权限越宽,AI 能力越强但风险越高。建议按岗位分配:只需写文档的角色可关闭 bash 与 web;研发角色才开放 Shell 与文件写入。
注意 · 修改工具权限需 OpenCode 服务在线才能读取原生工具列表。若提示「获取原生工具列表失败,请确保 OpenCode 服务已启动」,先确认有在线用户容器。
1.3 编辑与删除


删除主代理前需先指定新的主代理,否则用户将无可选的智能体。
二、动态场景

场景是预置的提示词+工具组合。用户激活后免去每次重复描述背景。
| 列 | 说明 |
|---|---|
| 场景名称 | 名称 |
| 描述 | 用途说明 |
| 所属分组 | 该场景对哪些分组可见 |
| 操作 | 编辑、排序、删除 |
2.1 添加场景

| 字段 | 必填 | 说明 |
|---|---|---|
| 场景名称 | ✅ | 如「代码审查场景」 |
| 所属分组 | ✅ | 至少选一个,决定谁能看到 |
| 场景说明 | — | 用途描述 |
| 场景提示词 | — | 作为附加 system 指令注入对话 |
| 场景提示 | — | 激活时展示给用户的 Markdown 说明 |
| 启用新会话 | — | 激活时自动开新会话,避免上下文串味 |
| 场景上下文 | — | 通过 noReply 注入的上下文信息 |
| 状态 | — | 上线/下线 |
提示 · 「启用新会话」建议开启。同一场景反复作用于同一会话时,上下文容易互相污染。
2.2 编辑与删除


2.3 排序与公开
| 能力 | 说明 |
|---|---|
| 排序 | 调整场景在下拉列表中的顺序,用户常用的排前面 |
| 公开 | 让场景对所有分组可见 |
三、插件管理

| 列 | 说明 |
|---|---|
| 名称 | 插件名 |
| 描述 | 功能描述 |
| 版本 | 插件版本 |
| 作者 | 插件作者 |
| 状态 | 已注册/已安装/已禁用 |
3.1 注册插件
在列表页点「注册插件」,填写插件元信息。
| 字段 | 必填 | 说明 |
|---|---|---|
| 名称 | ✅ | 如 my-plugin |
| 描述 | — | 功能描述 |
| 版本 | — | 如 1.0.0 |
| 作者 | — | 插件作者 |
| 依赖 | — | 逗号分隔,如 axios, lodash |
| 插件代码 | ✅ | 插件的 TypeScript 源码 |
注意 · 依赖项会由平台自动写入用户容器的 npm 依赖清单。注册只登记元信息,不安装。
3.2 安装与卸载


| 操作 | 效果 |
|---|---|
| 安装 | 写入用户容器的 opencode.jsonc 并拉取 npm 依赖 |
| 卸载 | 移除配置与依赖 |
| 启用/禁用 | 临时开关,不影响注册状态 |
| 删除 | 从列表中移除该插件 |
3.3 显示/隐藏禁用项

列表默认隐藏已禁用的插件。点「显示禁用」可查看全部已禁用项。

四、MCP 配置

| 列 | 说明 |
|---|---|
| 名称 | MCP 名称 |
| 来源 | 内置/系统/用户 |
| 类型 | 本地(启动命令)/远程(URL) |
| 状态 | 启用/停用 |
| 连接状态 | 已连接/连接失败/未连接/待授权/离线/未知 |
4.1 内置 MCP
平台预置两个公开远程 MCP,开箱即用,无需 API Key:
| 名称 | 用途 | 地址 |
|---|---|---|
context7 | 文档搜索 | https://mcp.context7.com/mcp |
websearch | 网页搜索 | https://mcp.exa.ai/mcp?tools=web_search_exa |
私有或付费的 MCP 需要自行添加。
4.2 添加 MCP
两种编辑方式,功能等价。
方式一 · 标准字段

| 字段 | 必填 | 说明 |
|---|---|---|
| 名称 | ✅ | 如 my-mcp |
| 类型 | ✅ | 本地/远程 |
| 命令 | 本地必填 | 如 npx -y @upstash/context7-mcp@latest |
| URL | 远程必填 | 如 https://mcp.context7.com/mcp |
| 环境变量 | ❌ | 每行一个 KEY=value |
| 超时时间 | ❌ | 毫秒,如 30000 |
方式二 · 源代码(JSON)

json
{
"my-mcp": {
"type": "local",
"command": ["npx", "-y", "@upstash/context7-mcp@latest"],
"enabled": true,
"environment": {
"CONTEXT7_API_KEY": "your-api-key"
}
}
}4.3 编辑与测试



4.4 详情

详情会实时抓取该 MCP 提供的工具清单,并显示抓取时间。
| 状态 | 含义 | 处理 |
|---|---|---|
| 已连接 | 可正常调用 | — |
| 连接失败 | 服务不可达 | 检查地址、凭证、网络 |
| 未连接 | 尚未建立连接 | 点「连接」 |
| 待授权 | 需要授权 | 按提示完成授权 |
4.5 删除

注意 · MCP 的启停与修改会热同步到所有在线用户容器,无需重启。
五、常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 用户看不到场景 | 场景未分配分组,或处于下线 | 编辑场景调整分组与状态 |
| 场景下拉为空 | 所有场景都下线了 | 检查状态 |
| 工具权限列表为空 | 没有在线的用户容器 | 确认有用户容器运行中 |
| MCP 一直「未连接」 | 未点连接,或服务不可达 | 手动连接并看错误信息 |
| 插件装不上 | 依赖名错误或网络不通 | 检查依赖字段 |
| 改了智能体后用户界面没变 | 需要等容器 reload(约 20 秒) | 重启智能体可立即生效 |
| 用户列表里的 MCP 不见了 | 用户自建的 MCP 仅本人可见 | 见我的 MCP |
六、相关页面
| 页面 | 内容 |
|---|---|
| 模型厂商接入 | 模型层的配置 |
| 资产 | 技能与重要文档的仓库绑定与授权 |