Project Icon

nheko

原生桌面体验的Matrix聊天客户端

nheko是一款基于Matrix协议的原生桌面客户端应用,旨在提供类似主流聊天软件的使用体验。它支持端到端加密、VoIP通话、用户注册和房间管理等核心功能。nheko采用简洁的界面设计,支持多种主题,并允许用户自定义表情和贴纸。此外,nheko还提供D-Bus API接口,支持与第三方插件集成,增强了应用的灵活性和功能性。

nheko

#nheko-reborn:matrix.org 构建状态

该项目的动机是为Matrix提供一个原生桌面应用程序,让用户感觉更像主流聊天应用(Element、Telegram等),而不是IRC客户端。

快速安装链接

稳定版

稳定版本 在Flathub上下载 打包状态

其他选项和详细信息请参见安装部分。

不稳定版

每日构建 下载每日构建Flatpak Windows每日构建自动更新

翻译

翻译状态

帮助我们进行翻译,让尽可能多的人能够使用nheko!

关于端到端加密的说明

当前实现基本稳定,但从未经过审核。如果您依赖它来保证安全,我们无法做出任何保证。

功能

目前缺少聊天应用程序应有的大多数功能,但我们正在接近一个功能更完整的客户端。 具体支持以下功能:

  • 端到端加密。
  • VoIP通话(语音和视频,支持因平台而异)。
  • 用户注册。
  • 创建、加入和离开聊天室。
  • 发送和接收邀请。
  • 发送和接收文件和表情符号(图片、音频和文件消息的内联小部件)。
  • 自定义贴纸和表情符号。
  • 回复文本、图片和其他媒体(并实际将它们呈现为内联小部件)。
  • 输入通知。
  • 用户名自动完成。
  • 消息和提及通知。
  • 撤回消息。
  • 已读回执。
  • 在线状态和状态消息(如果在服务器端启用)。
  • 基本社区支持。
  • 聊天室切换器(ctrl-K)。
  • 浅色、深色和系统主题。
  • 创建单独的配置文件(仅命令行,使用-p name)。
  • D-Bus API,允许与第三方插件集成(不支持Windows或macOS)。

安装

发布版本

Linux(Flatpak)、macOS(磁盘映像)和Windows(x64 msix或appinstaller)的发布版本可在GitHub releases中找到。 Windows上的appinstaller将定期检查我们的服务器以获取更新。msix不会。

软件仓库

打包状态

Arch Linux

sudo pacman -Syu nheko

开发版本可在AUR中获得:

yay -S nheko-git # 或您喜欢的安装AUR软件包的方式

Nheko需要一个密钥服务器才能运行,因此如果您的桌面环境没有提供,您需要安装和配置诸如KDE WalletGNOME Keyring之类的服务。

Debian(10及以上)/ Ubuntu(18.04及以上)

sudo apt install nheko

Fedora

sudo dnf install nheko

Gentoo Linux

sudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a nheko

如果您使用Gnome Keyring或KeepassXC作为密钥守护程序,请确保在dev-libs/qtkeychain上启用了keyring useflag。

Mageia(9及以上)

sudo urpmi nheko

Nix(os)

# 命令式:(不推荐)
nix-env -iA nixpkgs.nheko
# 在临时 shell 中:(推荐如果你只想尝试而不想完全安装)
nix-shell -p nheko --run nheko
# 注意:上面的命令会同时安装和运行 Nheko。
# 如果不想立即运行,只需删除末尾的 `--run nheko`。

或者,通过以下方式之一将其添加到你的配置中:(推荐长期安装)

**系统范围:**
```nix
environment.systemPackages = with pkgs; [
    # ...
    nheko
    # ...
];

特定用户:

users.users.<user>.packages = with pkgs; [
    # ...
    nheko
    # ...
];

通过 home-manager

programs.nheko.enable = true;

Alpine Linux(和 postmarketOS)

确保你已启用 edge 的测试仓库。注意,postmarketOS 不需要这一步。

sudo apk add nheko

openSUSE

注意:这些说明仅在 Tumbleweed 上测试过。

首先,安装 nheko:

sudo zypper addrepo https://download.opensuse.org/repositories/network:messaging:matrix/openSUSE_Tumbleweed/network:messaging:matrix.repo
sudo zypper ref
sudo zypper in nheko

如果你想添加 jdenticon 支持:

sudo zypper install qt-jdenticon

Flatpak

flatpak install flathub im.nheko.Nheko

Guix

guix install nheko

Steam Deck

通过桌面模式中的 Discover 应用安装 nheko(这会安装 flatpak)。要使其在游戏模式下也能工作,你需要创建一个启动 kwalletd 然后启动 nheko 的包装脚本。你可以创建 /home/deck/nheko.sh 文件,内容如下,然后将此脚本作为"非 Steam 游戏"添加到 Steam 中。

#!/bin/sh
kwalletd6&
flatpak run --env=XDG_CURRENT_DESKTOP=KDE --env=KDE_SESSION_VERSION=5 --branch=stable --arch=x86_64 --command=im.nheko.Nheko --file-forwarding im.nheko.Nheko @@u @@

macOS(10.14 及以上)

使用 homebrew

brew install --cask nheko

Windows

使用 Chocolatey

choco install nheko-reborn

D-Bus 插件

nheko 不提供任何 D-Bus 插件的二进制文件。但是,我们提供以下已知插件列表:

常见问题


问: 为什么我在 Windows 上无法播放视频?

答: 你可能缺少所需的视频编解码器,下载 K-Lite Codec Pack


问: nheko 支持哪些命令?

答: 请参阅 https://github.com/Nheko-Reborn/nheko/wiki/Commands


问: nheko 是否支持端到端加密(E2EE)?

答: 是的,请参阅功能列表


问: 我可以测试最新的开发版本吗?

答: 查看每日构建 https://matrix-static.neko.dev/room/!TshDrgpBNBDmfDeEGN:neko.dev/


问: 如何添加贴纸和自定义表情?

答: 贴纸和自定义表情被组织在图像包中。有一个只有你的账户可以访问的用户图像包,还有房间图像包,房间内的每个人都可以访问。你可以全局激活房间图像包以在任何房间中使用它。

要在 nheko 中管理图像包,请进入房间设置并进入贴纸和表情设置。你会看到私人包(你的用户图像包)并可以在那里编辑它。短代码是用于选择图像的唯一标识符,正文是在不支持图像的客户端上显示的替代文本(类似于 HTML 图像的 alt 标签)。

如果你有必要的权限,可以使用图像包列表底部的按钮创建新的房间包。它们与用户包相同,但你可以创建任意多个,房间里的每个人都可以使用它们。创建一个专门用于图像包的额外房间可能是个好主意,以便于共享。


问: 我看不到某些图像类型!

答: Nheko 使用 Qt 的图像插件来渲染图像。你可能需要安装额外的软件包来显示某些图像类型,如 webp。通常这些软件包被称为 qt6-image-formats-pluginsqt6-imageformats 或类似名称。KDE 有类似的插件,可以进一步扩展支持的图像类型。


构建要求

  • Qt6(6.5或更高版本)。用于Qml中的重叠悬停处理器。
  • CMake 3.15或更高版本。(较低版本可能可用,但可能会导致boost链接问题)
  • mtxclient
  • coeurl
  • LMDB
  • lmdb++(0.9.14版本太旧)
  • cmark 0.29或更高版本。
  • libolm
  • spdlog(1.8.1版本太旧)
  • fmt
  • GStreamer 1.20.0或更高版本(可选,需要VoIP支持。传递-DVOIP=OFF以禁用)。
    • 安装gstreamer核心库以及gst-plugins-base、gst-plugins-good和gst-plugins-bad通常就足够了。 但qmlgl插件通常是单独打包的。具体的插件要求如下:
    • 语音通话支持:dtls、opus、rtpmanager、srtp、webrtc
    • 视频通话支持(可选):compositor、opengl、qmlgl、rtp、vpx
    • libnice
  • XCB、XCB-EWMH:用于X11上的屏幕共享支持和设置窗口角色。可以通过-DSCREENSHARE_X11=OFF禁用。
  • qtkeychain(至少需要0.12版本以获得proper Gnome Keychain支持。捆绑版本需要libsecret,除非你传递-DLIBSECRET_SUPPORT=OFF。)
  • KDSingleApplication(1.0或更高版本,支持Qt6)
  • 支持C++ 20的编译器:
    • Clang 16(CI中只测试了clazy 16)
    • GCC 11.3(在Gitlab CI上测试)
    • MSVC 19.13(在AppVeyor上测试)

如果你的发行版中的版本太旧,Nheko可以自动使用大多数这些库的捆绑版本。 要使用它们,你可以通过传递-DHUNTER_ENABLED=ON来启用hunter集成。 通过传递-DBUILD_SHARED_LIBS=OFF来静态链接这些依赖项可能是明智的。 你可以通过传递各种-DUSE_BUNDLED_*标志来选择要使用的捆绑依赖项。默认情况下,如果你启用hunter,所有依赖项都会被捆绑。(OpenSSL是个例外,默认情况下始终禁用。) 如果你遇到构建问题,并且在没有hunter的情况下尝试链接mtxclient库,请确保使用了CMakeList.txt中提到的库版本(提交)。有时我们不得不在mtxclient中进行破坏性更改,在这段时间内,两个仓库的master分支可能不兼容。

当前的捆绑标志包括:

  • USE_BUNDLED_SPDLOG
  • USE_BUNDLED_OLM
  • USE_BUNDLED_GTEST
  • USE_BUNDLED_CMARK
  • USE_BUNDLED_JSON
  • USE_BUNDLED_OPENSSL
  • USE_BUNDLED_MTXCLIENT
  • USE_BUNDLED_LMDB
  • USE_BUNDLED_LMDBXX
  • USE_BUNDLED_COEURL
  • USE_BUNDLED_LIBCURL
  • USE_BUNDLED_LIBEVENT
  • USE_BUNDLED_KDSINGLEAPPLICATION

关于捆绑的OpenSSL的注意事项:你需要明确启用它,如果启用,它默认不会使用你的系统证书目录。你需要在运行时使用SSL_CERT_FILE变量来覆盖它。不过在Windows上,它仍然会使用你的系统证书,因为它是从系统存储而不是OpenSSL目录加载它们。

Linux(Appimage)

如果你不想安装任何外部依赖项,可以使用docker在本地生成AppImage。不过这种方法维护得不太好...

make docker-app-image

Arch Linux

sudo pacman -S qt6-base \
    qt6-tools \
    qt6-multimedia \
    qt6-svg \
    cmake \
    gcc \
    fontconfig \
    lmdb \
    cmark \
    boost \
    qtkeychain-qt6

Debian 13 [测试版/Sid](Nheko QT6版本)

截至2024年2月,从git master分支获取的Nheko需要QT 6.5,而Trixie只有6.4.2,所以你必须启用Debian的实验性仓库来安装更新的QT6。将来可能不需要这样做,第二组构建要求中的-t experimental可以移除。

# 安装构建依赖
sudo apt install -y cmake asciidoc-base libevent-dev libspdlog-dev libre2-dev liblmdb++-dev libcurl4-openssl-dev libssl-dev libolm-dev libcmark-dev nlohmann-json3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libkdsingleapplication-qt6-dev
sudo apt install -y -t experimental qt6-base-dev qt6-tools-dev qt6-svg-dev qt6-multimedia-dev qt6-declarative-dev qtkeychain-qt6-dev qt6-base-private-dev qt6-declarative-private-dev
# 从github克隆nheko仓库
sudo apt install -y git
git clone https://github.com/Nheko-Reborn/nheko && cd nheko
# 构建
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1
cmake --build build

Debian 11-12 / Ubuntu 22.04(Nheko QT5 11.3 发布版本)

构建要求 + 运行时需要的 qml 模块(您可能不需要全部,但根据报告,以下似乎可以工作):

sudo apt install --no-install-recommends g++ cmake make zlib1g-dev libssl-dev libolm-dev liblmdb-dev libcmark-dev nlohmann-json3-dev libspdlog-dev libevent-dev libcurl4-openssl-dev libre2-dev libxcb-ewmh-dev asciidoc-base \
qt{base,declarative,tools,multimedia,quickcontrols2-}5-dev libqt6svg5-dev qt6keychain-dev qml-module-qt{gstreamer,multimedia,quick-extras,-labs-settings,-labs-platform,graphicaleffects,quick-controls2,quick-particles2} \
libgstreamer1.0-dev libgstreamer-plugins-{base,bad}1.0-dev qtgstreamer-plugins-qt6 libnice-dev ninja-build

lmdb++-dev 版本过旧,所以必须使用捆绑的 lmdbxx。 debian bullseye 中的 libspdlog-dev 版本过旧(未经回溯),因此需要使用 hunter 来使用捆绑的 spdlog。 debian bullseye 的建议标志:-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF debian bookworm 的建议标志:-DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1

Fedora

sudo dnf builddep nheko # 注意,一些较新的包可能未被捕获

Gentoo Linux

sudo emerge -a ">=dev-qt/qtgui-5.15.0" media-libs/fontconfig dev-libs/qtkeychain

Guix

guix environment nheko

macOS(Xcode 10.2 或更高版本)

brew update
brew install qt6 lmdb cmake llvm spdlog boost cmark libolm qtkeychain

Windows

  1. 安装 Visual Studio 2022 的"桌面开发"和"使用 C++ 的 Linux 开发"(用于 CMake 集成)工作负载。

  2. 下载最新的 Qt for Windows 安装程序并安装到某个位置。 确保至少为 Qt 5.15 安装 MSVC 2022 64-bit 工具集。

  3. 如果您没有安装 openssl,您需要安装 perl 来构建它(例如 Strawberry Perl)。

构建

现在我们可以构建 nheko:

cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build

要使用捆绑的依赖项,您可以使用 hunter,例如:

cmake -S. -Bbuild -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
cmake --build build --config Release

根据需要调整 USE_BUNDLED_*。

如果构建失败并出现以下错误

Could not find a package configuration file provided by "Qt6Widgets" with
any of the following names:

Qt6WidgetsConfig.cmake
qt6widgets-config.cmake

您可能需要向 cmake 传递 -DCMAKE_PREFIX_PATH 以指向您的 qt6 安装位置。

例如在 macOS 上

cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt6)
cmake --build build

nheko 二进制文件将位于 build 目录中。

Windows

安装所有依赖项后,您需要编辑 CMakeSettings.json 以便在 Visual Studio 中加载和编译 nheko。

您需要填写 Qt6_DIR 的路径。 Qt6 目录应指向 lib\cmake\Qt6 目录。

路径示例:

  • C:\\Qt\\6.5.2\\msvc2017_64\\lib\\cmake\\Qt6

您还应该通过将 HUNTER_ENABLED 设置为 ONBUILD_SHARED_LIBS 设置为 OFF 来启用 hunter。

现在右键单击 nheko 源目录的根目录,选择"在 Visual Studio 中打开"。 您可以在顶部工具栏中选择 Release 和 Debug 构建类型。 成功生成 CMake 后,您可以选择 nheko.exe 作为运行目标。 现在在 CMake 菜单中选择"生成所有"或按 F7 编译可执行文件。

要能够运行应用程序,最后一步是在 nheko 二进制文件旁安装所需的 Qt 依赖项。

启动"Qt x.xx.x 64-bit for Desktop (MSVC 2017)"命令提示符并运行 windeployqt

cd <path-to-nheko>\build-vc\Release\Release
windeployqt nheko.exe

最终的二进制文件将位于 Release 构建的 build-vc\Release\Release 目录中, Debug 构建则位于 build-vc\Debug\Debug 目录中。

同时,从 build/cmark-build/src/Release(或 Debug)复制相应的 cmark.dll 到二进制目录。

贡献

请参阅 CONTRIBUTING

使用 D-Bus API

目前,D-Bus API 没有文档,如果您想使用它,请在 #nheko:nheko.im 寻求支持。

界面截图

这里有一些界面截图,让您对 UI 有所了解,但可能会发生变化。 nheko 启动 nheko 登录 nheko 聊天 nheko 设置 nheko 移动版

第三方

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号