Skip to main content
Glama

Rynmesh

CI License: MIT GitHub release

Rynmesh 是一个开源、本地优先的个人 AI 助手和可验证内容网格。Ryn 节点可以发现并对公共内容进行排序,从本地反馈中学习,发布已签名内容,发现对等节点,并交换带有来源和安全回执的内容。

访问 rynmesh.ai 了解产品概览、经过验证的下载、当前里程碑状态以及实时贡献中心。

节点、Web 界面、推荐代理、对等协议、注册中心和命令行工具均以 MIT 许可证提供。默认体验不需要账户、API 密钥、专有服务或偏好设置。

当前可用的功能

  • 从内置公共目录中进行主动推荐,包括视频、文章、研究、播客、有声书和视觉内容

  • 本地推荐画像,可从更多、更少、隐藏、打开、主题、平台和书面指示中学习

  • 由节点守护进程提供的自托管 Web 界面

  • 已签名内容清单、来源链和安全回执

  • 直接对等 HTTP 传输,支持注册中心辅助发现和 NAT 安全中继任务

  • 支持视频、图片、音频、文档、幻灯片、数据集和其他文件的内容发布

  • 面向 Codex、Claude 以及其他兼容 MCP 的 AI 操作器的 MCP 工具

  • 用于分发声誉的不可转让的 Rynmesh Credits

Rynmesh 是 alpha 软件。API 和存储格式在 1.0 之前可能会发生变化。

Related MCP server: weid.ai MCP Server

当前边界

  • 桌面安装程序目前适用于 Apple Silicon 和 Intel 上的 macOS。Windows 和 Linux 的打包正在规划中。

  • macOS 社区构建尚未经过 Apple 公证。

  • 公共来源推荐无需对等节点、账户、偏好或模型即可工作。AI 生成的简报和 Search & Ask 需要可访问的本地 Ollama 模型,或明确选择加入已配置的云提供商。

  • 好友邀请、好友归属推荐、多用户出口和预算化的代理间服务是规划中的里程碑。

  • 安全扫描器是 alpha 实现;运行一个不受限制的不可信对等网络需要 产品里程碑 中描述的额外加固。

有关实现清单和明确划分的贡献领域,请参阅 产品里程碑。可以认领的工作在 GitHub Issues 中跟踪,而非从理想化的设计文档中推断。当前已接受的待办事项归入 P1 加固里程碑。

从 GitHub 安装

macOS 桌面版

从 最新版本 下载 Apple Silicon(aarch64)或 Intel(x86_64)DMG,打开它,然后将 Ryn 拖到 Applications 文件夹。该应用包含自己的节点守护进程和 Web 界面;不需要 Python、Node.js、Ollama、账户和源码配置。由于社区构建尚未经过 Apple 公证,首次启动时可能需要按住 Control 键点按 Ryn,然后选择打开。

Python 包

需要 Python 3.10 或更高版本。

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
curl -fsSL https://github.com/yeogirlyun/rynmesh/releases/latest/download/install.sh | sh

或者将当前 wheel 安装到现有的 Python 环境中:

python -m pip install https://github.com/yeogirlyun/rynmesh/releases/download/v0.6.2/rynmesh-0.6.2-py3-none-any.whl
rynmesh-peer

打开 http://127.0.0.1:8791。Ryn 会自动启动其推荐代理。添加 YouTube 频道、subreddit 或 RSS 源是可选的。

带版本号的 wheel、校验和、安装脚本和源码归档可从 GitHub Releases 获取。发布版 wheel 包含已构建的 Web 界面;可编辑的源码安装使用下文描述的 Vite 开发服务器。

从源码开发

git clone https://github.com/yeogirlyun/rynmesh.git
cd rynmesh
./scripts/dev_setup.sh

如需热重载开发,请在两个终端中分别运行节点和 Web 应用:

./.venv/bin/rynmesh-peer
cd webapp
npm run dev

本地 API 运行在 8791 端口;Vite 在 5173 端口提供开发 UI。

运行注册中心

对等发现可以使用注册中心,但本地个人助理体验并不需要注册中心。

export RYNMESH_REGISTRY_HOST="0.0.0.0"
export RYNMESH_REGISTRY_PORT="8790"
export RYNMESH_REGISTRY_DIR="$HOME/.rynmesh/registry"
rynmesh-registry

注册中心存储已签名的对等记录、工单邮箱消息和可选的中继 blob。节点在本地验证签名和内容哈希。

MCP 服务器

rynmesh-mcp

有关更深入的项目背景,请参阅 架构、产品里程碑 和 贡献指南。

验证检出

python -m pytest -q
python -m ruff check rynmesh tests qa
cd webapp && npm ci && npm run build

CI 还会验证打包后的节点无需开发服务器即可提供自己的 UI。

安全与隐私

节点身份、偏好、反馈和获取的内容都存储在本地 RYNMESH_HOME 目录下(默认在 ~/.rynmesh 下)。网络访问用于节点联系的来源或对等节点;模型集成是可选的。

请按照 SECURITY.md 中的说明私下报告漏洞。请勿在公开问题中包含机密或个人数据。

社区

  • 从 首次贡献者入门指南 开始。

  • 在提交拉取请求之前,请阅读 CONTRIBUTING.md。

  • 从 贡献中心 选择已接受的工作,并在实现之前对关联的 GitHub issue 评论 /claim。

  • 遵守 Code of Conduct。

  • 使用 GitHub Issues 提交可复现的 bug 和聚焦的功能请求。

  • 使用 GitHub Discussions 进行提问和更广泛的设计想法交流。

许可证

Rynmesh 根据 MIT License 授权。

Available Tools

39 tools
rynmesh_credit_scoreboardC

Return visible Rynmesh Credit accounts ranked by distribution weight.

NameRequiredDescriptionDefault
categoryNo
rynmesh_credit_summaryB

Return credit score and distribution weight for a Rynmesh peer.

NameRequiredDescriptionDefault
peer_idNo
categoryNo
rynmesh_digest_add_sourceA

Add a content source to the owner's digest: an RSS/Atom URL, a YouTube channel URL or @handle, or a subreddit like r/selfhosted.

NameRequiredDescriptionDefault
urlYes
tagsNo
rynmesh_digest_feedbackA

Record the owner's reaction to a digest item (up/down/opened); tunes future ranking and suppresses seen items.

NameRequiredDescriptionDefault
actionYes
item_idYes
rynmesh_digest_getC

Get the owner's current Daily Digest: ranked items from their chosen sources (RSS/YouTube/Reddit feeds, read-later saves, page watchers) with reasons per pick.

NameRequiredDescriptionDefault
limitNo
rynmesh_digest_refreshA

Re-fetch all of the owner's digest sources and watched pages, then rebuild and return the ranked digest.

NameRequiredDescriptionDefault

No parameters

rynmesh_discover_peersC

Read signed peer records from the configured registry.

NameRequiredDescriptionDefault
network_idNo
include_selfNo
max_age_hoursNo
use_cache_on_errorNo
rynmesh_download_relay_artifactA

Download and hash-verify a relay artifact by content hash.

NameRequiredDescriptionDefault
relay_urlNo
destinationYes
content_hashYes
rynmesh_fetch_content_fullA

Fetch and locally cache full content after validating its receipts and hash.

NameRequiredDescriptionDefault
content_idYes
rynmesh_fetch_content_previewC

Fetch and locally cache a content preview after validating its receipts.

NameRequiredDescriptionDefault
content_idYes
rynmesh_fetch_fullC

Compatibility tool: fetch and locally cache full content by clip ID.

NameRequiredDescriptionDefault
clip_idYes
rynmesh_fetch_peer_content_fullB

Fetch full content directly from a peer endpoint after local hash validation.

NameRequiredDescriptionDefault
endpointYes
content_idYes
expected_peer_idNo
rynmesh_fetch_peer_content_previewC

Fetch a content preview directly from a peer endpoint after local manifest validation.

NameRequiredDescriptionDefault
endpointYes
content_idYes
expected_peer_idNo
rynmesh_fetch_peer_fullC

Compatibility tool: fetch full content directly from a peer endpoint by clip ID.

NameRequiredDescriptionDefault
clip_idYes
endpointYes
expected_peer_idNo
rynmesh_fetch_peer_previewC

Compatibility tool: fetch a preview directly from a peer endpoint by clip ID.

NameRequiredDescriptionDefault
clip_idYes
endpointYes
expected_peer_idNo
rynmesh_fetch_previewB

Compatibility tool: fetch and locally cache a content preview by clip ID.

NameRequiredDescriptionDefault
clip_idYes
rynmesh_list_clipsC

Compatibility tool: list signed clip announcements visible to this node.

NameRequiredDescriptionDefault
include_invalidNo
rynmesh_list_contentB

List signed content announcements visible to this node.

NameRequiredDescriptionDefault
include_invalidNo
rynmesh_list_job_capacitiesB

List signed polling job capacity records from the configured registry.

NameRequiredDescriptionDefault
capabilityNo
network_idNo
max_age_hoursNo
rynmesh_list_peer_clipsA

Compatibility tool: list clips advertised directly by a peer HTTP endpoint.

NameRequiredDescriptionDefault
endpointYes
rynmesh_list_peer_contentB

List content advertised directly by a peer HTTP endpoint.

NameRequiredDescriptionDefault
endpointYes
rynmesh_list_work_resultsC

List signed provider work-result messages visible in the registry mailbox.

NameRequiredDescriptionDefault
statusNo
network_idNo
work_order_idNo
provider_peer_idNo
requester_peer_idNo
rynmesh_node_infoA

Return this local Rynmesh node identity and storage configuration.

NameRequiredDescriptionDefault

No parameters

rynmesh_poll_work_ordersC

Poll this node's provider mailbox for open, accepted, running, completed, failed, or cancelled work orders.

NameRequiredDescriptionDefault
statusNo
capabilityNo
network_idNo
max_age_hoursNo
rynmesh_publish_clipC

Compatibility tool: publish a local AI-generated video into Rynmesh.

NameRequiredDescriptionDefault
titleNo
run_idNo
work_idNo
categoryNo
media_pathYes
transcriptNo
descriptionNo
content_kindNo
content_typeNo
preview_pathNo
envelope_hashNo
rynmesh_publish_contentC

Publish AI-generated or AI-curated content into Rynmesh with signed run and safety receipts.

NameRequiredDescriptionDefault
tagsNo
titleNo
run_idNo
work_idNo
categoryNo
transcriptNo
descriptionNo
content_kindNo
content_pathYes
content_typeNo
preview_pathNo
summary_textNo
envelope_hashNo
rynmesh_publish_work_resultC

Publish a signed provider result or status update for a work order.

NameRequiredDescriptionDefault
statusYes
messageNo
network_idNo
result_refsNo
credit_amountNo
work_order_idYes
requester_peer_idYes
result_content_idsNo
rynmesh_rank_clipsC

Compatibility tool: rank visible clips by Rynmesh Credit distribution weight.

NameRequiredDescriptionDefault
categoryNo
include_invalidNo
rynmesh_rank_contentC

Rank visible content by Rynmesh Credit distribution weight.

NameRequiredDescriptionDefault
categoryNo
include_invalidNo
rynmesh_readlater_saveA

Save a URL to the owner's read-later queue; the node fetches it and surfaces it in the next digest.

NameRequiredDescriptionDefault
urlYes
rynmesh_read_messagesC

Read the message history with a peer (requires the local node daemon to be running).

NameRequiredDescriptionDefault
limitNo
peer_idYes
rynmesh_record_credit_eventC

Append a signed Rynmesh Credit event for useful work or protocol penalties.

NameRequiredDescriptionDefault
kindYes
roleNo
amountNo
reasonNo
categoryNo
metadataNo
dedupe_keyNo
subject_idNo
evidence_hashNo
subject_peer_idNo
rynmesh_register_job_capacityC

Advertise this node as a polling work-order provider for bounded job capabilities.

NameRequiredDescriptionDefault
metadataNo
network_idNo
capabilitiesYes
price_creditsNo
capacity_unitsNo
max_concurrentNo
polling_interval_secNo
rynmesh_register_nodeB

Publish this node's self-signed peer record to the configured registry.

NameRequiredDescriptionDefault
endpointsNo
network_idNo
capabilitiesNo
rynmesh_relay_artifact_infoC

Read relay metadata for a content-addressed artifact.

NameRequiredDescriptionDefault
relay_urlNo
content_hashYes
rynmesh_send_messageA

Send an end-to-end encrypted message to a peer's node over the mesh (requires the local node daemon to be running).

NameRequiredDescriptionDefault
textYes
peer_idYes
rynmesh_submit_work_orderC

Submit a signed polling work order to a provider node through the registry mailbox.

NameRequiredDescriptionDefault
paramsNo
operationYes
capabilityYes
expires_atNo
network_idNo
result_policyNo
idempotency_keyNo
max_credit_costNo
expires_in_hoursNo
provider_peer_idYes
input_content_idsNo
rynmesh_upload_relay_artifactB

Upload a local artifact to the configured relay as content-addressed bytes.

NameRequiredDescriptionDefault
pathYes
filenameNo
relay_urlNo
media_typeNo
expected_hashNo
rynmesh_watcher_addB

Watch a web page for changes (price, stock, release, edits). Changes surface as digest items on refresh.

NameRequiredDescriptionDefault
urlYes
noteNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 39 tool updatesv0.6.2
    • First observedrynmesh_credit_scoreboard
    • First observedrynmesh_credit_summary
    • First observedrynmesh_digest_add_source
    • First observedrynmesh_digest_feedback
    • First observedrynmesh_digest_get
    • First observedrynmesh_digest_refresh
    • First observedrynmesh_discover_peers
    • First observedrynmesh_download_relay_artifact
    • First observedrynmesh_fetch_content_full
    • First observedrynmesh_fetch_content_preview
    • First observedrynmesh_fetch_full
    • First observedrynmesh_fetch_peer_content_full
    • First observedrynmesh_fetch_peer_content_preview
    • First observedrynmesh_fetch_peer_full
    • First observedrynmesh_fetch_peer_preview
    • First observedrynmesh_fetch_preview
    • First observedrynmesh_list_clips
    • First observedrynmesh_list_content
    • First observedrynmesh_list_job_capacities
    • First observedrynmesh_list_peer_clips
    • First observedrynmesh_list_peer_content
    • First observedrynmesh_list_work_results
    • First observedrynmesh_node_info
    • First observedrynmesh_poll_work_orders
    • First observedrynmesh_publish_clip
    • First observedrynmesh_publish_content
    • First observedrynmesh_publish_work_result
    • First observedrynmesh_rank_clips
    • First observedrynmesh_rank_content
    • First observedrynmesh_read_messages
    • First observedrynmesh_readlater_save
    • First observedrynmesh_record_credit_event
    • First observedrynmesh_register_job_capacity
    • First observedrynmesh_register_node
    • First observedrynmesh_relay_artifact_info
    • First observedrynmesh_send_message
    • First observedrynmesh_submit_work_order
    • First observedrynmesh_upload_relay_artifact
    • First observedrynmesh_watcher_add

TDQS

C2.6/5.0

Scored across 39 tools

Disambiguation2/5

Many tools have overlapping purposes, especially the compatibility tools: fetch_preview/fetch_content_preview/fetch_peer_preview/fetch_peer_content_preview, and the corresponding full-content variants, are nearly indistinguishable at a glance. list_clips/list_content, rank_clips/rank_content, and publish_clip/publish_content further blur the boundary between legacy and current workflows.

Naming Consistency2/5

Tool names are heavily inconsistent: rynmesh_digest_get uses 'get' while rynmesh_node_info uses 'info' and rynmesh_read_messages uses 'read'. Fetch, list, rank, publish, and compatibility variants follow no predictable verb/object pattern, so it is difficult to anticipate the correct tool name.

Tool Count2/5

With 39 tools, the server exceeds the reasonable range for a single MCP server, and a large portion are redundant compatibility wrappers rather than distinct capabilities. The underlying feature set could likely be served by fewer than half these tools without losing functionality.

Completeness3/5

Core workflows are present: digest sources/feedback, content publishing/fetching, peer discovery, credit events, relay artifacts, and work orders. However, there are notable gaps such as no tool to remove a digest source or watcher, no read-later queue listing/removal, and no update/delete operations for published content.

Maintenance

ActivityActive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to network on behalf of users, handling profile management, intent-based matching, and secure messaging through the Model Context Protocol.
    14 npm
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with persistent identities (Weid numbers) and a friend-based messaging system, enabling cross-platform AI-to-AI communication through 11 MCP tools.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants such as Claude and Cursor to discover and verify agents, negotiate offers, execute conditional settlements, and verify receipts and complete multi-agent workflows through eight MCP tools.
    1
    MIT