Browser extension / userscript · Desktop and mobile · Available on the Chrome Web Store and Edge Add-ons

Context-Aware
Web Toolbox

Whatever you're doing on the web, done right at hand.

Open a site and Shunshou puts that site's moves at hand — clip the article, make a share card, translate a selection, click and fill forms, one set per site. Actions, fields, and templates are all edited visually in the Studio, no code required — or just tell the AI in one sentence what to set up, or ask it what you could do on this page.

No account · No server · Config and secrets stay on your machine

A long article · the orb in the bottom-right matches actions to the site
The Shunshou panel in the bottom-right of a page: actions for the current site such as copy link, share excerpt, share full text, copy page clip, post to X, save to Orca Note / SiYuan

The four most used

Save, clip, share, translate

Each one's fields, cleanup rules, and card layout are adjusted visually in the Studio — a wrong change undoes in one click. These four ship in the box, but they're not the limit: what runs in the bubble below is decided by your prompt.

Selection

Select a passage, save it to notes, or translate it in place

Above the selection, only the actions that actually use it are listed — usually two or three, the rest go into ⋯. Clicking the capsule won't clear your selection; scrolling, clicking blank space, or pressing Esc dismisses it. If you don't like it, turn it off in Settings and keep using the orb as usual.

  • Save to notesExcerpts go straight into Orca Note / SiYuan, or copy as Markdown
  • TranslateSelect a sentence in a foreign language and the translation appears in place next to the selection — no tab switching, drag the bubble, copy in one click
  • ShareAn excerpt card, or prefill a post on X
  • Batch it up"Add to staged" collects several passages, then saves them to Orca Note / SiYuan in one go; the orb carries a count badge
  • Highlightselect and click "Highlight" and it stays on the page — through a reload, without changing the page's structure; click it again to copy / remove (undoable), and a page's highlights can be saved to your notes in one go or copied as text
Selection capsule
The action capsule that floats above the selection after you select page text
Input box

Put the caret in a box and act on what you are typing

The command palette grows a "Use the input box…" section: it first shows you the exact lines it read, then lists only the actions that really use the input box content. Rather not to open the palette? Right-click inside the box and the same group is there.

  • Three out of the boxTranslate into Chinese and translate into English (for writing Chinese on an English page) run on the browser's built-in translation with zero configuration; Polish into Chinese needs your own AI connection
  • Written back in placethe result replaces the text in that very box (the selected part), the caret parks at the end and focus stays — and Ctrl/⌘ + Z undoes it, through the browser's own edit stack
  • Never overwrites what you typedthe page swapped that box mid-way, you typed more while waiting, the box is still mid–IME composition, or it is read-only — any of these aborts with an explanation; on failure the result is attached to the message so you can copy it
  • One box onlyit never scans the page and never reads password fields
Command palette · Use the input box…
The command palette's Use the input box section: the lines it read, then the actions for them
Page clip

Pick the article yourself, clip it clean

Built-in article rules cover Douban books/movies, GitHub, Bilibili, WeChat Official Accounts, SSPAI, X threads, and Xiaohongshu; other pages use the article engine (Readability) to detect the main content automatically — it counts visible text only and then takes the lowest common ancestor holding the article, so a page whose article is a single paragraph no longer falls back to the whole page. Hidden content (including ads hidden by ad blockers) doesn't make it into the clip.

  • Pick content: click containers on the page, multi-select to merge, press Enter to finish — a single paragraph or short quote counts too
  • Off? Change it: the action's "Content scope" can be set per action, or saved as an article rule that kicks in next time
  • It says when it's guessing: auto-detection reports how confident this read is; when it is unsure (say, a sidebar longer than the article) it shows a candidate comparison — which containers, how many characters each, which was classified as boilerplate and which one won — with "Pick the article" right there. Picking then states the pick is this page only, cleared on refresh and points at "Save as rule"
  • AI find the content scope: the model reads this page's structure once and proposes a few container candidates (with match counts / character counts); the panel can be reopened and another row switches in place (no repeat cost), and each candidate can be previewed for free — draw the range on the page, plus "N characters taken · first 60"
  • Change the built-ins too: your own rule can take over a built-in one, the scope can be edited by hand, and unused ones can be disabled individually
  • Take it with you: copy as Markdown (with image links) and paste straight into Obsidian / Notion / SiYuan; page tables count too, clipped as Markdown tables; links / emphasis / formulas are preserved
  • Save as a local file: one click saves a .md file; paths support subfolders and dates (e.g. Shunshou/2026-09-17/Title.md), ready to drop into your Obsidian / SiYuan vault
  • Save into Obsidian: with Obsidian installed, write a clip straight into your vault (an obsidian:// deep link, no server involved); the path inside the vault supports subfolders, and collisions can append or overwrite
Studio · which block to clip and which fields to take are all up to you
The Studio's Extract page: system variable groups and a per-field source
Share cards · one-click sharing

Instagram and Xiaohongshu layouts, rendered and ready to post

Post and note images are auto-completed (carousels included) and laid out as an "image wall" card; four themes (paper / ink / brand / pure white) and four sizes (long / 4:5 / 3:4 / 1:1); very long text paginates automatically and is never cut off, and the bottom-right can carry a QR code to the source page; the body's inline styles (bold / italic / code / highlight / links) come through as well.

  • Preview as a workbench: switch theme / font and edit this run's content in place, then save it back to the action when you're happy
  • One-click sharing: copy image / save file / copy text; X, Weibo, Bluesky, and others open their official share dialog prefilled, and you confirm before posting
Result dialog: preview + adjust
Result dialog: previewing a share card and its delivery status
Douban books / movies / games

Book, movie, and game metadata, one click into your notes

Douban book / movie / game pages each parse 17 / 20 / 11 fields (synopsis, episode count, format, and more), written into your own notes app in one click — no copy-paste, no filling in forms field by field.

  • Your choice of target: Orca Note (bookmark / excerpt / task), or SiYuan (database / document / daily note / document database)
  • Duplicate check before saving: when a record with the same name exists it asks "Update / Skip / Create new", and never overwrites cells you edited by hand
  • Covers saved into your asset library: images are downloaded first, then stored, so thumbnails show up instead of broken images
Studio · Douban book scene: copy / share / save to Orca Note / save to SiYuan
The Studio's Douban book scene: the action tree (Copy / Share / Save as book / Save as book (SiYuan))
AI config assistant

Set an action up with one sentence, no code

On the Studio's "AI" page, describe what you want (e.g. "clip this kind of page's article ad-free" or "build an Orca Note mode with bookmark, excerpt and task actions") and AI drafts a config — a single action, a batch of actions (with follow-up steps), or a whole mode, with capability, params, content scope and variables filled in and shipped recipes as the parameter baseline. Nothing changes until you confirm; landing and auto-run are confirmed in the preview (auto-run is off by default and states its consequence when ticked); preview it, then click "Apply" (one-step undo).

  • Don't know what to do? Just ask: "See what you can do on this page" returns several candidate actions for this kind of page — click one to fill in the intent, then it still goes through preview / apply; shuffle if they miss
  • Zero side effects: it only drafts; nothing is written until you click "Apply" (undo in one step)
  • Landing and auto-run confirmed in the preview: it suggests a new mode's "General" scene or a new scene in the current mode; auto-run is off by default and states its consequence when ticked
  • Selectors verified on this page: when generated in-page it gets the current page's structure summary, and selectors that match nothing are dropped or flagged
  • It has to actually read a value: it reads the page first, then verifies each one — no more "looks right in the preview, empty when you run it"; the result shows how it found it and the real value on this page, you can switch between candidates, and unreadable fields are left as a "Pick" button
  • It doesn't spend your money quietly: the page opens with candidates already there and never calls the model on its own; click "Ask the model for more" if you want more, with the cost written on the button
  • Reuses your model connection: the OpenAI-compatible endpoint from the "Connections" page; content only goes to the address you filled in
Studio · AI config assistant: one sentence → a mode + a batch of actions
AI config assistant: one sentence generates a mode plus a batch of actions, with the landing spot confirmed in the preview
More than these four

What runs in the bubble is decided by your prompt

The little bubble that floats up on selection isn't a "translate feature" — it's the mechanism of "show text results in place", and translation is just its first recipe. Swap the prompt for fact-checking, logic review, summary, or rewriting and it's another action; the same result can also continue to a share card or a post to X (which runs only after you say yes).

  • Translate
  • Fact-check
  • Logic review
  • Summary
  • Rewrite as a post
  • Keywords
  • Your own prompt

Context-aware

Open a site, get that site's set of actions

Everything above has ready-made actions on these sites. Sites and their matching rules (URLs) are yours to change, and actions only show up where they belong. Modes are organized by purpose (out of the box: Daily / Work / Study / Marketing — Daily needs zero setup, Work and Study write to notes, Marketing makes cards and posts); to switch a whole workflow, switch a mode instead of editing actions one by one. Backends such as Orca / SiYuan are global "connections" — configure one and its actions appear automatically.

Douban book · movie · game

  • 17 / 20 / 11 fields extracted automatically from books / movies / games
  • Copy the info, generate a share card
  • Write to Orca Note / SiYuan

Bilibili bilibili.com

  • Video info + comments (including replies) + subtitles (CC / AI)
  • Copy, generate a share card
  • Save as a video note, AI-summarize subtitles

X (Twitter) x.com

  • Tweet text + images
  • An author's thread (the whole series) can be saved / turned into a card too
  • Copy the text, generate a share card
  • Prefill a post

Xiaohongshu xiaohongshu.com

  • Title / text / all images (carousel auto-completed)
  • Like-save counts and author
  • Copy the text, generate a share card

Instagram instagram.com

  • Post images auto-completed
  • Laid out as an "image wall" card (with author / date / likes)
  • Download the originals in one click (preview / download all)

GitHub github.com

  • Copy owner/repo
  • Generate a repository share card

Any page base

  • Markdown link / excerpt / bookmark / task
  • Full-page clip, save Markdown locally, save to Obsidian, AI summary, selection translation
  • Share card, post to X, click / fill / wait
  • Element screenshots: capture any block as PNG, stitch several into a long image

Your own sites

  • Add a URL matching rule plus a few actions, and that's a new scene
  • You can also install action packs others have made from the "Action Market"

Automation

Things that should run themselves, let it handle them

Every action can be set to "auto-run" or "suggest only" — it runs for you when the matching page opens (unless the site is set to "Quiet" or "Off"), or just gives you a nudge. Off by default, enabled per action, with delay, cooldown, and ask-before-running; chains can also click buttons, fill inputs, wait for elements, and capture page elements as images.

✓

See it, log it

Auto-run "Save as movie / book / game (SiYuan)" on Douban book / movie / game pages — browse and it's in your library, with no clicks at all; turn on "ask before running" if you'd rather confirm before writing.

↧

Expand, then clip

One action chains "Click 'Expand full text' → Wait for the element → Copy page clip"; works for collapsed comments and lazily loaded long articles.

⌕

Select and search

Pick the site's search box and have Fill input use the selection — select a phrase and click once to fill it in (React-controlled search boxes work too).

▣

Polish while you type

Put the caret in any site's input box, press Cmd/Ctrl+Shift+K (same key in the userscript; the right-click menu is extension-only), and act on the text you just wrote — Polish into Chinese / translate into Chinese / translate into English ship out of the box. The result replaces the text in that very box, caret parked at the end, and a bad pass is undone with Cmd/Ctrl+Z; while the model works, the palette leaves a "Running…" line in place.

▣

Archive element screenshots

Open a report / dashboard page and capture a chosen area as PNG; you can also pick several blocks at once to export them one by one, or stitch them vertically into one long image. Pick the selector right on the page.

Safety

Auto-run is off by default and enabled per action; you can also use "suggest only", or set it to ask before running. Once a site is set to the "Quiet" tier it never triggers automatically (you can still open the orb manually); action packs from the "Action Market" that ship with auto-run are off after installation too — whether to turn it on is always your call.

And more

Everything you need is here, and none of it needs code

⛓

Then do: action chains

An action can carry a series of follow-up steps: after the main step succeeds they run in order. Example: save an Orca Note bookmark, then write a row to a SiYuan database (one click, both libraries populated); after saving, copy "《Title》 Link" to the clipboard. A step can also be set to "wait for my confirmation" — it doesn't run automatically, but waits for your click on the result surface (say, read the AI translation first, then decide whether to save it to notes).

Steps are a list: the first row is the main step, and the whole chain can be moved up and down (including swapping the main step further back — {{step.*}} cross-references inside the chain are rewritten to follow).

The built-in "Translate" ships with two such next steps: share card (original + translation) and post to X (translation + link).

⚙

Automation: click buttons / fill inputs

Actions can be set to "auto-run when the matching page opens" (unless the site is set to "Quiet" or "Off"), and chains can click buttons, fill inputs, and wait for elements; pick the selector right on the page. You can also capture any element as an image, and stitch several into one long image. Off by default, enabled per action.

⊘

Per-site control

Don't want a dashboard, bank, or intranet page touched? Click "This site" at the top of the orb panel to turn it off right there, or press and hold to pick a tier: Dock only / Selection only / Quiet (no auto-run, no suggestions) / Off (no UI mounted, and not counted in your browsing footprint). Scope can be "this site incl. subdomains / this page only"; resume from the extension icon (userscript: the script-manager menu), and manage the list under Studio "Preferences → Where it shows up".

✦

AI extraction (optional)

Connect your own OpenAI-compatible model (DeepSeek / OpenRouter / SiliconFlow / local Ollama all work). The prompt is the config: hand {{content}} to the model and it produces summaries / copy / keywords, used in any action just like ordinary variables. Nothing depends on AI unless you turn it on — and translation still works, because it runs on the browser's built-in on-device translation.

✧

AI config assistant

Not sure which action to set up? Describe what you want in one sentence (e.g. "clip this kind of page's article ad-free" or "build an Orca Note mode with bookmark, excerpt and task actions") and let AI draft a config — a single action, a batch of actions (with follow-up steps), or a whole mode, with shipped recipes as the parameter baseline. Nothing changes until you confirm; landing and auto-run are confirmed in the preview (auto-run is off by default and states its consequence when ticked); preview it, then click "Apply" (one-step undo). It reuses the model connection you configured. You can also flip it around — click "See what you can do on this page" and AI suggests several candidate actions for this kind of page.

▤

Into your own notes

Orca Note (MCP) and SiYuan (kernel API): three targets — database / document & daily note / document database — with missing columns created automatically, duplicate checks before saving, and images localized into the notes asset library. You fill in the connection; it talks straight to your service.

⤓

Save to local files

Clips, share cards, and articles can all be saved as local files (Markdown / text / images). Paths support variables and subfolders — e.g. Shunshou/{{date:YYYY-MM-DD}}/{{title}}.md, ready to drop into your Obsidian / SiYuan vault; names are auto-numbered on collision, and you can choose to overwrite. Files are only written to your own Downloads folder — your existing download history is never read or listed.

◫

One-click save into Obsidian

With Obsidian installed, write a page clip straight into your vault — via an obsidian:// deep link handed to Obsidian, with no server in between; the path inside the vault supports subfolders (e.g. Shunshou/{{date:YYYY-MM-DD}}/{{title}}), collisions can append or overwrite, and by default the note doesn't pop open.

⇄

Action Market

Subscribe to the official catalog and install action packs others have made by tag or search; dependencies and conflicts are reported, and packs can be checked for updates or uninstalled. Action packs are pure data (actions / extraction rules / prompts) with no code or secrets.

⌨

Command palette: use a sentence directly

Press Ctrl/⌘ + Shift + K to open the command palette — type a few letters to filter actions, then Enter to run; what you type can also be used directly: the palette's "Use this text…" section lists actions that reference {{input}}, and a shipped "Save a note" action stores one sentence straight into Orca Note / SiYuan.

✎

Config is data

Modes / scenes / actions / variable groups are all visual config: undo a wrong change with ⌘Z, import, export, and share. A field source can be a selector / "label:value" / meta / JSON-LD / URL regex / selection / template / try in order, and you can add transform chains; one field can read differently per site, and "Try" tells you which source is in play. Built-in variables include full-page text / clip / table / clipboard / run-time pick. Templates can also chain transforms on variables: {{title|trim|slice(0,20)}} (trim, then cut to 20 characters).

⛁

Data page: backup and share

Import / export / backup in one place: export a scene as an action pack to share with friends, export your whole config as a backup or to move machines, and restore from a backup (secrets live in separate storage and are not included). Article rules can be exported as their own rule pack. A single action can be shared on its own too ("Share…" on node / group rows), and your own GitHub Gist can serve as cross-device config sync — secrets and per-device settings such as the orb position stay put.

⌘

Local scripts (advanced)

If you write JS, you can write a short extraction script for a site, with { url, title, selection, document } as input. Stored only on your machine, not in the config and not included in export / sharing; off by default — turn on "Allow User Scripts" on the extension's details page.

Local-first

No account, no server, no upload of your data

Your data stays in your own services

Writing to notes and calling models connect directly to the addresses you configure, never through the author. Exported config contains no secrets.

No ads, no analytics

No ads, no tracking, no crash reporting. Action usage and browsing footprint stay on your machine, can be turned off or cleared at any time, and are never exported; sites set to "Off" aren't counted in your browsing footprint.

It doesn't change how pages look

The orb and panel render inside the extension's own Shadow DOM and don't touch page styles; clip cleanup only works on a copy of the page. It only operates on a page when you explicitly configure page actions like "click / fill" in an action, following the selectors you chose. It only acts on a page when you explicitly configure a page action such as "Click / Fill", or use an action that works on the focused input box — and write-back has guards: the page replaced the box mid-way, you typed more while waiting, the box is mid–IME composition, or it is read-only. Any of these aborts with a plain-language message and never overwrites what you typed

Install

Three steps to install, three minutes to get started

Download and unzip

Go to Releases and download the latest shunshou-extension-*.zip, then unzip it to any folder (don't double-click it to run directly).

Open the extensions page

Type chrome://extensions in the address bar (edge://extensions on Edge) and turn on "Developer mode" in the top right.

Load the unpacked extension

Click "Load unpacked" and select the unzipped folder. Then open any page and look at the bottom-right (available on every site by default).

Stores

Available now on the Chrome Web Store (install it) and on Edge Add-ons (install it), both with automatic updates. You can also grab the zip from Releases and load it manually (it works just the same; when a new version is out, the Studio's "About" page can check for updates manually — just load the unzipped folder again and your config is kept).

Userscript

Prefer not to install an extension, or using a phone? Install a userscript manager first — on desktop Tampermonkey / Violentmonkey; on Android, Firefox for Android (or Kiwi); on iOS, Userscripts in Safari. Then open the install link: install shunshou.user.js; the manager checks for updates automatically. The injected UI is adapted to mobile: tap the orb to open the actions panel, pinned actions stay visible, and "In-page config" fills the screen. A few desktop-only capabilities (browsing footprint covering just the current tab, saved-file subfolders flattened) degrade explicitly and say so.

FAQ

Questions you might have

Do I need an account?

No. Shunshou has no account system — install it and it works; the out-of-the-box "Daily" mode needs zero configuration.

Where does my data go?

Content only moves in three places: the actions you click, the notes / model services you configure yourself, and the config sync you turn on yourself (which goes to the Gist under your own account). There's no server on the author's side, so none of your data reaches us.

Config and secrets stay on your machine, and exported config contains no secrets (config sync does not carry them either); highlights you mark stay on your machine too. See the Privacy Policy for details.

Which browsers are supported? Does it cost anything?

Desktop is a Chrome / Edge extension (same engine). You can also install the userscript, on Chrome / Edge / Firefox desktop as well as Android (Firefox for Android / Kiwi) and iOS (Safari + Userscripts). It's free, with no ads and no features locked behind a payment.

Which translation service does "Translate" use?

By default it uses your own browser's built-in translation (desktop Chrome / Edge 138+): no connection to configure, no cost, and the translation is generated entirely on your computer without going through any server — the author included. Nobody can see what you translated.

The browser downloads the language pack itself on first use of a given pair (tens of MB, once — after that it works offline). Where the browser can't do it (userscript host, older browsers, phones), you can plug in your own AI connection (any OpenAI-compatible model service: DeepSeek / OpenRouter / SiliconFlow / local Ollama…) for translation or polishing — and in that case the text is sent only to the endpoint you filled in.

Do I need to be technical to change actions?

No. Actions, matching rules, extraction fields, and content templates are all adjusted visually in the Studio, and a wrong change undoes in one click. Only "Local scripts" is an escape hatch for people who write JS — you don't miss anything by not using it.

Is "auto-run" safe?

Auto-run is off by default and enabled per action; you can also use "suggest only", or set it to ask before running — for side-effecting actions like writing to notes, we recommend keeping "ask before running" on.

Once a site is set to the "Quiet" tier it never triggers automatically, and the orb can still be opened manually; auto-run only executes on matching pages you currently have open, never as background bulk scraping. Action packs from the "Action Market" that ship with auto-run are off after installation too.

How do I update? Will I lose my config?

Extension: download the new zip and go through "Load unpacked" again — your config is kept. Userscript: your manager checks for updates automatically, usually nothing to do. New default scenes / actions in a new version are delivered incrementally the next time you open it: what you changed stays, and what you deleted doesn't come back.

Can I add my own sites?

Yes. Add a URL matching rule and a few actions, and that's a new scene; to save effort you can install action packs others share from the "Action Market", or export a scene you've configured (even a single action) as a .action-pack.json to send to a friend. If you'd rather not move your config by hand, the Data page also supports cross-device sync through your own GitHub Gist.

Can I change the keyboard shortcut?

Yes. In the extension, the shortcut uses the browser's native mechanism: open chrome://extensions/shortcuts (Edge: edge://extensions/shortcuts) to rebind it. The "Shortcuts" section on the Studio's "Settings" page shows the current binding and warns you when it's unbound. The default is Ctrl/⌘ + Shift + K, which opens the command palette.

The userscript has no such mechanism: its keys are fixed and can't be changed, and the shortcut may stop working if another extension or the site takes it over — you can still open the command palette from your script manager's menu.

Also note that the right-click menu is extension-only: right-click a page to see the "Shunshou" submenu. The userscript doesn't have it.

Contact

Questions? Reach me directly

WeChat hqweay

Email hqweay@gmail.com

Shunshou

Shunshou — it's simply at hand.

It sees which site you have open and puts the right actions at hand.