Changelog

All notable changes to Ophel Atlas are documented here.

View on GitHub
v1.2.4

🚀 New Features

  • Interactive export dialog — The export button and the conversation list export menu now open a unified options dialog: pick the format (Markdown / HTML / JSON / TXT / Copy Markdown), toggle thought inclusion and turn numbering, customize the Markdown divider, package as ZIP, or jump to segmented export; a new "Show Export Options Dialog" setting restores one-click export when turned off. (#841)
  • HTML export — Conversations can now be exported as a single self-contained HTML file with responsive layout, light/dark/auto theme switching, syntax-highlighted code blocks with copy buttons, native MathML formulas, a collapsible "Thinking process" section, and light-theme printing. (#856, @Piracola)
  • Default export format — Added a "Default Export Format" setting, so the export shortcut and quick export use a preferred format (Markdown / JSON / TXT / HTML) instead of always Markdown. (#856, @Piracola)
  • Site Pack document outline support — Declarative Site Packs now support document outline navigation (document-outline capability and documentOutline config), enabling multi-source "Document" tab outlines and scroll navigation for Canvas, Artifacts, and standalone research reports on adapted sites.
  • Manus support — The online adapter library now includes Manus (manus.im); installing the pack enables outlines with user queries, basic export, chat width, Zen Mode, Clean Mode, new chat, and prompt insertion on conversations and shared pages.

✨ Improvements

  • Thought block consolidation and duplicate title cleanup — The export pipeline now automatically merges consecutive thought fragments into a single unified blockquote and safely combines consecutive pure-thought assistant turns (including multi-fragment chains), preventing duplicate model headings across adapted sites; segmented exports are cleaned up the same way. (#841)
v1.2.3

🚀 New Features

  • Proton Lumo support — The online adapter library now includes Proton Lumo (lumo.proton.me); installing the pack enables outlines with user queries, basic export, generation detection and stop, chat width, Zen Mode, Clean Mode, new chat, and prompt insertion.
  • Genspark support — The online adapter library now includes Genspark (genspark.ai); installing the pack enables outlines with user queries, basic export, generation detection and stop, chat width, Zen Mode, new chat, prompt insertion, and Clean Mode. (#851)

✨ Improvements

  • Settings and panel visual experience polish — Settings pages now feature sticky tab bars with backdrop blur; the Backup page is redesigned into a clean tabbed layout for local and WebDAV options; Permissions and Shortcuts pages now use crisp SVG icons and keyboard badges; and prompt action buttons along with UI components across all 24 themes now have refined visual hierarchy and contrast.

🐛 Bug Fixes

  • Gemini image package download — Fixed an issue where ZIP exports from Gemini share pages or multi-account sessions could miss images, by using pictures already shown on the page when downloading them fails. (#814)
v1.2.2

🚀 New Features

  • StepFun support — The online adapter library now includes StepFun (chat.stepfun.com); installing the pack enables outlines with user queries, basic export, generation detection and stop, chat width, Zen Mode, new chat, and prompt insertion on conversations and shared pages. (#839, #792, #352)

🐛 Bug Fixes

  • Outline anchor position lost — Fixed issue where quickly or repeatedly clicking "Return to Anchor", "Go to Top", "Go to Bottom", or clicking the same outline heading twice collapsed the saved anchor onto the current position, so "Return to Anchor" could no longer jump back to the previous location; anchor operations are now serialized, and the anchor is preserved when the target is already reached. (#848)
  • Adapt to Claude's new page layout — Claude updated the page structure again, Fuck you, Claude! (#823, #849)
  • Doubao conversation title sync — Fixed issue where conversations synced from Doubao showed their titles repeated three times (e.g. a title became "titletitletitle") after the site rolled out its new sidebar conversation list; titles are now read correctly from the new structure. (#846)
  • Qwen Studio scroll shortcuts — Adapted to Qwen Studio's new chat scroll container, fixing "Go to Top", "Go to Bottom", and "Return to Anchor" failing after the site updated its page structure.
  • Adapt to Grok's new DOM structure — Adapt to Grok's new chat scroll container and theme style selector, and fix the problem of "Go to Top", "Go to Bottom" and "Return to Anchor" on Grok failing and switching between light/dark themes causing the page to freeze and become unresponsive. (#842, #843)
  • ChatGLM theme switching — Adapted to ChatGLM's new theme popover structure, fixing light/dark/system theme switching that failed after the site moved the options into a hidden popover the old two-step menu navigation couldn't reach.
  • ChatGPT prompt insertion on Firefox — Fixed issue where inserting a multi-line prompt into ChatGPT in Firefox lost all line breaks; inserted prompts now keep their original line structure. (#811, #838)
  • AI Studio theme toggle — Fixed issue where toggling light/dark theme on AI Studio no longer changed the site theme and the stored preference was never updated; the page theme now follows the panel toggle again. (#844)
  • DeepSeek Harness steering messages — Fixed issue where steering instructions sent while a response was generating were missing from the outline and exports on DeepSeek Harness; these messages are now recognized as user queries.
v1.2.1

🚀 New Features

  • DeepSeek Harness support — The online adapter library now includes DeepSeek Harness; install the pack and bind it to your self-hosted instance's domain to enable outlines with user queries, basic export, generation detection and stop, chat width, Zen Mode, prompt insertion, and reading history. (#825)
  • OpenCode Share support — The online adapter library now includes OpenCode Share (opncd.ai); installing the pack enables outlines with user query detection and basic export for shared OpenCode conversations. (#800)
  • LongCat AI support — The online adapter library now includes LongCat AI (longcat.chat); installing the pack enables outlines with user queries, export, generation detection and stop, page width, Zen Mode, new chat, and prompt insertion on the site.
  • HTTP self-hosted sites — Site Packs can now be bound to HTTP origins such as http://192.168.1.10:3000, so a self-hosted AI site that is not served over HTTPS can still be adapted; the in-page adapter wizard and local pack import accept HTTP origins as well.

✨ Improvements

  • Site packs auto update check — Opening Settings -> Site Packs -> "Get & Updates" now automatically checks for adapter updates once, so first-time users see the online library right away instead of an empty list. (#821)
  • Site pack outline exclusion — Site Packs can now declare containers to exclude from outline extraction, so reasoning or thinking sections no longer pollute the outline with draft headings. (#800)

🐛 Bug Fixes

  • Claude new layout adaptation — Adapted to Claude.ai's new DOM structure: updated sidebar conversation list, send button, generation detection, Zen Mode, and panel avoidance selectors, and fixed issue where pinning and then unpinning a conversation showed its title twice in the conversation manager. (#834 @urzeye, #820 @crazyn2)
  • ChatGPT page redesign adaptation — Fixed issues caused by ChatGPT's page redesign: conversations could be scanned but not added to the conversation list, the "ChatGPT can make mistakes" disclaimer stayed visible in Clean Mode, and double-clicking LaTeX formulas reported missing source; sidebar chat links and formula sources are now read from the redesigned structure.
  • Userscript adapter library updates — Fixed issue where the userscript version kept showing an outdated online adapter library (for up to a week) because the browser cached the CDN response; update checks now always fetch the latest index.
  • Site pack forward-compatible fields — The registry PR validator now tolerates schema-declared fields at any nesting level when base code has not yet learned them, so a new selector or config sub-field can ship in the same PR as the pack that uses it instead of splitting into two separate PRs. (#800)
  • Hidden conversations recovery — Fixed issue where some conversations stayed invisible in the conversation list even after re-syncing (their folder had been removed earlier); upgrading now automatically moves such conversations back to the inbox.
  • Site pack prompt insertion — Fixed issue where inserting a multi-line prompt into a site's rich text input box (such as LongCat AI) showed an "Insert failed" toast even though the text had been inserted correctly.
v1.2.0

🚀 New Features

  • Site packs — Added a "Site Packs" section in settings for installing adapter packs from the online library, extending Ophel to more AI sites (self-hosted instances can be enabled by binding a custom domain); built-in site adapters can now be fixed via cloud updates instead of waiting for the next extension release. (#809)
{/* release-note-media: site-packs-video */}
v1.1.8

🚀 New Features

  • Prompt platform filter — Prompts now support optional platform assignment (e.g., ChatGPT, Gemini, Claude) via the editor dialog; a new globe icon in the category bar opens a multi-select filter popover with a badge count, so users can quickly narrow prompts to those relevant for a specific platform. (#802)

✨ Improvements

  • Prompt queue overlay z-index — Lowered the queue capsule and panel z-index from 99998/99999 to 9998/9999 so the floating bar no longer blocks the main panel, magic codex viewer, and import/preview dialogs.

🐛 Bug Fixes

  • Prompt variable multiline input — Fixed issue where pasting multi-line Markdown into a prompt variable collapsed it onto a single line because the input was single-line; variable text fields now use an auto-resizing box that stays compact for short values and grows to preserve line breaks and formatting for long content. (#801)
* ChatGPT panel avoidance input width — Fixed issue where the smart avoidance feature caused ChatGPT's input box to become excessively narrow after the site's 2026 redesign. * Doubao Zen Mode sidebar — Fixed issue where enabling Zen Mode on Doubao left a visible sidebar placeholder because the old DOM selector no longer matched the updated sidebar structure; added the new container selector so the sidebar collapses completely. (#806)
v1.1.7

✨ Improvements

  • Reading history restoration controls — Automatic reading-position restoration now yields immediately when scrolling or selecting an outline item, so user navigation always takes priority and the selected position is preserved. (#797)

🐛 Bug Fixes

  • Claude outline refresh after replies — Fixed issue where sending a new message in a previously indexed long Claude conversation could restart the full outline scan and scroll through the conversation again; new replies now update the cached outline incrementally. (#785)
  • Claude outline current-position highlight — Fixed issue where the outline could highlight an earlier question when the visible Claude question began with the same text; current-position tracking now follows the exact question at that conversation position.
v1.1.6

✨ Improvements

  • Claude page structure adaptation — Adapted to Claude's updated conversation page DOM, ensuring the outline can read all messages and conversation exports remain complete. (#781)

🐛 Bug Fixes

  • Claude Canvas document export — Fixed issue where Markdown and clipboard exports could omit Claude Canvas document content; exports now collect Canvas documents from the conversation, including virtualized messages, and restore the previously open Canvas afterward.
  • Claude Canvas Smart Avoidance — Fixed issue where opening a Claude Canvas document could stop Smart Avoidance from reserving space for the Ophel panel, causing the document content to be covered.
  • Global shortcut URL — Fixed issue where the global shortcut continued to open Gemini after setting a custom URL. (#778)
v1.1.5

🚀 New Features

  • Edge-snap trigger style — Automatic edge-snap mode now lets you choose between the visible edge handle and a hidden edge hot zone, keeping the collapsed panel cleaner while still opening it from the screen edge. (#770)
  • Prompt order shortcuts — Prompt menus now include Move up and Move down, making it easier to organize prompts when drag-and-drop is inconvenient. (#774)

🐛 Bug Fixes

  • Doubao user questions — Fixed issue where Doubao's updated chat bubble markup could prevent newer user questions from being recognized in the outline, Markdown rendering, export, and related features while keeping older conversations compatible. (#771)
v1.1.4

🚀 New Features

  • Panel tab reordering — Outline, Conversations, and Prompts tabs can now be reordered directly from the panel, keeping the same order in Settings without opening the options page first. (#764)
  • Panel width controls — Floating panels now support edge-drag resizing and an optional Beta hover-widening mode; related settings stay under Panel Width, are searchable in Search Everywhere, and avoid page-avoidance jumps while temporarily widening. (#763)

✨ Improvements

  • Smart panel-aware layout — Smart Avoidance now covers more new chat, Canvas, side-panel, and file-view layouts, keeping page content, input boxes, and native panels aligned with the available safe area while the Ophel floating panel is open. (#761)

🐛 Bug Fixes

  • Kimi conversation sync — Fixed issue where Kimi's updated sidebar layout could prevent new or recent chats from appearing in Conversations sync. (#759)
v1.1.3

🚀 New Features

  • Smart panel-aware layout — Added beta Smart Avoidance for All Platforms, so supported sites recalculate their chat safe area while the Ophel floating panel is open and keep messages, code blocks, and input boxes out from under the panel when pages are widened or browser windows are narrow. (#744, #752)
{/* release-note-media: panel-aware-layout-video */}
  • Italian language support — Ophel Atlas now supports Italian for the interface, extension metadata, and userscript resources, so Italian users can use the panel and settings in their language.

✨ Improvements

  • Main panel toolbars and quick buttons — Unified Outline, Prompts, and Conversations toolbar/search styling and tuned quick-button feedback, so high-frequency controls are clearer across themes.
  • Settings and theme management UI — Refreshed the settings sidebar, theme preset cards, custom style list, and style editor so navigation reads more clearly and theme choices are easier to scan. (#749)
  • Panel header and tabs — Polished the panel header, drag hint, and tab bar styling to reduce visual noise and keep controls aligned with the rest of the interface. (#749)
  • Prompt preview category tags — Prompt previews now show the category as a colored tag matching the prompt category color, with a clearer preview header and content layout.

🐛 Bug Fixes

  • Custom tab title formats — Fixed issue where Qianwen and Z.ai could reuse an already-renamed browser tab title after switching conversations, preventing duplicated title or model fragments when custom tab formats include {model}.
  • Claude userscript export — Fixed issue where exporting Claude conversations with thinking blocks could fail in userscript mode while preparing the page for export.
  • Kimi Zen Mode — Fixed issue where Zen Mode no longer hid Kimi's sidebar after the site updated its page layout.
v1.1.2

🚀 New Features

  • Gemini Canvas document export — Gemini Canvas export now supports regular document Canvas panels, so article Canvas content is included in conversation exports and Canvas Markdown copy/download actions. (#736)

✨ Improvements

  • Long conversation export loading — Gemini and Qwen Studio exports now load earlier lazy-loaded history before collecting messages, reducing missed content in long conversation exports. (#739)

🐛 Bug Fixes

  • AI Studio model lock in userscript — Fixed issue where the AI Studio model lock feature on the options page couldn't fetch the model list in the userscript build because it tried to use the background script proxy which doesn't exist in userscripts. Now it directly calls the adapter in userscript mode. (#733)
v1.1.1

✨ Improvements

  • Long conversation outline performance — Large outlines now render only visible rows, skip collapsed or filtered nodes, coalesce automatic refresh and scroll updates, reduce layout measurements, and cache ChatGPT/Claude/Gemini word counts, reducing lag in long chats. (#677, #682, #683, #691, #695, #696, #698, #699)
  • Global search outline updates — Global search now refreshes the outline on open and follows outline manager updates instead of polling every 1200ms, reducing background work while search is open. (#692)
  • Conversation sidebar sync — Sidebar sync now batches conversation additions, updates, deletes, and target-folder changes into one store write, reducing storage churn during history sync. (#697)
  • Background page work — Inline bookmark icons now avoid full outline scans for unrelated DOM changes, selected prompts reuse the shared URL-change listener, and tab title checks slow down only while a page is idle in the background while keeping completion notifications available.
  • Qianwen long conversation DOM — Adapted Qianwen chat pages to the new lazy-loaded long conversation structure, so conversation export and outline copy load earlier history before collecting messages.

🐛 Bug Fixes

  • Prompt send shortcuts — Fixed issue where sending from the chat input with Ophel's configured shortcut could lag on Claude, DeepSeek, and similar sites. Double-click prompt sending also now respects Ctrl+Enter send mode without leaving the prompt in the input box or adding a newline. (#701, #710)
  • ChatGPT pinned conversations — Fixed ChatGPT conversation sync for the new sidebar layout, so pinned conversations under the Pinned section are imported, title updates are tracked, and project folders are not treated as chats.
  • Codex task page outline — Codex Cloud task share pages on ChatGPT now include the original prompt and response headings in the Outline instead of showing an empty outline. (#709)
  • Gemini conversation sync — Fixed issue where first-time or empty-library Gemini auto sync could stop after only part of the history, leave the Conversations panel counts empty, or make manual sync wait longer than needed after reaching the bottom. (#712)
  • Gemini shared chat continuation — Fixed issue where Purify Mode could hide Gemini's "Continue this chat" button on shared chat pages. (#703)
  • Doubao long conversation export — Fixed issue where Doubao virtual-scroll conversations could export or copy only the currently mounted message window; exports and full-outline copy now scan the conversation before collecting messages.
  • Outline scroll highlight stability — Fixed issue where source scrolling could highlight a user question, previous answer, or hidden child instead of the current visible heading in long conversations. (#704, #708)
v1.1.0

🚀 New Features

  • Quick Quote Chains — Prompt chains can now be triggered directly from quick quote actions, with chain icon picker, drag-to-reorder, and embedded quote anchors for reliable reference restoration across page refreshes. (#623)
  • Gemini Canvas Markdown actions — Gemini Canvas panels now include Ophel Copy Markdown and Download Markdown buttons, exporting Canvas code as fenced Markdown without running a full conversation export. (#663)
  • Segmented conversation export — Conversation export now supports choosing message ranges from a searchable picker and saving selected segments as ZIP files, merged Markdown, or clipboard content. (#665)
  • Update modal — Ophel now shows release notes once per version and lets users reopen them from About, so update changes are visible in both extension and userscript builds. (#666)

✨ Improvements

  • Quick Quote native-site positioning — Quick Quote actions now detect native selection popovers on supported sites, choose alternate positions to avoid overlap, and disable Ophel anchors where they conflict with native editors. (#658, #660, #661)
  • Quick Quote default actions — Quote Reply now lives in the default prompt chain, while the selection popover keeps a fixed copy action and a smaller built-in action set. (#664)
  • Prompt chain setup and sync — Chains launched from selected text now consistently ask to enable Prompt Queue when needed, the Chains panel prompts for Selection Quote, and userscript backup/WebDAV sync includes chain data. (#661, #671)
  • Store and toolbar icon polish — Updated the Chrome store icon, softened the review icon hover state, and aligned Outline toolbar icon colors with the rest of the panel. (#662, #668)

🐛 Bug Fixes

  • Outline copy at level 0 — Fixed issue where copying the outline returned empty results when user queries were hidden and expand level was set to 0, even though AI response headings were visible in the panel. Now copies all heading levels (H1-H6) in this scenario to match what's displayed.
  • Prompt queue keyboard shortcuts — Prompt queue input now respects the user's send shortcut setting (Enter vs Ctrl+Enter) instead of hardcoding Enter behavior. The expanded queue panel uses capture-phase event handling to prevent keyboard events from being blocked by the editable guard, so Enter and Ctrl+Enter shortcuts work correctly on all platforms including Mac.
  • Prompt queue text alignment — Queue item text now displays left-aligned instead of center-aligned for better readability.
  • ChatGLM generation detection — Fixed false-positive generation status detection caused by historical "answer terminated" messages. The isGenerating() method now excludes .stop-answer-default selector which matches static text from previous responses rather than the current generation state.
  • ChatGLM stop button — Alt+K shortcut now correctly stops generation by targeting the inner .enter-icon-container element instead of the outer container div.
  • Qianwen Slate editor sync — Fixed content insertion from prompt queue where inserted text couldn't be edited or deleted. The editor now properly syncs Slate's virtual DOM by using selectAll + delete + insertText with complete event chains (beforeinput, input, change) to ensure both DOM and Slate state update correctly.
  • Launcher peek retention — When the mouse moves from the panel logo to other quick buttons (e.g. toolbox), the launcher peek panel now hides instead of staying open and blocking the toolbox menu. (#653)
  • Quick Quote export markers — Fixed issue where invisible quick quote anchors could leave empty outline entries or filter out messages during conversation export and outline copy. (#669)
  • Userscript reset and restore state — Clear All Data, backup restore, and release-note state now use the shared platform storage keys, preventing incomplete reset or restore behavior in the userscript build. (#670)
v1.0.60

✨ Improvements

  • Userscript bundle size — Split Markdown rendering code, Markdown styles, user-query Markdown styles, and site icons into external userscript assets so Greasy Fork sync has less inline code to process while preserving the existing rendering injection path.
  • Zen Mode exit button — Added a "Show exit button" setting for Zen Mode, so the on-page exit button can be hidden while keeping the quick button and shortcut exit paths available. (#645)

🐛 Bug Fixes

  • AI Studio mobile Enter key — AI Studio on Android and other mobile devices now lets the soft-keyboard Enter key insert a newline instead of triggering an accidental send, while Ophel-driven sends still use the native send button or the safe keyboard fallback. (#646)
  • AI Studio mobile history sync — AI Studio conversation sync now recognizes the mobile Library card layout, so mobile pages no longer report that no sidebar conversations were found when history is available.
  • Conversation sync loading — Conversation sync now uses each adapter's own conversation source to decide when sidebar history has finished loading, waits longer for slow lazy-loaded sidebars, and disables sync-delete when a complete load cannot be confirmed. Doubao and Yuanbao now share the safer base loader. (#639)
v1.0.59

🚀 New Features

  • Outline copy — The Outline toolbar can now copy the currently selected outline depth as Markdown headings by reusing the export pipeline, so virtual-scroll conversations are loaded and restored safely before headings and user queries are copied. (#539)
  • Conversations quick open — Conversation rows can now be opened from the context menu in a new tab, so older sessions can be reopened without replacing the current chat. (#578)

🐛 Bug Fixes

  • ChatGPT native TOC outline — ChatGPT outlines now recover the full user-question list when the native TOC only exposes real prompt text after hover, cache the extracted labels per TOC instance, and avoid userscript crashes from cross-realm pointer events. (#642)
  • ChatGPT tab status — ChatGPT tabs no longer show while idle when a sidebar conversation title contains "Stop" or "停止". The generation detector now only uses visible stop buttons from the composer area. (#630)
  • Gemini tab renaming — Gemini tabs no longer flicker back to the native page title during active replies when automatic tab renaming is enabled.
  • Gemini watermark removal — Replaced the legacy Gemini/Nano Banana remover with the SDK-backed implementation and fixed user-uploaded image handling plus generated-image removal regressions. (#593, #625)
  • Prompt imports — Prompt Library import now accepts prompt backup files exported from the Backup page, not just the raw prompt-list JSON format.
  • Rendered user-query spacing — Rendered Markdown in user questions now ignores native plain-text whitespace classes, preventing large blank gaps between paragraphs and quoted text on DeepSeek, Doubao, Z.ai, ChatGLM, Qwen, and similar sites.
v1.0.58

🐛 Bug Fixes

  • Conversation title isolation — Browser tab renaming now keeps Ophel-managed status/model labels separate from raw conversation titles, preventing exported conversation titles and filenames from inheriting tab status, model names, or repeated -> separators when a page cannot expose its model name.
  • Doubao share-page export and outline — Doubao share links under /thread/ are now recognized as exportable conversations, and share-page message lists can now feed the Outline tab instead of requiring the regular chat-page virtual list.
  • Z.ai share-page outline — Z.ai share pages now reuse the same conversation content container detection as export, so Outline extraction works when the share DOM does not include the regular #chat-container wrapper.
  • ChatGLM code-block export — ChatGLM assistant replies split around code blocks now export the full answer instead of stopping at the first rendered Markdown segment.
  • Localized untitled exports — Untitled export titles now follow the current UI language even when an older fallback title was saved in another language.
  • Qianwen user-query Markdown contrast — Rendered user-query Markdown on Qianwen now uses a dedicated readable bubble style instead of inheriting low-contrast native question-card colors.
  • Qianwen/Qwen Studio Outline duplicates — User questions wrapped by nested site containers now appear once in the Outline while preserving the correct export output.
  • Custom tab-title formats — Missing model names and previously managed tab titles are now resolved from the configured placeholder structure instead of separator-specific cleanup, preventing recursive title growth with arbitrary custom formats.
v1.0.57

🐛 Bug Fixes

  • Claude theme mode sync — Claude theme switching now keeps Claude-specific DOM hints inside the Claude adapter and avoids writing extra page-level light / data-theme / color-scheme markers that could diverge from Claude's native theme state.
  • ChatGPT native TOC bookmark stability — ChatGPT native TOC user-question bookmarks now keep the same identity across virtual-scroll state changes, reducing ghost bookmarks and duplicate matches for the same prompt.
v1.0.56

🚀 New Features

  • AI Studio user attachments in exports — AI Studio Markdown exports now include images and files from user prompts; zip packages preserve downloadable user images under assets/images/, while file-only cards keep their visible filename and token details in Markdown.
  • ChatGLM attachment, image, and thought export — ChatGLM exports now preserve user-uploaded images and files plus AI-generated images in Markdown and zip packages. Share-page exports also recognize ChatGLM's current thinking payloads and format included thoughts as > [Thought] blockquotes when "Include Thoughts in Export" is enabled, while filtering user avatars from exported assets.
  • ChatGPT generated image export — ChatGPT Markdown exports now include generated image-only assistant turns, preserving generated images in both regular Markdown output and zip asset packages.
  • Claude export attachments and thoughts — Claude Markdown exports now preserve images and files from user prompts in both Markdown and zip package modes, and can include expanded Claude thinking blocks when "Include Thoughts in Export" is enabled.
  • DeepSeek user attachments in exports — DeepSeek Markdown exports now include images and files from user prompts, including share pages; zip packages resolve downloadable share attachments into assets/images/ and assets/files/ with stable Markdown references.
  • Doubao image and attachment export — Doubao Markdown exports now include images and files from user prompts plus images from assistant replies. Zip packages preserve downloadable resources under assets/images/ and assets/files/, with generated-image fallback handling for pages that keep only placeholder images in the DOM.
  • Grok image and attachment export — Grok Markdown exports now include generated images from assistant replies plus images and files from user prompts. Zip packages preserve downloadable images under assets/images/ and user files under assets/files/ with stable Markdown references.
  • Gemini Canvas code export — Gemini conversation and share-page exports now open Canvas artifacts, switch to the code tab without relying on localized labels, and include generated Canvas code in Markdown exports.
  • Ima attachment, generated image, and thought export — Ima Markdown exports now include user-uploaded images and files, preserve AI-generated images in regular Markdown and zip asset packages, and include visible thinking content when "Include Thoughts in Export" is enabled. Empty attachment containers are ignored so plain user prompts no longer export a phantom attachment item.
  • Kimi share conversation export — Kimi share pages are now supported in conversation export, outline, and scroll navigation. Exports preserve user-uploaded images in Markdown and zip asset packages, include visible file attachment labels, and keep user prompts aligned with the correct assistant replies.
  • Qianwen attachment and generated image export — Qianwen Markdown exports now recognize the current share-page question and answer DOM, include user-uploaded images and file cards, and preserve AI-generated images in both regular Markdown and zip asset packages, avoiding empty-message exports on updated pages.
  • Qwen Studio attachment, generated image, and thought export — Qwen Studio Markdown exports now include user-uploaded images and full file-card names, preserve AI-generated images in regular Markdown and zip asset packages, and can export expanded thinking details from regular and share-page conversations when "Include Thoughts in Export" is enabled.
  • Yuanbao attachment, generated image, and thought export — Yuanbao Markdown exports now include images and files from user prompts, preserve AI-generated images in regular Markdown and zip asset packages, and include visible thinking content when "Include Thoughts in Export" is enabled.
  • Z.ai attachment and thought export — Z.ai conversation and share-page exports now preserve user-uploaded images and files in Markdown and zip packages, deduplicate signed CDN links from API and DOM sources, and include reasoning blocks when "Include Thoughts in Export" is enabled.

✨ Improvements

  • Export progress overlay — Long conversation exports now show a full-page progress overlay with the current export stage, blocking accidental clicks, scrolling, and typing while Ophel loads history, extracts content, packages assets, saves files, and restores the page.
v1.0.55

🚀 New Features

  • ChatGPT Deep Research export — ChatGPT Markdown zip exports now preserve uploaded images and linked files from user prompts, and include Deep Research reports as a title and link in Markdown. The extension build also allows oaiusercontent.com assets so shared-page images can be packaged. (#579)
  • Claude document artifacts and outline — Claude Markdown document artifacts can now be exported as linked files in Markdown zip packages under assets/documents/, and the Outline tab shows a separate Document source when Claude's right-side document panel is open. (#588)
  • Claude user attachments in exports — Claude Markdown zip exports now preserve uploaded images and linked files from user prompts, packaging them under assets/images/ and assets/files/ with stable Markdown references. (#588)
  • Gemini Deep Research document outline — The Outline tab now shows a "Chat / Document" source switch when a Gemini Deep Research report is open, letting you browse and jump through the right-side report outline separately from the left-side conversation outline. (#585)
  • Gemini Deep Research report panel Markdown shortcuts — Added Copy Markdown and Download Markdown buttons to the Gemini Deep Research right-side report panel toolbar, exporting only the current report without changing regular conversation exports. (#579)
  • Markdown export packages — Markdown exports can now be delivered as a zip package when a site adapter provides assets, including a manifest and stable relative paths for referenced files. Generated Markdown documents are packaged under assets/documents/, images under assets/images/, and user-uploaded attachments under assets/files/, with uploaded documents resolved the same way as regular Gemini conversations. (#580)
  • Gemini Deep Research export — Gemini Deep Research exports now cover owned app conversations, conversation share pages, and generated report share pages; closed report panels are opened during export and restored afterward, with uploaded file labels included in exported user prompts. (#573)

🐛 Bug Fixes

  • Theme sync regression — Turning off Sync Native Page Colors no longer prevents supported host pages from following Ophel's light/dark theme toggle. The setting now only controls native color override CSS, while Doubao and Ima remain panel-only because their adapters declare host theme sync unsupported.
  • Claude export order and outline cleanup — Claude assistant exports now keep text and artifact links in their original reply order, and page/sidebar headings such as "Recents" are no longer pulled into the conversation outline. (#588)
  • Inline bookmark visibility — Page inline bookmark icons now fully respect the hidden setting and no longer depend on the Outline tab's "show user questions" filter, fixing stale or missing stars on virtual-scroll sites such as ChatGPT, DeepSeek, AI Studio, and Doubao. (#570)