转 OpenCode 详细入门指南

 


sample 1
https://blog.csdn.net/2401_88644935/article/details/160409541
OpenCode 详细入门指南,从安装到使用保姆级教程

 

 

sample2  opencode dos 版本常用的编辑命令,复制粘贴,和使用方法

一、DOS 自带编辑器:EDIT.COM   -> opencode 就是使用这种语法模式
这是 MS-DOS 6.22 / Windows 9x 自带的文本编辑器。
常用命令(菜单栏操作,按 Alt 激活菜单)
表格
功能 快捷键/操作
复制 Ctrl + Insert 或菜单 Edit → Copy
粘贴 Shift + Insert 或菜单 Edit → Paste
剪切 Shift + Delete 或菜单 Edit → Cut
保存 Alt + F → S 或 F2
退出 Alt + F → X 或 Alt + F4
查找 Alt + S → F 或 Ctrl + QF
替换 Alt + S → R 或 Ctrl + QA
块选择 Shift + 方向键
注意:DOS 下没有系统剪贴板,EDIT 的复制粘贴仅在编辑器内部有效。
二、Turbo C / Borland C++ 编辑器
如果是编程环境,Turbo C 的编辑器快捷键如下:
表格
功能 快捷键
复制 Ctrl + Insert
粘贴 Shift + Insert
剪切 Shift + Delete
复制一行 Ctrl + K + C
删除一行 Ctrl + Y
块标记开始 Ctrl + K + B
块标记结束 Ctrl + K + K
块复制 Ctrl + K + C(光标放到目标位置)
块移动 Ctrl + K + V
块删除 Ctrl + K + Y
保存文件 F2
编译运行 Ctrl + F9

 

sample 2.2.

 

A:反斜杠 / 输入session ,可以切换到之前保存的session. 

 

 

sample 3

opencode 如何识别我的电脑的python3.10 环境,现在只识别到了 python36环境

A: 1.opencode 对话框告诉 识别这个目录D:\python310\pythonProject\venv\Scripts\python.exe
2.免费的key 可以对2个excel进行识别.做如下任务:比如

合并5.xls和6.xls 成 7.xls

 

 sample4


Q:pm install -g opencode-ai 安装的 opencode ,但是我不知道安装到哪个目录下

A:

# 一条命令搞定:查看安装位置 + 版本
npm root -g && where opencode && opencode --version

 

Q:opencode skill目录 ,但是我不知道安装到哪个目录下

A2(推荐): 1.给出绝对路径,以下是默认的全局skll 目录

C:\Users\1\.config\opencode\skills\<name>\SKILL.md

通过是空的,如果需要创建新的skill,那么需要下载skill-creator 这技能,然后复制到上面的目录,这样才可以识别。

 2.项目工作级技能 你的项目路径\.opencode\skills\

 

Q:如何设置项目工作目录

方案四:把项目工作目录直接设到D:\skill\opencode_project(最省事)

既然 OpenCode 要访问这个目录,干脆直接以这个目录作为工作区打开:

  1. 关闭当前 OpenCode

  2. 重新打开 OpenCode,moberxtem 新开cmd 窗口 ,编辑会话,修改启动目录,选择 Open Folder 或 File -> Open

  3. 选择 D:\skill\opencode_project

  4. 这样D:\skill\opencode_project

     就成为工作区,不需要任何 external_directory 权限

之后 /skills 应该能直接识别到 excel-merge 技能。

          5.所有项目skills 理论上应该在这个项目工作目录下

           6.所有要处理的文件也放在该项目目录的tmp1目录(可以自定义的目录)  

所以皮


Q: 如果 使用skill-create 技能网络中断,导致hang住
A:直接esc ,然后回复网络,通过dos 上下键 移动,直接重跑命令

 

 sample4.2

Q; 如何定义opencode的项目入口
A: 定义mobxterm 的 cmd 的 基本shell设置的 启动目录
1.D:\IT 支持\skill\opencode_project

 

 sample 4.3

 


Q:为啥/skills 还是无法识别到D:\IT 支持\skill\excel-merge这个skill

A:
△Permission required Connect from 75+ providers to
┃ ← Access external directory D:\IT 支持\skill\excel-merge use other models, including
┃ Claude, GPT, Gemini etc
┃ Patterns
┃ Connect provider /connect
┃ - D:\IT 支持\skill\excel-merge\*


原因:
1. 目录位置错误
OpenCode 不会主动扫描任意磁盘路径下的 skill 文件夹。技能必须放置在固定的专属目录中:

工具 全局技能路径(Windows)
OpenCode %USERPROFILE%\.config\opencode\skills\
项目级技能 你的项目路径\.opencode\skills\
你的路径 D:\IT 支持\skill\ 不在上述任一目录中,因此 /skills 命令无法扫描到它。

修复方法:
将skills 移动到 这个目录下 “你的项目路径\.opencode\skills\”

 

用这个方法:方案四:把项目工作目录直接设到D:\skill\opencode_project(最省事)

既然 OpenCode 要访问这个目录,干脆直接以这个目录作为工作区打开:

  1. 关闭当前 OpenCode

  2. 重新打开 OpenCode,moberxtem 新开cmd 窗口 ,编辑会话,修改启动目录,选择 Open Folder 或 File -> Open

  3. 选择 D:\skill\opencode_project

  4. 这样D:\skill\opencode_project

     就成为工作区,不需要任何 external_directory 权限

之后 /skills 应该能直接识别到 excel-merge 技能。

          5.所有项目skills 理论上应该在这个项目工作目录下

           6.所有要处理的文件也放在该项目目录的tmp1目录(可以自定义的目录)  

 

 

 

 sample 4.5 

Q:opencode 输出特别长,超过100行,怎么查看上面的资料

A: 使用pageup,使用pagedown ,也可以使用/export 导出会话

 

 

sample 4.6 

Q:opencode 安装 -> 使用, 

 

A:

  1. 将下面内容粘贴到.opencode.json文件中,对应内容需要修改
 
 
 
    {
   
    "$schema": "https://opencode.ai/config.json",
    "provider": {
   
        "斜线前": {
   
        "options": {
   
            "baseURL": "模型对应的api",
            "apiKey": "自己的apikey"
        },
        "models": {
   
            "使用的模型1": {
   
            "name": "使用的模型",
            "id": "使用的模型"
            },

        }
        }
    },
    "model": "斜线前/默认使用的模型"
    }
 

使用

 
 
 
# 启动
opencode
 

有两种agent,可以用tab切换

  • build :默认模式,适合文件操作
  • plan :适用于指定计划,默认拒绝修改文件

其他命令

 
 
 
# 切换模型
/models
# 多对话并行
## 新建会话
/new
## 选择会话
/sessions

# 导出对话文件
/export
# 对话分享网页
/share
# 结束分享
/unshare

 

 参考文档

opencode 安装 -> 使用
https://developer.aliyun.com/article/1711158?spm=a2c6h.13262185.profile.5.62a03c4d3ovFXL

 

 

 

 

Q:.opencode.json 在哪个目录下

.opencode.json 在 C:\Users\1\ 目录下

或者

opencode.jsonc 在 C:\Users\1\.config\opencode 目录下

 

 

Q4.7  如何 使用 OpenCode 的 JSON 配置文件进行配置。  JSON 配置文件详解

A: 参考文档 https://opencodeguide.com/zh/docs/config/

Config

使用 OpenCode 的 JSON 配置文件进行配置。

格式

OpenCode 支持 JSON 和 JSONC(带注释的 JSON)两种格式。
{
  "$schema": "https://opencode.ai/config.json",
  // Theme configuration
  "theme": "opencode",
  "model": "anthropic/claude-sonnet-4-5",
  "autoupdate": true
}
文件名示例:opencode.jsonc

配置位置与优先级

你可以将配置文件放在多个位置,不同位置有不同的优先级。
配置文件之间是合并关系,而不是完全替换。后面加载的配置会覆盖前面同名的键,不冲突的配置会全部保留。
示例:全局配置设置了 theme: "opencode" 和 autoupdate: true,项目配置设置了 model: "anthropic/claude-sonnet-4-5",最终会同时拥有这三个配置项。

加载优先级顺序(从先到后,后者覆盖前者)

  1. Remote config(来自 .well-known/opencode) - 组织级默认配置
  2. Global config(~/.config/opencode/opencode.json) - 用户全局偏好
  3. Custom config(环境变量 OPENCODE_CONFIG 指定路径) - 自定义覆盖
  4. Project config(项目根目录下的 opencode.json) - 项目专用配置
  5. .opencode 目录 - 存放 agents、commands、plugins 等
  6. Inline config(环境变量 OPENCODE_CONFIG_CONTENT) - 运行时直接传入覆盖

Remote(远程组织默认配置)

组织可以通过 https://your-domain/.well-known/opencode 提供默认配置,在认证时自动拉取,作为最底层配置。
{
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": false
    }
  }
}
远程配置示例
可在本地配置中将其开启:
{
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

Global(全局配置)

路径: ~/.config/opencode/opencode.json
用于设置用户级偏好(如主题、模型、快捷键等)。

Project(项目配置)

在项目根目录创建 opencode.json,优先级最高(在标准配置文件中),可安全提交到 Git。
OpenCode 会从当前目录开始向上查找,直到找到 git 根目录。

Custom path(自定义配置文件路径)

通过环境变量:
export OPENCODE_CONFIG=/path/to/my/custom-config.json
opencode run "Hello world"

Custom directory(自定义配置目录)

export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
可用于存放 agents、commands、modes、plugins 等,结构与 .opencode 相同,优先级高于默认 .opencode 目录。

Schema(配置结构定义)

完整 schema 地址:https://opencode.ai/config.json
编辑器支持自动补全与校验。
 

Keybinds(快捷键)

{
  "keybinds": {
    // 自定义按键绑定
  }
}

Autoupdate(自动更新)

{
  "autoupdate": false     // boolean | "notify"
}

Formatters(代码格式化工具)

{
  "formatter": {
    "prettier": {
      "disabled": true
    },
    "custom-prettier": {
      "command": ["npx", "prettier", "--write", "$FILE"],
      "extensions": [".js", ".ts", ".jsx", ".tsx"]
    }
  }
}

Permissions(权限控制)

默认全部允许,可改为:
{
  "edit": "ask",
  "bash": "ask",
  "write": "deny"
}
支持通配符,如 mymcp_* : "ask"
 
 
 
 

Q1:
opencode启动失败
D:\IT 支持\skill\opencode_project>opencode
Error: 4 of 5 requests failed: Unexpected server error. Check server logs for details.
Affected startup requests: config.providers, provider.list, app.agents, config.get
at vO (B:/~BUN/root/chunk-dk74dn3y.js:470:117)
at <anonymous> (B:/~BUN/root/chunk-dk74dn3y.js:470:5550)
at processTicksAndRejections (native:7:39)

A:检查opencode 启动日志C:\Users\1\.local\share\opencode\log

发现日志报错如下:读取配置文件失败
INFO 2026-05-25T06:02:40 +2ms service=config path=C:\Users\1\.config\opencode\opencode.json loading
INFO 2026-05-25T06:02:40 +1ms service=config path=C:\Users\1\.config\opencode\opencode.jsonc loading
ERROR 2026-05-25T06:02:40 +12ms service=server ref=err_db3be4e1 error=ConfigJsonError cause=ConfigJsonError: ConfigJsonError

经过检查opencode.jsonc,发现配置项目结尾少了,
"$schema": "https://opencode.ai/config.json",
"permission": {



Q2:

为了让项目识别配置文件,
1.把 系统的目录 C:\Users\1\.config\opencode下的opencode.jsonc 复制一份到项目的 D:\IT 支持\skill\opencode_project\.opencode 目录下
2.加入如下权限识别语句
"permission": {
"external_directory": {
"D:/视频/**": "allow"
},
"edit": {
"~/projects/personal/**": "deny"
}
}

 

Q4: 为啥 mobxtem 里cmd,总是超时,提示Session stopped, ctrl+c 是Session stopped
https://blog.csdn.net/ydk888888/article/details/134599433
A:

 

方法1:通过opencode 对话框反问,如何设置session 永远 不超时,得到解答
C:\Users\1\Documents\WindowsPowerShell\Microsoft.PowerShell_profile
$env:OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS = "3600000"


方法2(无效)

 

1、MobaXterm

(1)设置ssh 超时时间

(2)设置保持连接

如果服务器端设置了超时时间,会以服务器为准,具体设置:



Q5: 如何复制之前的问题,
A: 直接选中文字,既可以复制,不用按 CTRL+C

 

Q.session 日志记录在哪里
A: C/USERS/USERNAME/APPDATA\LOCAL\TEMP\MXT200\VAR\LOG\XWIN\OPENCODE

sample 3

secureCRT 本身是一个运行在 Windows 上的终端仿真软件,主要用于 SSH 连接 Linux/Unix 服务器,因此它无法直接“进入”本地的 CMD (命令提示符)。

不过,根据你的实际需求,有以下两种方法可以实现类似的效果:

1. 想要从 SecureCRT 切换回 Windows CMD
如果你已经连接到了远程服务器,想回到 Windows 本地执行命令,有几种快捷操作:

最小化/切换窗口:直接使用 Alt + Tab 切换到 CMD 窗口即可,无需关闭 SecureCRT 连接。

新建本地 Shell 标签页:点击工具栏上的 “Connect a local shell” 图标(电脑屏幕带闪电标志的图标),SecureCRT 会新建一个标签页,直接打开 Windows 本地的命令行环境。

断开连接:在已连接的标签页中输入 exit 或 logout 命令,断开 SSH 会话后就能回到 Windows 本地 Shell。

 

 

Q:skills 如何隐形调用

A: 主要看skills 的调用里的name和description,这也是猜的
---
name: doc-analyzer
description: 文档问题分析工具。当用户提供 .xlsx/.txt/.docx/.pdf/.csv 文件并要求分析问题原因、查找故障根因、诊断异常、或给出解决方案时触发。支持批量分析多个文件。无论领域(IT运维、医疗健康、业务报表、系统日志等),只要用户想从文档中找出"出了什么问题、为什么、怎么解决",就应使用本技能。用户可能说"分析这个文件""看下这个文档有什么问题""诊断一下""查下原因""怎么回事""为什么报错""帮忙分析一下"等,都应触发。注意:如果用户只是要合并Excel或格式转换,应交给对应技能处理。
---

 

Q2:如何手工修改skill.md, description里加入了一些描述,导致skill无法识别

A: 1.尽量不要手工修改 description,可能某些特殊符号无法转义。
2.直接在命令行,让AI 自动修改skill


官方文档
https://opencodeguide.com/zh/docs/configure/agent-skills/
http://opencode.ai/docs/zh-cn/commands/

 

 

 

sample4.1   Workbuddy实战 安装GITHUB上开源 女娲.skill 三分钟为你的数字分身“灌注”顶级思维,也可以在opencode 下安装

 

 

 
posted @ 2026-05-18 15:56  feiyun8616  阅读(466)  评论(0)    收藏  举报