{"id":49621,"date":"2026-02-04T19:37:51","date_gmt":"2026-02-04T11:37:51","guid":{"rendered":"https:\/\/www.1ai.net\/?p=49621"},"modified":"2026-02-04T19:37:51","modified_gmt":"2026-02-04T11:37:51","slug":"opencode%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b%e6%8c%87%e5%8d%97%ef%bc%8c%e7%81%ab%e7%88%86%e5%85%a8%e7%bd%91%e7%9a%84ai-skills%e6%80%8e%e4%b9%88%e7%94%a8%ef%bc%9f","status":"publish","type":"post","link":"https:\/\/www.1ai.net\/en\/49621.html","title":{"rendered":"OpenCode installation course guide. How does AI Skills work"},"content":{"rendered":"<p>Recently<a href=\"https:\/\/www.1ai.net\/en\/tag\/skills\" title=\"[See articles with [Skills] labels]\" target=\"_blank\" >Skills<\/a>\"IT'S TOO HOT IN AI<\/p>\n<p>Everybody's using it to add all kinds of \"buffs,\" make it write code, form, etc<\/p>\n<p>But a lot of little friends are watching GitHub get excited about the Skills, and when the locals want to play, there's a lot of trouble with Claude code<\/p>\n<p>I've been asked by a lot of young people before<a href=\"https:\/\/www.1ai.net\/en\/tag\/opencode\" title=\"_Other Organiser\" target=\"_blank\" >OpenCode<\/a>I'll borrow Skills to talk about OpenCode's deployment and use<\/p>\n<p>It's very simple, whether you want to use a graphical or a command line<a href=\"https:\/\/www.1ai.net\/en\/tag\/%e6%95%99%e7%a8%8b\" title=\"_Other Organiser\" target=\"_blank\" >Tutorial<\/a>It'll make it easy for you<\/p>\n<p>Let's start with OpenCode. Skills<\/p>\n<p>Table of contents:<\/p>\n<p>1. How to download and install OpenCode<\/p>\n<p>2. How to install and configure Skills<\/p>\n<p>3. Method of setting environmental variables<\/p>\n<p>4. Common commands and operating techniques<\/p>\n<p>5. How to address problems encountered<\/p>\n<p>6. How to create their own Skills<\/p>\n<p><strong>I. Download installation, super simple<\/strong><\/p>\n<p><strong>Download address:<\/strong><\/p>\n<p>https:\/\/opencode.ai\/download<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49624\" title=\"b3acdb42j00t9xmhb000sd000u000gp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/b3acdb42j00t9xmhb000sd000u000grp.jpg\" alt=\"b3acdb42j00t9xmhb000sd000u000gp\" width=\"1080\" height=\"603\" \/><\/p>\n<p>in order for you to reduce the unnecessary time consumption associated with the deployment of the installation, we can choose to use the windows desktop-end approach. the software installation is simple and will not be repeated here\u3002<\/p>\n<p>once installed, there will be three exe programs under the directory:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49623\" title=\"6d868886j00t9xmj40007d000em003qp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/6d868886j00t9xmj40007d000em003qp.jpg\" alt=\"6d868886j00t9xmj40007d000em003qp\" width=\"526\" height=\"134\" \/><\/p>\n<p>\u2022\u00a0<strong>OpenCode.exe<\/strong>\u00a0- This is the OpenCode desktop end. It's with an interface. The whole interface is clear<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49626\" title=\"ec5382f8j00t9xmi2000d000uelp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/ec5382f8j00t9xmi20008d000u000elp.jpg\" alt=\"ec5382f8j00t9xmi2000d000uelp\" width=\"1080\" height=\"525\" \/><\/p>\n<p>\u2022\u00a0<strong>OpenCode-cli.exe<\/strong>\u00a0- THAT'S THE CLASSIC COMMAND LINE MODE<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49622\" title=\"58e3f363j00t9xmih000ld000u000dup\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/58e3f363j00t9xmih000ld000u000dup.jpg\" alt=\"58e3f363j00t9xmih000ld000u000dup\" width=\"1080\" height=\"498\" \/><\/p>\n<p>\u2022\u00a0<strong>i'm sorry<\/strong>\u00a0- Unmount Program<\/p>\n<p><strong>II. Installing Skills to experience more functionality<\/strong><\/p>\n<p>let's start with a few skills to experience, configuration, operation, etc\u3002<\/p>\n<p>Double-click OpenCode-cli.exe to open the interface and ask \"What can I use?\"<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49625\" title=\"2bd5a730j00t9xmj000pd000u000gmp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/2bd5a730j00t9xmjj000pd000u000gmp.jpg\" alt=\"2bd5a730j00t9xmj000pd000u000gmp\" width=\"1080\" height=\"598\" \/><\/p>\n<p>as you can see from the above, i don't have any skills, okay, let's add some now<\/p>\n<blockquote>\n<ul>\n<li><em>LITTLE TIP: I'VE CONFIGURED MY OWN MODEL, SO THE MODEL YOU SEE HERE MAY NOT BE THE SAME, BUT IT DOESN'T MATTER, AND THEN I'LL TELL YOU HOW TO CONFIGURE THE API\u3002<\/em><\/li>\n<\/ul>\n<\/blockquote>\n<p>next, let's download the compressor pack from skills website, or we can download skills from github<\/p>\n<p><strong>Here's an official Skills presentation<\/strong><\/p>\n<ul>\n<li>1. create a directory under the software installation catalogue called .opencode, with a good look<\/li>\n<li>2. GitHub address: https:\/\/github.com\/antropics\/skills<\/li>\n<li>3. when the download is completed, the following contents will be visible with the uncompression file<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49627\" title=\"b38f2827j00t9xmku000d000ib006bp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/b38f2827j00t9xmku000dd000ib006bp.jpg\" alt=\"b38f2827j00t9xmku000d000ib006bp\" width=\"659\" height=\"227\" \/><\/p>\n<ul>\n<li>4. copy the skills here into the directory that was just created<strong><br \/>\n<\/strong>return to opencode and enter\/init back into it, at which point it will be seen that opencode is beginning to understand the project and load these skills\u3002<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49629\" title=\"9a8a389g00t9xmgg00n2d000tz00jpm\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/9a8a389ag00t9xmgg00n2d000tz00jpm.gif\" alt=\"9a8a389g00t9xmgg00n2d000tz00jpm\" width=\"1079\" height=\"709\" \/><\/p>\n<blockquote>\n<ul>\n<li><strong>Notice:<\/strong>\u00a0Before entering\/init, you need to press the tab of the keyboard to switch the plan to the bild mode\u3002<\/li>\n<\/ul>\n<\/blockquote>\n<p><strong>Verify Installation<\/strong>\"what can i use?\"<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49628\" title=\"6196bd6j00t9xmmg001ed000u09tp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/6196b0d6j00t9xmmg001ed000u0009tp.jpg\" alt=\"6196bd6j00t9xmmg001ed000u09tp\" width=\"1080\" height=\"353\" \/><\/p>\n<p>Opencode will know what you have skills<\/p>\n<p>OpenCode.exe is used the same way\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49630\" title=\"15a5532aj00t9xmne001id000ms00k5p\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/15a5532aj00t9xmne001id000ms00k5p.jpg\" alt=\"15a5532aj00t9xmne001id000ms00k5p\" width=\"820\" height=\"725\" \/><\/p>\n<p><strong>III. Environmental variables, flexible and convenient<\/strong><\/p>\n<p>OpenCode does not need an opencode.json file to run because it has default configuration and multiple configuration loads. Here are two of the most common:<\/p>\n<p>1. Global configuration<\/p>\n<p>~.config\/opencode\/opencode.json<\/p>\n<p>Global context variable path: C:\\Users\\your username\\.config\\opencode<\/p>\n<p>2. Project configuration<\/p>\n<p>opencode.json in the project directory<\/p>\n<p>Project Environment Variable: A path can be configured at will. For example, my project path is at D:\\Software-Install\\OpenCode\\.opencode<\/p>\n<p><strong>IV. Common commands. Just remember these<\/strong><\/p>\n<p>1. Switch mode<\/p>\n<p>OpenCode has two models:<strong>plan<\/strong>and<strong>i'm not sure what i'm talking about<\/strong>, use Tab to switch\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49631\" title=\"b8531fb6g00t9xmgg0027d000ty00fgm\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/b8531fb6g00t9xmgg0027d000ty00fgm.gif\" alt=\"b8531fb6g00t9xmgg0027d000ty00fgm\" width=\"1078\" height=\"556\" \/><\/p>\n<p>If you use the desktop end, or OpenCode.exe, it's all graphical. It's simple\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49632\" title=\"7c835b02g00t9xmgg0020d000hs0043m\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/7c835b02g00t9xmgg0020d000hs0043m.gif\" alt=\"7c835b02g00t9xmgg0020d000hs0043m\" width=\"640\" height=\"147\" \/><\/p>\n<p>2. Choose a model<\/p>\n<p>use\/models, provide 3 free models by default (free, so link failure occurs)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49633\" title=\"76be99f2g00t9xmg00jqd000tz00fxm\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/76be99f2g00t9xmgh00jqd000tz00fxm.gif\" alt=\"76be99f2g00t9xmg00jqd000tz00fxm\" width=\"1079\" height=\"573\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49635\" title=\"1 46441d1g00t9xmgg00aed000hs00bjm\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/1e4641d1g00t9xmgg00aed000hs00bjm.gif\" alt=\"1 46441d1g00t9xmgg00aed000hs00bjm\" width=\"640\" height=\"415\" \/><\/p>\n<p>3. ADDING ITS OWN MODEL API<\/p>\n<p>many options are provided here\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49634\" title=\"a531e717g00t9xmgg0088ud000tz00f3m\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/a531e717g00t9xmgg008ud000tz00f3m.gif\" alt=\"a531e717g00t9xmgg0088ud000tz00f3m\" width=\"1079\" height=\"543\" \/><\/p>\n<p>4. citations skills<\/p>\n<p>as long as the trigger conditions for skills are included in the input, the corresponding skills can normally be called, or the required skills can be specified by @, the top and lower key selection and the return key confirmation. desktop-end operations are the same<\/p>\n<p>5. Summary of main slash commands<\/p>\n<table>\n<thead>\n<tr>\n<th data-colwidth=\"143\">\n<section>Command Category<\/section>\n<\/th>\n<th data-colwidth=\"113\">\n<section>Command<\/section>\n<\/th>\n<th>\n<section>Functional Description<\/section>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-colwidth=\"143\"><strong>Connections and Settings<\/strong><\/td>\n<td data-colwidth=\"113\">\n<section>\/connect<\/section>\n<\/td>\n<td>\n<section>New LLM providers (e.g. Anthropic, OpenAI)<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/models<\/section>\n<\/td>\n<td>\n<section>LIST AND SWITCH AVAILABLE AI MODELS<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/themes<\/section>\n<\/td>\n<td>\n<section>Toggle the theme of the terminal interface<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/help<\/section>\n<\/td>\n<td>\n<section>Show help dialog<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\"><strong>Dialogue management<\/strong><\/td>\n<td data-colwidth=\"113\">\n<section>\/new<\/section>\n<\/td>\n<td>\n<section>Start a new conversation<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>this post is part of our special coverage syria protests 2011<\/section>\n<\/td>\n<td>\n<section>List all historical conversations and switch them<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>this post is part of our special coverage global voices 2011<\/section>\n<\/td>\n<td>\n<section>Compact the current dialogue content to save context window<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/export<\/section>\n<\/td>\n<td>\n<section>Export Word Record to File<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/share<\/section>\n<\/td>\n<td>\n<section>Generate a shared link to the current dialogue<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\"><strong>Edit and Undo<\/strong><\/td>\n<td data-colwidth=\"113\">\n<section>\/undo<\/section>\n<\/td>\n<td>\n<section>UNDO PREVIOUS AI MESSAGE AND ALL FILE CHANGES IT BRINGS<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/redo<\/section>\n<\/td>\n<td>\n<section>Redo cancelled changes<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>it's not like it's a bad idea<\/section>\n<\/td>\n<td>\n<section>Open External Editor<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\"><strong>Project and Agent<\/strong><\/td>\n<td data-colwidth=\"113\">\n<section>\/init<\/section>\n<\/td>\n<td>\n<section>Initialize projects, scan and generate AGENTS.md files to help AI understand project structures<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/agents<\/section>\n<\/td>\n<td>\n<section>Switch or manage AI agents (e. g. Plan\/Build mode)<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>\/review<\/section>\n<\/td>\n<td>\n<section>Review of unsubmitted code changes<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\">\n<section><\/section>\n<\/td>\n<td data-colwidth=\"113\">\n<section>photo by \/mcp<\/section>\n<\/td>\n<td>\n<section>Manage Model Context Protocol (ModelContext Protocol)<\/section>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"143\"><strong>other<\/strong><\/td>\n<td data-colwidth=\"113\">\n<section>\/exit<\/section>\n<\/td>\n<td>\n<section>Exit OpenCode Application<\/section>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>V. Operational demonstration. What about problems<\/strong><\/p>\n<p>Question 1: What does Opencode do<\/p>\n<p><strong>Just ask him<\/strong>\u00a0A default model is enough\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49636\" title=\"de08cca4j00t9xmpz001nd000rv00ajp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/de08cca4j00t9xmpz001nd000rv00ajp.jpg\" alt=\"de08cca4j00t9xmpz001nd000rv00ajp\" width=\"1003\" height=\"379\" \/><\/p>\n<p>from here it becomes clear that if i want to create a project-level configuration, then first i have to go into a specified project, open an opencode in the directory, then execute\/init, and then create a project-based configuration\u3002<\/p>\n<p>This tiered system allows you to have both a global personal preference and a customized configuration for each project<\/p>\n<p>question 2: what if skills doesn't work<\/p>\n<p><strong>Just ask it:<\/strong><\/p>\n<p>@You need to know SKILLS, and add \"How does this skills work?\"<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49637\" title=\"c6ac6e83j00t9xml001cd000s7009op\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/c6ac6e83j00t9xmql001cd000s7009op.jpg\" alt=\"c6ac6e83j00t9xml001cd000s7009op\" width=\"1015\" height=\"348\" \/><\/p>\n<p>QUESTION 3: WHERE IS THE ADDED MODEL API KEPT<\/p>\n<p>no configuration can be used for free large models, but if you want to use your own model and use\/connect to open the model configuration interface to choose your own model provider<\/p>\n<p>FOR EXAMPLE, I'M USING ARI TO PASTE THE MODEL API AND GET BACK TO THE CAR\u3002<\/p>\n<p>THE QUESTION IS, WHERE'S THE API I FILLED IN<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49638\" title=\"27403c8ej00t9xmrf000gd000jd0086p\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/27403c8ej00t9xmrf000gd000jd0086p.jpg\" alt=\"27403c8ej00t9xmrf000gd000jd0086p\" width=\"697\" height=\"294\" \/><\/p>\n<p><strong>Save default in the following path:<\/strong><\/p>\n<p>C:\\Users\\yourusername\\.local\\share\\opencode\\auth.json<\/p>\n<p>issue 4: create your own skills<\/p>\n<p>all you have to do is @skill-creater, and you'll have to explain your skill description. for example:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-49639\" title=\"7ec33ddej00t9xms7000zd000ld00ggp\" src=\"https:\/\/www.1ai.net\/wp-content\/uploads\/2026\/02\/7ec33ddej00t9xms7000zd000ld00ggp.jpg\" alt=\"7ec33ddej00t9xms7000zd000ld00ggp\" width=\"769\" height=\"592\" \/><\/p>\n<p>OpenCode will automatically generate the skill profile according to your description, and the whole process is very intelligent. You just have to tell it what you want and leave the rest to it<\/p>\n<p><strong>Next you can:<\/strong><\/p>\n<p>\u2022 Try to create your own Skills so AI can automate your work<\/p>\n<p>\u2022 Explore more open-source Skills on GitHub and expand your toolbox<\/p>","protected":false},"excerpt":{"rendered":"<p>Recently, Skills was too hot in AI! Everyone's been using it to put all kinds of \"buffs\" on AI, make them write code, make forms, and so on, but a lot of little partners are watching GitHub get excited about Skills, and when they're trying to play, there's a lot of trouble with Claude code, and a lot of little partners are asking me about OpenCode and borrowing Skills to talk about OpenCode's deployment and use. Let's start with OpenCode. Skills! Directory: 1. \u2705 How to download and install OpenC<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[144],"tags":[3765,8267,8197,4198],"collection":[],"class_list":["post-49621","post","type-post","status-publish","format-standard","hentry","category-baike","tag-ai","tag-opencode","tag-skills","tag-4198"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/posts\/49621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/comments?post=49621"}],"version-history":[{"count":0,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/posts\/49621\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/media?parent=49621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/categories?post=49621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/tags?post=49621"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/www.1ai.net\/en\/wp-json\/wp\/v2\/collection?post=49621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}