ITADN
damus-io/notedeck
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Notedeck

CI Ask DeepWiki

一个使用 Rust 构建的现代多平台 Nostr 客户端。Notedeck 为在桌面和 Android 平台上与 Nostr 协议交互提供了功能丰富的体验。

Notedeck Desktop Screenshot

✨ 功能

  • 多列布局:TweetDeck 风格的界面,用于查看不同的 Nostr 内容
  • Dave AI 助手:由 AI 驱动的助手,可搜索和分析 Nostr 内容
  • 个人资料管理:查看和编辑 Nostr 个人资料
  • 媒体支持:查看和上传图片,支持 GIF
  • Lightning 集成:通过 Bitcoin Lightning 向内容创作者发送 Zap(打赏)
  • 跨平台:支持桌面端(Linux、macOS、Windows)和 Android

📱 移动端支持

Notedeck 在 Android 设备上运行流畅,并具备响应式界面:

Notedeck Android Screenshot

🏗️ 项目结构

notedeck
├── crates
│   ├── notedeck           - Core library with shared functionality
│   ├── notedeck_chrome    - UI container and navigation framework
│   ├── notedeck_columns   - TweetDeck-style column interface
│   ├── notedeck_dave      - AI assistant for Nostr
│   ├── notedeck_ui        - Shared UI components
│   └── tokenator          - String token parsing library

🚀 快速开始

桌面端

要在桌面平台上运行:

# Development build
cargo run -- --debug

# Release build
cargo run --release

Android

对于 Android 设备:

# Install required target
rustup target add aarch64-linux-android

# Build and install on connected device
cargo apk run --release -p notedeck_chrome

Android 模拟器

  1. Install Android Studio
  2. Open 'Device Manager' and create a device with API level 34 and ABI arm64-v8a
  3. Start the emulator
  4. Run: cargo apk run --release -p notedeck_chrome

🧪 开发

Android 配置

为测试定制 Android 视图:

  1. Copy example-android-config.json to android-config.json
  2. Run make push-android-config to deploy to your device

设置开发环境

./scripts/dev_setup.sh

这会安装用于代码格式化和变更日志尾注验证的 git hooks。

📚 文档

每个 crate 中均可获取详细的开发者文档:

🔄 发布状态

Notedeck 目前处于 BETA 状态。有关最新更改,请参阅 CHANGELOG

未来

Notedeck 允许在高性能、专为 nostr 数据库 nostrdb 之上构建的应用开发。一个基于 notedeck 编写的示例应用是 Dave

基于 notedeck 开发文档也在路线图之上。

🤝 贡献

开发者

欢迎贡献!请查阅开发者文档并遵循以下准则:

  1. Fork the repository
  2. Run ./scripts/dev_setup.sh to install git hooks
  3. Create a feature branch (git checkout -b feature/amazing-feature)
  4. Before committing, run cargo fmt --all && cargo clippy
  5. Every commit must include a Changelog git trailer. For user-facing changes use Changelog-Added, Changelog-Changed, Changelog-Fixed, or Changelog-Removed. For internal changes use Changelog-None:. CI enforces this.
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

翻译者

帮助我们让 Notedeck 走向非英语使用者!

通过 Crowdin 申请加入 Notedeck 翻译团队。

如果您没有 Crowdin 账户,请注册一个。 如果您未看到您的语言,请在 Crowdin 中申请。

🔒 安全

有关安全问题,请参阅我们的安全政策

📄 许可证

本项目采用 GPL 许可证 - 请参阅各个 crate 中的许可证信息。

👥 作者