{"id":5392,"date":"2025-12-20T17:30:57","date_gmt":"2025-12-20T08:30:57","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5392"},"modified":"2025-12-30T23:02:37","modified_gmt":"2025-12-30T14:02:37","slug":"oh-my-opencode-setup-guide","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/oh-my-opencode-setup-guide\/","title":{"rendered":"Oh My OpenCode Installation Guide: Easy Setup for Beginners"},"content":{"rendered":"<style>.kb-image5392_7d8fbb-db .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image5392_7d8fbb-db img.kb-img, .kb-image5392_7d8fbb-db .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image5392_7d8fbb-db\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"412\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-600x412.jpg\" alt=\"Oh My OpenCode \uc124\uce58 \uac00\uc774\ub4dc\" class=\"kb-img wp-image-5627\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-600x412.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-300x206.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-768x527.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">If you\u2019ve tried installing <a href=\"https:\/\/secondlife.lol\/en\/ai-ide-opencode-intro\/\" target=\"_self\">OpenCode,<\/a> you might wonder:\n\u201cThe basic features are great, but how do people build that so-called multi\u2011agent development environment?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">That\u2019s exactly the gap the \n<strong><a href=\"https:\/\/github.com\/code-yeongyu\/oh-my-opencode\" target=\"_blank\" rel=\"noopener\">Oh My OpenCode<\/a><\/strong>\n extension fills.\n<br>However, for beginner developers, this plugin might feel a bit unfamiliar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Where should you keep the configuration file?<\/li>\n\n\n\n<li>Which agents come pre\u2011installed?<\/li>\n\n\n\n<li>How do you structure the JSON template?<\/li>\n\n\n\n<li>How do models, tools, and rules connect with each other?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">This guide breaks down the entire process \u2014 from installation to agent linking and rule application \u2014 with clear practical examples.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">1. Installation setup<\/h2>\n\n\n<style>.kb-image5392_d248fd-9f .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5392_d248fd-9f\"><figure class=\"aligncenter size-medium_large\"><img decoding=\"async\" width=\"768\" height=\"439\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-768x439.png\" alt=\"opencode plugins install oh-my-opencode image\" class=\"kb-img wp-image-5628\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-768x439.png 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-300x172.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-600x343.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-18x10.png 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15.png 1200w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">Oh My OpenCode works as a plugin for OpenCode.\n<br>You can install it with a single command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>opencode plugins install oh-my-opencode<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To confirm the installation, run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>opencode plugins list<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">If you see <code>oh-my-opencode<\/code> listed, everything\u2019s set up correctly.<\/p>\n\n\n<style>.kb-image5392_25a4b9-f7 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5392_25a4b9-f7\"><figure class=\"aligncenter size-medium_large\"><img decoding=\"async\" width=\"768\" height=\"545\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16-768x545.png\" alt=\"opencode plugins list image\" class=\"kb-img wp-image-5629\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16-768x545.png 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16-300x213.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16-600x426.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16-18x12.png 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-16.png 1200w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">2. Where to place your configuration file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are two types of settings:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 Project-level configuration<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>.yourproject\/\n  \u2514\u2500\u2500 .opencode\/\n         \u2514\u2500\u2500 oh-my-opencode.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use this if you want each project to have different rules or agent setups.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 User-wide (global) configuration<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.config\/opencode\/oh-my-opencode.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">For beginners, the easiest and most maintainable approach is to start with the global config and override it per project when needed.<\/p>\n\n\n<style>.kb-image5392_0d0981-78 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image5392_0d0981-78 img.kb-img, .kb-image5392_0d0981-78 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image5392_0d0981-78\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"372\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2-600x372.jpg\" alt=\"Oh My OpenCode \uc124\uce58 \uac00\uc774\ub4dc image 2\" class=\"kb-img wp-image-5631\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2-600x372.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2-300x186.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2-768x476.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-17-2.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">3. Basic JSON template<\/h2>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">Copy the following JSON and place it in\n<br><code>~\/.config\/opencode\/oh-my-opencode.json<\/code><br>\nto enable essential features immediately:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"$schema\": \"https:\/\/raw.githubusercontent.com\/code-yeongyu\/oh-my-opencode\/master\/assets\/oh-my-opencode.schema.json\",\n\n  \"agents\": {\n    \"oracle\": {\n      \"model\": \"openai\/gpt-5.2\",\n      \"instructions\": \"You act as an architect-level reviewer. Explain your reasoning clearly.\"\n    },\n    \"explore\": {\n      \"model\": \"xai\/grok-code\",\n      \"instructions\": \"Fast code search and browsing.\"\n    },\n    \"frontend\": {\n      \"model\": \"google\/gemini-3-pro-preview\",\n      \"instructions\": \"Help with UI\/UX and frontend code.\"\n    },\n    \"document\": {\n      \"model\": \"google\/gemini-3-pro-preview\",\n      \"instructions\": \"Write clear documentation for code and APIs.\"\n    }\n  },\n\n  \"rules\": {\n    \"enabled\": true\n  },\n\n  \"hooks\": {\n    \"keyword-detector\": true,\n    \"auto-compact\": true,\n    \"todo-enforcer\": true\n  }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This template is designed to be beginner-friendly, with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Four clearly defined agent roles.<\/li>\n\n\n\n<li>Automated rule application enabled.<\/li>\n\n\n\n<li>Auto\u2011summary (auto\u2011compact) and to\u2011do reminder (todo\u2011enforcer) turned on.<\/li>\n\n\n\n<li>Keyword detector responding to natural phrases like \u201crefactor\u201d or \u201ctidy this up.\u201d<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Customizing agents \u2014 modify or create new roles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">The real power of Oh My OpenCode lies in job\u2011specific, customizable agents tailored to your project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example: add a \u201cModel Specialist\u201d for a Django project<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"agents\": {\n  \"model-specialist\": {\n    \"model\": \"anthropic\/claude-4-5-sonnet\",\n    \"instructions\": \"You focus on database models, migrations, and schema design. Suggest improvements and ensure consistency.\"\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, in the TUI, you can call it like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@model-specialist Please review the model structure.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Tip<\/h3>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">Start with just 1\u20132 agents.\nAs you get comfortable, expand up to 5\u20136 agents.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Using \u201cRules\u201d \u2014 embedding project context into the AI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">Unlike ordinary <a href=\"https:\/\/secondlife.lol\/en\/agentic-ai-cli-overview-claude-gemini-codex\/\" data-type=\"post\" data-id=\"5193\" target=\"_self\">terminal AI IDE<\/a> , Oh My OpenCode\u2019s rule system lets the AI automatically learn your project\u2019s principles and conventions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example: add a rule that applies only inside src\/auth<br>Create this file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>src\/auth\/AGENTS.md<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">with content such as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Authentication rules\n- Always handle tokens with secure patterns.\n- Never store raw passwords.\n- Follow the existing session management flow.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Whenever the AI interacts with files under auth\/, it will automatically refer to these rules.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Understanding Hooks (automation features)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">Hooks automatically manage how and when your <a href=\"https:\/\/secondlife.lol\/en\/what-is-kiro-aws-agentic-ide\/\" data-type=\"post\" data-id=\"5429\" target=\"_self\">AI coding agents<\/a>  operate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are three essentials every beginner should know:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 keyword-detector<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Detects phrases like \u201crefactor,\u201d \u201cfind it,\u201d or \u201csummarize.\u201d<\/li>\n\n\n\n<li>Automatically switches to analysis or structured mode.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 auto-compact<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Summarizes long conversations while maintaining context \u2014 crucial in terminal environments.<\/li>\n\n\n\n<li>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 todo-enforcer<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When the AI finds TODOs in your code, it reminds you to finish them.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Together, these features prevent beginners from \u201cbreaking the workflow.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Integrating MCP (external tools) \u2014 optional but powerful<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This step is optional, but using it later can be extremely beneficial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example: enable web search MCP<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"mcp\": {\n  \"websearch_exa\": true\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then you can ask naturally:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u201cFind GitHub repos with code patterns similar to this one.\u201d<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Recommended setup order for beginners<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To minimize trial and error, follow this sequence:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create the global config.<\/strong> (<code>~\/.config\/opencode\/oh-my-opencode.json<\/code>)<\/li>\n\n\n\n<li>Register 3\u20134 base agents (@oracle, @explore, @document, etc.).<\/li>\n\n\n\n<li>Enable keyword-detector and auto-compact.<\/li>\n\n\n\n<li>Create a single AGENTS.md file at the project root.<\/li>\n\n\n\n<li>Add extra AGENTS.md files only for core folders (e.g. auth, billing).<\/li>\n\n\n\n<li>Integrate MCP tools only when necessary.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">With these six steps, most beginner\u2011to\u2011intermediate setups will run stably.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Practical examples \u2014 sample scenarios<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once configuration is complete, you can ask questions like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@oracle The src directory feels too heavy. Suggest a refactor plan based on module responsibilities.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@document Summarize the new feature for the team docs.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@explore Find all references where this function is called.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Even beginners will discover many tasks they can now delegate confidently to AI agents.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Organize<\/h2>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">In this guide, we covered how to install and configure Oh My OpenCode in a way that even beginners can follow easily.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key takeaways:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Installation takes a single command.<\/li>\n\n\n\n<li>Use global \u2192 project override config pattern for easy maintenance.<\/li>\n\n\n\n<li>Structure your agents around roles, like an organization.<\/li>\n\n\n\n<li>AGENTS.md files embed project context into the AI\u2019s reasoning.<\/li>\n\n\n\n<li>Hooks help automate workflows and protect beginners from missteps.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph translation-block\">In the next article, we\u2019ll explore multi\u2011agent workflow automation (Ultrawork) with real-world examples \u2014\nthe point where your OpenCode development experience seriously levels up.<\/p>","protected":false},"excerpt":{"rendered":"<p>OpenCode\ub97c \uc124\uce58\ud574\ubcf8 \ubd84\ub4e4\uc740 \u201c\uae30\ubcf8 \uae30\ub2a5\ub3c4 \uaf64 \uc88b\uc740\ub370, \uc0ac\ub78c\ub4e4\uc774 \ub9d0\ud558\ub294 \u2018\ub2e4\uc911&#8230;<\/p>","protected":false},"author":3,"featured_media":5627,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[7],"tags":[1043,1051,1135,1046,1040,1136,1134],"class_list":["post-5392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-coding","tag-ai-coding-agent","tag-oh-my-opencode","tag-opencode-","tag-terminal-ai-ide","tag-1040","tag-1136","tag-1134"],"taxonomy_info":{"category":[{"value":7,"label":"\uc778\uacf5\uc9c0\ub2a5(AI)"}],"post_tag":[{"value":1043,"label":"AI coding agent"},{"value":1051,"label":"Oh My OpenCode"},{"value":1135,"label":"OpenCode \ud655\uc7a5"},{"value":1046,"label":"terminal AI IDE"},{"value":1040,"label":"\uba40\ud2f0\uc5d0\uc774\uc804\ud2b8"},{"value":1136,"label":"\uc790\ub3d9\ud654 \uc124\uc815"},{"value":1134,"label":"\ud50c\ub7ec\uadf8\uc778 \uc124\uce58"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-15-12-600x412.jpg",600,412,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":7,"name":"\uc778\uacf5\uc9c0\ub2a5(AI)","slug":"ai-coding","term_group":0,"term_taxonomy_id":7,"taxonomy":"category","description":"","parent":20,"count":74,"filter":"raw","cat_ID":7,"category_count":74,"category_description":"","cat_name":"\uc778\uacf5\uc9c0\ub2a5(AI)","category_nicename":"ai-coding","category_parent":20}],"tag_info":[{"term_id":1043,"name":"AI coding agent","slug":"ai-coding-agent","term_group":0,"term_taxonomy_id":1043,"taxonomy":"post_tag","description":"","parent":0,"count":10,"filter":"raw"},{"term_id":1051,"name":"Oh My OpenCode","slug":"oh-my-opencode","term_group":0,"term_taxonomy_id":1051,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":1135,"name":"OpenCode \ud655\uc7a5","slug":"opencode-%ed%99%95%ec%9e%a5","term_group":0,"term_taxonomy_id":1135,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1046,"name":"terminal AI IDE","slug":"terminal-ai-ide","term_group":0,"term_taxonomy_id":1046,"taxonomy":"post_tag","description":"","parent":0,"count":9,"filter":"raw"},{"term_id":1040,"name":"\uba40\ud2f0\uc5d0\uc774\uc804\ud2b8","slug":"%eb%a9%80%ed%8b%b0%ec%97%90%ec%9d%b4%ec%a0%84%ed%8a%b8","term_group":0,"term_taxonomy_id":1040,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":1136,"name":"\uc790\ub3d9\ud654 \uc124\uc815","slug":"%ec%9e%90%eb%8f%99%ed%99%94-%ec%84%a4%ec%a0%95","term_group":0,"term_taxonomy_id":1136,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1134,"name":"\ud50c\ub7ec\uadf8\uc778 \uc124\uce58","slug":"%ed%94%8c%eb%9f%ac%ea%b7%b8%ec%9d%b8-%ec%84%a4%ec%b9%98","term_group":0,"term_taxonomy_id":1134,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=5392"}],"version-history":[{"count":4,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5392\/revisions"}],"predecessor-version":[{"id":6045,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5392\/revisions\/6045"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/5627"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=5392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=5392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=5392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}