TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A personal assistant for your terminal that does things: keeps your calendar, reads and drafts email, tracks bills, reminds you — and removes account numbers, card numbers and passwords before anything reaches the AI. Edward runs on your own Windows computer. It uses your own ChatGPT account through the Codex CLI and, if you connect them, your own Google Calendar and Gmail. There is no Edward server. Status: developer preview. Windows only. You bring your own ChatGPT account, Codex CLI and (for calendar and mail) Google Cloud project. Expect rough edges. [README 설치·사용 부분 발췌] Install檢視完整 README ↗
A personal assistant for your terminal that does things: keeps your calendar, reads and drafts email, tracks bills, reminds you — and removes account numbers, card numbers and passwords before anything reaches the AI.
Edward runs on your own computer, Windows or Mac. It uses your own ChatGPT account, or your own OpenAI API key, through the Codex CLI and, if you connect them, your own Google Calendar and Gmail. There is no Edward server.
Status: developer preview. Windows, and macOS (Intel and Apple silicon). You bring your own ChatGPT account or OpenAI API key and (for calendar and mail) Google Cloud project; the terminal version also needs the Codex CLI. Expect rough edges.
▶ Watch the two-minute demo with a voice-over and captions (the picture above is the same video, four times faster). The website has a short video for each part. Everything shown is made-up demo data.
In the terminal it looks like this:
you › what's on tomorrow, and is anything due this week?
📅 checked calendar 2026-10-03 → 2026-10-03
💳 checked bills
edward › Tomorrow: dentist at 15:00. Your electricity bill ($245.30) is due Sunday.
you › reply to Sam's update and ask whether the energy account is set up
✉ searched mail "Weekly update"
✉ read conversation m2
✉ drafted reply to m2
⚠ Allow gmail_send?
send email to Sam Taylor: RE: Weekly update
[y] yes [n] no
| Chat | Answers, web search, image generation, with memory of what you tell it |
| Reminders | "Remind me at 5pm to call the dentist" — a notification, even when Edward is closed |
| Calendar | What's on, when you're free, add / move / delete events (each one confirmed) — across all your Google accounts |
| Gmail | Search, read, summarise; draft replies; send only after you approve the draft — one or several personal Gmail accounts |
| Lists | Shopping list, things to fix at home, to-dos, in Google Tasks so they are on your phone too |
| Voice (desktop app) | Talk to Edward and hear the reply, with your own OpenAI API key |
| Bills | Finds bills in your email, checks them for signs of fraud, reminds you before they are due |
| Daily brief | Today's events, reminders, bills and unread mail in one glance |
| Heads-ups | Before an event with a place or people (and the related emails); a mail summary twice a day; the week ahead on Sunday evening; trips from booking emails, with when to leave |
Three ways in (the desktop app, the terminal, a background job that runs for a moment every minute) share one core. The core reaches the AI only through Codex, a process on your own computer, and everything on that path passes the privacy guard. Calendar, mail and lists come from Google with your own sign-in. There is no Edward server.
The model only reads and writes text. It can't send an email or change your calendar: it asks for one of Edward's tools, Edward's own code does the work, and anything that changes something waits for your OK. What comes back from outside (an email, a calendar entry) is cleaned and passes the guard before the model sees it. The model itself is your choice: a ChatGPT plan, an OpenAI API key, or another service that speaks OpenAI's Responses format, such as OpenRouter or Qwen on Alibaba Cloud (experimental).
Before anything is sent to the model, Edward's own code removes card numbers, bank and account numbers, passwords, PINs, one-time codes and ID numbers — partial ones too ("card ending 1234"). They are never stored. This is a filter at the process boundary, not an instruction to the model.
Edward cannot pay anything or sign in to a bank. Sending an email, changing your calendar and marking a bill paid all need your approval.
What it does not catch, and the rest of the security model, is in SECURITY.md. Read it before you rely on Edward.
npm install -g @openai/codex) for the terminal version; the desktop app comes with
its own (see The Codex inside the desktop app)Desktop app: download the installer from the
releases and follow the
install steps: Edward-Setup-<version>.exe for
Windows, Edward-<version>-mac-arm64.dmg for a Mac with Apple silicon (M1 and later),
Edward-<version>-mac-x64.dmg for a Mac with an Intel processor (Apple menu → About This Mac says
which). Codex comes inside; there is nothing else to install. Versions up to 0.3.1 had one Mac file for
both and needed Codex installed first.
The Mac app isn't signed with an Apple Developer ID yet, so macOS stops it the first time: open it once, then go to System Settings → Privacy & Security and press Open Anyway.
Terminal version:
npm install -g github:Ruihang2017/project-jarvis
edward setup
edward
edward setup walks through signing in to ChatGPT, background reminders, Google and your region. Every
step can be skipped and it can be run again. edward doctor checks that everything works.
Just type. Slash commands cover the rest — /help lists them in three groups:
| Conversation | What Edward looks after | Setup and care |
|---|---|---|
/new /resume /image /model /effort /usage /mode | /brief /calendar /mail /lists /trips /bills /remind /memory /images | /start /connect /accounts /google /disconnect /background /region /web /data /doctor |
The same Edward in a window: Today, Chat, Calendar, Mail, Bills, Reminders, Memory and Pictures pages,
cards for everything that needs your OK, the permission mode always at the top right, and it keeps
running (tray icon on Windows, Dock on a Mac) so reminders keep coming when the window is closed. It
shares the data folder with the terminal version. To run it from a checkout, or build the installer
(app/dist/Edward-Setup-<version>.exe or app/dist/Edward-<version>-mac.dmg; neither is code-signed
yet, so Windows and macOS warn about an unknown publisher):
cd app
npm install
npm start # build and run
npm run dist # build the Windows installer (on Windows)
npm run dist:mac # build the macOS app for Intel and Apple silicon (on a Mac)
npm run smoke # start the packaged app once, hidden, on made-up data
Every push is tested on Windows, macOS on Apple silicon and macOS on Intel, and the three installers are
built and started once, each on its own kind of machine (.github/workflows/ci.yml). A version tag puts
them in a draft release.
The installed app runs its background reminders with its own executable, so it needs no separate Node.
The installers carry OpenAI's Codex CLI, so a new user installs one thing. It is OpenAI's own release
package for the system, in the version Edward was verified with (app/codex.lock.json), downloaded from
OpenAI's releases when the installer is built and refused
unless its SHA-256 is the one written in that file. Codex's own voice feature is left out (Edward
doesn't use it); nothing else is changed. Its licences are in the app, in resources/codex/licenses.
The app uses that Codex and no other: one you installed yourself is neither used nor touched, and your
sign-in stays where it was. npm run dist fetches it (about 150 MB, once) into app/vendor. A run
from source (npm start) and the terminal version use the Codex on your PATH.
chat (the default) keeps Codex's own shell and file access switched off, so everything the model sees
has passed the privacy guard. manual, semi-auto and auto let Codex run commands and edit files; what
it reads that way is outside the guard. Shift+Tab switches, and the prompt always shows the mode.
Everything is in %LOCALAPPDATA%\Edward (Windows) or ~/Library/Application Support/Edward (macOS). /data shows what is there, /data backup copies it,
/data export writes it out as readable files, edward delete-data deletes it, and edward uninstall
removes the background task, revokes Google access and offers to delete the data.
app-server interface, including its experimental dynamic-tool support. A Codex
update can change it: the desktop app carries the version it was verified with, and for the terminal
version edward doctor reports which one that is.git clone https://github.com/Ruihang2017/project-jarvis
cd project-jarvis
npm install
npm test # unit tests; no network, no Codex needed
npm run dev # run from source
TypeScript, Node 24, no runtime dependencies. See CONTRIBUTING.md.
MIT — see LICENSE.
Edward is an independent project. It is not affiliated with OpenAI, Google, or Marvel.