OpenCode使用入门

0 阅读7分钟

[TOC]

Opencode

OpenCode 是一个开源的 AI 编程代理(AI coding agent),支持在终端(Terminal)、桌面应用和主流 IDE(如 VS Code)中与 AI 交互完成代码相关任务。

OpenCode 可以帮助我们理解代码库、编写新功能、重构代码、修复 Bug 等,大幅提升开发效率。

关键特性:

两种内置 Agent 模式:

  • Build 模式: 全权限,可直接编辑文件、执行命令。
  • Plan 模式: 只读规划,默认拒绝编辑,需要确认。

工具集: bash 执行、文件读写、 grep 搜索、 LSP 诊断等。

上下文感知: 自动分析项目结构,生成 AGENTS.md 指南。

分享与协作: 一键生成会话分享链接。

下载与安装

  1. 下载编译器 nodejs

    Node.js — 下载 Node.js®

image-20260204215648691.png

此处要勾选:

72439f8f-757a-4e6d-bc07-c437acc54db6.png

  1. 执行下面命令一键安装:

    npm install -g opencode-ai
    

image-20260204215907372.png

  1. 验证安装:

    opencode -version
    

image-20260204215947500.png 如果输出类似 1.1.19 这种的版本号信息表示安装成功。

启动与使用

启动 OpenCode 只需要终端输入启动命令:

opencode

image-20260204222126742.png

(标题因为win10系统和opencode艺术字渲染不兼容导致乱码,暂时无法解决)

首次启动会引导完成基础配置:

  • 模型选择: 默认展示可用模型列表,可直接选择标注 Free 的免费模型(如 MiniMax M2.1、 GLM-4.7),无需 API Key 即可使用。
  • 登录选项: 可选择跳过登录,后续需对接商业模型时再配置 API Key,也可登录 Claude Code Pro账号调用专属模型。

启动成功后进入 TUI 界面,即可开始使用核心功能。

我们可以在终端输入 /models 查看可用的免费模型:

image-20260204222312632.png

配置 API 密钥与模型

如果你连接一个 AI 提供商的 API 密钥,例如 OpenAI 或 Anthropic Claude,运行:

opencode auth login

或者在终端启动后输入:

/connect

image.png

基本使用

进入你想处理的项目目录:

cd /path/to/your/project
opencode

项目初始化

在 OpenCode 界面中,运行:

/init

image-20260205143848614.png

OpenCode TUI 常用 Slash 命令速查表

命令描述别名/快捷键
/connect添加或配置 LLM 提供商(API Key)
/init创建或更新项目 AGENTS.md 文件(分析代码库)Ctrl+X I
/models列出可用模型并切换Ctrl+X M
/new开始新会话(清除当前)/clear / Ctrl+X N
/sessions列出并切换会话
/share分享当前会话(生成链接)Ctrl+X S
/unshare取消分享当前会话
/compact压缩/总结当前会话
/undo撤销最后操作(需 Git 仓库,支持文件变更回滚Ctrl+X U
/redo重做已撤销的操作(需 Git 仓库)Ctrl+X R
/details切换工具执行详情显示Ctrl+X D
/thinking切换思考/推理过程可见性
/theme列出并切换主题
/help显示帮助对话框Ctrl+X H
/export导出当前对话为 Markdown 并打开编辑
/exit退出 OpenCode/quit / /q / Ctrl+X Q

Agent Skills

Agent Skills 是一个由 Anthropic 牵头维护的 开放标准,通过定义特定任务执行规范,能便捷地将个人经验转化为技能,快速构建轻量级的智能体。

技能商店

推荐使用 Vercel 出品的The Agent Skills Directory 排行榜,可以直观查看当前最受欢迎的 Skills 仓库和单个 Skill 的使用情况。还可以辅助使用 Agent Skills 市场 - Claude、Codex 和 ChatGPT Skills | SkillsMP 商店,该商店中自动抓取了 Github 上的所有的 Skills 项目,并按照分类、更新时间、 Star 数量等标签进行了整理。

其他特色 Agent Skills 商店还有:

编程工具

要在编程工具中安装 Agent Skills,只需要将 Skill 文件夹放入对应的路径即可。

建议使用 Vercel 官方出品的 npx skills add <owner/repo> 命令行工具快速添加,具体参数参见skills - npm

精选技能

网络安全

  • tanweai/wooyun-legacy:基于 WooYun 2010-2016 年间收录的 88,636 个真实漏洞案例,提炼出的安全知识库。装上这个 Skill 后, Claude/opencode 能像资深安全专家一样思考漏洞问题。(下面这种方式是全局配置)
npx skills add tanweai/wooyun-legacy

image-20260205162256726.png

(可以让AI帮你执行安装命令并分析错误)

技能创建

  • anthropics/skills/skill-creator: Anthropic 官方出品用于创建 skill 的元技能,可快速创建和迭代个人专属的 skill

  • yusufkaraaslan/Skill_Seekers: 自动化抓取文档网站、 GitHub 仓库和 PDF 文件转换为 Agent Skills

文档处理

  • docx:创建和编辑 Word 文档的 Skill
  • pptx:创建和编辑 PowerPoint 的 Skill
  • xlsx:创建和编辑 Excel 的 Skill
  • pdf:创建和编辑 PDF 的 Skill

官方项目

  • anthropics/skills: Anthropic 出品的 Skills 集合
  • vercel-labs/agent-skills: Vercel 出品的 React Skills 集合
  • expo/skills: Expo 出品的 React Native Skills 集合
  • supabase/agent-skills: Supabase 出品的 PostgreSQL 最佳实践
  • remotion-dev/skills: Remotion 出品的使用 Remotion 创建视频内容
  • langgenius/dify: Dify 出品的多功能 Skills 集合
  • huggingface/skills: HuggingFace 出品使用 Skill 训练大模型
  • kepano/obsidian-skills: Obsidian CEO 出品增强 Obsidian 功能的 Skills 集合

内容创作

  • JimLiu/baoyu-skills:宝玉的自用 SKills 集合,包括公众号写作、 PPT 制作等
  • github.com/op7418):歸藏制作的一系列 Skills 集合,包括 PPT 制作、 Youtube 分析等
  • wshuyi/x-article-publisher-skill: 王树义发布 X 文章的 Skillhuangserva/skill-prompt-generator: huangserva 使用 Skill 生成和优化 AI 人像文生图提示词的Skill

编程辅助

  • obra/superpowers:涵盖完整编程项目工作流程的 Skills 集合
  • ComposioHQ/awesome-claude-skills:涵盖多个编程类任务的优质 Skills 集合
  • nextlevelbuilder/ui-ux-pro-max-skill:面向 UI/UX 设计的 Skills 集合
  • OthmanAdi/planning-with-files:使用文件规划实现长期 Plan 效果的 Skill
  • hyf0/vue-skills:面向 Vue.js 开发的 Skills 集合

产品使用

  • teng-lin/notebooklm-py:操控 NotebookLM 的Skill
  • czlonkowski/n8n-skills:创建 n8n 工作流的 Skills 集合
  • cloudai-x/threejs-skills: 面向 Three.js 开发的 Skills 集合

配套工具

  • openskills: Skills 全局加载工具,支持多种 Agent 工具
  • skild.sh:在多个工具中安装、管理和同步 Skills 的命令行工具
  • agent-skills-guard: Agent skills 可视化管理+精选仓库+安全扫描
  • skillmaster:通过终端管理、安装和使用 Agent Skills

利用AI工具实现前端绕过

前端明文加密绕过

启用 encrypt 靶场,添加断点调试:

image-20260205152811556.png

将整段加密函数复制到opencode目录下,并将发包信息和服务端模板一起丢给AI

app.py:

from flask import Flask, request
import re
import hashlib
import hmac

app = Flask(__name__)

secret_key = "be56e057f20f883e"

@app.route('/encode',methods=["POST"])  # base64加密
def encrypt():
	param = request.form.get('dataBody')

	

@app.route('/decode',methods=["POST"])
def decrypt():
	param = request.form.get('dataBody')

	return param

if __name__ == '__main__':
	app.run(host="0.0.0.0",port="5000")

最后让AI完善代码,用 python3 appp.py 启动服务端,利用burp的插件调用服务端:

image-20260206160728916.png

成功实现前端明文加密绕过。

image-20260206160809705.png

服务端请求加签 key 绕过

这里需要明确把服务端加签 key 请求包和响应包发给AI,再把登陆包也发给AI

image-20260206174446510.png

再明确告诉AI,需要再app.py中复现前端加密过程,而不是实现签名生成或签名验证。

最后告诉 AI 需要用 param = request.form.get('dataBody') 固定的接受方式,不然无法兼容burp发包。

最后漏洞复现成功:

image-20260206174914501.png

image-20260206174900046.png

时间戳加密的禁止重放绕过

时间戳加密的key是经过混淆的,也在前端代码中。先将一部分直接执行的代码喂给AI,让AI指导我们去找到相关函数。

image-20260206213723534.png

最好不要把全部前端都喂给一个AI。这样很容易误导AI的下一步操作。手动找到混淆过后的key后喂给AI看。

image-20260206213953221.png 再让AI判断前端加密验证的类型,正确后让AI在app.py中复现加密过程。

最后复现成功:

image-20260206214143671.png

image-20260206214158399.png

用roocode编写表单爆破工具

burp插件

copy as python-requets插件,可以直接将http请求转化成python代码

image-20260210125534217.png

安装即可使用:

image-20260210125814619.png

粘贴并让AI在这个基础上进行编写

image-20260210125926527.png

RooCode使用方法

配置API密钥:

image-20260210131956551.png

角色用法:

image-20260210130135061.png

编写后自动执行,结果爆破成功:

image-20260210132158377.png

image-20260210132246435.png