You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0155452
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
9
9
UFriend keeps your workspace on your computer and connects to separately configured local or cloud AI services. Review the original material alongside the result, edit it, and decide how to use it. The interface supports English and Traditional Chinese, with light, dark, and system themes.
10
10
11
-
**Latest public release: 0.1.39 · Windows x64 · Electron 44**
11
+
**Version: 0.1.41 · Windows x64 · Electron 44**
12
12
13
13
[Releases](https://github.com/breeze0305/UFriend/releases) · [Documentation](docs/README.md) · [使用手冊(繁體中文)](docs/guides/APP_README.md) · [Report an issue](https://github.com/breeze0305/UFriend/issues)
14
14
@@ -18,7 +18,7 @@ UFriend keeps your workspace on your computer and connects to separately configu
18
18
| --- | --- |
19
19
| Email | Import EML files or connect Gmail; read HTML mail, manage attachments and drafts, send mail, summarize and classify messages, and schedule daily organization. |
20
20
| Recordings | Import audio or video, choose a transcription language, queue or schedule jobs, jump to timestamps, and edit or export TXT and SRT transcripts. |
21
-
| Captioned video | Burn timed subtitles into a new MP4 with progress and cancellation, keeping the source video. Requires the optional FFmpeg runtime. |
21
+
| Captioned video | Burn timed subtitles into a new MP4 with progress and cancellation, keeping the source video. FFmpeg is included in the `WithFFmpeg` release. |
22
22
| Image text | Import an image or read a clipboard image, run OCR, compare the source with editable text, and copy the result. Automatic clipboard capture is opt-in. |
23
23
| Writing | Stream chat responses, keep separate conversations, translate text, and polish writing by purpose and tone. Optional profile context and task prompts are configurable. |
24
24
| Workspace | Local persistence and recovery backups, data cleanup, diagnostics, and system tray operation. |
@@ -27,22 +27,24 @@ AI results need review. Mail summaries currently use Traditional Chinese, indepe
27
27
28
28
## Run the Windows release
29
29
30
-
1. Open [GitHub Releases](https://github.com/breeze0305/UFriend/releases) and download **UFriend-0.1.39-Portable.exe** for Windows x64. GitHub's **Source code**archives are not runnable desktop packages.
30
+
1. Open [GitHub Releases](https://github.com/breeze0305/UFriend/releases) and download **UFriend-0.1.41-Portable-WithFFmpeg.exe** for Windows x64. Source archives and the separate FFmpeg developer package are not needed to run UFriend.
31
31
2. Save the EXE in a folder you want to keep. If another version is running, quit it from the system tray menu first.
32
32
3. Double-click the downloaded EXE. No installation wizard, Node.js, or manual extraction is needed.
33
33
4. For English, open **設定 → 一般 → 軟體介面語言**, choose **English**, and save.
34
34
35
35
The launcher extracts the application into a separate temporary directory for each run. Workspace data and encrypted credentials remain in your Windows user data directory; they are not stored inside the downloaded EXE or its temporary extraction folder. Restarting from the system tray launches the original portable EXE. Keep that file in place until you fully quit the app.
36
36
37
-
**Optional media runtime:** the public EXE contains no FFmpeg executable, AI models, or shared OAuth client. For captioned-video export or cloud speech transcription, open **Settings → General → Media runtime**:
37
+
**Included media runtime:** the `WithFFmpeg` EXE includes FFmpeg for captioned-video export and audio preparation for cloud speech transcription. No separate FFmpeg installation or 7-Zip is needed. **Settings → General → Media runtime** shows that the runtime is included. The release also provides its complete corresponding source, dependency sources, and build scripts as a separate download.
38
+
39
+
Older releases and builds made without FFmpeg provide these optional installation controls instead:
38
40
39
41
-**Download and install media runtime** downloads the pinned build from Gyan and verifies its hashes. An existing 7-Zip installation is required.
40
42
-**Select extracted package** opens a folder picker for an already extracted official package. It does not download anything or require 7-Zip.
41
43
-**Media runtime instructions** opens the [runtime guide](docs/development/FFMPEG_RUNTIME.md).
42
44
43
45
A runtime installed through the app is saved in your user data directory and remains available after restarting or replacing the portable EXE. Local Whisper uses its own independently installed runtime. AI model services and Gmail still require the separate configuration described below.
44
46
45
-
If you use a folder-based ZIP package instead, extract the **entire ZIP**, keep its DLLs, resources, and license files together, and run its `UFriend.exe`. The ZIP also includes`Install media runtime.cmd`; the runtime guide covers that alternative.
47
+
If you use a folder-based UFriend ZIP package instead, extract the **entire ZIP**, keep its DLLs, resources, and license files together, and run its `UFriend.exe`. UFriend folder packages built without FFmpeg also include`Install media runtime.cmd`; the runtime guide covers that alternative. The separate FFmpeg developer ZIP is not a UFriend app package.
46
48
47
49
Use the data-location control in **Settings → General** to find the workspace. Fully quit UFriend before backing it up or replacing application files.
48
50
@@ -99,13 +101,13 @@ npm run package:portable
99
101
100
102
This uses the pinned electron-builder 26.17.0 NSIS portable target. The first build needs network access to download its build tools. It creates and validates a folder package without FFmpeg or embedded OAuth settings, then writes `UFriend-<version>-Portable.exe` and its build receipt under `local/releases/UFriend-<version>-portable-<timestamp>-<id>/`. The verified folder package remains under `dist/`.
101
103
102
-
For a local test build with FFmpeg already inside the single EXE, first prepare the pinned runtime, then run:
104
+
For the release format with FFmpeg already inside the single EXE, first prepare the pinned UFriend-built runtime, then run:
103
105
104
106
```powershell
105
107
npm run package:portable -- --with-ffmpeg
106
108
```
107
109
108
-
This creates `UFriend-<version>-Portable-WithFFmpeg.exe`. It needs no separate media-runtime installation or 7-Zip to run. Settings shows that the media runtime is included. A bundled runtime takes precedence over an older optional installation in user data. The executable includes the upstream licenseand provenance files. This build is intended for local use; before distributing the bundled GPL component, prepare its complete corresponding source as described in the [runtime guide](docs/development/FFMPEG_RUNTIME.md#授權與來源紀錄).
110
+
This creates `UFriend-<version>-Portable-WithFFmpeg.exe`. A bundled runtime takes precedence over an older optional installation in user data. The executable includes the GPL license, third-party notices, and source information. Publish the matching complete source archive alongside the EXE; a successful binary build alone does not complete this step. See the [runtime guide](docs/development/FFMPEG_RUNTIME.md#授權與來源紀錄).
109
111
110
112
To create only the folder package for ZIP distribution, use `npm run package -- --without-ffmpeg`. For a local folder package using the prepared FFmpeg runtime, use `npm run package`. Packaging does not run the full test suite or publish a release. See the [installation guide](docs/guides/INSTALL_BUILD.md) for isolated development data, UI smoke tests, prerequisites, and packaging details.
111
113
@@ -141,4 +143,4 @@ UGen300 integration is not implemented or verified on hardware. Device-pool timi
141
143
142
144
UFriend is licensed under the [MIT License](LICENSE).
143
145
144
-
Third-party components retain their respective licenses. These include Electron, Lucide, DOMPurify, MailParser, Nodemailer, and OpenCC. The separately installed FFmpeg build has its own license; UFriend's MIT license does not replace it. See [third-party notices](THIRD_PARTY_NOTICES.md), the [FFmpeg runtime and source information](docs/development/FFMPEG_RUNTIME.md) and [Google asset attribution](app/assets/GOOGLE-BRANDING.md).
146
+
Third-party components retain their respective licenses. These include Electron, Lucide, DOMPurify, MailParser, Nodemailer, and OpenCC. FFmpeg is run as a separate process and has its own GPL license; UFriend's MIT license does not replace it. See [third-party notices](THIRD_PARTY_NOTICES.md), the [FFmpeg runtime and source information](docs/development/FFMPEG_RUNTIME.md) and [Google asset attribution](app/assets/GOOGLE-BRANDING.md).
Copy file name to clipboardExpand all lines: THIRD_PARTY_NOTICES.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@ The [MIT license](LICENSE) covers UFriend's own code. Third-party components ret
5
5
-**Electron and Chromium**: folder packages retain Electron's `LICENSE` and `LICENSES.chromium.html` beside the application executable. The single-file portable EXE contains that application payload and expands it, including the notices, into its temporary run directory.
6
6
-**npm dependencies**: exact versions and declared licenses are recorded in `package-lock.json`. Production dependency license files are retained under `resources/app/node_modules` in the application payload.
7
7
-**Portable build tooling**: the single-file EXE is generated using the pinned electron-builder 26.17.0 NSIS portable target. Build dependencies are identified in the lockfile and retain their own licenses; they are separate from UFriend's project license.
8
-
-**FFmpeg**: the public portable EXE and the ZIP built with `--without-ffmpeg` do not include an FFmpeg binary. The optional installer downloads the pinned Gyan build directly from its publisher, or accepts an extracted official package selected by the user. That build is GPLv3. Its license, upstream notices, and provenance are provided in `scripts/runtime/ffmpeg` and retained beside the installed executable. An installation through Settings is stored in the Windows user data directory and survives application restarts and updates. The optional local `--with-ffmpeg` build instead embeds the verified executable together with those notices. Before distributing that GPL-containing build, provide its complete corresponding source, including required external-library sources and build scripts; the provenance links alone are not such a source bundle. See [FFmpeg runtime documentation](docs/development/FFMPEG_RUNTIME.md).
8
+
-**Bundled FFmpeg**: the `Portable-WithFFmpeg.exe` release embeds a UFriend build of FFmpeg as a separate executable. It enables GPL components, including x264, and is provided under GPLv3. The executable is accompanied by the GPL text, `THIRD_PARTY_LICENSES.txt`, and source/build information from `scripts/runtime/ffmpeg-bundled`. The matching complete source archive, including the linked dependency sources and build scripts, is distributed beside the EXE on its GitHub Release. Its exact hash is recorded in the bundled runtime manifest. These terms do not relicense UFriend's independent MIT code.
9
+
-**Optional FFmpeg**: builds made without FFmpeg retain the optional installer, which downloads the pinned Gyan GPLv3 build directly from its publisher or accepts the user's extracted official package. Its distinct notices and manifest remain in `scripts/runtime/ffmpeg`. This path does not redistribute the Gyan executable. Installations through Settings remain in the Windows user data directory across app updates. See [FFmpeg runtime documentation](docs/development/FFMPEG_RUNTIME.md).
9
10
10
11
Redistribution of third-party binaries must comply with their own terms. The UFriend license does not replace or relicense those components.
-[FFmpeg runtime](development/FFMPEG_RUNTIME.md): install through Settings, persistent runtime storage, ZIP command-line setup, and development prerequisites.
20
+
-[FFmpeg runtime](development/FFMPEG_RUNTIME.md): the included runtime, optional installation for unbundled builds, development prerequisites, and corresponding source.
21
+
-[Build the media runtime](development/MEDIA_RUNTIME_BUILD.md): pinned source inputs, Windows cross compilation, source packaging, and execution verification.
The repository does not contain credentials, personal workspace data, model weights, or the independent PC model-service projects. Obtain the latter from the maintainer and follow their own installation documentation.
0 commit comments