4 ポイント 投稿者 GN⁺ 2024-12-27 | 1件のコメント | WhatsAppで共有
  • SiYuan は、きめ細かなブロック単位参照と Markdown WYSIWYG をサポートする プライバシー優先の個人知識管理システム です
  • 主な機能には、ブロック単位参照・双方向リンク、SQL クエリ埋め込み、大規模ドキュメント編集、数式・チャート、Web クリッピング、PDF 注釈リンク、データベースのテーブル表示、フラッシュカードの間隔反復学習などが含まれます
  • デスクトップ・モバイルアプリ、Docker デプロイ、API、CLI、コミュニティマーケットプレイスを提供し、OpenAI API ベースの AI ライティングと Q/A チャット、Tesseract OCR にも対応しています
  • 機能の大半は商用利用を含めて無料ですが、一部機能は 有料会員専用 であり、サードパーティ同期ディスク経由のデータ同期はデータ破損の可能性があるためサポートしていません
  • Docker デプロイはブラウザー利用のみをサポートし、デスクトップ・モバイルアプリ接続、PDF/HTML/Word エクスポート、Markdown ファイルのインポートには対応していません

SiYuan が提供する知識管理モデル

  • SiYuan は「Refactor your thinking」を掲げる個人知識管理システムです
  • 基本方針は プライバシー優先 で、きめ細かな ブロック単位参照 と Markdown WYSIWYG 編集をサポートしています
  • オンラインユーザーガイドは English で提供されています
  • 英語ディスカッションフォーラムは SiYuan English Discussion Forum で運営されています

主な機能

  • コンテンツブロック 機能には、ブロック単位参照と双方向リンク、ユーザー定義属性、SQL クエリ埋め込み、siyuan:// プロトコルが含まれます
  • エディター は、ブロックスタイル編集、Markdown WYSIWYG、リストアウトライン、ブロックズーム、100 万語規模の大規模ドキュメント編集をサポートします
  • 数式、チャート、フローチャート、ガントチャート、タイミングチャート、五線譜など、さまざまな表現を文書に挿入できます
  • Web クリッピングと PDF 注釈リンクをサポートします
  • エクスポートは、ブロック参照と埋め込み、アセットを含む標準 Markdown、PDF、Word、HTML をサポートします
  • WeChat MP、Zhihu、Yuque へコピーする機能も含まれます
  • データベースでは Table view を提供します
  • フラッシュカードの間隔反復学習、OpenAI API ベースの AI ライティングと Q/A チャット、Tesseract OCR をサポートします
  • マルチタブ、ドラッグアンドドロップ分割画面、テンプレートスニペット、JavaScript/CSS スニペットを提供します
  • Android、iOS、HarmonyOS アプリと Docker デプロイに対応しています
  • API とコミュニティマーケットプレイスを提供します
  • 機能の大半は商用利用を含めて無料で、一部機能は Pricing にある有料会員機能です

アーキテクチャとエコシステム

  • SiYuan のエコシステムは、編集エンジン、拡張機能、マーケットプレイス、データリポジトリ、プラグイン API、モバイルアプリ、間隔反復学習プロジェクトで構成されています
  • lute: エディターエンジン
  • chrome: Chrome/Edge 拡張
  • bazaar: コミュニティマーケットプレイス
  • dejavu: データリポジトリ
  • petal: プラグイン API
  • android: Android アプリ
  • ios: iOS アプリ
  • harmony: HarmonyOS アプリ
  • riff: 間隔反復学習

インストールとデプロイ

  • デスクトップとモバイルでは、将来のワンクリックアップグレードのため アプリマーケットからのインストール を優先的に推奨します
  • モバイルアプリは App StoreGoogle PlayF-Droid で提供されています
  • デスクトップアプリは Microsoft Store で提供されています
  • インストールパッケージは B3logGitHub Releases から入手できます
  • パッケージマネージャーの項目は siyuansiyuan-note で提供されています

Docker ホスティング

  • サーバー上で SiYuan を提供する最も簡単な方法は Docker デプロイ です
  • Docker イメージ名は b3log/siyuan で、イメージページは Docker Hub にあります
  • v3.7.0 からは serve サブコマンドを明示的に渡す必要があります
    • 例: docker run b3log/siyuan serve --workspace=...
  • 主な実行オプションは次のとおりです
    • --workspace: ホストで -v によりマウントされるワークスペースフォルダーのパスを指定
    • --accessAuthCode: ロック画面のパスワードを指定
  • 環境変数で PUIDPGID を指定し、コンテナ内部の実行ユーザーとグループを調整できます
    • 値を指定しない場合のデフォルトは 1000 です
    • ホストにマウントしたディレクトリの権限問題を減らすための設定です
  • ワークスペースパスは SIYUAN_WORKSPACE_PATH 環境変数でも設定できますが、コマンドライン引数がある場合はコマンドラインが優先されます
  • ロック画面のパスワードは SIYUAN_ACCESS_AUTH_CODE 環境変数でも設定できますが、コマンドライン引数がある場合はコマンドラインが優先されます
  • SIYUAN_ACCESS_AUTH_CODE_BYPASS=true を設定すると、ロック画面のパスワードを無効化できます
  • SIYUAN_LANG は Docker でインターフェース言語を指定し、未設定時のデフォルトは en です
  • 6806 ポートを隠すには NGINX リバースプロキシを使用でき、/ws に対する WebSocket リバースプロキシ設定が必要です
  • Docker デプロイ時の注意点
    • マウントボリュームが正確でないと、コンテナ削除後にデータが失われる可能性があります
    • 認証問題が発生する可能性があるため、URL 書き換えリダイレクトではなくリバースプロキシ構成を推奨します
    • 権限問題がある場合は、PUIDPGID がホストのマウントディレクトリ所有権と一致しているか確認する必要があります
  • Docker デプロイの 制限事項
    • デスクトップおよびモバイルアプリ接続はサポートせず、ブラウザー利用のみをサポートします
    • PDF、HTML、Word 形式のエクスポートには対応していません
    • Markdown ファイルのインポートには対応していません

CLI

  • 内蔵 CLI は、実行中のサーバーなしで ワークスペースデータ に直接アクセスします
  • すぐに使える例は次のとおりです
    • siyuan notebook list -w ~/SiYuan: すべてのノートブックを一覧表示
    • siyuan search "keyword" -w ~/SiYuan -f json: JSON 出力による全文検索
    • siyuan export md --id <block-id> -w ~/SiYuan: ドキュメントを Markdown としてエクスポート
  • コマンドカテゴリには、ノートブック・ドキュメント、コンテンツ、メタデータ、クエリ、参照、インポート・エクスポート、データ管理、ユーティリティ、データベース、サーバー、ワークスペース・システムが含まれます
  • -f json はスクリプト向けの出力を提供し、デフォルト出力は -f table です
  • 変更系コマンドの多くは、適用前プレビュー用の --dry-run をサポートします
  • CLI バイナリはインストールパスの <install>/resources/kernel 配下にある SiYuan-Kernel です
    • Windows インストーラーは PATH に自動追加します
    • macOS/Linux では手動でシンボリックリンクを作成できます

データ保存と同期

  • データはワークスペースの data フォルダー に保存されます
  • 主なフォルダーの役割は次のとおりです
    • assets: 挿入されたアセットを保存
    • emojis: 絵文字画像を保存
    • snippets: コードスニペットを保存
    • storage: クエリ条件、レイアウト、フラッシュカードなどを保存
    • templates: テンプレートスニペットを保存
    • widgets: ウィジェットを保存
    • plugins: プラグインを保存
    • public: 公開データを保存
  • 残りのフォルダーはユーザーが作成したノートブックフォルダーで、ノートブックフォルダー内の .sy ファイルは文書データを保存します
  • .sy 文書データ形式は JSON です
  • サードパーティ同期ディスク経由のデータ同期はサポートしておらず、そうしないとデータが破損する可能性があります
  • サードパーティ同期ディスクはサポートしていませんが、有料会員権限としてサードパーティクラウドストレージ接続をサポートしています
  • 手動同期の代替として、データのエクスポートとインポートを利用できます
    • デスクトップ: SettingsExportExport Data / Import Data
    • モバイル: Right columnAboutExport Data / Import Data

オープンソースとアップグレード

  • SiYuan は完全に オープンソース で、貢献を歓迎しています
  • 関連リポジトリは次のとおりです
  • 開発案内は Development Guide を参照してください
  • アプリストアからインストールした場合は、アプリストアで更新します
  • デスクトップ用インストールパッケージからインストールした場合は、SettingsAboutAutomatically download update installation package オプションで最新のインストールパッケージを自動ダウンロードし、インストール案内を受け取れます
  • 手動インストールパッケージからインストールした場合は、インストールパッケージを再ダウンロードしてインストールします
  • 新バージョンは SettingsAboutCurrent VersionCheck updateOfficial DownloadGitHub Releases で確認できます

その他 FAQ

  • リスト項目内の段落ブロックのように、一部のブロックでブロックアイコンが見つからない場合は、リスト項目配下の最初の子ブロックのブロックアイコンが省略されている状態です
    • カーソルをそのブロックに置き、Ctrl+/ でブロックメニューを開けます
  • データリポジトリキーを紛失した場合、以前に複数デバイスで正しく初期化していれば、すべてのデバイスのキーは同一で、SettingsAboutData repo keyCopy key string から取得できます
  • キーが正しく構成されていない、またはすべてのデバイスを利用できない場合は、手動バックアップ後にデータリポジトリキーをリセットする必要があります
    • Export Data を使うか、ファイルシステムで workspace/data/ フォルダーを直接コピーしてバックアップします
    • SettingsAboutData repo keyReset data repo を実行します
    • 1 台のデバイスでキーを初期化した後、他のデバイスでキーを取得します
    • クラウドでは新しい同期ディレクトリが使用され、既存の同期ディレクトリと既存のクラウドスナップショットはもう利用できません
  • 機能の大半は商用利用を含めて無料です
  • 有料会員権限は支払い後にのみ利用でき、詳細項目は Pricing を参照してください

1件のコメント

 
GN⁺ 2024-12-27
Hacker News のコメント
  • 見た目は良さそうだが、知識管理/生産性の旅を経験してみると、コンピューターや Unix にある程度慣れているなら、まずは ディレクトリ構造、ファイル名、プレーンテキスト、リスト、Markdown に頼るのがよいと思う
    アプリよりファイルを優先する Unix 的なアプローチのほうがよく、場所・物・人・イベント・指標・使い方のような普遍的な概念で整理するほうがよい。Unix コマンド、make/justfile、(rip)grep、git、fzf のようなツールを活用し、この問題を Web で解決しようとすると、基本的な知識管理ではなく Web の問題を解くことになる。スマートフォン/タッチスクリーンも大きな問題だが、同じく自分で直接解決しようとするより、ファイルマネージャーや Termux の fzf をタッチで使えるように調整するほうが現実的。ただし バックリンク機能については引き続き悩んでいて、階層内のテキストファイルから他ファイルへの参照をスキャンしてくれる Unix ツールがあるとよい

    • しばらく Flatnotes(https://github.com/Dullage/flatnotes) を使ってみたが、設計が気に入っている
      ノートブックやフォルダなしに、Markdown ファイルのある単一ディレクトリと、それなりの検索/タグだけを提供する。深い階層であらかじめ構造化していたメールをやめ、「インデックスしておけば必要なときに見つければよい」という流れに変わったのに似ている。必要な分には十分で、小さなバグや抜けがあっても回避したり、なくてもやっていける。制約は創造性と実行力を引き出す強い動機になる
    • Obsidian はファイルシステム構造の上で Markdown ファイルとして生きられるようにしてくれ、リンク・タグ・トピッククラウドなども提供する
      合理的なルールを使えば、Ghost や Zola のようなもので Web 版を作り、CI で自動デプロイできる。バックアップと同期ができ、デスクトップ/モバイルアプリもあり、Vim キーバインドと git プラグインもある。Unix と相性がよく、さまざまな探索・整理パラダイムに適応するかなり良いシステムなので、いろいろなツールを使ってみたが Obsidian に近いものはなかった
    • 似たような道のりをたどったし、完璧なアプリを探そうとして毎回何かが欠けているのを見つけるのは本当に苛立たしかった
      この1年ほどは、単に 普通の Markdown とディレクトリ階層 に落ち着いた。好みのエディタである Emacs でファイルを編集し、キーバインド・検索・バージョン管理機能をそのまま使っている。ノートはセルフホストした Forgejo インスタンスに置いていて、GitHub でもよい。Forgejo にはすでに Web インターフェースがあるので、ノートとリンクはうまく動く。ノートPCでは mdbook がディレクトリを監視して静的 Web サイトにビルドするようにしてあり、ノートをざっと見たり読みたいときはそれを使う。スマホでノートを書くソリューションも探したが、数行以上なら結局ノートPCを使うほうで、スマホではほぼ読むだけ。同じ mdbook を VPN の裏に置いてスマホからもアクセスし、移動中に修正が必要なら Forgejo の Web インターフェースを使えばよい
    • 自分もまったく同じ結論に至った。まだ Obsidian はかなり使っているが、プレーンテキストファイルと fzf だけを使う自作の タスク管理ツール を作った: https://codeberg.org/ngp/tsk
      自分にはとても合っている。ただし同期とモバイル利用はまだ物足りない。Termux では美しく動くが、コマンドラインアプリの上にモバイル向けのネイティブ UI を載せる方法があるとよい。Tk/Tcl がいちばん近いが Android 側の選択肢しかなく、自分は主に iOS ユーザーなので理想的ではない。同期については IMAP4 や git ベース同期という、それらしい計画がある。このプロジェクトのロードマップとタスクもリポジトリ内でこのツール自身で追跡しているので、実際に機能していると言える
    • 下に未完成の考えを残すが、書いている途中で自分が発明したものは結局 テキストエディタ だと気づいた
      以前、とても Unix らしいノートアプリのアイデアを思いつき、今でもうまく動き得ると思っている。ノートを SQLite データベースにすれば圧縮・性能・簡単なバックアップが得られ、ファイルシステム上のテキストファイルにすれば簡単な検索と低い依存性が得られる。「エディタ」は新しい一時ファイルを作って $EDITOR で開く役割だけを担う。後で名前を付けてもよいし、現在の日付で名付けてもよい。リンクが必要ならファイルシステムを理解するエディタを使い、構文ハイライトが必要ならそうしたエディタを使い、同期は Syncthing と組み合わせ、検索は fzf で行えばよい
  • これを何年もホームサーバーで使っている
    Obsidian に似たツール で、かなり洗練不足でドキュメントも足りない。オープンソースなのは良いが、背後の会社についてはよく分からない。中国企業ということ以外はあまり見つけられなかった。セルフホストでき、Obsidian の機能の大半があり、どこからでも Web ブラウザで使えるので使っている。これが Obsidian にない最大の機能だ

    • Notion、Obsidian、RemNote からかなり借りてきているように見えるが、この分野のアプリは非常に多いので、誰が何を先にやったのか分かりにくく、クローンと呼ぶのは微妙だ
      初めて見たとき、アプリが粗雑だとは感じなかったし、Notion より明らかに反応がよく、RemNote より滑りすぎない感じがする。ただしツールチップがすぐ大量に出てきて、かなり気が散る。RemNote のような間隔反復フラッシュカード、Notion のようなデータベース、さらには AI まで入れたかったようで、それをかなりうまくやっているように見える。Org-Mode まで含め、内部リンク・画像・コードブロックを保持するさまざまなエクスポートオプションもよい。クラウド優先・クローズドソースのアプリ群に対する堅実で機能豊富な代替という点は気に入っているが、高度なレイアウト機能と多くの機能のせいで、自分の用途には気が散って重く感じるかもしれない。Tana も似たオールインワンソリューションで、さらに革新的だが、結局はより集中したアプリに惹かれてしまう
    • ローカル同期のために セルフホスト したいだけなら、Obsidian に git プラグインを使えば、同期とバージョン管理、つまり git が提供する機能を得られる
    • Logseq は自由なオープンソースソフトウェア(GNU ライセンス、ClojureScript)で、自分にはほぼ完璧だが、Web サーバー上のファイルを提供する Web インターフェースをなぜ出せないのかはまったくの謎だ
      Electron アプリに HTTP API があるにもかかわらず、Web デモはファイルシステム API でクライアント側のファイルしか開けない。いつかフォークして自分向けに作るつもりだ。そしてシリアライズ形式を Markdown から XML に変えて、xpath、xquery、basex を使う別のツールでグラフを操作したいという、ひねくれた欲望もある
    • 自分もコンピューターにインストールしてみたが、言われているように中国拠点ということ以外に誰が作っているのか見つけられなかったので、そのまま Obsidian を使い続けることにした
    • なぜ Obsidian 自体を使わないのか気になる。何か問題があるのか?
  • こういうノートツールが次々と新しく出てくるのをよく見かける。自分はすでに Logseq にかなり入れ込んでいて、新しいデータベース版ももうすぐ出る予定だ。
    Logseq や Obsidian のような主要アプリ間でノートを移せるインポート/エクスポートツールを提供しない限り、こうしたツールは新規ユーザーか、ノートがごく少なくて移行に時間を割ける人だけが使うことになる。

    • ノート作成アプリや個人生産性アプリを作るのは、開発者にとって洗練されてはいるがよくある 先延ばしテクニック だ。
    • データベース版の利点が何なのか気になる。バックエンドがテキストファイルである点が気に入っている。
      性能や圧縮の利点はあるかもしれないが、一人の人間が一生で書く文章量を考えると、今すぐ納得できるほどではない。
  • ライセンスが少し変だ。セルフホスト同期 は有料機能とされていて、実際にコードにもライセンスチェックがあるが、一般的なオープンコア製品のように別ライセンスの ee/ ディレクトリがあるわけではなく、ライセンスチェックのコードまで含めてすべて AGPL の下にある。
    FAQ でも “SiYuan is completely open source” と強調している。だとすると、ライセンスチェックをパッチで取り除いても、私には一行の変更で済むように見えるし、それでもライセンスには完全に準拠していることになる。パッチ済みバージョンのバイナリを配布することすらできる。もちろん、かなり意地の悪い行為ではある。これは意図的なのだろうか? ビルド済みイメージの利便性だけを売っているのだろうか?

    • うちの会社も、拡張ストアで売っているものすべてについて意図的にまさにそうしている。全部 LGPL で、ライセンスチェックは大した労力なしに回避できる。
      実際に自由ソフトウェアを販売できるようにしてくれるし、うまく運用すればきちんと機能する。
    • その理解で合っている。売られているのは、ビルド済みイメージの 利便性 だけだ。
      ただし Apple 開発者アカウントの制約があるため、iOS 版をビルドするのに $100 を払いたくないなら、公式版を使うほうが実際には良い。有料制限を取り除いた、比較的よく知られた非公式パッチも二つある。一つはサードパーティ開発者による実験版で、機能テスト後にアップストリームへ提出される github.com/siyuan-community/siyuan、もう一つは単純に有料機能を取り除く github.com/EightDoor/siyuan だ。また、非公式パッケージのバイナリが公式クラウドサービスを使えないようにデジタル証明書を追加しようというコミュニティ開発者の PR もあった。プラグインマーケットが公式 CDN を使っているためトラフィックコストは小さくないが、その PR は却下された。
    • 「かなり意地の悪い行為」だろうか? 人々にそうしてほしくないなら、単に プロプライエタリライセンス を使えばよい。
  • Trilium Notes もおすすめできる。何年も満足して使っている。
    今は「メンテナンスモード」だが、個人的には機能肥大化の危険がないので利点だと見ている。セルフホスト可能で、優れた Web アプリであり、任意のネイティブクライアントがあり、オフラインでも動作する。https://github.com/zadam/trilium

    • 私も何年も Trilium Notes のファンだが、今はこのツールの作業を引き継いでいる活発な コミュニティフォーク もある。
      https://github.com/TriliumNext/Notes
  • 3か月前からセルフホストしていて満足している。Joplin から移行し、オフラインアクセスは失ったが、ずっと 表現力が高く 使いやすい。
    Pro 版のほかの機能も特に惜しいとは思わない。ほかの Docker コンテナには依存せず、認証には Authelia だけを使った。独自のファイル形式を使うが、データボリュームをバックアップし、手動で単純な Markdown にエクスポートできる。Web UI はモバイル利用にも反応がよく、私の場合はほかのツールより合っている。

    • 私も同じだ。VPS インスタンス上の Web にセルフホストして、世界中どこからでも、どんなデバイスからでもアクセスしている。
      そしてセルフホストした S3 インスタンスを使い、OSX と Android/iPhone を含むすべてのインストール環境を同期している。同期は非常にうまく動作した。機能の数を見ると、このプログラムは Obsidian を比較対象から完全に押し出していると感じる。Notion により近い代替だと言いたい。現在 SiYuan 向けの小さなセルフホスト補助ツールを作っていて、ユーザーがノートを公開共有できるようにするものだ。
  • ここで見たおすすめには私も同意する。
    私の 知識管理 のやり方はとても単純だ。すべてが git の中にあり、時間とともに自然に大きくなった大きなディレクトリ構造に入っている。ノートは本当に多く、7千〜8千個ほどある。git に置いたおかげで、自分の望む形で使える柔軟性が得られた。時々 Emacs/Neovim を使い、たいていはプロジェクトや概念ごとの作業空間があるので Sublime Text を使っている。モバイルではすべて自分の Gitea インスタンスへプッシュしている。モバイルでノートにアクセスする必要は頻繁にはないが、最近もっと考えるようになっている。Android でテキストファイルのディレクトリを読む方法についておすすめがあれば知りたい。

    • Android を使っていたときは、テキスト編集に Markor、コマンドラインの git に Termux を使っていた。
      iOS では今、git のコミット/プッシュ/プルに Working Copy を使い、テキスト編集には Obsidian を使っている。素早い Markdown 修正には Obsidian のインターフェースがかなり気に入っている。Obsidian には Android 版もあるはずだが、使ったことはない。Working Copy の Android 版があるかは知らないが、似たような GUI の git アプリはあるかもしれない。
  • Notion を含むこの種のアプリで物足りないのは、データベースのプロパティを継承する機能です
    たとえば、タイトルや期限といった基本的なタスク属性を持つ親データベースを作り、プロジェクト別の属性を追加する子データベースを作りたいのです。そうすれば、今日やるべきすべてのタスクを一か所で見られる単一ビューを作りつつ、個々のタスクに必要な情報もすべて追加できます。不思議なことに、私の知る限り、こうしたものをアプリに組み込んだ人は誰もいません

    • Tana は “supertags” 機能でこれができそうです
      https://tana.inc/docs/supertags
    • Tana はかなり前から super tags でこれをサポートしており、Logseq も DB 版のテストビルドでは子タグ機能でサポートしています
      従来の Markdown ベース版については言えませんが、全体として、こうした機能が広く存在するとよいという点には同意します
    • 探しているものはナレッジベースというより、プロジェクト/タスク管理ツールに近いように見えます
      複雑なツールの多くにはタスクタイプがあり、カスタマイズ可能なものもあれば、そうでないものもあります。たとえば Jira なら、説明されていることができそうです
    • Trilium には属性の継承があり、スクリプトも書けます
      ただし標準のタスク実装は継承ではなくテンプレートを使うため、自分でスクリプトを書く必要があります
  • 見た目はよいですが、Obsidian とほとんど同じに見えます。Obsidian の機能とどう違うのでしょうか?

    • オープンソースのようで、それは Obsidian に比べて大きな利点です
    • ファイル形式が Markdown ではなく、JSON ベースの独自形式です
    • Obsidian の同期機能は有料サービスですが、このプロジェクトは自前のサービスを構成できます
    • Obsidian は Markdown ファイルに限定されていませんか? これは別の形式を使うことで、データベースのような機能をさらに追加できます
    • エディタが完全な WYSIWYG なので、何かを修正するときに生の Markdown に切り替わりません
  • 「Personal Knowledge Management」と聞いて、別のものを期待していました
    たとえば今 IRL ストリーミングを始める方法を調べるなら、「IRL Streaming」というトピックを作り、その中に動画リンク、文書/ドキュメント/チュートリアル/ガイド/使い方へのリンクを入れ、ノートも書きたいです。最終的にはそのトピックを学べるようになり、必要なら「SRT and SLS vs RTMP」のようなサブトピックを作って調べることもできます。Obsidian のクローンのようだという話がありますが、Obsidian のウェブサイトを見ると、本を書くのを助けるツールだとされています。これは PKM と呼ばれているので関連はありそうですが、私が探しているものとは違うかもしれません。上のコメントが提案している、ファイルが入ったフォルダ方式は望んでいません。どこからでもアクセスできる Web アプリに、トピック別に分類した資料リンクと、それに関するノートを放り込みたいのです。siyuan-note の README を読んでみると、これはできそうです。ひとつ質問ですが、複数ユーザーをサポートしていますか? 地元コミュニティ向けにホスティングしたいです