MCPcopy Index your code
hub / github.com/LoipesMas/accord

github.com/LoipesMas/accord @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
133 symbols 246 edges 16 files 8 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README


Instant messaging chat system over TCP.
Written in Rust with tokio-rs. Packet design and handshake inspired partially by Minecraft.

Features

  • Standalone server
  • GUI client (using druid UI toolkit) with customizations via config file
  • TUI client
  • Encryption
  • Sending images (via clipboard)
  • Server management (banning, whitelists, etc)

Short-term goals

  • Improve GUI experience (sidebar with active users, loading up past messages and more)
  • Verify that the encryption is secure
  • Add more features

Long-term goals

  • Figure out long-term goals

The Stack

  • Server:
  • tokio-rs
  • postgres
  • GUI:
  • tokio-rs
  • druid

Setting up accord server

  1. Obtain accord-server binary.
    Currently only method is to compile it yourself.
git clone https://github.com/LoipesMas/accord.git
cd accord
cargo b -p accord-server --release
  1. Set up postgresql database somewhere.
    Refer to postgres instructions for how to do that.
  2. Launch accord-server. It will error something about connecting to the database, but we just need the default config.
  3. Edit the config (probably located in ~/.config/accord-server/config.toml) with correct postgres credentials.
  4. Launch accord-server again, this time it should connect.
  5. Done!
    Now clients can connect.

Contributing

Contributions are very welcome! Features, ideas, bug fixes, anything.

Extension points exported contracts — how you extend this code

Packet (Interface)
(no doc) [2 implementers]
src/packets.rs
WidgetExt2 (Interface)
(no doc) [1 implementers]
accord-gui/src/widgets.rs

Core symbols most depended-on inside this repo

submit_command
called by 12
accord-gui/src/connection_handler.rs
respond
called by 12
server/src/connection.rs
write_packet
called by 11
src/connection.rs
read_packet
called by 10
src/connection.rs
unwrap_from_hex
called by 10
accord-gui/src/main.rs
next
called by 8
accord-gui/src/widgets.rs
save_config
called by 5
server/src/config.rs
split
called by 4
src/connection.rs

Shape

Method 62
Function 35
Class 27
Enum 7
Interface 2

Languages

Rust100%

Modules by API surface

accord-gui/src/widgets.rs24 symbols
accord-gui/src/main.rs21 symbols
server/src/connection.rs14 symbols
accord-gui/src/controllers.rs13 symbols
src/connection.rs12 symbols
server/src/channel.rs12 symbols
accord-gui/src/connection_handler.rs8 symbols
src/packets.rs7 symbols
server/src/config.rs6 symbols
accord-gui/src/config.rs6 symbols
server/src/commands.rs3 symbols
client/src/main.rs3 symbols

For agents

$ claude mcp add accord \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact