DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
Godwit 是一款開源桌面電子郵件客戶端,支援任何 IMAP/SMTP 帳號,內建 AI 助手 Wit,可閱讀、摘要、翻譯與草擬郵件,並可自行選擇模型。
AI 翻譯
Godwit is an open-source desktop email client for any IMAP/SMTP account, with an AI assistant, Wit, that reads, summarizes, translates and drafts mail with the model you choose.
生產力Go · TypeScriptGitHub @godwit-email上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
Open-source, hackable AI email client
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An open-source, AI-native email client you can extend.
Godwit is a desktop email client for macOS, Windows and Linux. It works with any IMAP/SMTP account and ships with an AI assistant, Wit, that reads, summarizes, translates and drafts mail with the model you choose. Everything AI in it, the built-in features included, runs through the same extension points open to you: drop in a SKILL.md and a button appears.
The name comes from the bar-tailed godwit, which holds the record for the longest non-stop bird flight.檢視完整 README ↗Godwit is a desktop email client for macOS, Windows and Linux. It works with any IMAP/SMTP account and ships with an AI assistant, Wit, that reads, summarizes, translates and drafts mail with the model you choose. Everything AI in it, the built-in features included, runs through the same extension points open to you: drop in a SKILL.md and a button appears.
The name comes from the bar-tailed godwit, which holds the record for the longest non-stop bird flight.
Status: 0.0.x, early preview. Expect rough edges, and keep a copy of anything important on your mail server.
SKILL.md (Agent Skills) in the data directory's folder becomes a Wit skill, or an action button with metadata.skills/godwit-action-*sdk/godwit.d.ts, published as @godwit/sdk (npm i -D @godwit/sdk). Plugins can read mail and write drafts; none can send.sdk/native/godwit_plugin.h), for what a sandbox cannot do. It runs with all of Godwit's rights, so Godwit shows the risk and asks you to allow that exact file; a changed file needs your permission again.godwit mcp is an MCP server that lets Claude, Cursor and other agents read your mail and create drafts, but never send. Turn on the Local API under Settings › Intelligence › AI apps and copy the client configuration from there.Download the latest build from godwit.email:
macOS: the .dmg, or with Homebrew:
brew install godwit-email/tap/godwit
Windows: the installer, which installs for the current user without admin rights, or Godwit on the Microsoft Store, which the Store updates.
Linux: the .deb, or install for the current user (no root) with:
curl -fsSL https://dl.godwit.email/install.sh | sh
godwit [--data-dir DIR] the desktop app
godwit --headless [--data-dir DIR] serve the Local API without a window
godwit call [--data-dir DIR] METHOD [JSON_ARGS_ARRAY] call the running Godwit once
godwit mcp [--data-dir DIR] an MCP server on stdio for agents
godwit dev-sync-db replace the dev database from production (development builds only)
godwit --version
Godwit is written in Go on MyGo: the main window is native UI, while compose, the Wit page and the message reader are React pages in web/. mise installs the pinned Go and Bun:
mise install
mise run generate # install web dependencies and generate Go/TypeScript code before Go tests
mise run dev # run the app, reloading on changes
mise run dev:sync-db # replace the dev database from production; stop both apps first
go test ./... # Go tests
mise run web:check
mise run build # package for this machine into dist/
Native and web UI translations share internal/i18n/en.json and zh-Hans.json, using ICU MessageFormat. Edit these catalogs, run mise run generate to update the Go and TypeScript accessors, and validate with go tool mygo i18n check. MyGo's generated Go/TypeScript accessors and client are ignored by Git; do not edit them directly. Development, packaging and mise run web:check / web:test generate them automatically; run mise run generate before using Go commands directly.
Development builds (mygo dev and go run) use a separate Godwit-dev data
directory beside production's Godwit directory (on Windows, ~/.godwit-dev
beside ~/.godwit). GUI, headless, call and mcp all use the matching default;
an explicit --data-dir still takes precedence. Release builds keep their existing
directory. MYGO_ENV=production selects production defaults for an unpackaged binary.
To start dev with production mail and settings, quit both instances and run
mise run dev:sync-db, then mise run dev. This overwrites the dev database.
It copies committed WAL data, validates and migrates only the copy, and leaves
the production database untouched. It refuses to run while either directory is
owned by a running instance. A database already upgraded by an older dev run is
not downgraded by this command.
The sync copies only the database. Dev gets a fresh keychain identity, so enter account credentials and model/plugin/MCP secrets again in dev. Cached attachments are downloaded again; draft attachments and outbox files are not copied, and their file references are cleared to avoid using production or stale dev files. Re-add draft attachments before sending from dev. Skills and plugin files are not copied. After you sign in, dev can sync and change the same remote mailbox.
Layout:
| Path | |
|---|---|
core/ | the mail engine and service: sync, storage, send, AI, plugins, skills |
app/ | the native UI |
web/, webui/ | the web pages and their Go side |
cmd/godwit/ | the executable: GUI, headless, call, mcp |
mcpserver/, rpc/ | the MCP server and the Local API |
sdk/ | plugin types |
docs/ | design specs and plans |
site/ | godwit.email, a Cloudflare Worker (mise run site:dev) |
The homepage's demo window and main download button share browser-platform detection. macOS shows traffic lights; Windows shows the app caption and right-hand window controls; Linux also uses right-hand controls. The window controls are decorative, not actions that close or resize the website.
Client CI always runs a lightweight changes check, but skips the desktop matrix and embedded-web checks when all changed paths are under site/. The separate Site workflow checks the website and deploys it from main. Shared configuration changes, such as mise.toml, and mixed site/client changes still run client CI.
Commit messages and PR titles follow Conventional Commits; release-please turns them into versions and the changelog. Merging its release PR builds every platform and uploads the installers and updates to the R2 bucket behind dl.godwit.email; each platform's update manifest goes up last, and installed apps update from it as soon as it is there.
Commits whose changed files are all under site/ are excluded from the application's version calculation and changelog by release-please's exclude-paths. Mixed changes, including a site change together with the root README.md, still participate in application releases.