Model or dataset
czm15053/linuxdo-idea-ui avatar
czm15053/linuxdo-idea-ui

linuxdo-idea-ui: Tampermonkey skins that disguise Linux DO, X and Xiaohongshu as office apps

给 linux.do 换装的油猴脚本合集:JetBrains/Darcula IDE 风格、飞书 IM、钉钉 IM 三种外观,仅换皮不碰数据

412 stars20 forksJavaScriptMIT

At a glance

What is it?
A set of userscripts that reskin Linux DO, X and Xiaohongshu as JetBrains IDEs, DingTalk, Feishu, WeCom or a Claude Code terminal. The README is explicit that they change appearance only, and that two skins on the same site conflict.
Who is it for?
Adopt it if you already run Tampermonkey or Violentmonkey and want Linux DO, X or Xiaohongshu to look like a work tool, and accept that you must enable exactly one skin per site. Do not adopt it if you need a supported product with releases, or if you browse with scripts blocked.
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 2 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 September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What linuxdo-idea-ui actually changes, and what it leaves alone

The repository is a collection of Tampermonkey userscripts that restyle three sites: Linux DO, X (Twitter) and Xiaohongshu. The README states the intent directly: only the skin changes, and content, links, buttons and interactions are all preserved. Nothing is proxied, no API is replaced, and the underlying pages keep working.

The audience is narrow and specific. This is for people who read Linux DO or X at a desk where a forum or a social feed is conspicuous, and who would rather it look like an IDE, a chat client or a terminal. The disguise is cosmetic, not a privacy tool. The privacy features that do exist are limited to replacing avatars and moving the real thread title down into the most recent message line, which the README describes for the Feishu and DingTalk skins.

One rule governs the whole collection. Different appearance scripts for the same site are mutually exclusive, and only one appearance may be enabled for a given website at a time. The DingTalk script goes further and says it detects an IDEA or Feishu theme and backs off automatically.

How the skins are built: userscripts, localStorage and the native DOM

Every entry in the repository is a single .user.js file at the top level or in a subdirectory: linuxdo-idea.user.js, linuxdo-im.user.js, linuxdo-terminal.user.js, linuxdo-codex.user.js, and the older linuxdo-feishu.user.js and linuxdo-dingtalk.user.js. There is no build step described for the Linux DO scripts; the README tells you to open the file on GitHub, click Raw and install it.

The mechanism visible in the README is DOM reskinning plus small pieces of retained state. Product switches, dark mode choices and the choice to return to the original view are written to localStorage, so they survive a reload. The Feishu skin moves the site's own sidebar into its second column rather than rebuilding it, and the DingTalk skin's bottom More button expands and collapses that same native sidebar with a draggable width. The terminal skin goes further and renders the topic list as a session list and posts as assistant turns with collapsible thinking blocks, but its composer falls back to the native editor when the API send fails, which tells you the original form is still in the page.

Because it works on the live DOM, the README repeatedly tells you to hard refresh once after a script update, and the IDEA skin notes that it reapplies its styles after in-site navigation and browser back and forward, which is the SPA problem every DOM-level reskin has to solve.

Installing the JetBrains skin and reading Linux DO as a Git log

The README gives the same three steps for every Linux DO skin. Install Tampermonkey or Violentmonkey, open the script file in the repository, click Raw to install, then visit linux.do. The raw link it documents for the IDEA skin is:

text
https://github.com/czm15053/linuxdo-idea-ui/raw/main/linuxdo-idea.user.js

After installation the top bar carries a brand mark. Clicking it switches between the IDEA and PyCharm variants, and the README says that choice is written to localStorage. On the home page the topic list is rendered as a Git log with a multi-lane SVG graph; inside a topic, posts are drawn as an editor reading pane that follows the Java or Python flavour of the product you picked. Inline images in code are collapsed by default and preview on hover, then pin on click. The colour mode follows the site's light, dark or automatic setting, with dark aligned to Darcula.

If you prefer the chat disguise, the consolidated script replaces the two older ones:

text
https://github.com/czm15053/linuxdo-idea-ui/raw/main/linuxdo-im.user.js

The README states that this single file contains DingTalk, Feishu and WeCom skins with a one-click switch, plus voting, a small rocket, an image lightbox, quote jumping, global search on Ctrl/Cmd+K, user cards, in-place embedding of the native editor and live refresh. The older linuxdo-feishu.user.js and linuxdo-dingtalk.user.js are marked as no longer updated and the README asks users to move to the combined script.

The mutual exclusion rule is the failure mode to plan around

The clearest limitation is stated in the README itself: appearance scripts for the same site are mutually exclusive. If you install the IDEA skin and the IM skin and leave both enabled, you have two scripts rewriting the same page, and nothing in the documentation describes a resolution order or a conflict warning. The DingTalk script is the only one the README credits with automatic avoidance, and that avoidance is described as detecting IDEA or Feishu themes, not as a general arbitration system.

There is a second boundary. This is a cosmetic layer over live pages, so it inherits every change those pages make. The README's instruction to hard refresh after an update is a maintenance ritual, not a one-off step. The terminal skin's fallback from its composer to the native editor when the API send fails is the honest version of this: when the page shifts under the script, you land back in the original interface rather than in a broken one.

The wrong tool case is equally clear. If you want a client with versioned releases and a support channel, this repository is not that. No releases are listed, the homepage field is empty, and the skins are distributed as raw files from the main branch. You are tracking a branch, not a release.

How the IM skins differ from a generic dark-mode extension

The obvious alternative is a general restyling extension such as Stylus, or a site-level dark mode add-on. The difference in approach is scope. A Stylus style sheet can change colours, fonts and spacing, but it does not restructure a page into columns, move the native sidebar into a rail, or turn a topic list into a conversation list. The Feishu and DingTalk skins do that restructuring, and they keep the native controls alive inside the new shell: the reply box stays usable in the same view, the search bar stays wired to the site's own search, and a corner control returns you to the original interface with the choice remembered.

That is a heavier commitment than a style sheet. A Stylus theme breaks visually when the site changes; these scripts can break functionally, because they move elements that the site's own JavaScript may expect to find in a particular place. The trade is deliberate. You get a layout a style sheet cannot produce, and you accept that the script has to keep up with the site.

A second alternative, for the terminal look specifically, is simply running a real terminal next to your browser. The linuxdo-terminal.user.js skin is a costume, not a shell: it fakes version boxes, tips and tool calls, and its tab title is fixed to linux.do with a zsh or pwsh suffix so the real thread title is not exposed. If you need the real thing, the script is the wrong choice by design.

Licence and what upgrading costs you

The repository is MIT licensed, and the LICENSE file sits at the top level alongside the scripts. MIT is permissive: you can reuse, modify and redistribute the code, including in closed products, provided the copyright notice and permission notice are kept. That is the licence text, not legal advice; if you plan to ship a derivative, read the LICENSE file and talk to someone qualified.

The practical upgrade cost is different from a library's. There is no package to bump and no changelog to read between versions, because no releases are listed. Updates arrive as commits to the main branch, and the README's own instruction is to hard refresh once after a script update. Your userscript manager will usually re-fetch the script from the raw URL, so the upgrade path is the same as the install path: the raw link. That also means a broken commit on main reaches you directly, with no tagged version to fall back to.

Maintenance looks current. The last push to the repository was on 2026-09-16, and the repository is not archived. That is a statement about the commit history, not a promise about the next site redesign.

Editorial conclusion

Adopt it if you already run Tampermonkey or Violentmonkey and want Linux DO, X or Xiaohongshu to look like a work tool, and accept that you must enable exactly one skin per site. Do not adopt it if you need a supported product with releases, or if you browse with scripts blocked. Verify first that the raw install link resolves, that your userscript manager is installed, and that no other skin for the same domain is enabled.

Frequently asked questions

Which OS has the best UI for linuxdo-idea-ui?

The repository does not rank operating systems. The skins run in a browser through Tampermonkey or Violentmonkey, and the terminal skin draws macOS traffic lights or Windows minimise, maximise and close buttons depending on the platform it detects.

Can I enable the linuxdo-idea-ui IDEA skin and an IM skin on Linux DO at the same time?

No. The README states that different appearance scripts for the same site are mutually exclusive and that only one appearance may be enabled for a given website at a time. The DingTalk script additionally says it detects an IDEA or Feishu theme and backs off.

Does linuxdo-idea-ui change or send my data anywhere?

The README describes the scripts as changing appearance only, with content, links, buttons and interactions all preserved. The privacy features it documents are limited to replacing avatars and moving the real thread title down into the most recent message line.

Which linuxdo-idea-ui script should I install for Feishu or DingTalk on Linux DO?

The combined linuxdo-im.user.js, which the README says contains DingTalk, Feishu and WeCom skins with a one-click switch. The standalone linuxdo-feishu.user.js and linuxdo-dingtalk.user.js are marked as no longer updated.

Official sources

  1. czm15053/linuxdo-idea-ui on GitHub
  2. Issues
  3. License: MIT
  4. README
Community notes

Community notes