{"id":4138,"date":"2026-08-18T15:02:56","date_gmt":"2026-08-18T07:02:56","guid":{"rendered":"https:\/\/ai.wuaishare.cn\/hub\/?p=4138"},"modified":"2026-08-18T15:02:56","modified_gmt":"2026-08-18T07:02:56","slug":"obsidian-copilot-plugin","status":"publish","type":"post","link":"https:\/\/ai.wuaishare.cn\/hub\/en\/4138","title":{"rendered":"Obsidian Copilot"},"content":{"rendered":"<h1 align=\"center\">Copilot for Obsidian<\/h1>\n<p align=\"center\"><strong>Agents for your Obsidian vault<\/strong><\/p>\n<p align=\"center\">Copilot V4 brings opencode, Claude Code, and Codex into Obsidian for research, writing, and knowledge work.<\/p>\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/blog\/2024-goty-winners\/\"><img decoding=\"async\" src=\".\/images\/llm-integration.svg\" width=\"640\" alt=\"Best LLM Integration Award\"><\/a>\n<\/p>\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/plugins?id=copilot\"><strong>No. 1 Obsidian AI Plugin<\/strong><\/a>\n<\/p>\n<p align=\"center\">\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/dynamic\/json?logo=obsidian&#038;color=%23483699&#038;label=downloads&#038;query=%24%5B%22copilot%22%5D.downloads&#038;url=https%3A%2F%2Fraw.githubusercontent.com%2Fobsidianmd%2Fobsidian-releases%2Fmaster%2Fcommunity-plugin-stats.json&#038;style=flat-square\" alt=\"Obsidian downloads\" align=\"absmiddle\"><br \/>\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/github\/v\/release\/logancyang\/obsidian-copilot?style=flat-square&#038;sort=semver\" alt=\"Latest release\" align=\"absmiddle\">\n<\/p>\n<p align=\"center\">\n  <img decoding=\"async\" src=\".\/images\/copilot-v4-agent-mode.png\" alt=\"Copilot V4 agent organizing research into connected Obsidian notes\" width=\"1200\">\n<\/p>\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/plugins?id=copilot\"><strong>Install in Obsidian<\/strong><\/a> \u00b7<br \/>\n  <a href=\"https:\/\/www.obsidiancopilot.com\/en\/pricing\">View plans<\/a> \u00b7<br \/>\n  <a href=\".\/docs\/getting-started.md\">Get started<\/a>\n<\/p>\n<p>&#8212;<\/p>\n<p>## Choose your agent<\/p>\n<p>**Agent** is the main Copilot experience for multi-step work. It can inspect notes, use tools, create Obsidian files, and continue across several turns with permissions you control.<\/p>\n<p>&#8211; **opencode (recommended):** Let Copilot download and manage it, then use Copilot-hosted models, your own provider key, or a local model.<br \/>\n&#8211; **Claude Code:** Connect an existing installation. Copilot detects common install locations and uses your Claude Code login.<br \/>\n&#8211; **Codex:** Connect Codex through the `@agentclientprotocol\/codex-acp` adapter and use your existing Codex login.<\/p>\n<p>Already pay for Claude or ChatGPT, or already have model API access? You can bring that access to Copilot without buying a Copilot plan. Provider terms and usage limits still apply.<\/p>\n<p>[Learn how Agent works \u2192](.\/docs\/agent-mode-and-tools.md)<\/p>\n<p>## Set up Copilot<\/p>\n<p>1. [Install Copilot](https:\/\/obsidian.md\/plugins?id=copilot) from Obsidian Community Plugins.<br \/>\n2. Open **Settings \u2192 Copilot \u2192 Basic \u2192 Agents**.<br \/>\n3. Select **Download opencode**, or connect Claude Code or Codex with **Auto-detect**. Codex requires the `codex-acp` adapter first.<br \/>\n4. Select the **Agent** ribbon icon, or run **Open Copilot Agent Chat Window**.<\/p>\n<p>The [Getting Started guide](.\/docs\/getting-started.md) covers each setup path, including the Codex adapter commands and manual executable paths.<\/p>\n<p>## Built around your vault<\/p>\n<p>&#8211; **Projects:** Give ongoing work its own instructions, reusable context, and chat history. A project works with opencode, Claude, or Codex. [Learn about Projects](.\/docs\/projects.md).<br \/>\n&#8211; **Skills shared across agents:** Add a skill once, then enable it for each installed agent. Copilot also includes skills for Obsidian Markdown, Bases, Canvas, and the Obsidian CLI. [Learn about Skills](.\/docs\/agent-mode-and-tools.md#skills-shared-across-agents).<br \/>\n&#8211; **Commands:** Save repeatable prompts, run them with `\/` in Agent, or expose them in the editor and Command palette. [Create a Command](.\/docs\/custom-commands.md).<br \/>\n&#8211; **Quick Ask:** Ask about a selection without leaving the note. Continue the conversation, replace text, insert the answer, or copy it. Quick Ask uses your Quick Chat model. [Set up Quick Ask](.\/docs\/custom-commands.md#quick-ask).<br \/>\n&#8211; **Multiple sessions:** Keep separate Agent tabs open for different tasks. With active Plus access, mention multiple installed agents with `@` for one read-only research or review request.<\/p>\n<p>For a short conversation that does not need an agent, use [Quick Chat](.\/docs\/chat-interface.md).<\/p>\n<p>## Use hosted, BYOK, or local models<\/p>\n<p>&#8211; **Copilot-hosted:** Add a Copilot license, then choose an available hosted model for opencode or Quick Chat. The model picker and dashboard show current access.<br \/>\n&#8211; **Bring your own key:** Add a cloud, local, or OpenAI-compatible provider under **Settings \u2192 Copilot \u2192 BYOK**. Keys are stored in this device&#8217;s Obsidian Keychain, not in the vault&#8217;s `data.json`.<br \/>\n&#8211; **Claude and Codex accounts:** These agents use their own CLI login rather than a key from Copilot&#8217;s BYOK settings.<br \/>\n&#8211; **Models reported by opencode:** opencode routes them to their backing provider. Free opencode Zen models show a warning because that provider may log or train on prompts; review its terms before sending sensitive content.<\/p>\n<p>Your chosen route determines where prompts and included context are processed. Read [LLM Providers](.\/docs\/llm-providers.md) for setup and [Copilot Plus and Self-Host](.\/docs\/copilot-plus-and-self-host.md) for privacy and routing details.<\/p>\n<p>## Plans<\/p>\n<p>The Copilot plugin is open source and works without a Copilot license when you use your own agent account, provider key, or local model. Free use includes normal single-agent Agent chats, Projects with Markdown context, custom Skills and Commands, Quick Chat, Quick Ask, and local Miyo search.<\/p>\n<p>Paid access can include Copilot-hosted models and cloud-backed tools. Multi-agent requires active Plus access; check your dashboard for the current entitlement. Model availability and service limits can change, so the [pricing page](https:\/\/www.obsidiancopilot.com\/en\/pricing) and in-app model pickers are the current source of truth.<\/p>\n<p align=\"center\"><a href=\"https:\/\/www.obsidiancopilot.com\/en\/pricing\"><strong>Compare plans \u2192<\/strong><\/a><\/p>\n<p>## Trusted by people who think for a living<\/p>\n<p>> &#8220;The first tool that truly unifies how I search, organize, and retrieve knowledge without ever leaving Obsidian. My workflow is faster, deeper, and more connected. I can&#8217;t imagine working without it.&#8221;<br \/>\n><br \/>\n> **Jason Zhang**, Investor &#038; Research Analyst<\/p>\n<details>\n<summary><strong>More from the community<\/strong><\/summary>\n<p>> &#8220;I drop meeting transcriptions, personal notes, and architecture ideas into my vault. Copilot gives me a personal assistant that finds missing puzzle pieces and surfaces relevant info during live calls, no manual searches.&#8221;<br \/>\n><br \/>\n> **Brad Decker**, CTO, Concierge Auctions<\/p>\n<p>> &#8220;Since discovering Copilot, my writing process has been completely transformed. Conversing with my own articles and thoughts is the most refreshing experience I&#8217;ve had in decades.&#8221;<br \/>\n><br \/>\n> **Mat QV**, Professional Writer<\/p>\n<\/details>\n<p>## Frequently asked questions<\/p>\n<details>\n<summary><strong>Can I use Copilot without a paid plan?<\/strong><\/summary>\n<p>Yes. Connect Claude Code or Codex with its existing account, or use opencode and Quick Chat with your own API key or local model. Your provider may charge for its own usage.<\/p>\n<\/details>\n<details>\n<summary><strong>Does Agent work on mobile?<\/strong><\/summary>\n<p>Agent is a desktop feature because its backends run local processes. Quick Chat, custom Commands, and Quick Ask remain available on mobile.<\/p>\n<\/details>\n<details>\n<summary><strong>How is my data handled?<\/strong><\/summary>\n<p>Your notes remain files in your vault, and local Miyo indexes stay on your device. Prompts and any included context go to the model or service you choose. Copilot-hosted models and hosted features send the required input to Brevilabs for processing. See the [disclosure below](#paid-plan-disclosure) and the [privacy policy](https:\/\/www.obsidiancopilot.com\/en\/privacy).<\/p>\n<\/details>\n<p>## Help and links<\/p>\n<p>[Documentation](.\/docs\/index.md) \u00b7 [YouTube](https:\/\/www.youtube.com\/@loganhallucinates) \u00b7 [Report a bug](https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/new?template=bug_report.md) \u00b7 [Request a feature](https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/new?template=feature_request.md) \u00b7 [Privacy](https:\/\/www.obsidiancopilot.com\/en\/privacy)<\/p>\n<p>## Support the project<\/p>\n<p>If Copilot is useful to you, consider [sponsoring the project on GitHub](https:\/\/github.com\/sponsors\/logancyang) or buying us a coffee.<\/p>\n<p align=\"center\">\n  <a href=\"https:\/\/www.buymeacoffee.com\/logancyang\"><img decoding=\"async\" src=\"https:\/\/cdn.buymeacoffee.com\/buttons\/v2\/default-yellow.png\" alt=\"Buy Me a Coffee\" width=\"165\"><\/a>\n<\/p>\n<p>### Thank you to our GitHub Sponsors<\/p>\n<p>Special thanks to our top sponsors: @mikelaaron, @pedramamini, @Arlorean, @dashinja, @azagore, @MTGMAD, @gpythomas, @emaynard, @scmarinelli, @borthwick, @adamhill, @gluecode, @rusi, @timgrote, @JiaruiYu-Consilium, @ddocta, @AMOz1, @chchwy, @pborenstein, @GitTom, @kazukgw, @mjluser1, @joesfer, @rwaal, @turnoutnow-harpreet, @dreznicek, @xrise-informatik, @jeremygentles, @ZhengRui, @bfoujols, @jsmith0475, @pagiaddlemon, @sebbyyyywebbyyy, @royschwartz2, @vikram11, @amiable-dev, @khalidhalim, @DrJsPBs, @chishaku, @Andrea18500, @shayonpal, @rhm2k, @snorcup, @JohnBub, @obstinatelark, @jonashaefele, @vishnu2kmohan<\/p>\n<p>## Paid Plan Disclosure<\/p>\n<p>Copilot is a product of Brevilabs LLC and is not affiliated with Obsidian. Visit [obsidiancopilot.com](https:\/\/obsidiancopilot.com\/) for current plan details.<\/p>\n<p>&#8211; An account and payment are required for paid access.<br \/>\n&#8211; Hosted models and cloud-backed features require network access.<br \/>\n&#8211; **Privacy and data handling:**<br \/>\n  &#8211; **Free use:** Messages and note context go to the LLM provider, local endpoint, or CLI agent you configure. Brevilabs does not receive them unless you invoke a Brevilabs-hosted feature.<br \/>\n  &#8211; **Paid hosted services:** Brevilabs&#8217;s backend and its vetted enterprise model providers process the full request. A Copilot-hosted embedding model receives the note text being indexed. Hosted features also receive the inputs they need, such as search queries, URLs, and files used by Quick Chat tools or Agent project context. The privacy policy says request content is processed transiently, not retained, and not used for training.<br \/>\n  &#8211; **User ID:** Hosted feature requests include a randomly generated UUID for service delivery, license abuse prevention, and rate limiting. It is not used for tracking, profiling, or analytics.<br \/>\n&#8211; See the [privacy policy](https:\/\/www.obsidiancopilot.com\/en\/privacy) for full terms.<br \/>\n&#8211; The Copilot plugin frontend is fully open source. The backend services that support hosted features are closed source and proprietary.<br \/>\n&#8211; We offer a full refund within 14 days of purchase if you are not satisfied.<\/p>\n<p>## Authors<\/p>\n<p>Brevilabs Team \u00b7 [logan@brevilabs.com](mailto:logan@brevilabs.com) \u00b7 [@logancyang](https:\/\/twitter.com\/logancyang)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>THE Copilot in Obsidian<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_share_source_url":"https:\/\/github.com\/logancyang\/obsidian-copilot","ai_share_source_title":"logancyang\/obsidian-copilot","ai_share_status":"\u5df2\u53d1\u5e03","ai_share_official_url":"https:\/\/www.obsidiancopilot.com","ai_share_original_content_language":"en","ai_share_i18n_original_source_language":"en","ai_share_author_label":"logancyang","ai_share_version_label":"4.0.1","ai_share_install_command":"Go to **Obsidian \u2192 Settings \u2192 Copilot \u2192 Basic** and click **Set Keys**.","ai_share_primary_category":"AI \u5bf9\u8bdd","ai_share_tool_type":"tool","ai_share_resource_type":"plugin","ai_share_platform_support":"macOS,Windows,Linux","ai_share_collection":"\u901a\u7528 AI \u52a9\u624b","ai_share_last_verified_at":"2026-05-07","ai_share_provider_observed_at":"2026-08-18T06:51:15.248Z","ai_share_last_commit_at":"2026-08-18T03:41:02Z","ai_share_license":"AGPL-3.0","ai_share_language_support":"en","ai_share_target_user":"\u77e5\u8bc6\u5de5\u4f5c\u8005,\u7814\u7a76\u8005,\u5199\u4f5c\u8005","ai_share_github_topics":"ai, aiagent, chatgpt, copilot, obsidian-plugin","ai_share_repo_default_branch":"master","ai_share_pricing_model":"open_source","ai_share_deployment_mode":"desktop","ai_share_delivery_mode":"plugin","ai_share_region_availability":"global","ai_share_source_platform":"GitHub","ai_share_download_url":"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.3\/main.js","ai_share_release_url":"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/4.0.1","ai_share_download_assets_json":"[{\"label\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/main.js\",\"size\":5325184,\"content_type\":\"application\/javascript\",\"download_count\":7155,\"source\":\"github-release\",\"download\":true},{\"label\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/manifest.json\",\"size\":518,\"content_type\":\"application\/json\",\"download_count\":7263,\"source\":\"github-release\",\"download\":true},{\"label\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/styles.css\",\"size\":80744,\"content_type\":\"text\/css; charset=utf-8\",\"download_count\":6995,\"source\":\"github-release\",\"download\":true}]","ai_share_github_releases_json":"[{\"tagName\":\"4.0.1\",\"name\":\"4.0.1\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/4.0.1\",\"body\":\"# Copilot for Obsidian v4.0.1 \ud83d\udee0\ufe0f\\n\\nThe first patch since the V4 launch. It fixes the issues you reported in the first week of 4.0.0, from local model failures to vanished chat histories, and clears out more V3 leftovers.\\n\\n## \u2728 Enhancements\\n\\n- \ud83d\udcca **See your plan limits.** The usage meter now shows plan usage for all three agents, Claude Code, Codex, and opencode on Copilot models: how much you have used in each plan window and when it resets (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2852).\\n- \ud83d\udcc1 **Reuse a folder that already has notes as your Copilot folder.** Copilot now allows it after a clear warning that Markdown already inside stays excluded from Copilot search (https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/2841, https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2842).\\n- \ud83e\uddf9 **V3 leftovers cleaned up.** The legacy vault index has its off switch back (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2864), Quick Chat drops its old Projects mode (Agent Mode owns Projects now, https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2865) and the defunct GitHub Copilot provider (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2861), and V3 Chat points the way to opencode (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2872).\\n- \ud83d\udee1\ufe0f **Under the hood.** A large compliance and security pass for the Obsidian community review: device-local state moved to Obsidian's storage API, LangChain 1.x, dependency audit fixes, and a leaner stylesheet.\\n\\n## \ud83d\udee0\ufe0f Bug Fixes\\n\\n- \ud83e\udd99 **Local models work in Quick Chat again.** A CORS bug blocked Ollama entirely; that is fixed (https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/2810, https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2854). The **Enable CORS** switch is also back in provider settings for OpenAI-compatible endpoints that need it (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2849).\\n- \ud83d\udd58 **Agent chats reopen with their conversation intact.** Opening an opencode or Codex chat from Chat History showed an empty landing page even though the conversation had survived. The transcript now rebuilds, and the chat picks up where it left off (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2839).\\n- \u2328\ufe0f **Escape behaves with Chinese, Japanese, and Korean input.** Dismissing the IME candidate window no longer throws focus out of the chat composer into the note editor (https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2816).\\n- \ud83e\udd2b **Quieter, more accurate status.** Miyo chat search reports ready instead of \\\"Not set up\\\" when sync is idle (https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/2834, https:\/\/github.com\/logancyang\/obsidian-copilot\/pull\/2835).\\n\\n## \ud83d\udce6 Install\\n\\nUpdate Copilot from **Obsidian \u2192 Community Plugins**. On BRAT? 4.0.1 is mirrored to the preview repo, so BRAT picks it up too.\\n\\nReport issues via Copilot settings \u2192 Advanced \u2192 Report an Issue.\\n\\n---\\n\\nGitHub release: https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/4.0.1\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-08-16T19:51:23Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/main.js\",\"content_type\":\"application\/javascript\",\"size\":5325184,\"download_count\":7155},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/manifest.json\",\"content_type\":\"application\/json\",\"size\":518,\"download_count\":7263},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.1\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":80744,\"download_count\":6995}]},{\"tagName\":\"4.0.0\",\"name\":\"4.0.0\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/4.0.0\",\"body\":\"# Copilot v4.0.0 \u2014 The Official V4 Release \ud83c\udf89\\n\\nCopilot has been rewritten end to end. Instead of a single built-in assistant, frontier agents \u2014 **Claude Code**, **Codex**, and **opencode** \u2014 now run natively inside Obsidian: they plan, search your vault by meaning, use tools, and write results back to your notes in fluent Obsidian \u2014 wikilinks, canvases, Markdown.\\n\\nHuge thanks to every Believer who ran the six preview builds since June and filed the reports that shaped this release. \ud83d\ude4f\\n\\n## \u2728 Highlights\\n\\n### \ud83e\udd16 Run Claude Code, Codex, and opencode inside Obsidian\\n\\nReal agents tuned for your links and structure, working like they belong in your vault:\\n\\n- **Tabs, like a browser.** Open a different agent in each tab and work several threads at once.\\n- **Project Mode.** Give an agent its own scoped project, with a per-project `AGENTS.md` that steers how it behaves there.\\n- **Multi-agent collaboration** *(Plus)*. Mention `@claude @codex @opencode` in one prompt and each agent works it in parallel, then Copilot combines their answers into one result.\\n- **One skill, every agent.** Set up a skill once, then enable it for opencode, Claude Code, or Codex with a click.\\n\\n> **Note:** Agent Mode is **desktop-only** for now. On mobile, Copilot keeps working with the classic chat experience (now called **Quick Chat**).\\n\\n### \ud83d\udd11 Bring the subscription you already pay for\\n\\nCopilot is free and open source \u2014 bring your own AI:\\n\\n| You have                                                      | Copilot runs    |\\n| ------------------------------------------------------------- | --------------- |\\n| Claude subscription                                           | **Claude Code** |\\n| ChatGPT subscription                                          | **Codex**       |\\n| API keys or local models (OpenAI, Google, Ollama, LM Studio\u2026) | **opencode**    |\\n\\nPrefer zero setup? The new [**Lite**](https:\/\/www.obsidiancopilot.com\/en\/pricing) plan runs opencode on Copilot-hosted models with enterprise-grade privacy for $7.99\/month.\\n\\n### \ud83d\udd0d Miyo \u2014 local semantic search and document understanding, free for everyone\\n\\nAsk in half-remembered language and Copilot finds the note by meaning, powered by [Miyo](https:\/\/miyo.md\/), our local indexing engine. Your index stays on your machine \u2014 and with Miyo as your Document Processor, PDFs and EPUBs are parsed locally too, so nothing leaves your computer.\\n\\n### \ud83c\udf10 Symposium \u2014 agent-first publishing *(Plus and above)*\\n\\nRight-click any note and publish it as a clean webpage on [Symposium](https:\/\/symposium.md\/), update it after edits, or withdraw it \u2014 all without leaving Obsidian. Or just tell your agent *\\\"publish this note\\\"*: it builds the page and shows you a preview and a confirmation before anything goes public.\\n\\n### And a lot more from the preview cycle\\n\\nQuick Ask inline panel (assign a hotkey \u2014 we recommend `Ctrl\/Cmd+K`), redesigned Settings, per-agent default models, a context and cost meter in the composer, an in-app Report an Issue button, and built-in cross-agent skills like web search, PDF reading, YouTube transcripts, and X capture *(Plus)*.\\n\\n## \u26a0\ufe0f Upgrading from V3 \u2014 read this first\\n\\nV4 arrives as a normal plugin update. Your settings, custom prompts, and license carry over, and Copilot runs a one-time migration on first launch that ends with a summary of everything it did. A few things to know:\\n\\n- **Back up your vault before updating.** The migration is automatic, but this is a major architectural change and a backup is cheap insurance.\\n- **Your old chat is now \\\"Quick Chat.\\\"** Agent Mode is the new main view on desktop. The classic V3 chat is still here \u2014 open the command palette and run **\\\"New Copilot Quick Chat\\\"** \u2014 and it remains the chat experience on mobile. Quick Ask and vault QA keep working as before.\\n- **One `copilot` folder for everything.** Conversations, custom prompts, skills, memory, system prompts, and projects now live under a single parent folder (default: `copilot`, configurable in settings). Existing files are moved automatically; if you had customized any of those paths, a one-time notice lists the old and new locations.\\n- **API keys move to the Obsidian keychain.** For security, keys are migrated out of `data.json`, with a backup saved in your plugin folder.\\n- **Check your Plus license after updating.** Some users find their license key cleared by the upgrade. If Plus features stop working, paste your key back into the Plus license field in Settings.\\n\\n## \ud83d\udce6 Install\\n\\nUpdate Copilot from **Obsidian \u2192 Community Plugins**. On the V4 preview via BRAT? Keep the beta repo \u2014 the official v4.0.0 is released there as well, so you'll get it through BRAT too.\\n\\n---\\n\\nReport issues on [GitHub](https:\/\/github.com\/logancyang\/obsidian-copilot\/issues) \u00b7 [Docs & plans](https:\/\/www.obsidiancopilot.com\/) \u00b7 [Privacy](https:\/\/www.obsidiancopilot.com\/en\/privacy) \u00b7 [Full changelog](https:\/\/github.com\/logancyang\/obsidian-copilot\/compare\/3.3.3...4.0.0)\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-08-11T19:46:55Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.0\/main.js\",\"content_type\":\"application\/javascript\",\"size\":5232769,\"download_count\":20216},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.0\/manifest.json\",\"content_type\":\"application\/json\",\"size\":441,\"download_count\":20582},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/4.0.0\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":84547,\"download_count\":19652}]},{\"tagName\":\"3.3.3\",\"name\":\"3.3.3\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.3.3\",\"body\":\"## Release v3.3.3\\n\\nThis patch brings a fresh Gemini model, squashes a nasty Copilot Plus freeze, and makes it much easier to verify your dev build is actually loaded in Obsidian. Thanks to @logancyang and @zeroliu for the quick turnaround!\\n\\n- **Gemini 3.5 Flash is now a built-in model** \u2014 Google's latest generally-available Gemini model (`gemini-3.5-flash`) is now available out of the box, enabled by default with Vision and Reasoning support. It replaces the old `gemini-3-flash-preview` entry. Your existing default model (`google\/gemini-2.5-flash` on OpenRouter) is unchanged.\\n- **Copilot Plus no longer freezes when you apply your license key** \u2014 Multiple concurrent initializations were bouncing `chainTypeAtom` between `LLM_CHAIN` and `COPILOT_PLUS_CHAIN` indefinitely. Applying your key now fires a single clean rebuild.\\n- **New `npm run test:vault` command for developers** \u2014 Builds and hot-reloads the plugin into your test vault, with a build timestamp stamped into the plugin name so you can confirm you're running the right build.\\n\\n### PRs included\\n- #2492 feat(models): add GA gemini-3.5-flash builtin @logancyang\\n- #2478 fix(chain): stop writing chainType back inside setChain (apply-Plus freeze) @zeroliu\\n- #2477 Add npm run test:vault for fast worktree-to-vault plugin reload @zeroliu\\n\\n---\\nGenerated by the release agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-05-21T01:28:10Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.3\/main.js\",\"content_type\":\"application\/javascript\",\"size\":3437156,\"download_count\":221604},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.3\/manifest.json\",\"content_type\":\"application\/json\",\"size\":441,\"download_count\":229705},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.3\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":70901,\"download_count\":216342}]},{\"tagName\":\"3.3.2\",\"name\":\"3.3.2\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.3.2\",\"body\":\"## Release v3.3.2\\n\\nThis patch is all about stability and speed. **Claude Opus 4.7+ now works correctly with adaptive thinking** on both direct Anthropic and AWS Bedrock, project-mode file ingestion is fixed, Quick Ask no longer crashes on `@`-mention, and the plugin is 75 KB lighter thanks to a clean dependency deduplication. \\n\\n- \ud83e\udde0 **Claude Opus 4.7+ adaptive thinking is fixed** \u2014 Adding `claude-opus-4-7` (or any Opus 4.7+) as a model and enabling reasoning used to return a 400 error because the plugin was sending the legacy `thinking.type=enabled` shape, which Opus 4.7+ no longer accepts. It now correctly sends `thinking.type=adaptive` and requests a summarized display so the thinking block appears in chat. Both the direct Anthropic and AWS Bedrock code paths are fixed. (@logancyang)\\n- \ud83d\udcc2 **Project-mode file ingestion is fixed** \u2014 PDFs, images, audio files, and Office docs added to a project's source files were silently failing to upload because Obsidian's CORS-bypass path can't handle native `FormData` streams. The upload path now uses `requestUrl` with a manually-constructed multipart body, matching how the rest of the plugin talks to Brevilabs. (@zeroliu)\\n- \ud83d\udcac **Quick Ask no longer crashes on `@`-mention** \u2014 Opening the Quick Ask panel and typing `@` to mention a note was crashing with \\\"useApp() called outside of AppContext.Provider\\\". Fixed by wrapping the panel's React root in the same `AppContext` that the main chat view uses. (@zeroliu)\\n- \u26a1 **75 KB smaller bundle** \u2014 `@langchain\/community` is dropped (Jina embeddings now run against a hand-rolled Obsidian-native client), and `openai` is bumped to v6 to eliminate a duplicate copy of the SDK that was sneaking in alongside `@langchain\/openai`. The plugin is now around 3.3 MB. (@zeroliu)\\n- \ud83d\udd34 **Clearer error when a Bedrock model ID is missing its inference-profile prefix** \u2014 If you configure a bare regional Bedrock model ID (e.g. `anthropic.claude-sonnet-4-6` without a `global.`, `us.`, etc. prefix), the error used to surface as raw JSON. It now shows a plain-English message pointing you to Settings \u2192 Models and listing the four valid prefix forms. (@logancyang)\\n- \ud83e\uddf9 **React state management cleanup** \u2014 56 `setState`-in-`useEffect` anti-patterns were replaced with idiomatic React patterns across 21 files. Side effects include: the token-count badge in chat now updates correctly after regeneration, chain\/setting toggles in ChatInput no longer flash stale state, and the draggable quick-command modal no longer resets your resize when content grows. (@zeroliu)\\n\\nMore details in the changelog:\\n\\n### Improvements\\n\\n- #2460 chore(deps): remove unused deps and dead code to shrink bundle @zeroliu\\n- #2463 chore(deps): drop @langchain\/community + bump openai to v6 to dedupe SDKs @zeroliu\\n- #2467 chore(react): centralize React root creation via createPluginRoot helper @zeroliu\\n- #2469 Remove dead ChainFactory and chain validation helpers @zeroliu\\n- #2470 style(css): expand #ccc to 6-digit hex format for consistency @zeroliu\\n\\n### Bug Fixes\\n\\n- #2399 fix(brevilabs): rewrite uploads via requestUrl multipart (W8\/9) @zeroliu\\n- #2454 chore(lint): fix no-direct-set-state-in-use-effect violations @zeroliu\\n- #2466 fix(quick-ask): provide AppContext to overlay panel @zeroliu\\n- #2471 fix(anthropic+bedrock): adaptive thinking + summarized display for claude-opus-4-7+ @logancyang\\n- #2472 fix(bedrock): explain inference-profile requirement when AWS rejects on-demand model ID @logancyang\\n\\n---\\nGenerated by the release agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-05-16T01:46:15Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.2\/main.js\",\"content_type\":\"application\/javascript\",\"size\":3437150,\"download_count\":24895},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.2\/manifest.json\",\"content_type\":\"application\/json\",\"size\":441,\"download_count\":26125},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.2\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":70901,\"download_count\":24490}]},{\"tagName\":\"3.3.1\",\"name\":\"3.3.1\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.3.1\",\"body\":\"# Copilot for Obsidian - Release v3.3.1 \ud83d\udd10\\n\\nThis release is all about keeping your API keys safe and your plugin running smoothly everywhere. **API keys can now be stored in Obsidian's built-in Keychain** so they never touch `data.json`, the encryption toggle is removed (it was more trouble than it was worth), and a wave of reliability fixes ensures chat works correctly on mobile, in popout windows, and with Plus mode. Underneath, **@zeroliu landed nineteen back-to-back PRs of code-quality work** \u2014 tightening ESLint, eliminating ~395 `any` types, swapping out unmaintained dependencies, and modernizing the React layer. Huge thanks to both @Emt-lin (Keychain) and @zeroliu (codebase hardening) for carrying this release. \ud83d\ude4c\\n\\n> \u26a0\ufe0f **Requires Obsidian 1.11.4+.** The `minAppVersion` is bumped from 1.7.2 to 1.11.4 because the Keychain feature relies on Obsidian's `app.secretStorage` API, which only exists in 1.11.4 and later.\\n\\n- \ud83d\udd10 **API keys now live in the Obsidian Keychain** \u2014 Fresh installs automatically store all API keys in Obsidian's vault-scoped Keychain instead of `data.json`. Existing users can opt in at any time via the new \\\"API Key Storage\\\" section in Advanced Settings. A guided migration wizard walks you through the move, and keys are stripped from `data.json` the moment migration completes. Each device has its own Keychain, so re-entering keys on a new device is expected. (@Emt-lin)\\n  - The Advanced Settings panel shows your current storage mode and surfaces a clear warning if a synced vault arrives on a device whose Keychain is empty.\\n  - A \\\"Delete All Keys\\\" option purges secrets from both the Keychain and `data.json` in one go.\\n  - The Reset Settings button no longer touches API keys. Use \\\"Delete All Keys\\\" if you want them gone.\\n- \ud83d\udeab **Encryption toggle removed in favor of the Keychain** \u2014 With API keys moving to the Obsidian Keychain, the standalone \\\"Enable Encryption\\\" toggle is no longer needed and has been retired. It also didn't survive a sync to mobile cleanly, which caused intermittent chat failures for some users. Migrate to the Keychain for proper secret storage; existing encrypted blobs are still decrypted transparently on read so nothing breaks. (@logancyang)\\n  - Mobile users whose vault contained desktop-encrypted keys now see a startup notice listing exactly which fields need to be re-entered.\\n- \ud83d\udcf1 **Image send on mobile is fixed** \u2014 Sending images was broken for all mobile users since 3.3.0 due to a missing Buffer polyfill. Fixed. (@logancyang)\\n- \u2328\ufe0f **Quick Command shortcuts and icons restored** \u2014 The Cmd+Enter (Replace) and Cmd+Shift+Enter (Insert) shortcuts in the Quick Command result modal were broken if any global Obsidian hotkey was bound to Cmd+Enter. Fixed, and the inline shortcut glyphs are back too. (@zeroliu)\\n- \ud83e\udde0 **Plus mode: no more surprise getFileTree calls** \u2014 When you have a note attached in context, the planner no longer fires a `getFileTree` tool call before answering. (@logancyang)\\n- \ud83c\udff7\ufe0f **Settings version chip and Reset button are visible again** \u2014 Obsidian's own CSS was hiding them. Fixed. (@logancyang)\\n- \ud83d\udee1\ufe0f **Supply-chain attestations for release assets** \u2014 Release artifacts are now cryptographically signed and published to Sigstore's transparency log. (@logancyang)\\n- \ud83e\uddf9 **Major codebase hardening pass** \u2014 @zeroliu landed a sustained ESLint and type-safety campaign across the repo: ~395 `any` types removed, dozens of type-aware rules turned on, unsafe assignments\/returns\/member-access\/arguments locked down, floating promises explicitly handled, deprecated dependencies swapped, dead CSS removed, the global `app` reference replaced with a `useApp()` hook, and a long tail of smaller wins. See the full PR list below.\\n\\nMore details in the changelog:\\n\\n### Improvements\\n\\n- #2364 feat(keychain): migrate API key storage to Obsidian Keychain @Emt-lin\\n- #2431 ci(release): publish artifact attestations for release assets @logancyang\\n- #2448 refactor(react): replace global `app` with useApp() hook @zeroliu\\n\\n### Bug Fixes\\n\\n- #2457 fix(plus): planner skips getFileTree when active note is attached @logancyang\\n- #2455 fix(keychain): empty-keychain banner, reset modal copy, lifecycle reset @logancyang\\n- #2446 fix(encryption): deprecate encryption toggle; fix mobile chat failure on desktop-encrypted keys @logancyang\\n- #2445 fix(settings): restore version chip + reset button hidden by Obsidian h1 CSS @logancyang\\n- #2443 fix(mobile): import Buffer from the polyfill so image send works on mobile @logancyang\\n- #2442 fix(quick-command): restore Cmd+Enter shortcut and shortcut hint icons @zeroliu\\n\\n### Code Quality (@zeroliu)\\n\\n- #2453 chore(lint): fix no-array-index-key and other React lint warnings\\n- #2452 chore(eslint): enable no-explicit-any; fix ~395 violations\\n- #2451 chore(styles): drop dead CSS, reduce !important, fix duplicate selectors\\n- #2450 chore(lint): fix deprecation and template-literal lint warnings\\n- #2449 chore(icons): drop deprecated lucide Youtube icon; reuse Globe\\n- #2447 chore(deps): swap unmaintained\/legacy deps per e18e module-replacements\\n- #2444 chore(types): tighten any types and fix langchain getType deprecation\\n- #2441 chore(eslint): enable no-unnecessary-type-assertion and no-misused-promises\\n- #2440 chore(eslint): enable @typescript-eslint\/no-unsafe-argument and fix violations\\n- #2439 chore(eslint): enable @typescript-eslint\/unbound-method\\n- #2438 chore(eslint): enable no-unsafe-member-access; fix 124 violations\\n- #2437 chore(eslint): enable @typescript-eslint\/no-floating-promises\\n- #2436 chore(eslint): enable @typescript-eslint\/no-unsafe-return\\n- #2435 chore(test): type test mocks to satisfy @typescript-eslint\/no-unsafe-call\\n- #2434 chore(eslint): enable no-unsafe-assignment for tests\\n- #2433 chore(eslint): remove redundant non-TS rule overrides\\n- #2424 chore(lint): enable 4 type-aware quick-win rules and fix violations\\n\\n## Troubleshoot\\n\\n- If models are missing, navigate to Copilot settings -> Models tab and click \\\"Refresh Built-in Models\\\".\\n- Please report any issue you see in the member channel!\\n\\n---\\nGenerated by the release agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-05-14T22:22:39Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.1\/main.js\",\"content_type\":\"application\/javascript\",\"size\":3448118,\"download_count\":6783},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.1\/manifest.json\",\"content_type\":\"application\/json\",\"size\":441,\"download_count\":7640},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.1\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":71628,\"download_count\":6701}]},{\"tagName\":\"3.3.0\",\"name\":\"3.3.0\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.3.0\",\"body\":\"## Release v3.3.0\\n\\nThe headline of this release is a big one: **your projects now live as notes in your vault**, not buried in `data.json`. Update and your existing projects migrate automatically. Everything else in this release is quality and polish: a 1.8 MB bundle reduction, mobile support declared official, fresh built-in models, and a wave of reliability fixes for Korean\/CJK input, Miyo, Ollama, popout windows, and more!\\n\\n- \ud83d\udcc1 **Projects are now vault notes** \u2014 Project configurations are migrated out of the plugin's `data.json` and into your vault as regular markdown files. On first launch after the update, Copilot reads your existing projects and writes them to vault files automatically. You can see, edit, and version-control your project configs like any other note! Any projects that can't be migrated are backed up to an `unsupported\/` subfolder so nothing is lost. (@Emt-lin)\\n- \ud83d\udcf1 **Mobile support is now official** \u2014 Copilot is no longer desktop-only in the plugin manifest. Chat, Vault QA, and Plus modes all work on Obsidian Mobile, and the plugin now properly declares `minAppVersion: 1.7.2` so users on older Obsidian builds get a clear message rather than a cryptic runtime error. (@logancyang)\\n- \u26a1 **Bundle shrinks by 1.8 MB** \u2014 Cohere and Mistral models now route through OpenAI-compatible endpoints instead of their own SDKs, trimming the plugin from ~5 MB down to ~3.3 MB. Faster loads, especially on mobile! Note: if you had a custom `baseUrl` saved for a Cohere model, clear it in the model settings so Cohere falls back to the correct compatibility endpoint. (@logancyang)\\n- \ud83d\udca1 **Latest built-in models (May 2026)** \u2014 Built-in model list updated: GPT-5.5, GPT-5.4-mini, Claude Opus 4.7, Gemini 3.1 Flash-Lite (now GA), and Grok 4.3 are all available out of the box. Click \\\"Refresh Built-in Models\\\" in settings if you don't see them yet. (@logancyang)\\n- \ud83d\udd27 **GitHub Copilot codex models use the Responses API** \u2014 Codex-family models accessed through GitHub Copilot now correctly route to the `\/responses` endpoint. Previously they were hitting `\/chat\/completions` and failing with HTTP 400. (@Keryer)\\n- \u2328\ufe0f **Enter key delay fixed for Korean\/CJK input** \u2014 A 100ms timeout in the IME composition handler was making Enter feel sluggish when confirming Korean, Japanese, or Chinese input. Removed. (@octo-patch)\\n- \ud83d\uddd1\ufe0f **Deleted files respect your trash preference** \u2014 When Copilot deletes a chat history file, project file, system prompt, or custom command, it now uses Obsidian's trash setting (system trash \/ vault `.trash` \/ permanent) instead of always deleting permanently. Recoverable! (@zeroliu)\\n- \ud83d\udee4\ufe0f **Miyo path fixes for cross-vault and remote setups** \u2014 Two Miyo fixes ship together: vault-folder-prefixed paths are now sent to the related-notes endpoint (fixing cross-device disambiguation), and the vault folder-name prefix is stripped from indexed paths (fixing broken links in \\\"List Indexed Files\\\"). (@wenzhengjiang)\\n- \ud83c\udf10 **Ollama respects the CORS setting** \u2014 Ollama requests now route through `safeFetch` when \\\"Enable CORS\\\" is toggled, matching what every other OpenAI-compatible provider does. Fixes mobile (WKWebView) requests to `http:\/\/` Ollama hosts. (@zeroliu)\\n- \ud83e\ude9f **Popout window reliability** \u2014 Chat in a popout window now creates DOM nodes in the correct window. Typing into the chat input after dragging the leaf between windows works without reopening the view. Pills, typeahead menus, the Quick Ask overlay, and inline citation links all render correctly in popouts. (@zeroliu)\\n- \ud83e\udde0 **Think-section rendering fix** \u2014 A bug where indented code blocks inside `<think>` sections consumed the closing `<\/div>` tag and displayed it as literal text has been fixed. Affects models like `google\/gemma-4-31b-it` that use indented bullet-point reasoning. (@trulyshelton)\\n\\nMore details in the changelog:\\n\\n### Improvements\\n\\n- #2324 feat: migrate project storage from data.json to vault files @Emt-lin\\n- #2402 perf(deps): route Cohere & Mistral through OpenAI-compat (-1.8 MB bundle) @logancyang\\n- #2396 chore(models): bump built-in models to latest (May 2026) @logancyang\\n- #2425 chore(manifest): bump minAppVersion to 1.7.2 and declare mobile support @logancyang\\n- #2406 fix(popout): document ownership and selection listener fixes (W4\/9) @zeroliu\\n- #2405 fix(vault): respect user trash preference via FileManager.trashFile (W7\/9) @zeroliu\\n- #2404 chore(providers): adopt non-deprecated LangChain APIs + type cleanup @zeroliu\\n- #2403 chore(types): tighten types and replace TFile\/TFolder casts @zeroliu\\n- #2401 chore(popout): window-global API swaps for timers, globalThis, base64 @zeroliu\\n- #2400 chore(styles): replace element.style with Tailwind + CSS vars @zeroliu\\n- #2398 chore(deps): bump deps ahead of scorecard cleanup @zeroliu\\n- #2358 docs(ai): unify AGENTS.md and CLAUDE.md @capyBearista\\n\\n### Bug Fixes\\n\\n- #2393 fix(miyo): send portable folder-prefixed path to related-notes endpoint @wenzhengjiang\\n- #2390 fix(miyo): strip vault folder-name prefix from indexed paths @wenzhengjiang\\n- #2382 fix(ollama): route through safeFetch when enableCors is set @zeroliu\\n- #2367 fix: remove 100ms IME timeout that delayed Enter key for Korean\/CJK input @octo-patch\\n- #2343 fix: prevent <\/div> from being consumed by indented code blocks in think sections @trulyshelton\\n- #2320 fix: use \/responses for GitHub Copilot codex models @Keryer\\n- #2408 fix: broken tests @zeroliu\\n- #2407 chore(promises): explicit handling of floating promises @zeroliu\\n\\n## Troubleshoot\\n\\n- If models are missing, navigate to Copilot settings -> Models tab and click \\\"Refresh Built-in Models\\\".\\n- Please report any issue you see in the member channel!\\n\\n---\\nGenerated by the release agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-05-13T23:26:46Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.0\/main.js\",\"content_type\":\"application\/javascript\",\"size\":3464821,\"download_count\":9197},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.0\/manifest.json\",\"content_type\":\"application\/json\",\"size\":440,\"download_count\":10134},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.3.0\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":72390,\"download_count\":9021}]},{\"tagName\":\"3.2.9-beta.0\",\"name\":\"3.2.9-beta.0\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.2.9-beta.0\",\"body\":\"## Prerelease v3.2.9-beta.0\\n\\nThis is a beta release for testing the project storage migration, mobile support declaration, and a wave of reliability fixes before they ship in 3.2.9. Please report any issues in the Discord member channel with the version number in your report title.\\n\\n- \ud83d\udcc1 **Projects now live in your vault, not data.json** \u2014 Project configurations are migrated from the plugin's `data.json` into your vault as regular markdown files. Your projects and their settings transfer automatically on first load. This is a significant storage change \u2014 testers please verify your projects come through intact and project chat history loads correctly. (@Emt-lin)\\n- \ud83d\udcf1 **Mobile support is now officially declared** \u2014 Copilot is no longer desktop-only. The plugin now works on Obsidian Mobile (minAppVersion 1.7.2). If you're a mobile user, now is the time to test! (@logancyang)\\n- \u26a1 **Bundle shrinks by 1.8 MB** \u2014 Cohere and Mistral models now route through the OpenAI-compatible endpoint instead of their own SDKs, cutting the plugin bundle from ~5 MB down to ~3.3 MB. Faster loads, especially on mobile. (@logancyang)\\n- \ud83d\udd27 **GitHub Copilot codex models use the Responses API** \u2014 Models like `gpt-4.1` and `o4-mini` accessed through GitHub Copilot now use the `\/responses` endpoint as required. (@Keryer)\\n- \u2328\ufe0f **Enter key delay fixed for Korean\/CJK input** \u2014 A 100ms IME timeout was causing a noticeable delay when confirming input with Enter in Korean, Japanese, and Chinese. Removed. (@octo-patch)\\n- \ud83d\udee4\ufe0f **Miyo path portability fixes** \u2014 Two Miyo fixes land together: vault-folder-prefixed paths are now sent to the related-notes endpoint (fixing cross-vault disambiguation), and the vault folder-name prefix is stripped from indexed paths (fixing search result links). (@wenzhengjiang)\\n- \ud83c\udf10 **Ollama respects CORS setting for all requests** \u2014 Ollama requests now go through `safeFetch` when `enableCors` is set, matching the intended behavior for custom Ollama setups. (@zeroliu)\\n- \ud83e\udde0 **Think-section `<\/div>` parsing fix** \u2014 A bug where `<\/div>` tags were consumed by indented code blocks inside think sections has been fixed. (@trulyshelton)\\n- \ud83d\udee1\ufe0f **Codebase quality hardening** \u2014 A large wave of ESLint rule enablements (Obsidian API rules, security rules, type-aware rules) and corresponding fixes landed across the W0-W9 scorecard series. No behavior changes for users, but the codebase is now significantly more defensively typed and free of unsafe patterns. (@zeroliu)\\n\\n## What to Test\\n\\n- **Project migration**: Open the plugin after updating. Confirm all your projects appear in the Projects list and project chat history loads. Check that project files appear as notes in your vault.\\n- **Mobile**: If you use Obsidian Mobile, install the prerelease and confirm basic chat, model switching, and search all work.\\n- **Korean\/CJK input**: Confirm Enter key no longer has a 100ms lag when confirming IME input in the chat box.\\n- **Miyo**: If you use Miyo, test related-notes and search to confirm paths resolve correctly.\\n- **Ollama with CORS**: If you run Ollama with `enableCors: true`, confirm requests still go through correctly.\\n- **Bundle size**: Confirm Cohere and Mistral models still work correctly after the SDK routing change.\\n\\n## How to Install the Prerelease\\n\\n1. Download `main.js`, `manifest.json`, and `styles.css` from this prerelease's GitHub release page.\\n2. Replace the same three files in your vault's `.obsidian\/plugins\/copilot\/` folder.\\n3. Reload the plugin (Settings \u2192 Community Plugins \u2192 toggle Copilot off and back on, or restart Obsidian).\\n4. Report issues with the prerelease version number `3.2.9-beta.0` in the title so we can track them.\\n\\nTo return to the stable release: reinstall the plugin from Obsidian's community-plugin browser.\\n\\n---\\nGenerated by the prerelease agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-05-13T21:56:10Z\",\"prerelease\":true,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.9-beta.0\/main.js\",\"content_type\":\"application\/javascript\",\"size\":3464821,\"download_count\":35},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.9-beta.0\/manifest.json\",\"content_type\":\"application\/json\",\"size\":447,\"download_count\":746},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.9-beta.0\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":72390,\"download_count\":33}]},{\"tagName\":\"3.2.8\",\"name\":\"3.2.8\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/tag\/3.2.8\",\"body\":\"## Release v3.2.8\\n\\nA small but handy patch release adding a **global search toggle for Miyo** so you can search across everything you've indexed, not just your current vault!\\n\\n- **Search everything in Miyo, not just your vault** \u2014 A new \\\"Search everything in Miyo\\\" toggle (on by default) lets Miyo search across all indexed content instead of scoping results to your current vault folder. When you turn it off, searches are scoped to your vault and you'll see the folder identifier displayed so you know exactly what's being searched. (@wenzhengjiang)\\n\\n### Improvements\\n\\n- #2353 feat(miyo): add toggle to search all indexed content @wenzhengjiang\\n\\n## Troubleshoot\\n\\n- If models are missing, navigate to Copilot settings -> Models tab and click \\\"Refresh Built-in Models\\\".\\n- Please report any issue you see in the member channel!\\n\\n---\\nGenerated by the release agent.\",\"bodyExcerpt\":\"\",\"bodyTruncated\":false,\"publishedAt\":\"2026-04-29T11:44:42Z\",\"prerelease\":false,\"draft\":false,\"assetCount\":3,\"assets\":[{\"label\":\"main.js\",\"name\":\"main.js\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.8\/main.js\",\"content_type\":\"application\/javascript\",\"size\":5489632,\"download_count\":60969},{\"label\":\"manifest.json\",\"name\":\"manifest.json\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.8\/manifest.json\",\"content_type\":\"application\/json\",\"size\":415,\"download_count\":63373},{\"label\":\"styles.css\",\"name\":\"styles.css\",\"url\":\"https:\/\/github.com\/logancyang\/obsidian-copilot\/releases\/download\/3.2.8\/styles.css\",\"content_type\":\"text\/css; charset=utf-8\",\"size\":71172,\"download_count\":59630}]}]","ai_share_view_count":6916,"ai_share_bookmark_count":390,"ai_share_download_count":190,"ai_share_first_party_view_count":80,"ai_share_github_stars":7587,"ai_share_github_watchers":40,"ai_share_github_forks":715,"ai_share_github_open_issues":80,"ai_share_api_available":true,"ai_share_open_source":true,"ai_share_repo_url":"https:\/\/github.com\/logancyang\/obsidian-copilot","ai_share_documentation_url":"https:\/\/www.obsidiancopilot.com\/en\/docs","creator_id":"github-logancyang","creator_slug":"logancyang","creator_name":"logancyang","creator_type":"person","creator_status":"external","creator_intro":"Software engineer, ML practitioner, ex-Uber","creator_github_url":"https:\/\/github.com\/logancyang","creator_avatar_url":"https:\/\/avatars.githubusercontent.com\/u\/4860545?v=4","ai_share_github_readme_path":"README.md","ai_share_github_readme_sha":"5b8c8a8e50839b4cbce221f3516e6960577f446d","ai_share_github_readme_hash":"e5cf3c8ab45325610ff695a3a64517fc4f1b3e94fae142b2c73cfd76279e35d9","ai_share_github_readme_language":"en","ai_share_github_readme_format":"markdown","ai_share_github_description":"THE Copilot in Obsidian","ai_share_one_sentence_definition":"THE Copilot in Obsidian","ai_share_one_sentence_definition_en":"THE Copilot in Obsidian","ai_share_github_readme_url":"https:\/\/github.com\/logancyang\/obsidian-copilot\/blob\/master\/README.md","ai_share_github_readme_raw_url":"https:\/\/raw.githubusercontent.com\/logancyang\/obsidian-copilot\/master\/README.md","ai_share_github_readme_markdown":"<h1 align=\"center\">Copilot for Obsidian<\/h1>\n\n<p align=\"center\"><strong>Agents for your Obsidian vault<\/strong><\/p>\n\n<p align=\"center\">Copilot V4 brings opencode, Claude Code, and Codex into Obsidian for research, writing, and knowledge work.<\/p>\n\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/blog\/2024-goty-winners\/\"><img src=\".\/images\/llm-integration.svg\" width=\"640\" alt=\"Best LLM Integration Award\"><\/a>\n<\/p>\n\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/plugins?id=copilot\"><strong>No. 1 Obsidian AI Plugin<\/strong><\/a>\n<\/p>\n\n<p align=\"center\">\n  <img src=\"https:\/\/img.shields.io\/badge\/dynamic\/json?logo=obsidian&color=%23483699&label=downloads&query=%24%5B%22copilot%22%5D.downloads&url=https%3A%2F%2Fraw.githubusercontent.com%2Fobsidianmd%2Fobsidian-releases%2Fmaster%2Fcommunity-plugin-stats.json&style=flat-square\" alt=\"Obsidian downloads\" align=\"absmiddle\">\n  <img src=\"https:\/\/img.shields.io\/github\/v\/release\/logancyang\/obsidian-copilot?style=flat-square&sort=semver\" alt=\"Latest release\" align=\"absmiddle\">\n<\/p>\n\n<p align=\"center\">\n  <img src=\".\/images\/copilot-v4-agent-mode.png\" alt=\"Copilot V4 agent organizing research into connected Obsidian notes\" width=\"1200\">\n<\/p>\n\n<p align=\"center\">\n  <a href=\"https:\/\/obsidian.md\/plugins?id=copilot\"><strong>Install in Obsidian<\/strong><\/a> \u00b7\n  <a href=\"https:\/\/www.obsidiancopilot.com\/en\/pricing\">View plans<\/a> \u00b7\n  <a href=\".\/docs\/getting-started.md\">Get started<\/a>\n<\/p>\n\n---\n\n## Choose your agent\n\n**Agent** is the main Copilot experience for multi-step work. It can inspect notes, use tools, create Obsidian files, and continue across several turns with permissions you control.\n\n- **opencode (recommended):** Let Copilot download and manage it, then use Copilot-hosted models, your own provider key, or a local model.\n- **Claude Code:** Connect an existing installation. Copilot detects common install locations and uses your Claude Code login.\n- **Codex:** Connect Codex through the `@agentclientprotocol\/codex-acp` adapter and use your existing Codex login.\n\nAlready pay for Claude or ChatGPT, or already have model API access? You can bring that access to Copilot without buying a Copilot plan. Provider terms and usage limits still apply.\n\n[Learn how Agent works \u2192](.\/docs\/agent-mode-and-tools.md)\n\n## Set up Copilot\n\n1. [Install Copilot](https:\/\/obsidian.md\/plugins?id=copilot) from Obsidian Community Plugins.\n2. Open **Settings \u2192 Copilot \u2192 Basic \u2192 Agents**.\n3. Select **Download opencode**, or connect Claude Code or Codex with **Auto-detect**. Codex requires the `codex-acp` adapter first.\n4. Select the **Agent** ribbon icon, or run **Open Copilot Agent Chat Window**.\n\nThe [Getting Started guide](.\/docs\/getting-started.md) covers each setup path, including the Codex adapter commands and manual executable paths.\n\n## Built around your vault\n\n- **Projects:** Give ongoing work its own instructions, reusable context, and chat history. A project works with opencode, Claude, or Codex. [Learn about Projects](.\/docs\/projects.md).\n- **Skills shared across agents:** Add a skill once, then enable it for each installed agent. Copilot also includes skills for Obsidian Markdown, Bases, Canvas, and the Obsidian CLI. [Learn about Skills](.\/docs\/agent-mode-and-tools.md#skills-shared-across-agents).\n- **Commands:** Save repeatable prompts, run them with `\/` in Agent, or expose them in the editor and Command palette. [Create a Command](.\/docs\/custom-commands.md).\n- **Quick Ask:** Ask about a selection without leaving the note. Continue the conversation, replace text, insert the answer, or copy it. Quick Ask uses your Quick Chat model. [Set up Quick Ask](.\/docs\/custom-commands.md#quick-ask).\n- **Multiple sessions:** Keep separate Agent tabs open for different tasks. With active Plus access, mention multiple installed agents with `@` for one read-only research or review request.\n\nFor a short conversation that does not need an agent, use [Quick Chat](.\/docs\/chat-interface.md).\n\n## Use hosted, BYOK, or local models\n\n- **Copilot-hosted:** Add a Copilot license, then choose an available hosted model for opencode or Quick Chat. The model picker and dashboard show current access.\n- **Bring your own key:** Add a cloud, local, or OpenAI-compatible provider under **Settings \u2192 Copilot \u2192 BYOK**. Keys are stored in this device's Obsidian Keychain, not in the vault's `data.json`.\n- **Claude and Codex accounts:** These agents use their own CLI login rather than a key from Copilot's BYOK settings.\n- **Models reported by opencode:** opencode routes them to their backing provider. Free opencode Zen models show a warning because that provider may log or train on prompts; review its terms before sending sensitive content.\n\nYour chosen route determines where prompts and included context are processed. Read [LLM Providers](.\/docs\/llm-providers.md) for setup and [Copilot Plus and Self-Host](.\/docs\/copilot-plus-and-self-host.md) for privacy and routing details.\n\n## Plans\n\nThe Copilot plugin is open source and works without a Copilot license when you use your own agent account, provider key, or local model. Free use includes normal single-agent Agent chats, Projects with Markdown context, custom Skills and Commands, Quick Chat, Quick Ask, and local Miyo search.\n\nPaid access can include Copilot-hosted models and cloud-backed tools. Multi-agent requires active Plus access; check your dashboard for the current entitlement. Model availability and service limits can change, so the [pricing page](https:\/\/www.obsidiancopilot.com\/en\/pricing) and in-app model pickers are the current source of truth.\n\n<p align=\"center\"><a href=\"https:\/\/www.obsidiancopilot.com\/en\/pricing\"><strong>Compare plans \u2192<\/strong><\/a><\/p>\n\n## Trusted by people who think for a living\n\n> \"The first tool that truly unifies how I search, organize, and retrieve knowledge without ever leaving Obsidian. My workflow is faster, deeper, and more connected. I can't imagine working without it.\"\n>\n> **Jason Zhang**, Investor & Research Analyst\n\n<details>\n<summary><strong>More from the community<\/strong><\/summary>\n\n> \"I drop meeting transcriptions, personal notes, and architecture ideas into my vault. Copilot gives me a personal assistant that finds missing puzzle pieces and surfaces relevant info during live calls, no manual searches.\"\n>\n> **Brad Decker**, CTO, Concierge Auctions\n\n> \"Since discovering Copilot, my writing process has been completely transformed. Conversing with my own articles and thoughts is the most refreshing experience I've had in decades.\"\n>\n> **Mat QV**, Professional Writer\n\n<\/details>\n\n## Frequently asked questions\n\n<details>\n<summary><strong>Can I use Copilot without a paid plan?<\/strong><\/summary>\n\nYes. Connect Claude Code or Codex with its existing account, or use opencode and Quick Chat with your own API key or local model. Your provider may charge for its own usage.\n\n<\/details>\n\n<details>\n<summary><strong>Does Agent work on mobile?<\/strong><\/summary>\n\nAgent is a desktop feature because its backends run local processes. Quick Chat, custom Commands, and Quick Ask remain available on mobile.\n\n<\/details>\n\n<details>\n<summary><strong>How is my data handled?<\/strong><\/summary>\n\nYour notes remain files in your vault, and local Miyo indexes stay on your device. Prompts and any included context go to the model or service you choose. Copilot-hosted models and hosted features send the required input to Brevilabs for processing. See the [disclosure below](#paid-plan-disclosure) and the [privacy policy](https:\/\/www.obsidiancopilot.com\/en\/privacy).\n\n<\/details>\n\n## Help and links\n\n[Documentation](.\/docs\/index.md) \u00b7 [YouTube](https:\/\/www.youtube.com\/@loganhallucinates) \u00b7 [Report a bug](https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/new?template=bug_report.md) \u00b7 [Request a feature](https:\/\/github.com\/logancyang\/obsidian-copilot\/issues\/new?template=feature_request.md) \u00b7 [Privacy](https:\/\/www.obsidiancopilot.com\/en\/privacy)\n\n## Support the project\n\nIf Copilot is useful to you, consider [sponsoring the project on GitHub](https:\/\/github.com\/sponsors\/logancyang) or buying us a coffee.\n\n<p align=\"center\">\n  <a href=\"https:\/\/www.buymeacoffee.com\/logancyang\"><img src=\"https:\/\/cdn.buymeacoffee.com\/buttons\/v2\/default-yellow.png\" alt=\"Buy Me a Coffee\" width=\"165\"><\/a>\n<\/p>\n\n### Thank you to our GitHub Sponsors\n\nSpecial thanks to our top sponsors: @mikelaaron, @pedramamini, @Arlorean, @dashinja, @azagore, @MTGMAD, @gpythomas, @emaynard, @scmarinelli, @borthwick, @adamhill, @gluecode, @rusi, @timgrote, @JiaruiYu-Consilium, @ddocta, @AMOz1, @chchwy, @pborenstein, @GitTom, @kazukgw, @mjluser1, @joesfer, @rwaal, @turnoutnow-harpreet, @dreznicek, @xrise-informatik, @jeremygentles, @ZhengRui, @bfoujols, @jsmith0475, @pagiaddlemon, @sebbyyyywebbyyy, @royschwartz2, @vikram11, @amiable-dev, @khalidhalim, @DrJsPBs, @chishaku, @Andrea18500, @shayonpal, @rhm2k, @snorcup, @JohnBub, @obstinatelark, @jonashaefele, @vishnu2kmohan\n\n## Paid Plan Disclosure\n\nCopilot is a product of Brevilabs LLC and is not affiliated with Obsidian. Visit [obsidiancopilot.com](https:\/\/obsidiancopilot.com\/) for current plan details.\n\n- An account and payment are required for paid access.\n- Hosted models and cloud-backed features require network access.\n- **Privacy and data handling:**\n  - **Free use:** Messages and note context go to the LLM provider, local endpoint, or CLI agent you configure. Brevilabs does not receive them unless you invoke a Brevilabs-hosted feature.\n  - **Paid hosted services:** Brevilabs's backend and its vetted enterprise model providers process the full request. A Copilot-hosted embedding model receives the note text being indexed. Hosted features also receive the inputs they need, such as search queries, URLs, and files used by Quick Chat tools or Agent project context. The privacy policy says request content is processed transiently, not retained, and not used for training.\n  - **User ID:** Hosted feature requests include a randomly generated UUID for service delivery, license abuse prevention, and rate limiting. It is not used for tracking, profiling, or analytics.\n- See the [privacy policy](https:\/\/www.obsidiancopilot.com\/en\/privacy) for full terms.\n- The Copilot plugin frontend is fully open source. The backend services that support hosted features are closed source and proprietary.\n- We offer a full refund within 14 days of purchase if you are not satisfied.\n\n## Authors\n\nBrevilabs Team \u00b7 [logan@brevilabs.com](mailto:logan@brevilabs.com) \u00b7 [@logancyang](https:\/\/twitter.com\/logancyang)"},"categories":[2482],"tags":[1911,1914,1771,1917,1920],"ai_series":[],"ai_topic":[2634],"ai_creator":[711],"ai_collection":[13],"ai_resource_type":[99],"ai_tool_tag":[],"class_list":["post-4138","post","type-post","status-publish","format-standard","hentry","category-plugin","tag-ai","tag-aiagent","tag-chatgpt","tag-copilot","tag-obsidian-plugin","ai_topic-ai-chat","ai_creator-logancyang","ai_collection--ai-","ai_resource_type-plugin"],"source_url":"","preserve_modified":false,"lang":"en","translations":{"en":4138,"zh-cn":56},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/posts\/4138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/comments?post=4138"}],"version-history":[{"count":1,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/posts\/4138\/revisions"}],"predecessor-version":[{"id":4139,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/posts\/4138\/revisions\/4139"}],"wp:attachment":[{"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/media?parent=4138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/categories?post=4138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/tags?post=4138"},{"taxonomy":"ai_series","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_series?post=4138"},{"taxonomy":"ai_topic","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_topic?post=4138"},{"taxonomy":"ai_creator","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_creator?post=4138"},{"taxonomy":"ai_collection","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_collection?post=4138"},{"taxonomy":"ai_resource_type","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_resource_type?post=4138"},{"taxonomy":"ai_tool_tag","embeddable":true,"href":"https:\/\/ai.wuaishare.cn\/hub\/wp-json\/wp\/v2\/ai_tool_tag?post=4138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}