gitwtfhub

wtf is ohsidian?

hanversionovo/ohsidian — explained in plain English

Analysis updated 2026-05-18

17TypeScriptAudience · developerComplexity · 5/5Setup · hard

TL;DR

An unofficial port of the Obsidian note-taking app to HarmonyOS tablets and foldables, built by creating a compatibility layer that mimics Electron's API surface so unmodified Obsidian code runs natively on Huawei devices with cloud sync.

Mindmap

mindmap
  root((ohsidian))
    What it is
      Obsidian on HarmonyOS
      Electron compatibility layer
    Architecture
      C++ native adapter
      ArkTS API bridges
      JSBind connector
    Huawei features
      Account login
      Cloud sync
      Multi-window support
    Platforms
      HarmonyOS 6 tablets
      Foldable devices

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run Obsidian on a Huawei HarmonyOS tablet or foldable without changing any Obsidian code.

REASON 2

Sync Obsidian notes across Huawei devices using the built-in Huawei cloud storage integration.

REASON 3

Reuse the OHsidian engine module as a general Electron compatibility library for porting other Electron apps to HarmonyOS.

What's in the stack?

TypeScriptC++ArkTS

How it stacks up

hanversionovo/ohsidianaaglexx/mcp-mananthony80188/medical-rag-chatbot
Stars171717
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardeasyhard
Complexity5/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires the HarmonyOS development environment and a supported Huawei device, README is written in Chinese.

Wtf does this do

OHsidian is an unofficial port of the Obsidian note-taking application to HarmonyOS, the operating system Huawei uses on its PC, tablet, and foldable devices. Obsidian normally runs on a runtime called Electron, which is designed for desktop operating systems like Windows and macOS. OHsidian works by building a compatibility layer that mimics Electron's API surface, so the unmodified Obsidian application can run on HarmonyOS without any changes to Obsidian's own code. The compatibility layer has three main parts. A C++ native library called libadapter.so handles low-level system connections. Around 50 ArkTS adapters translate HarmonyOS platform APIs into the Electron-style calls Obsidian expects, covering file management, input methods, display settings, notifications, Bluetooth, battery status, biometric authentication, OCR, printing, and more. A JSBind bridge connects the JavaScript side of Obsidian to those adapters. The project is split into two HarmonyOS modules. The engine module contains all the compatibility code, packaged as a reusable static library that other HarmonyOS apps could also use. The application module contains the UI pages and entry points, including a login page for Huawei accounts, a status bar extension, and embedded window views for multi-window operation. Beyond basic compatibility, OHsidian adds Huawei-specific features. Users can log in with a Huawei account in one tap. Notes can be backed up and synced across devices using Huawei's cloud storage service. The app extends into the system status bar and supports multiple windows at once, including floating and embedded window types. There is also an auto-update mechanism: the app checks for a newer Obsidian .asar file, verifies it with RSA-SHA256 and SHA256 checksums, replaces the old package, and reloads without restarting the system-level process. The README is written in Chinese. Target devices are HarmonyOS 6 tablets and 2-in-1 foldable screens.

Yoink these prompts

Prompt 1
I have a HarmonyOS 6 tablet and want to run Obsidian on it using OHsidian. Walk me through building and installing the app from this repository step by step.
Prompt 2
How does the OHsidian Electron compatibility layer work and which of the 50 ArkTS adapters cover the most critical Obsidian features like file management and input methods?
Prompt 3
I want to reuse the OHsidian engine module to port a different Electron-based app to HarmonyOS. What do I need to implement myself and what does the engine provide for free?
Prompt 4
How does OHsidian's auto-update system verify and apply a new Obsidian .asar file using RSA-SHA256 checksums without restarting the system process?

Frequently asked questions

wtf is ohsidian?

An unofficial port of the Obsidian note-taking app to HarmonyOS tablets and foldables, built by creating a compatibility layer that mimics Electron's API surface so unmodified Obsidian code runs natively on Huawei devices with cloud sync.

What language is ohsidian written in?

Mainly TypeScript. The stack also includes TypeScript, C++, ArkTS.

How hard is ohsidian to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is ohsidian for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.