diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fc0921..2c562f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ Each version's section is shown in the in-app update window and on the GitHub release. +## 1.101.0 + +### New +- **Pi.** The AI agents section, the notch and the MCP server now show Pi's usage (tokens, the cost Pi records, models and projects) and its sessions while it runs. Menew finds `~/.pi` and also agents built on Pi that keep the same sessions under another folder, in Pi's files or in a `sessions.db`. Like OpenCode, Pi has no shell hooks, so it shows as working when its log grew in the last few minutes. + ## 1.100.1 ### Fixed diff --git a/README.md b/README.md index 40d4b34..4cb1cf3 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Settings › AI lists every AI feature with how to use it and a switch to turn i
-The **AI agents** section of the Menew window shows what your coding agents are doing. **Now**: every Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi and Goose session, with its project and whether it is working, done or **waiting for you** (a permission or a question); the notch shows “2 working” or “1 waiting for you” with an **Open** button that brings its terminal to the front; rest the pointer on the notch to see what each agent is doing right now (“Edit · session.ts”, “Bash · Run the tests”), how long it has been working, and today’s tokens, cost and limits (always there, even with no session open; a window that has already reset shows 0% and its next reset); and you get a notification when a request that took more than 20 seconds finishes. Turn it on per tool under Set up: Menew adds one command to that tool’s hooks (`~/.claude/settings.json`, `~/.codex/hooks.json`, `~/.gemini/settings.json`), keeps a `.menew-backup` copy and touches nothing else. **Plan limits**: the 5-hour and weekly windows with a bar, when each resets and, at the current pace, when you would run out, with alerts at 75% and 90%; Codex limits come from its own logs, and Claude’s are optional (see Privacy). **Usage**: tokens for today, 7, 30 or 90 days (a bar per day), 12 months (a bar per week) or all time (a bar per month), stacked by tool or combined, with the estimated cost at Anthropic API prices, what the prompt cache saved, and the top models, projects and apps (Claude Code in the terminal, the Claude desktop app or an IDE; Codex CLI or the Codex app), read from the logs each tool already keeps on your Mac. Claude Code deletes its logs after 30 days, so Menew keeps a small daily summary (tokens and cost per day, tool, app, model and project) in `~/Library/Application Support/Menew/agent-usage.json`; on first launch it reads everything the logs still have. Models loaded in **Ollama** or **LM Studio** show up with the memory they use. Tools appear only when they are on your Mac. Cursor, Copilot CLI, Kiro, Droid and Qwen Code report their state through hooks (Copilot and Kiro get a separate `menew.json` that Menew creates and removes); OpenCode, Amp, OpenClaw, Kimi and Goose have no shell hooks, so Menew shows them from the running process and the usage in their logs. Kiro counts credits instead of tokens. +The **AI agents** section of the Menew window shows what your coding agents are doing. **Now**: every Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose and Pi session, with its project and whether it is working, done or **waiting for you** (a permission or a question); the notch shows “2 working” or “1 waiting for you” with an **Open** button that brings its terminal to the front; rest the pointer on the notch to see what each agent is doing right now (“Edit · session.ts”, “Bash · Run the tests”), how long it has been working, and today’s tokens, cost and limits (always there, even with no session open; a window that has already reset shows 0% and its next reset); and you get a notification when a request that took more than 20 seconds finishes. Turn it on per tool under Set up: Menew adds one command to that tool’s hooks (`~/.claude/settings.json`, `~/.codex/hooks.json`, `~/.gemini/settings.json`), keeps a `.menew-backup` copy and touches nothing else. **Plan limits**: the 5-hour and weekly windows with a bar, when each resets and, at the current pace, when you would run out, with alerts at 75% and 90%; Codex limits come from its own logs, and Claude’s are optional (see Privacy). **Usage**: tokens for today, 7, 30 or 90 days (a bar per day), 12 months (a bar per week) or all time (a bar per month), stacked by tool or combined, with the estimated cost at Anthropic API prices, what the prompt cache saved, and the top models, projects and apps (Claude Code in the terminal, the Claude desktop app or an IDE; Codex CLI or the Codex app), read from the logs each tool already keeps on your Mac. Claude Code deletes its logs after 30 days, so Menew keeps a small daily summary (tokens and cost per day, tool, app, model and project) in `~/Library/Application Support/Menew/agent-usage.json`; on first launch it reads everything the logs still have. Models loaded in **Ollama** or **LM Studio** show up with the memory they use. Tools appear only when they are on your Mac. Cursor, Copilot CLI, Kiro, Droid and Qwen Code report their state through hooks (Copilot and Kiro get a separate `menew.json` that Menew creates and removes); OpenCode, Amp, OpenClaw, Kimi, Goose and Pi have no shell hooks, so Menew shows them from the running process and the usage in their logs. Kiro counts credits instead of tokens. Pi is found in `~/.pi` and in any agent built on it that keeps the same session format under another folder. **MCP server**: let your agents ask Menew. One switch adds Menew to Claude Code, Codex, Gemini CLI, Claude Desktop or Cursor (or copy the config for any other app); it runs on your Mac as `Menew --mcp`, with no network. Agents can search your Memory and notes (never protected or password notes), list recordings and read the minutes with tasks, check how the Mac is doing, see agent usage, and, with Menew open, save something to Memory, create a note or send you a notice in the notch. Each source has its own switch; the clipboard history is off unless you turn it on. @@ -452,7 +452,7 @@ Recently shipped: - [x] AI agent usage history: 90 days, 12 months and all time, per tool and per app - [x] Automatic Memory: every screenshot, recording minutes, notes and a summary of each Claude Code, Codex and Gemini CLI session - [x] AI agents: Claude Code, Codex and Gemini CLI usage, limits, notch alerts and an MCP server -- [x] More AI agents: Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi and Goose (usage, sessions and hooks where the tool has them) +- [x] More AI agents: Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose and Pi (usage, sessions and hooks where the tool has them) - [x] Knowledge graph of memory and notes - [x] Recordings with transcript, AI minutes, tasks to Reminders and About you - [x] Actions on selected text: explain, document, tests, reminder, event, note, memory diff --git a/Sources/Menew/AgentHub.swift b/Sources/Menew/AgentHub.swift index 1a820e1..ffc7560 100644 --- a/Sources/Menew/AgentHub.swift +++ b/Sources/Menew/AgentHub.swift @@ -135,6 +135,7 @@ enum AgentProcesses { case "cursor": return n == "cursor-agent" || n == "node" || n.hasPrefix("cursor") case "kiro": return n.hasPrefix("kiro") case "opencode", "droid", "kimi", "goose": return n == agent || n.hasPrefix(agent + "-") + case "pi": return n == "pi" || n == "node" || n == "bun" default: return false } } @@ -172,6 +173,7 @@ enum AgentProcesses { case "openclaw": return (.openclaw, pid) case "kimi": return (.kimi, pid) case "goose": return (.goose, pid) + case "pi": return (.pi, pid) case "node", "bun": // node /opt/homebrew/bin/gemini …, node …/@github/copilot/index.js … guard let script = rest.first?.lowercased() else { return nil } @@ -183,6 +185,7 @@ enum AgentProcesses { (.cursor, ["/cursor-agent", "cursor-agent/"]), (.openclaw, ["/openclaw", "openclaw/"]), (.opencode, ["/opencode", "opencode-ai/"]), + (.pi, ["/pi", "pi-coding-agent/"]), ] return scripts.first { _, marks in marks.contains { script.hasSuffix($0) || ($0.hasSuffix("/") && script.contains($0)) } }.map { ($0.0, pid) } default: return nil diff --git a/Sources/Menew/AgentSources.swift b/Sources/Menew/AgentSources.swift index a35d132..da5f21f 100644 --- a/Sources/Menew/AgentSources.swift +++ b/Sources/Menew/AgentSources.swift @@ -1,7 +1,7 @@ import Foundation import SQLite3 -/// O uso das outras ferramentas de IA (OpenCode, Kiro, Copilot CLI, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose), +/// O uso das outras ferramentas de IA (OpenCode, Kiro, Copilot CLI, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose, Pi), /// lido dos arquivos que elas mesmas gravam no Mac. Cada fonte diz quais arquivos olhar e como ler um arquivo inteiro; /// o scanner relê um arquivo só quando ele muda. Nada sai do Mac. O Cursor não guarda o uso no Mac (só no site dele). struct AgentSource { @@ -20,6 +20,7 @@ struct AgentSource { AgentSource(agent: .openclaw, files: OpenClawLog.files, parse: OpenClawLog.parse), AgentSource(agent: .kimi, files: KimiLog.files, parse: KimiLog.parse), AgentSource(agent: .goose, files: GooseLog.files, parse: GooseLog.parse), + AgentSource(agent: .pi, files: PiLog.files, parse: PiLog.parse), ] /// Quando o arquivo mudou; num banco SQLite, o `-wal` do lado muda antes do arquivo principal @@ -479,3 +480,68 @@ enum GooseLog { } } } + +// MARK: Pi (e agentes feitos a partir dele) + +/// O Pi grava cada sessão em `~/.pi/agent/sessions/--Drück in dem Moment ⌃⌥⌘K, um es im Gedächtnis zu speichern: Menew behält das Bild, liest den Text und merkt sich App und Link. Später suchst oder fragst du in eigenen Worten, etwa „wie hieß diese Swift-Diagramm-Bibliothek?“, und die KI auf dem Mac antwortet mit den gespeicherten Einträgen als Quellen. Einträge aus dem Gedächtnis erscheinen auch in Spotlight. Oder schalte das automatische Gedächtnis ein: Jedes Bildschirmfoto, Meeting-Protokolle, Notizen und eine Zusammenfassung jeder Sitzung deiner Coding-Agenten werden von selbst gespeichert, auf deinem Mac.
Nein. Menew ist eine kostenlose Open-Source-App für die Mac-Menüleiste, entwickelt von Quost und veröffentlicht auf github.com/Quost/menew. Linx Menew ist ein davon unabhängiges Kassensystem für Restaurants in Brasilien; nur die Namen ähneln sich.
Menew blendet keine Menüleistensymbole anderer Apps aus und ordnet sie nicht neu (dafür gibt es Ice oder Thaw), hat keinen Erweiterungs-Store wie Raycast (stattdessen führt es deine eigenen Skripte aus), synchronisiert nicht zwischen Macs oder mit einer Cloud und bringt keinen Webbrowser in die Menüleiste. Für detaillierte Hardware-Sensoren pro Kern gehen Stats und iStat Menus weiter, auch wenn Menew Temperaturen von Chip, SSD und Akku, die Lüfterdrehzahl sowie Leistungs- und Effizienzkerne anzeigt.
Ja. Der Bereich KI-Agenten liest die Protokolle, die Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi und Goose ohnehin auf deinem Mac speichern, und zeigt Tokens pro Tag, Woche oder Monat für bis zu 12 Monate oder den gesamten Zeitraum (eine kleine Tageszusammenfassung bleibt erhalten, da Claude Code seine Protokolle nach 30 Tagen löscht), aufgeteilt nach Tool und App (Terminal, Desktop-App oder IDE), geschätzte Kosten zu API-Preisen, Cache-Ersparnis und die meistgenutzten Modelle und Projekte. Die Codex-Limits stammen aus seinen Protokollen; die 5-Stunden- und Wochenlimits von Claude sind optional, da sie von Anthropic kommen. Schalte die Hooks ein, und die Notch meldet, wenn ein Agent fertig ist oder auf deine Freigabe wartet. Ein MCP-Server lässt die Agenten in Erinnerungen, Notizen und Protokollen suchen.
Ja. Der Bereich KI-Agenten liest die Protokolle, die Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose und Pi ohnehin auf deinem Mac speichern, und zeigt Tokens pro Tag, Woche oder Monat für bis zu 12 Monate oder den gesamten Zeitraum (eine kleine Tageszusammenfassung bleibt erhalten, da Claude Code seine Protokolle nach 30 Tagen löscht), aufgeteilt nach Tool und App (Terminal, Desktop-App oder IDE), geschätzte Kosten zu API-Preisen, Cache-Ersparnis und die meistgenutzten Modelle und Projekte. Die Codex-Limits stammen aus seinen Protokollen; die 5-Stunden- und Wochenlimits von Claude sind optional, da sie von Anthropic kommen. Schalte die Hooks ein, und die Notch meldet, wenn ein Agent fertig ist oder auf deine Freigabe wartet. Ein MCP-Server lässt die Agenten in Erinnerungen, Notizen und Protokollen suchen.
En ese momento, pulsa ⌃⌥⌘K para guardarlo en la Memoria: Menew guarda la imagen, lee el texto y anota la app y el enlace. Después, busca o pregunta con tus palabras, como «¿cuál era esa biblioteca de gráficos en Swift?», y la IA del Mac responde con los elementos guardados como fuentes. Los elementos de la Memoria también aparecen en Spotlight. O activa la Memoria automática: todas las capturas, las actas, las notas y un resumen de cada sesión de los agentes de código se guardan solos, en tu Mac.
No. Menew es una app gratis y de código abierto para la barra de menús del Mac, creada por Quost y publicada en github.com/Quost/menew. Linx Menew es un sistema de punto de venta para restaurantes en Brasil, sin relación; los nombres solo se parecen.
Menew no oculta ni reorganiza los iconos de otras apps en la barra de menús (para eso, usa Ice o Thaw), no tiene una tienda de extensiones como la de Raycast (en su lugar, ejecuta tus propios scripts), no sincroniza entre Macs ni con la nube y no pone un navegador en la barra de menús. Para sensores de hardware detallados por núcleo, Stats e iStat Menus van más lejos, aunque Menew muestra la temperatura del chip, del SSD y de la batería, el ventilador y los núcleos de rendimiento y eficiencia.
Sí. La sección Agentes de IA lee los registros que Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi y Goose ya guardan en tu Mac y muestra tokens por día, semana o mes durante hasta 12 meses o todo el historial (guarda un pequeño resumen diario, porque Claude Code borra sus registros a los 30 días), separados por herramienta y por app (terminal, app de escritorio o IDE), el costo estimado con precios de la API, el ahorro de caché y los modelos y proyectos que más usaron. Los límites de Codex vienen de sus registros; los de 5 horas y de la semana de Claude son opcionales, porque vienen de Anthropic. Activa los hooks y el notch te avisa cuando un agente termina o espera tu permiso. Un servidor MCP permite a los agentes buscar en tu Memoria, tus notas y tus actas.
Sí. La sección Agentes de IA lee los registros que Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose y Pi ya guardan en tu Mac y muestra tokens por día, semana o mes durante hasta 12 meses o todo el historial (guarda un pequeño resumen diario, porque Claude Code borra sus registros a los 30 días), separados por herramienta y por app (terminal, app de escritorio o IDE), el costo estimado con precios de la API, el ahorro de caché y los modelos y proyectos que más usaron. Los límites de Codex vienen de sus registros; los de 5 horas y de la semana de Claude son opcionales, porque vienen de Anthropic. Activa los hooks y el notch te avisa cuando un agente termina o espera tu permiso. Un servidor MCP permite a los agentes buscar en tu Memoria, tus notas y tus actas.
When you see it, press ⌃⌥⌘K to save it to Memory: Menew keeps the image, reads the text and notes the app and link. Later, search or ask in plain words, like “which was that Swift chart library?”, and the on-device AI answers with the saved items as sources. Memory items also show up in Spotlight. Or turn on Automatic Memory: every screenshot, meeting minutes, notes and a summary of each coding-agent session are saved by themselves, on your Mac.
No. Menew is a free, open source app for the Mac menu bar, made by Quost and published at github.com/Quost/menew. Linx Menew is an unrelated point-of-sale system for restaurants in Brazil; the names are just alike.
Menew doesn't hide or rearrange other apps' menu bar icons (for that, use Ice or Thaw), has no extension store like Raycast's (it runs your own scripts instead), doesn't sync between Macs or to a cloud, and doesn't put a web browser in the menu bar. For deep hardware sensors per core, Stats and iStat Menus go further, though Menew shows chip, SSD and battery temperatures, fan speed and performance and efficiency cores.
Yes. The AI agents section reads the logs Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi and Goose already keep on your Mac and shows tokens by day, week or month for up to 12 months or all time (it keeps a small daily summary, since Claude Code deletes its logs after 30 days), split by tool and by app (terminal, desktop app or IDE), the estimated cost at API prices, cache savings and the top models and projects. Codex limits come from its own logs; Claude’s 5-hour and weekly limits are optional, since they come from Anthropic. Turn on the agent hooks and the notch tells you when an agent finishes or is waiting for your permission. An MCP server lets the agents search your Memory, notes and meeting minutes.
Yes. The AI agents section reads the logs Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose and Pi already keep on your Mac and shows tokens by day, week or month for up to 12 months or all time (it keeps a small daily summary, since Claude Code deletes its logs after 30 days), split by tool and by app (terminal, desktop app or IDE), the estimated cost at API prices, cache savings and the top models and projects. Codex limits come from its own logs; Claude’s 5-hour and weekly limits are optional, since they come from Anthropic. Turn on the agent hooks and the notch tells you when an agent finishes or is waiting for your permission. An MCP server lets the agents search your Memory, notes and meeting minutes.
Na hora, aperte ⌃⌥⌘K para guardar na Memória: o Menew guarda a imagem, lê o texto e anota o app e o link. Depois, busque ou pergunte com suas palavras, como “qual era aquela biblioteca de gráficos em Swift?”, e a IA do Mac responde mostrando os itens guardados como fontes. Os itens da Memória também aparecem no Spotlight. Ou ligue a Memória automática: todos os prints, as atas, as notas e um resumo de cada sessão dos agentes de código são guardados sozinhos, no seu Mac.
Não. O Menew é um app grátis e open source para a barra de menus do Mac, feito pelo Quost e publicado em github.com/Quost/menew. O Linx Menew é um sistema de ponto de venda para restaurantes, sem relação; os nomes só são parecidos.
O Menew não esconde nem reorganiza os ícones de outros apps na barra de menus (para isso, use o Ice ou o Thaw), não tem uma loja de extensões como a do Raycast (em vez disso, roda os seus próprios scripts), não sincroniza entre Macs nem com a nuvem e não coloca um navegador na barra de menus. Para sensores de hardware detalhados por núcleo, o Stats e o iStat Menus vão mais fundo, embora o Menew mostre a temperatura do chip, do SSD e da bateria, a ventoinha e os núcleos de desempenho e eficiência.
Sim. A seção Agentes de IA lê os registros que o Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi e Goose já guardam no seu Mac e mostra tokens por dia, semana ou mês em até 12 meses ou desde o começo (guarda um resumo pequeno por dia, porque o Claude Code apaga os registros depois de 30 dias), separados por ferramenta e por app (terminal, app de desktop ou IDE), o custo estimado pelos preços da API, a economia do cache e os modelos e projetos que mais usaram. Os limites do Codex vêm dos registros dele; os de 5 horas e da semana do Claude são opcionais, porque vêm da Anthropic. Ligue os hooks e o notch avisa quando um agente termina ou espera sua permissão. Um servidor MCP deixa os agentes buscarem na sua Memória, nas notas e nas atas.
Sim. A seção Agentes de IA lê os registros que o Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI, Kiro, OpenCode, Droid, Qwen Code, Amp, OpenClaw, Kimi, Goose e Pi já guardam no seu Mac e mostra tokens por dia, semana ou mês em até 12 meses ou desde o começo (guarda um resumo pequeno por dia, porque o Claude Code apaga os registros depois de 30 dias), separados por ferramenta e por app (terminal, app de desktop ou IDE), o custo estimado pelos preços da API, a economia do cache e os modelos e projetos que mais usaram. Os limites do Codex vêm dos registros dele; os de 5 horas e da semana do Claude são opcionais, porque vêm da Anthropic. Ligue os hooks e o notch avisa quando um agente termina ou espera sua permissão. Um servidor MCP deixa os agentes buscarem na sua Memória, nas notas e nas atas.
看到时按 ⌃⌥⌘K 存入“记忆”:Menew 保存图像、读取文字,并记下 App 和链接。之后用自己的话搜索或提问,比如“那个 Swift 图表库叫什么来着?”,本机 AI 会以保存的条目为来源作答。记忆条目也会出现在 Spotlight 中。也可以打开自动记忆:每张截图、会议纪要、笔记和每个编程代理会话的摘要都会自动保存在你的 Mac 上。
没有。Menew 是 Quost 开发的免费开源 Mac 菜单栏应用,发布在 github.com/Quost/menew。Linx Menew 是巴西一款与之无关的餐厅收银系统,只是名字相似。
Menew 不会隐藏或重新排列其他应用的菜单栏图标(可以使用 Ice 或 Thaw),没有像 Raycast 那样的扩展商店(而是运行你自己的脚本),不在 Mac 之间或云端同步,也不会在菜单栏里放浏览器。若需要按核心的详细硬件传感器,Stats 和 iStat Menus 更深入,不过 Menew 也能显示芯片、SSD 和电池温度、风扇转速以及性能核与能效核。
可以。“AI 智能体”部分读取 Claude Code、Codex、Gemini CLI、Cursor、Copilot CLI、Kiro、OpenCode、Droid、Qwen Code、Amp、OpenClaw、Kimi 和 Goose 本来就保存在 Mac 上的日志,按天、周或月显示最长 12 个月或全部历史的 token(由于 Claude Code 会在 30 天后删除日志,Menew 会保留一份很小的每日汇总),并按工具和应用(终端、桌面应用或 IDE)细分,还显示按 API 价格估算的费用、缓存节省以及用得最多的模型和项目。Codex 限额来自它自己的日志;Claude 的 5 小时和每周限额来自 Anthropic,因此是可选的。开启 hooks 后,智能体完成或等待你授权时,刘海处会提醒你。MCP 服务器让智能体可以搜索你的记忆、笔记和会议纪要。
可以。“AI 智能体”部分读取 Claude Code、Codex、Gemini CLI、Cursor、Copilot CLI、Kiro、OpenCode、Droid、Qwen Code、Amp、OpenClaw、Kimi、Goose 和 Pi 本来就保存在 Mac 上的日志,按天、周或月显示最长 12 个月或全部历史的 token(由于 Claude Code 会在 30 天后删除日志,Menew 会保留一份很小的每日汇总),并按工具和应用(终端、桌面应用或 IDE)细分,还显示按 API 价格估算的费用、缓存节省以及用得最多的模型和项目。Codex 限额来自它自己的日志;Claude 的 5 小时和每周限额来自 Anthropic,因此是可选的。开启 hooks 后,智能体完成或等待你授权时,刘海处会提醒你。MCP 服务器让智能体可以搜索你的记忆、笔记和会议纪要。