MCPcopy Index your code
hub / github.com/cartesiancs/vessel

github.com/cartesiancs/vessel @v0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2 ↗ · + Follow
1,845 symbols 3,991 edges 477 files 80 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Vessel

Visit Website · Report Bugs · Docs · App

About The Project

banner

Vessel is the C2 (Command & Control) software for connecting, monitoring, and orchestrating arrays of physical sensors via an intuitive, visual flow-based interface.

This project is to build a "proactive security system". To achieve this, the following three functions are necessary:

  1. Connect to Physical Device
  2. Detect Threats
  3. Control and Respond

This project solves the problems with existing home security systems. Current systems fail to protect against burglaries, trespassing, theft and even war.

So we plan to open-source the technology used in existing defense systems.

This system allows you to analyze video and audio sources with AI/ML technology.

And automate actions through Flow-based operations. The Flow provides the flexibility to select multiple AI models and connect them directly to stream sources.

When everything is implemented, individuals will be able to protect themselves from any threats.

[!NOTE] 🚧 This project is under active development. Some features may be unstable or subject to change without notice.

Features

  • Connect all sensers (MQTT, RTP, RTSP, HTTP, ...)
  • RTP Audio & Video Streaming
  • RTSP Video Streaming
  • Real-time streaming support
  • Flow Visual Logic
  • Custom Script Language Support
  • Pub/Sub MQTT with Flow
  • Map based UI
  • Home Assistant Integration
  • ROS2 Integration
  • External access support
  • Capsule (Zero-Knowledge LLM Call) security.
  • Local-first design, Offline-first design.

Develop

Get your local copy up and running.

Prerequisites

Option1. Run normally

1. Server Setup
# 1. Clone the repository
git clone https://github.com/cartesiancs/vessel.git
cd vessel/apps/server

# 2. Copy and configure environment variables
cp .env.example .env
# nano .env (Modify if needed)

# 3. Run database migrations
diesel setup
diesel migration run

# 4. Run the server
cargo run
2. Client Setup
# 1. Install dependencies
npm install

# 2. Run the development server
npm run client

Option2. Run Docker

docker build -t server .

docker run -p 0.0.0.0:6174:6174 server:latest

Option3. Desktop (Tauri)

npm run desktop

Builds the Rust server sidecar in release mode, starts the Vite dev server for the client, and launches the Tauri shell. For a packaged build use npm run desktop:build.

Compile

This command compiles the entire project, including both the server and the client, into a single executable file.

npm run build

The compiled binary, named 'server', will be located in the target/release directory.

To run the server executable, you must have a .env file in the same directory (target/release).

Principles

  1. Local-first
  2. Offline-first
  3. Ultimate control rests with the user

Troubleshooting

A more detailed troubleshooting guide will be available soon.

Roadmap

Please visit our Roadmap page below:

Roadmap Page >

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please refer to our CONTRIBUTING.md for details.

Contributors

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Disclaimer

This project is intended for academic and research purposes only. It is designed to facilitate the connection and control of physical devices. All responsibility for its use lies with the user.

Extension points exported contracts — how you extend this code

ExecutableNode (Interface)
(no doc) [24 implementers]
apps/server/src/flow/nodes/mod.rs
ConversationOptions (Interface)
(no doc)
packages/capsule-client/src/conversation.ts
NetworkCardProps (Interface)
(no doc)
apps/client/src/pages/networks/index.tsx
ImportMetaEnv (Interface)
(no doc)
apps/landing/src/vite-env.d.ts
MediaAdapter (Interface)
(no doc) [2 implementers]
apps/server/src/media/adapter.rs
HistoryMessage (Interface)
(no doc)
packages/capsule-client/src/types.ts
GeometryProperties (Interface)
(no doc)
apps/client/src/lib/geometry-precision.ts
ImportMeta (Interface)
(no doc)
apps/landing/src/vite-env.d.ts

Core symbols most depended-on inside this repo

cn
called by 158
apps/client/src/lib/utils.ts
send
called by 125
apps/client/src/features/ws/ws.ts
buildResponse
called by 59
apps/client/src/shared/mock/mockAdapter.ts
insert
called by 48
apps/server/src/flow/binary_store.rs
into_response
called by 43
apps/server/src/handler/auth.rs
iter
called by 42
apps/server/src/state.rs
execute
called by 36
apps/server/src/flow/nodes/http.rs
cn
called by 35
apps/landing/src/lib/utils.ts

Shape

Function 1,199
Class 262
Method 225
Interface 135
Enum 14
Struct 10

Languages

TypeScript58%
Rust41%
Go1%
Python1%

Modules by API surface

apps/server/src/db/repository/mod.rs59 symbols
apps/server/src/db/models.rs58 symbols
apps/capsule/src/services/openai.rs29 symbols
apps/client/src/features/rtc/turnService.ts28 symbols
apps/client/src/components/ui/sidebar.tsx25 symbols
apps/server/src/handler/ws/handlers.rs23 symbols
apps/desktop/src-tauri/src/main.rs23 symbols
packages/capsule-client/src/client.ts22 symbols
apps/server/src/tunnel_control.rs22 symbols
apps/client/src/features/dynamic-dashboard/GroupCanvas.tsx20 symbols
apps/server/src/state.rs19 symbols
apps/server/src/handler/storage.rs17 symbols

For agents

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

⬇ download graph artifact