<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>CLIツール on KnightLiブログ</title>
        <link>https://www.knightli.com/ja/tags/cli%E3%83%84%E3%83%BC%E3%83%AB/</link>
        <description>Recent content in CLIツール on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Mon, 18 May 2026 21:02:21 +0800</lastBuildDate><atom:link href="https://www.knightli.com/ja/tags/cli%E3%83%84%E3%83%BC%E3%83%AB/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>wx-cli 解説：コマンドラインでローカルの WeChat チャット履歴を検索する</title>
        <link>https://www.knightli.com/ja/2026/05/18/wx-cli-wechat-local-data-command-line-tool/</link>
        <pubDate>Mon, 18 May 2026 21:02:21 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/05/18/wx-cli-wechat-local-data-command-line-tool/</guid>
        <description>&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; は Rust で書かれたローカル WeChat データ向けのコマンドラインツールです。自分の WeChat セッション、チャット履歴、連絡先、グループメンバー、お気に入り、Moments、公式アカウント記事、添付ファイル、統計情報をターミナルから検索できるようにすることを目的としています。&lt;/p&gt;
&lt;p&gt;これはクラウド型の WeChat 同期サービスでも、チャットボットでもありません。むしろローカルの読み取り専用データ検索レイヤーに近いものです。WeChat は引き続き手元のマシンで動作し、データも手元に残ります。&lt;code&gt;wx-cli&lt;/code&gt; は必要に応じてローカルデータベースを復号、キャッシュ、検索し、その結果を YAML または JSON として人間や Agent に返します。&lt;/p&gt;
&lt;p&gt;このプロジェクトで注目したい点は二つあります。一つは、WeChat のローカルデータ検索をクロスプラットフォーム CLI としてまとめていること。もう一つは、Claude Code、Cursor、Codex のような AI Agent の利用シーンを明確に意識し、&lt;code&gt;SKILL.md&lt;/code&gt; と &lt;code&gt;meta&lt;/code&gt; 付きの構造化出力を提供していることです。&lt;/p&gt;
&lt;h2 id=&#34;wx-cli-でできること&#34;&gt;wx-cli でできること
&lt;/h2&gt;&lt;p&gt;プロジェクト README によると、&lt;code&gt;wx-cli&lt;/code&gt; はかなり広い機能をカバーしています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最近のセッションと未読セッションを表示する。&lt;/li&gt;
&lt;li&gt;特定の連絡先またはグループのチャット履歴を検索する。&lt;/li&gt;
&lt;li&gt;ローカルデータベース全体からキーワード検索する。&lt;/li&gt;
&lt;li&gt;新着メッセージを表示する。&lt;/li&gt;
&lt;li&gt;連絡先、グループメンバー、グループ内ニックネームを検索する。&lt;/li&gt;
&lt;li&gt;お気に入りを検索する。&lt;/li&gt;
&lt;li&gt;Moments の通知、タイムライン、本文を検索する。&lt;/li&gt;
&lt;li&gt;公式アカウントの記事配信を検索する。&lt;/li&gt;
&lt;li&gt;チャット内の画像添付を一覧表示し、抽出する。&lt;/li&gt;
&lt;li&gt;チャット統計を作成する。&lt;/li&gt;
&lt;li&gt;チャット履歴を Markdown または JSON としてエクスポートする。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの機能により、単なる「チャット履歴検索」ではなく、WeChat のローカルデータを検索、集計、エクスポートできるローカル資料庫として扱えるようになります。&lt;/p&gt;
&lt;h2 id=&#34;ai-agent-に向いている理由&#34;&gt;AI Agent に向いている理由
&lt;/h2&gt;&lt;p&gt;多くの CLI ツールは人間向けで、出力も単なるテキストになりがちです。&lt;code&gt;wx-cli&lt;/code&gt; は Agent が読むことを明確に想定しています。&lt;/p&gt;
&lt;p&gt;README では、&lt;code&gt;history&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;sessions&lt;/code&gt;、&lt;code&gt;unread&lt;/code&gt;、&lt;code&gt;new-messages&lt;/code&gt;、&lt;code&gt;stats&lt;/code&gt;、&lt;code&gt;attachments&lt;/code&gt; などのコマンドが &lt;code&gt;meta&lt;/code&gt; 情報を付けて返すと説明されています。&lt;code&gt;meta&lt;/code&gt; には結果の状態、不明なシャード、ヒットしたデータの最新時刻、session 記録の最新時刻などが含まれます。&lt;/p&gt;
&lt;p&gt;これは Agent にとって有用です。AI は「何が見つかったか」だけでなく、「結果は新しいのか」「メッセージが抜けている可能性はないか」「再度 init すべきか」も判断する必要があるためです。たとえば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;status&lt;/code&gt; は結果が &lt;code&gt;ok&lt;/code&gt; なのか &lt;code&gt;possibly_stale&lt;/code&gt; なのかを示せます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unknown_shards&lt;/code&gt; は daemon が現在 key を持っていないデータベースシャードの存在を示せます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chat_latest_timestamp&lt;/code&gt; はヒットしたデータ内の最新メッセージ時刻を Agent に伝えます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;session_last_timestamp&lt;/code&gt; はローカルの session 記録が検索結果より明らかに新しいかどうかを判断する助けになります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この種のメタ情報は AI の誤判断を減らし、Claude Code、Cursor、Codex のようなツールが WeChat データを扱うときの安定性を高めます。&lt;/p&gt;
&lt;h2 id=&#34;インストール方法&#34;&gt;インストール方法
&lt;/h2&gt;&lt;p&gt;プロジェクトは npm によるクロスプラットフォームインストールを推奨しています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @jackwener/wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;macOS / Linux では curl によるインストールにも対応しています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/jackwener/wx-cli/main/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows では管理者 PowerShell で実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;raw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;githubusercontent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jackwener&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;wx-cli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ソースからビルドする場合は、Rust を直接使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone git@github.com:jackwener/wx-cli.git &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo build --release
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ビルド成果物は &lt;code&gt;target/release/wx&lt;/code&gt;、Windows では &lt;code&gt;wx.exe&lt;/code&gt; です。&lt;/p&gt;
&lt;h2 id=&#34;agent-skill-との関係&#34;&gt;Agent Skill との関係
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; は AI Agent 向けの Skill も提供しています。skills CLI を使えば、Claude Code、Cursor、Codex など Skills 対応環境へ一度に導入できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add jackwener/wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;グローバルにインストールする場合：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add jackwener/wx-cli -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;インストール後、Agent はリポジトリ内の &lt;code&gt;SKILL.md&lt;/code&gt; を読み、&lt;code&gt;wx-cli&lt;/code&gt; のインストール、初期化、呼び出し方法を理解します。&lt;/p&gt;
&lt;p&gt;つまり、Agent に次のようなローカル情報整理を依頼できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;特定期間に特定のグループチャットで話題になったキーワードを探す。&lt;/li&gt;
&lt;li&gt;最近の未読メッセージを要約する。&lt;/li&gt;
&lt;li&gt;特定セッションから最近のチャット履歴をエクスポートする。&lt;/li&gt;
&lt;li&gt;公式アカウント記事のリンクを検索する。&lt;/li&gt;
&lt;li&gt;グループチャット内の発言統計を分析する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;前提は変わりません。対象データは、あなた自身のマシン上にある、あなた自身の WeChat データである必要があります。&lt;/p&gt;
&lt;h2 id=&#34;基本的な使い方&#34;&gt;基本的な使い方
&lt;/h2&gt;&lt;p&gt;初期化前には WeChat を起動しておく必要があります。要件はプラットフォームごとに異なります。&lt;/p&gt;
&lt;p&gt;Linux では次を実行できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo wx init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows では管理者 PowerShell を使います。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;macOS は少し複雑です。README によると、デフォルトの方法では WeChat に ad-hoc 署名を行い、プロセスメモリをスキャンできるようにする必要があります。再署名後は古い TCC 権限レコードも削除する必要があります。そうしないと、スクリーンショット、ビデオ通話、マイクなどの権限が「有効に見えるのに実際には拒否される」状態になることがあります。プロジェクトドキュメントでは、再署名によって macOS が他の App のデータアクセス許可を頻繁に求める副作用も注意しています。&lt;/p&gt;
&lt;p&gt;初期化後は、次のコマンドで確認できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sessions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;最近のセッションが見えれば、基本的な経路は利用可能です。daemon は初回呼び出し時に自動起動します。&lt;/p&gt;
&lt;h2 id=&#34;よく使うコマンド例&#34;&gt;よく使うコマンド例
&lt;/h2&gt;&lt;p&gt;最近のセッションを表示：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sessions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;未読セッションを表示：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx unread
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;公式アカウントや折りたたみ入口を除外し、個人とグループの未読だけを見る：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx unread --filter private,group
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特定セッションの最近のチャット履歴を見る：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;さらに多くの履歴を取得：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt; -n &lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;期間を指定してグループチャットを検索：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --since 2026-04-01 --until 2026-04-15
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;全体検索：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx search &lt;span class=&#34;s2&#34;&gt;&amp;#34;关键词&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特定グループ内でキーワード検索：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx search &lt;span class=&#34;s2&#34;&gt;&amp;#34;会议&amp;#34;&lt;/span&gt; --in &lt;span class=&#34;s2&#34;&gt;&amp;#34;工作群&amp;#34;&lt;/span&gt; --since 2026-01-01
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;チャット履歴をエクスポート：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt; --format markdown -o chat.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --since 2026-01-01 --format json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これらのコマンドはスクリプトや Agent から呼び出す用途に向いており、特に &lt;code&gt;--json&lt;/code&gt; と組み合わせると扱いやすくなります。&lt;/p&gt;
&lt;h2 id=&#34;moments-と公式アカウント記事&#34;&gt;Moments と公式アカウント記事
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; はチャットだけを検索するわけではありません。&lt;/p&gt;
&lt;p&gt;Moments 関連のコマンドは通知と投稿に分かれています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-notifications
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-feed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-search &lt;span class=&#34;s2&#34;&gt;&amp;#34;关键词&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;注意点として、Moments データはローカルで表示されたことのある内容に限られます。WeChat クライアントは必要に応じてデータをダウンロードするため、ローカルに存在したことのないデータをツールが突然取得することはできません。&lt;/p&gt;
&lt;p&gt;公式アカウント記事は独立したコマンドで検索します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --account &lt;span class=&#34;s2&#34;&gt;&amp;#34;返朴&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --since 2026-05-01 --until 2026-05-10
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --json &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; jq &lt;span class=&#34;s1&#34;&gt;&amp;#39;.[].url&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;アカウント名、タイトル、URL、概要、カバー画像、時刻などのフィールドが返ります。資料整理、記事収集、ローカル知識ベースづくりをしている人には実用的な機能です。&lt;/p&gt;
&lt;h2 id=&#34;添付ファイルの抽出&#34;&gt;添付ファイルの抽出
&lt;/h2&gt;&lt;p&gt;WeChat チャット内の画像添付は、通常そのまま読める一般的な画像ファイルではなく、&lt;code&gt;xwechat_files/&amp;lt;wxid&amp;gt;/msg/attach/...&lt;/code&gt; 配下の &lt;code&gt;.dat&lt;/code&gt; ファイルとして保存されています。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; は二段階のフローを提供しています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx attachments &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx attachments &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --kind image -n &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;まず &lt;code&gt;attachment_id&lt;/code&gt; を取得し、その後で抽出します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx extract &amp;lt;attachment_id&amp;gt; -o ~/Desktop/photo.jpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;出力レポートには &lt;code&gt;md5&lt;/code&gt;、&lt;code&gt;dat_path&lt;/code&gt;、&lt;code&gt;dat_size&lt;/code&gt;、&lt;code&gt;output&lt;/code&gt;、&lt;code&gt;format&lt;/code&gt;、&lt;code&gt;decoder&lt;/code&gt; などの情報が含まれます。README では legacy XOR、V1 fixed-AES、V2 AES + XOR などのデコード方式に対応していると説明されており、image key の抽出方法はプラットフォームによって異なります。&lt;/p&gt;
&lt;p&gt;この機能は強力ですが、より慎重に使う必要があります。自分のデータだけを処理し、無許可のデータアクセスには使わないでください。&lt;/p&gt;
&lt;h2 id=&#34;daemon-アーキテクチャが重要な理由&#34;&gt;daemon アーキテクチャが重要な理由
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; の性能面のポイントは daemon にあります。&lt;/p&gt;
&lt;p&gt;README が示す構成はおおむね次のようなものです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx (CLI) ──Unix socket──▶ wx-daemon (バックグラウンドプロセス)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    ┌─────────┴──────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               DBCache               連絡先キャッシュ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           (mtime を見て再利用)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;daemon は初回復号後、データベースと mtime 情報を &lt;code&gt;~/.wx-cli/cache/&lt;/code&gt; に永続化します。データベースファイルの mtime が変わっていなければ、以後の呼び出しではキャッシュを再利用でき、毎回復号する必要がありません。&lt;/p&gt;
&lt;p&gt;これはコマンドライン検索と Agent のループ処理の両方で重要です。Agent は複数のセッションを連続で検索し、複数のキーワードを調べ、その後に統計やエクスポートを行うことがあります。毎回スキャンと復号をやり直すと体験は悪くなります。daemon キャッシュにより、ローカル検索サービスに近い感覚で使えます。&lt;/p&gt;
&lt;h2 id=&#34;原理の簡単な説明&#34;&gt;原理の簡単な説明
&lt;/h2&gt;&lt;p&gt;プロジェクト README は原理を直接説明しています。WeChat 4.x は SQLCipher 4 でローカルデータベースを暗号化し、WCDB は派生後の raw key をプロセスメモリ内にキャッシュします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; はプラットフォームに応じた方法で WeChat プロセスメモリをスキャンし、key パターンに一致するものを見つけて鍵を抽出します。その後 daemon が必要に応じてデータベースを復号し、キャッシュします。&lt;/p&gt;
&lt;p&gt;低レベルの仕組みはプラットフォームごとに異なります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;macOS は Mach VM API を使います。&lt;/li&gt;
&lt;li&gt;Linux は &lt;code&gt;/proc/&amp;lt;pid&amp;gt;/mem&lt;/code&gt; を使います。&lt;/li&gt;
&lt;li&gt;Windows は &lt;code&gt;VirtualQueryEx&lt;/code&gt; と &lt;code&gt;ReadProcessMemory&lt;/code&gt; を使います。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの仕組みは、初期化に高い権限が必要になりがちな理由、そして macOS で署名やプライバシー権限が関係する理由を説明しています。&lt;/p&gt;
&lt;h2 id=&#34;利用上の境界とリスク&#34;&gt;利用上の境界とリスク
&lt;/h2&gt;&lt;p&gt;この種のツールでは、まず境界を明確にする必要があります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; README の免責事項は明確です。このツールは学習と研究目的に限られ、自分の WeChat データを復号するためのものであり、関連する法令を遵守する必要があります。無許可のデータアクセスに使ってはいけません。&lt;/p&gt;
&lt;p&gt;実際に使うときは、次の点にも注意するのがよいでしょう。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自分のコンピューター、自分の WeChat アカウントでのみ使う。&lt;/li&gt;
&lt;li&gt;エクスポートしたチャット履歴を安易にクラウドモデルへアップロードしない。&lt;/li&gt;
&lt;li&gt;Agent でチャット履歴を分析する場合、API 事業者とデータ越境リスクを先に確認する。&lt;/li&gt;
&lt;li&gt;Markdown / JSON としてエクスポートした後は、ファイル権限とバックアップ先に注意する。&lt;/li&gt;
&lt;li&gt;会社端末や共有端末で使う前に、コンプライアンスと権限を確認する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ローカルツールだからといってプライバシーリスクがないわけではありません。データが最初から外へ出る経路は減りますが、出力をクラウドモデル、クラウドストレージ、第三者スクリプトに渡せば、リスクは戻ってきます。&lt;/p&gt;
&lt;h2 id=&#34;向いているユーザー&#34;&gt;向いているユーザー
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; は次のような場面に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自分の WeChat 過去メッセージをローカルで素早く検索したい。&lt;/li&gt;
&lt;li&gt;特定セッションを Markdown または JSON としてエクスポートしたい。&lt;/li&gt;
&lt;li&gt;一定期間のグループチャット発言状況を集計したい。&lt;/li&gt;
&lt;li&gt;Claude Code、Cursor、Codex などの Agent にローカル WeChat 資料を整理させたい。&lt;/li&gt;
&lt;li&gt;公式アカウント記事の配信リンクをローカル知識ベースに整理したい。&lt;/li&gt;
&lt;li&gt;WeChat のローカルデータベース構造や復号フローを研究したい。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一方で、次のような用途にはあまり向いていません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;クラウド型の WeChat 同期をしたい。&lt;/li&gt;
&lt;li&gt;他人の端末やアカウント権限を回避したい。&lt;/li&gt;
&lt;li&gt;GUI だけで操作したく、コマンドラインに触れたくない。&lt;/li&gt;
&lt;li&gt;macOS の権限、Windows の管理者権限、Linux の sudo を扱いたくない。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; の価値は、単に「コマンドラインで WeChat チャット履歴を検索できる」ことだけではありません。より正確には、WeChat のローカルデータを、検索でき、エクスポートでき、Agent が消費できるローカルデータソースへ変える点にあります。&lt;/p&gt;
&lt;p&gt;daemon アーキテクチャは繰り返し復号と検索性能の問題を解決します。&lt;code&gt;meta&lt;/code&gt; wrapper は AI Agent が結果の鮮度を判断しやすくします。&lt;code&gt;SKILL.md&lt;/code&gt; は Claude Code、Cursor、Codex のようなツールにインストールと利用方法を理解させます。&lt;/p&gt;
&lt;p&gt;WeChat から情報を探す、グループチャットを整理する、記録をエクスポートする、個人資料庫を構築するといった作業が多いなら、&lt;code&gt;wx-cli&lt;/code&gt; は注目に値します。ただし使うときは、常に一つの前提を忘れないことが重要です。処理するのは自分のデータだけにし、エクスポートした結果は慎重に管理してください。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/jackwener/wx-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jackwener/wx-cli GitHub リポジトリ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
