The MailClassification icon: a blue envelope with a purple check mark on a dark rounded square ◉ Outlook add-in · Microsoft 365 · localComplément Outlook · Microsoft 365 · en localOutlook 增益集 · Microsoft 365 · 本機執行

Classify the message
you are reading.
Classez le message
que vous lisez.
為你正在讀的
這封郵件分類。

A task pane inside Outlook. Jev picks one of your categories and tells you how sure it is; you apply it in one click. The pane is served by MailClassification on your own computer — no cloud service, no extra sign-in. Un volet dans Outlook. Jev choisit l'une de vos catégories et dit à quel point il en est sûr ; vous l'appliquez d'un clic. Le volet est servi par MailClassification sur votre propre ordinateur — aucun service cloud, aucune connexion de plus. Outlook 裡的一個工作窗格。Jev 從你的類別中選出一個,並告訴你它有多確定;你點一下就能套用。窗格由你自己電腦上的 MailClassification 提供——沒有雲端服務,也不需要額外登入。

Free & open source (MIT) · part of MailClassification Gratuit et open source (MIT) · fait partie de MailClassification 免費開源(MIT)· MailClassification 的一部分

The real MailClassification task pane, opened in a browser, after Classify with Jev: the label action with confidence 0.960 from the headers alone, five probability bars, the Apply category and Apply + archive buttons, and the Inbox run card in preview mode. The account name, subject and sender are replaced with fictitious values.
The real pane, served by the local server (account, subject and sender masked).Le vrai volet, servi par le serveur local (compte, sujet et expéditeur masqués).真實的窗格,由本機伺服器提供(帳號、主旨與寄件者已遮蔽)。

What it doesCe qu'il fait功能

A Classify button on the reading ribbonUn bouton Classify sur le ruban de lecture閱讀功能區上的 Classify 按鈕

Open a message, choose Classify in the MailClassification group, and a pane opens beside it with two cards. Ouvrez un message, choisissez Classify dans le groupe MailClassification : un volet s'ouvre à côté, avec deux cartes. 開啟一封郵件,在 MailClassification 群組中選擇 Classify,旁邊就會開啟一個含兩張卡片的窗格。

1

This messageCe message這封郵件

Classify with Jev shows the label, its confidence, whether the headers were enough or the text was read, the top five probabilities and the cost. Apply category adds it to the message — existing categories are kept. Apply + archive appears only for archive-eligible categories at a confidence of at least 0.93, as in a batch run. Nothing changes until you click Apply.Classify with Jev affiche le libellé, sa confiance, si les en-têtes ont suffi ou si le texte a été lu, les cinq meilleures probabilités et le coût. Apply category l'ajoute au message — les catégories existantes sont conservées. Apply + archive n'apparaît que pour les catégories éligibles à l'archivage, avec une confiance d'au moins 0,93, comme pour un traitement par lot. Rien ne change avant Apply.Classify with Jev 會顯示標籤、信心值、是只靠標頭還是讀了內文、前五名機率與費用。Apply category 把類別加到郵件上——既有類別保留。Apply + archive 只在可封存的類別且信心值至少 0.93 時出現,與批次處理相同。按下 Apply 之前不會改變任何東西。

2

Inbox runTraitement de la boîte收件匣批次處理

The dashboard's batch run, from Outlook: 10, 50, 100 or all messages, preview only by default, categories or categories + archive (confirmed before a live archive run), unread only. Fixed in the pane: $0.10 budget, 0.75 / 0.93 thresholds, Inbox. A live list of the last 12 results and a Stop button.Le traitement par lots du tableau de bord, depuis Outlook : 10, 50, 100 messages ou tous, aperçu seul par défaut, catégories ou catégories + archivage (confirmé avant un run réel avec archivage), non lus seulement. Fixés dans le volet : budget 0,10 $, seuils 0,75 / 0,93, boîte de réception. Une liste en direct des 12 derniers résultats et un bouton Stop.把儀表板的批次處理搬進 Outlook:10、50、100 封或全部,預設僅預覽,只加類別或加類別並封存(實際封存前會要求確認),僅未讀。窗格中固定:預算 0.10 美元、門檻 0.75 / 0.93、收件匣。即時顯示最近 12 筆結果,並有 Stop 按鈕。

↗

The full dashboard, one click awayLe tableau de bord complet, à un clic完整儀表板,一鍵開啟

The footer links to the local dashboard for everything the pane keeps fixed — thresholds, budget, rules, other mailboxes — and names the model in use. The header shows the signed-in mailbox.Le pied du volet renvoie au tableau de bord local pour tout ce que le volet fige — seuils, budget, règles, autres boîtes — et indique le modèle utilisé. L'en-tête affiche la boîte connectée.窗格底部連到本機儀表板,處理窗格中固定的一切——門檻、預算、規則、其他信箱——並顯示使用中的模型。頂端顯示已登入的信箱。

How it worksFonctionnement運作方式

The pane lives on your computer, not in a cloudLe volet vit sur votre ordinateur, pas dans un cloud窗格在你的電腦上,不在雲端

OutlookYou read a message and press Classify.Vous lisez un message et cliquez sur Classify.你讀一封郵件並按下 Classify。
loadscharge載入
Task paneVolet工作窗格https://localhost:5178
POST /api
mailclassification uiYour Microsoft sign-in and your OpenRouter key, already configured.Votre connexion Microsoft et votre clé OpenRouter, déjà configurées.你已設定好的 Microsoft 登入與 OpenRouter 金鑰。
Graph · OpenRouter
Mailbox + JevBoîte + Jev信箱 + JevGraph reads and writes the message; Jev decides.Graph lit et écrit le message ; Jev décide.Graph 讀寫郵件;Jev 做判定。

Highlighted: what runs on your computer.En surbrillance : ce qui tourne sur votre ordinateur.醒目標示:在你電腦上執行的部分。

  • Served by your own server. mailclassification ui serves the dashboard on http://127.0.0.1:5177 and the pane on https://localhost:5178, with the ASP.NET Core development certificate. If it is not running, Outlook has nothing to load.Servi par votre propre serveur. mailclassification ui sert le tableau de bord sur http://127.0.0.1:5177 et le volet sur https://localhost:5178, avec le certificat de développement ASP.NET Core. S'il ne tourne pas, Outlook n'a rien à charger.由你自己的伺服器提供。mailclassification ui 在 http://127.0.0.1:5177 提供儀表板,並以 ASP.NET Core 開發憑證在 https://localhost:5178 提供窗格。它沒在執行時,Outlook 就沒有東西可載入。
  • No sign-in of its own. The add-in reuses MailClassification's Microsoft 365 sign-in and stored key, with the first signed-in Microsoft 365 mailbox. The message is found with convertToRestId, then read through Microsoft Graph.Aucune connexion propre. Le complément réutilise la connexion Microsoft 365 et la clé enregistrée de MailClassification, avec la première boîte Microsoft 365 connectée. Le message est retrouvé via convertToRestId, puis lu par Microsoft Graph.本身不需登入。增益集沿用 MailClassification 的 Microsoft 365 登入與已儲存的金鑰,使用第一個已登入的 Microsoft 365 信箱。郵件先以 convertToRestId 定位,再透過 Microsoft Graph 讀取。
  • Locked to your machine. Loopback only; any other Host header gets 421; the API answers same-origin JSON POST requests only. Email content is shown as text, never as HTML.Verrouillé sur votre machine. Boucle locale seulement ; tout autre en-tête Host reçoit 421 ; l'API ne répond qu'aux requêtes POST JSON de même origine. Le contenu des e-mails est affiché comme texte, jamais comme HTML.鎖定在你的電腦上。只監聽本機回送位址;其他 Host 標頭一律回 421;API 只接受同源的 JSON POST 請求。郵件內容以純文字顯示,絕不當成 HTML。

RequirementsPrérequis需求

What you need before you startCe qu'il faut avant de commencer開始前需要準備的東西

  • A Microsoft 365 or Outlook.com mailbox. Gmail and IMAP mailboxes work in the dashboard and CLI, not in the add-in.Une boîte Microsoft 365 ou Outlook.com. Les boîtes Gmail et IMAP fonctionnent dans le tableau de bord et la CLI, pas dans le complément.一個 Microsoft 365 或 Outlook.com 信箱。Gmail 與 IMAP 信箱可在儀表板與命令列使用,但不支援增益集。
  • The .NET 10 SDK, an Entra app registration, an OpenRouter key and a trusted development certificate — all covered in the install steps below.Le SDK .NET 10, une inscription d'application Entra, une clé OpenRouter et un certificat de développement approuvé — tout est couvert dans les étapes ci-dessous..NET 10 SDK、Entra 應用程式註冊、OpenRouter 金鑰,以及受信任的開發憑證——下方安裝步驟都會說明。
  • An organisation that allows custom add-ins. Many companies disable them; only a tenant administrator can change that.Une organisation qui autorise les compléments personnalisés. Beaucoup d'entreprises les désactivent ; seul un administrateur du tenant peut changer cela.允許自訂增益集的組織。許多公司會停用自訂增益集;只有租用戶管理員能變更。
  • Outlook on the same computer as the server: Outlook on the web, new Outlook for Windows, Outlook for Mac or classic Outlook for Windows. The manifest targets Mailbox requirement set 1.1, with the ribbon button at 1.3. Only the pane itself has been checked, in a browser; no mobile clients.Outlook sur le même ordinateur que le serveur : Outlook sur le web, le nouvel Outlook pour Windows, Outlook pour Mac ou Outlook classique pour Windows. Le manifeste vise l'ensemble de conditions Mailbox 1.1, avec le bouton du ruban en 1.3. Seul le volet lui-même a été vérifié, dans un navigateur ; pas de clients mobiles.與伺服器在同一台電腦上的 Outlook:網頁版 Outlook、新版 Windows 版 Outlook、Mac 版 Outlook 或傳統 Windows 版 Outlook。資訊清單要求 Mailbox 需求集 1.1,功能區按鈕為 1.3。目前只在瀏覽器中實際檢查過窗格本身;不支援行動版。

InstallInstaller安裝

Seven steps to a working paneSept étapes jusqu'au volet七個步驟完成安裝

macOS / Linux syntax. On Windows PowerShell, use $HOME\.mailclassification\bin for ~/.mailclassification/bin.Syntaxe macOS / Linux. Sous Windows PowerShell, utilisez $HOME\.mailclassification\bin à la place de ~/.mailclassification/bin.以下為 macOS / Linux 語法。在 Windows PowerShell 中,請把 ~/.mailclassification/bin 換成 $HOME\.mailclassification\bin。

  1. Build and publishCompiler et publier建置並發佈

    A stable copy in ~/.mailclassification/bin; put it on your PATH.Une copie stable dans ~/.mailclassification/bin ; ajoutez-la à votre PATH.在 ~/.mailclassification/bin 產生穩定的副本,並加入 PATH。

    git clone https://github.com/vincentlauriat/MailClassification.jev.git
    cd MailClassification.jev
    dotnet publish src/MailClassification -c Release -o ~/.mailclassification/bin
  2. Store the OpenRouter keyEnregistrer la clé OpenRouter儲存 OpenRouter 金鑰

    Store it even if your shell exports it: the background service does not see shell variables.Enregistrez-la même si votre shell l'exporte : le service d'arrière-plan ne voit pas les variables du shell.即使 shell 已經匯出也要儲存:背景服務看不到 shell 的環境變數。

    mailclassification key set sk-or-...
    mailclassification key test
  3. Connect the Microsoft 365 mailboxConnecter la boîte Microsoft 365連接 Microsoft 365 信箱

    After the one-time Entra app registration; then type the device code that is printed.Après l'inscription Entra unique ; saisissez ensuite le code affiché.先完成一次性的 Entra 應用程式註冊,再輸入畫面上顯示的裝置代碼。

    mailclassification config set client-id <application-client-id>
    mailclassification account add alice@contoso.com --m365
  4. Trust the development certificateApprouver le certificat de développement信任開發憑證

    Once per computer. Outlook only loads add-in pages over HTTPS.Une fois par ordinateur. Outlook ne charge les pages de complément qu'en HTTPS.每台電腦一次。Outlook 只透過 HTTPS 載入增益集頁面。

    dotnet dev-certs https --trust
  5. Keep the server runningGarder le serveur en marche讓伺服器持續執行

    macOS: a LaunchAgent starts it at login; service status should report Health : MailClassification … answers. Windows / Linux: no service command yet — run mailclassification ui --no-open and keep it running, for example as a scheduled task at logon.macOS : un LaunchAgent le lance à l'ouverture de session ; service status doit afficher Health : MailClassification … answers. Windows / Linux : pas encore de commande service — lancez mailclassification ui --no-open et gardez-le en marche, par exemple via une tâche planifiée à l'ouverture de session.macOS:由 LaunchAgent 在登入時啟動;service status 應顯示 Health : MailClassification … answers。Windows / Linux:目前還沒有 service 指令——請執行 mailclassification ui --no-open 並保持執行,例如設成登入時的排程工作。

    mailclassification service install --exe ~/.mailclassification/bin/mailclassification
    mailclassification service status
  6. Check the pane in a browserVérifier le volet dans un navigateur在瀏覽器中檢查窗格

    Open https://localhost:5178/taskpane.html. It must load with no certificate warning and show your mailbox in its header.Ouvrez https://localhost:5178/taskpane.html. La page doit se charger sans avertissement de certificat et afficher votre boîte dans son en-tête.開啟 https://localhost:5178/taskpane.html。頁面必須在沒有憑證警告的情況下載入,並在頂端顯示你的信箱。

  7. Get the manifestRécupérer le manifeste取得資訊清單

    Download https://localhost:5178/manifest.xml, or write it with the CLI (without --out it goes to release/mailclassification-manifest.xml under the current directory; --https-port if you changed the port).Téléchargez https://localhost:5178/manifest.xml, ou écrivez-le avec la CLI (sans --out, il va dans release/mailclassification-manifest.xml sous le répertoire courant ; --https-port si vous avez changé le port).下載 https://localhost:5178/manifest.xml,或用命令列產生(沒有 --out 時會寫到目前目錄下的 release/mailclassification-manifest.xml;若改過連接埠請加 --https-port)。

    mailclassification addin manifest --out ~/mailclassification-manifest.xml

SideloadCharger le complément側載

Add it to Outlook from the fileL'ajouter à Outlook depuis le fichier從檔案加入 Outlook

These are the usual paths; Microsoft moves menus from time to time. The reference is Microsoft's guide, Sideload Outlook add-ins for testing.Ce sont les chemins habituels ; Microsoft déplace parfois les menus. La référence est le guide de Microsoft, Sideload Outlook add-ins for testing.以下是常見路徑;Microsoft 不時會移動選單。請以 Microsoft 的官方指南 Sideload Outlook add-ins for testing 為準。

ClientClient用戶端Usual pathChemin habituel常見路徑
Outlook on the web, new OutlookOutlook sur le web, nouvel Outlook網頁版 Outlook、新版 OutlookOpen aka.ms/olksideload → "Add-ins for Outlook" → My add-ins → Custom add-ins → Add a custom add-in → Add from file…Ouvrez aka.ms/olksideload → « Add-ins for Outlook » → My add-ins → Custom add-ins → Add a custom add-in → Add from file… (libellés selon la langue d'Outlook)開啟 aka.ms/olksideload →「Add-ins for Outlook」→ My add-ins → Custom add-ins → Add a custom add-in → Add from file…(實際名稱依 Outlook 語言而定)
Outlook for MacOutlook pour MacMac 版 OutlookGet Add-ins (or under the … menu) → the same My add-ins → Custom add-ins → Add from file…Get Add-ins (ou dans le menu …) → le même My add-ins → Custom add-ins → Add from file…Get Add-ins(或在 … 選單中)→ 同樣的 My add-ins → Custom add-ins → Add from file…
Classic Outlook for WindowsOutlook classique pour Windows傳統 Windows 版 OutlookHome → Get Add-ins (or File → Manage Add-ins) → the same My add-ins → Custom add-ins → Add from file…Accueil → Get Add-ins (ou Fichier → Gérer les compléments) → le même My add-ins → Custom add-ins → Add from file…常用 → Get Add-ins(或 檔案 → 管理增益集)→ 同樣的 My add-ins → Custom add-ins → Add from file…
First use: open a message → the MailClassification group on the ribbon (or under … / Apps) → Classify → Classify with Jev. Keep Preview only ticked for your first Inbox runs. Première utilisation : ouvrez un message → le groupe MailClassification du ruban (ou sous … / Apps) → Classify → Classify with Jev. Laissez Preview only coché pour vos premiers traitements de la boîte. 第一次使用:開啟郵件 → 功能區上的 MailClassification 群組(或在 … / Apps 之下)→ Classify → Classify with Jev。前幾次收件匣批次處理請保持勾選 Preview only。
Upgrading from jevOutlook: the add-in was called jevOutlook until 2026-09-28. Your settings move to ~/.mailclassification on their own. Run mailclassification service install once (it replaces the old agent), generate the manifest again and sideload it once more to see the new name; the add-in id is the same. Upgrade notes. Mise à jour depuis jevOutlook : le complément s'appelait jevOutlook jusqu'au 2026-09-28. Vos réglages passent seuls dans ~/.mailclassification. Lancez une fois mailclassification service install (il remplace l'ancien agent), régénérez le manifeste et rechargez-le pour voir le nouveau nom ; l'id du complément ne change pas. Notes de mise à jour. 從 jevOutlook 升級:此增益集在 2026-09-28 之前名為 jevOutlook。你的設定會自動移到 ~/.mailclassification。請執行一次 mailclassification service install(會取代舊的代理程式),重新產生資訊清單並再次側載,即可看到新名稱;增益集 id 不變。升級說明。

TroubleshootingDépannage疑難排解

The five problems you are most likely to meetLes cinq problèmes les plus probables最可能遇到的五個問題

SymptomSymptôme症狀FixSolution解法
Blank pane / can't reachVolet vide / injoignable窗格空白/無法連線The server is not running. mailclassification service status, then service restart; read ~/.mailclassification/logs/ui.log.Le serveur ne tourne pas. mailclassification service status, puis service restart ; lisez ~/.mailclassification/logs/ui.log.伺服器沒有執行。執行 mailclassification service status,再 service restart;查看 ~/.mailclassification/logs/ui.log。
Certificate warningAvertissement de certificat憑證警告dotnet dev-certs https --trust, then restart the server. Without a certificate the server falls back to HTTP only and the pane cannot load.dotnet dev-certs https --trust, puis redémarrez le serveur. Sans certificat, le serveur se replie sur HTTP seul et le volet ne peut pas se charger.執行 dotnet dev-certs https --trust,再重新啟動伺服器。沒有憑證時伺服器只會以 HTTP 執行,窗格無法載入。
"Not signed in — use the dashboard"« Not signed in — use the dashboard »「Not signed in — use the dashboard」The Microsoft sign-in expired: mailclassification account login <id>.La connexion Microsoft a expiré : mailclassification account login <id>.Microsoft 登入已過期:mailclassification account login <id>。
"· no API key"« · no API key »「· no API key」mailclassification key set <key> — the service does not see a key exported only in your shell.mailclassification key set <clé> — le service ne voit pas une clé exportée seulement dans votre shell.mailclassification key set <金鑰>——服務看不到只在 shell 中匯出的金鑰。
"Add-in installation failed"« Add-in installation failed »「Add-in installation failed」Custom add-ins are disabled by your organisation's policy. Only a tenant administrator can change it.Les compléments personnalisés sont désactivés par la politique de votre organisation. Seul un administrateur du tenant peut la changer.你的組織政策停用了自訂增益集。只有租用戶管理員能變更。

Port conflicts, "Local server unreachable", the Stop button and more: full troubleshooting table.Conflits de port, « Local server unreachable », le bouton Stop et plus : tableau de dépannage complet.連接埠衝突、「Local server unreachable」、Stop 按鈕等更多問題:完整疑難排解表。

StatusÉtat現況

What works today, and what does not yetCe qui marche aujourd'hui, et ce qui pas encore目前可用與尚未完成的部分

Sideloading in a real Outlook is not validated end to end yet. The pane works in a browser and the manifest passes Microsoft's validator, but the one sideload attempt so far was on a corporate tenant that blocks custom add-ins. The pane needs the local server running (option 1); an on-demand start (option 2) is designed, not built. Microsoft 365 and Outlook.com only, and always the first signed-in Microsoft 365 mailbox. Le chargement dans un vrai Outlook n'est pas encore validé de bout en bout. Le volet fonctionne dans un navigateur et le manifeste passe le validateur de Microsoft, mais la seule tentative à ce jour visait un tenant d'entreprise qui bloque les compléments personnalisés. Le volet a besoin du serveur local en marche (option 1) ; un démarrage à la demande (option 2) est conçu, pas construit. Microsoft 365 et Outlook.com seulement, et toujours la première boîte Microsoft 365 connectée. 在真正的 Outlook 中側載尚未完成端到端驗證。窗格在瀏覽器中運作正常,資訊清單也通過 Microsoft 驗證工具,但目前唯一一次側載嘗試是在封鎖自訂增益集的企業租用戶上。窗格需要本機伺服器持續執行(方案一);隨需啟動(方案二)已完成設計、尚未實作。僅支援 Microsoft 365 與 Outlook.com,且一律使用第一個已登入的 Microsoft 365 信箱。