linuxdo-idea-ui reskins three sites as IDE and chat interfaces, one skin at a time
给 linux.do 换装的油猴脚本合集:JetBrains/Darcula IDE 风格、飞书 IM、钉钉 IM 三种外观,仅换皮不碰数据
At a glance
- What is it?
- A Tampermonkey collection that disguises linux.do, X and Xiaohongshu as a JetBrains IDE or a DingTalk, Feishu or WeCom chat client without touching content or data. The documentation is Chinese only, two of the six linux.do scripts are frozen, and the repo description still says three skins.
- Who is it for?
- Use it if you want a forum to look like an IDE or an IM client and you are willing to hard refresh after every script update. It suits one script per site at a time, and the merged IM script if you want DingTalk, Feishu and WeCom in one file.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 5, 2026, and from our analysis. They are not legal advice.
Editorial analysis
One appearance per site, stated before anything else
The first warning on the page is a constraint rather than a caveat: appearance scripts for the same site are mutually exclusive, and only one may be enabled for a given site at a time. So the IDE skin and the IM skin cannot both be active on linux.do, and picking one means giving up the other until you disable it.
The inventory is larger than the description suggests. The repository description names three looks for linux.do, a JetBrains and Darcula IDE style, a Feishu IM style and a DingTalk IM style, and the page itself covers six scripts for that site plus two more for other sites and one utility. The six for linux.do are the merged IM script, the IDE script, the two frozen IM scripts, a terminal TUI script aimed at Claude Code and Codex CLI, and a script for the Codex desktop app. Then `x/x-im.user.js` and `xhs/xhs-im.user.js` do the same chat disguise for x.com and Xiaohongshu.
The stated promise is that nothing underneath changes: content, links, buttons and interaction are all preserved, and a refresh restores the original page. That claim is the project's, not a verified property, and it is worth holding the scripts to.
The page is Chinese only, and every raw link is marked as pending
The documentation is Simplified Chinese, and there is no English version in the tree. The root carries `README.md` alone, with per-script notes under `im/`, `x/` and `xhs/` also written in Chinese, so an English reader is working from the repository description and the script names.
One detail recurs on every install section: each direct raw link is labelled as available once the repository is public. The links themselves point at the GitHub raw path for the script on the main branch, for example:
https://github.com/czm15053/linuxdo-idea-ui/raw/main/linuxdo-im.user.jsInstallation itself is manual and browser-side: install Tampermonkey or Violentmonkey, open the `.user.js` file on GitHub, click Raw, then visit the site. Two instructions recur and are easy to skim past. A hard refresh is required after a script update, because the script re-applies styles rather than mutating them once. And the page claims the shortcut-driven scripts still work on strict CSP sites such as GitHub, where injected inline styles are normally refused.
Two scripts are frozen and one merged script replaced both
The Feishu script and the DingTalk script are both marked as no longer updated, with a banner telling users of those two to install the newer combined file. `linuxdo-im.user.js` carries all three chat skins, DingTalk, Feishu and WeCom, with a one-click switch between them, and it adds an interaction layer the standalone scripts did not describe: polls, an image lightbox, quote jumping, global search on ⌘/Ctrl+K, user cards, in-place embedding of the site's native editor, and live refresh.
What the combined file does not do is retire the older ones from the tree. All six linux.do scripts remain at the root, so nothing prevents installing both the merged script and one of the frozen ones, which the mutual-exclusion rule would then reject at runtime rather than at install time.
The standalone Feishu script is still the more detailed description of the three-column layout: no top bar, a left rail that reproduces the Feishu text navigation with only its top-right circle button live, the site's own sidebar moved into the second column with its own unread markers intact, and a conversation list in the middle that routes by latest, new, unread, hot, category and tag.
The IDE skin pads short replies with filler lines
`linuxdo-idea.user.js` swaps between IDEA and PyCharm by writing the choice to `localStorage` when you click the brand mark in the top bar. The home page topic list becomes a Git Log rendered as a multi-lane SVG graph, and a topic page renders its posts as a code editor reading area whose flavour follows the selected product, Java or Python styling.
Two details are more than decoration. Replies are rendered through mixed statement templates, and a reply that is too short gets a few boilerplate lines added to it, which changes how your own short posts read back to you. Inline images inside code default to collapsed, preview on hover and pin on click, so they do not push the code around until you ask for them.
The rest is shell: a Project View sidebar with a path bar, yellow folders, arrows and a selection colour, IDE-style tool window strips down both sides with decorative buttons for Project, Commit, Maven and Python that hide on narrow screens, loading and favicon treatment in the shell style, a notification area resembling an event log, colour mode following the site's light, dark or automatic setting with the dark variant aligned to Darcula, and re-application of all of it after in-site navigation and on browser back and forward in the single-page app. The screenshot list includes a row labelled flash, which is the flicker the page has not claimed away.
Privacy mode renames the conversation and moves the real title
The Feishu script carries a privacy switch that is more than an avatar filter. Turning it on replaces real profile pictures with text or icon disguises, and renames each conversation to a random work-related name. The genuine title is not discarded: it sinks into the most recent message row, where it stays visible if someone looks for it.
The choice is remembered, as is the separate native-view switch in the top right of the detail column, which returns to the original site interface and remembers that decision too. The DingTalk script reaches the same native sidebar by a different route, expanding and collapsing it from a more control at the bottom of a 110 pixel icon-and-text rail with ten entries, and letting its width be dragged.
Both scripts also manage the site's colour scheme rather than only their own: a dark and light toggle writes to `localStorage` and forces the site into dark or light mode to match, so the disguise does not leave the underlying page in the opposite scheme. Narrow screens under 1000 pixels collapse the three-column layout to a single column where the list and the detail are shown one at a time.
doc-select rebuilds any page as a document, with values borrowed
`doc-select.user.js` is the odd one out because it is not tied to a site. On any page, ⌘+' on macOS or Ctrl+' on Windows enters a selection mode where hovering outlines the element under the cursor and clicking selects it, walking up from an inline element to its block container, with Esc to cancel. The selection then renders as a document: a centred white page capped at 900 pixels wide with full document typography inside, and every other element on the page hidden.
Two themes are offered. The Feishu one uses a `#F5F6F7` workspace, an 8 pixel rounded card, `#3370FF` links, a 64 pixel top bar, a 250 pixel left navigation column and a right outline panel. The Word one uses a `#E5E5E5` canvas with a square-cornered sheet, a `0 1px 4px` shadow, Segoe UI and Calibri, a blue `#185ABD` title bar with quick-access icons and an autosave switch, a full ribbon of tabs and a 250 pixel navigation pane. A real outline is extracted from the selected content's `h1` to `h4` headings and is clickable under both themes.
What is unusual is the provenance. The page names two other projects as its visual sources and says its tokens are aligned to them, citing measured values from their own stylesheets, and credits a third for the Word dark mode. So this is a reskin of reskins, with the numbers deliberately matched to someone else's implementation. Returning is always one click, and Word dark mode remembers its preference.
No build step, no tests, no published releases
The tree has no package manifest, no test directory and no bundler configuration. What is committed is the finished artifact: `doc-select.user.js` and six `linuxdo-*.user.js` files at the root, with `im/`, `x/` and `xhs/` holding the merged IM script and the two site-specific variants, plus a `snapshot/` directory. There are no published releases, so there is no version to track or to pin.
The project is MIT licensed, its primary language is JavaScript, and the last push is dated 2026-09-30, with the repository not archived. It is small enough that a directory listing is a complete inventory of what ships.
The practical consequence is the update path. A user installs a finished file by hand, and when it changes, a hard refresh is what picks up the new version. Nothing in the repository verifies that a change to one script leaves the others working, and nothing records which script is meant to supersede which, beyond the banner pointing IM users at the merged file.
Editorial conclusion
Use it if you want a forum to look like an IDE or an IM client and you are willing to hard refresh after every script update. It suits one script per site at a time, and the merged IM script if you want DingTalk, Feishu and WeCom in one file. Before installing anything, read the Chinese page rather than the repository description, which still counts three skins while six exist for linux.do alone, and treat the promise that it does not touch data as the author's claim, since these scripts rewrite the whole page around the original elements.
Frequently asked questions
What does linuxdo-idea-ui do?
It is a Tampermonkey userscript collection that disguises linux.do, x.com and Xiaohongshu as a JetBrains or Darcula IDE or as a DingTalk, Feishu or WeCom chat client. The page states that it changes appearance only, keeping content, links, buttons and interaction intact, and that a refresh restores the original.
Can I run two linuxdo-idea-ui skins on the same site?
No. The page states that appearance scripts for the same site are mutually exclusive, so only one appearance may be enabled for a given site at a time. Enabling a second one conflicts at runtime rather than at install time.
Which linuxdo-idea-ui scripts are no longer updated?
linuxdo-feishu.user.js and linuxdo-dingtalk.user.js are both marked as stopped updating. Their three chat skins were merged into linuxdo-im.user.js, which also adds polls, an image lightbox, quote jumping, global search on Ctrl or Cmd plus K, user cards and live refresh.
How are the linuxdo-idea-ui userscripts installed?
Install Tampermonkey or Violentmonkey, open the .user.js file on GitHub, click Raw, then visit the target site. A hard refresh is needed after a script update, since styles are re-applied rather than mutated in place.
What does doc-select.user.js in linuxdo-idea-ui do?
It works on any site. Cmd or Ctrl plus quote selects page content by hover and click, then renders the selection as a Feishu or Word document page with everything else hidden, including a real outline extracted from the selected headings. Its values are aligned to two other reference projects.
Does linuxdo-idea-ui have releases or a build process?
Neither is visible. The repository has no published releases, no package manifest and no test directory, and what ships is the finished .user.js files committed directly. The license is MIT and the last push is dated 2026-09-30.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/czm15053-linuxdo-idea-ui)