# Add to your Claude Code skills
git clone https://github.com/YDHCUI/manjusakaGuides for using ai agents skills like manjusaka.
Last scanned: 5/3/2026
{
"issues": [
{
"type": "clone-failed",
"message": "Could not clone repository",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-03T06:27:38.600Z",
"semgrepRan": false,
"npmAuditRan": false,
"pipAuditRan": false
}See how manjusaka compares with popular alternatives.
manjusaka is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by YDHCUI. 牛屎虾 一款基于AI的远程主机管理工具. It has 900 GitHub stars.
manjusaka returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/YDHCUI/manjusaka" and add it to your Claude Code skills directory (see the Installation section above).
manjusaka is primarily written in Rust. It is open-source under YDHCUI on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh manjusaka against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
高性能 · 高安全 · 全平台 · 开源免费
https://github.com/ydhcui/manjusaka
Manjusaka(牛屎虾)——基于 Rust 的全平台远程管理平台,以 AI 决策与执行分离架构为核心:AI 仅负责分析与规划,执行端在远端运行,避免 AI 直接操作本地环境。实现全平台支持、插件生态与趣味交互的完美融合。
flowchart TD
subgraph Server["管理服务器 (NPS)"]
WebAPI["Web API + WebSocket<br/>Poem + OpenAPI :33000"]
McpEnd["内置 MCP 端点 /mcp<br/>JSON-RPC 2.0 + 令牌"]
AgentMgr["Agent 状态管理<br/>AppState + SQLCipher"]
AIBot["AI 渗透<br/>adk-rust + Skills + Memory"]
Bots["机器人<br/>QQ / TG / 企微 / 钉钉 / 飞书"]
end
subgraph Agents["客户端"]
NPC1["NPC1<br/>HTTP :31000 / S3 信箱"]
NPC2["NPC2<br/>全功能 Agent<br/>终端/VNC/SFTP/SOCKS5"]
SSH["SSH 原生连接<br/>russh 持久会话"]
end
OSS["S3 兼容对象存储<br/>(OSS / MinIO,可选)"]
subgraph Frontend["前端 (NPU)"]
SPA["Vue3 SPA<br/>Element Plus + xterm + noVNC"]
end
subgraph AIClients["AI 客户端"]
Claude["Claude Desktop / Cursor"]
end
SPA -->|"HTTPS + WebSocket"| WebAPI
Claude -->|"HTTP JSON-RPC + Bearer"| McpEnd
WebAPI --> AgentMgr
AgentMgr <-->|"Noise + Yamux"| NPC2
AgentMgr <-->|"HTTP API"| NPC1
AgentMgr <-->|"russh + direct-tcpip"| SSH
NPC1 <-->|"轮询读写信箱对象"| OSS
AgentMgr <-->|"服务端 3s 轮询"| OSS
Bots --> AIBot
AIBot -->|"RPC / SSH exec"| NPC2
manjusaka/
├── Cargo.toml # Workspace 根配置
├── build.ps1 # 一键编译脚本(Windows + WSL Linux/macOS)
├── docker-deploy.sh # Docker 一键部署脚本
├── nps/ # 管理服务器(控制端)
│ ├── src/
│ │ ├── main.rs # 启动入口(getopts:--scheme http|https)
│ │ ├── core/ # 核心逻辑(状态/SSH/SRDI/数据库密钥)
│ │ ├── models/ # SeaORM 数据模型(SQLCipher)
│ │ ├── npc/ # 客户端管理(npc1 传输 trait: http/s3 + npc2)
│ │ ├── npu/ # Web API + WebSocket + 内置 MCP 端点
│ │ ├── ops/ # 统一工具层(16 个 nps_*,AI 渗透与 MCP 共享)
│ │ ├── aibot/ # AI 渗透(adk-rust 工具/技能/记忆/确认)
│ │ ├── bots/ # 机器人(QQ/TG/企微/钉钉/飞书/Webhook)
│ │ └── protos/ # Protobuf 协议
├── npc1/ # 轻量客户端(HTTP 直连 / S3 信箱信标)
├── npc2/ # 增强客户端(全功能 Agent)
├── stub/ # NPC2 独立可执行拼接加载器
├── npu/ # Vue3 前端
├── protos/ # Protobuf 定义(workspace 共享)
├── libs/ # 共享库
│ ├── transport/ # 传输层抽象(HTTP/S3/ICMP + TCP/KCP/WS)
│ ├── noise/ # Noise 协议加密
│ ├── crypto/ # AES-GCM 加密
│ ├── utils/ # 通用工具
│ ├── coffee/ # BOF 加载器
│ ├── memexec/ # 内存 PE 加载
│ ├── rustclr/ # .NET CLR 托管
│ ├── conpty/ # Windows 伪终端
│ ├── enigo/ # 跨平台输入模拟
│ ├── rustvncserver/ # VNC 服务器
│ └── clipboard/ # 剪贴板重定向
├── license/ # 授权生成器源码(产物复制到 scripts/)
├── scripts/ # 运维工具(license_gen / migratedb 迁移)
├── payloads/ # 预编译植入物
├── plugins/ # 插件库(运行时填充)
├── skills/ # AI 技能 + 插件技能(运行时填充)
├── certs/ # TLS 证书
└── data/ # 数据目录
NPS 是整个系统的控制中心,基于 Poem Web 框架 + SeaORM + SQLite 构建。
启动流程(nps/src/main.rs):
data/、payloads/、plugins/、skills/ 目录nps.log,支持运行时调整级别)nps.db,SQLCipher 全库加密),建表并初始化默认数据:31000):33000,默认 TLS;--scheme http 时不启用)双监听器设计:
| 端口 | 模块 | 用途 |
|---|---|---|
| 31000 | npc::npc1 |
HTTP 门面:脚本分发、信标通信、Payload 下载、验证码诱饵 |
| 33000 | npu::start |
管理 API:TLS + Cookie 认证 + WebSocket 推送 |
Web API 服务(14 个 OpenAPI 模块):
| 模块 | 路径前缀 | 功能 |
|---|---|---|
| UserApi | /login /loginbyauth |
用户认证、会话管理 |
| ListenApi | /listen* |
监听器 CRUD |
| ProjectApi | /project* |
目标项目 CRUD |
| AgentApi | /agentget /agentinfo /agentnote |
Agent 列表、详情、备注 |
| ProxyApi | /proxyadd /proxylist /proxystop |
SOCKS5 代理 / 端口转发 |
| FileApi | /sftp/* /file* /s3* |
SFTP 文件管理、文件库、S3 云存储 |
| PassApi | /pass* |
密码收集结果 |
| SettingApi | /setting* |
全局设置 |
| SkillApi | /skill* |
AI 技能管理 |
| PluginApi | /plugin* |
插件上传、列表、内容 |
| NoticeApi | /bot* |
机器人管理 |
| AiBotApi | /aichat* /chatsession* |
AI 渗透会话 |
| McpKeyApi | /mcpkey* |
MCP 接入密钥管理 |
| LogApi | /log* |
系统日志查看 |
另有内置 MCP 端点 POST /mcp(JSON-RPC 2.0,纯令牌鉴权,见下文)。
认证机制:
AUTH,HttpOnly,24 小时有效期AuthMiddleware 拦截所有请求,白名单:/captcha、/login、/loginbyauthUserSessionStorage:支持按用户名清除所有会话(密码重置后触发)状态管理(core/state.rs): AppState 持有共享状态(全部 Arc<Mutex<>>):conn(SQLite 连接)、projects(活跃项目)、agents(在线 Agent)、events(事件队列)、agent_tasks(任务快照)、clients(WebSocket 前端)、listens(监听器停止信号)、proxys(代理实例)、payloads(临时下载地址)。
NpsAgent 统一抽象:
struct NpsAgent {
ntype: String, // "npc1" | "npc2" | "ssh"
npc1: protos::nps::Agent, // Agent 基本信息
npc2: Option<YamuxControl>, // NPC2 yamux 多路复用
ssh: Option<Arc<russh::client::Handle>>, // SSH 持久会话
ctrl: Option<mpsc::Sender<()>>, // 控制通道
}
无论 Agent 是 NPC2 回连还是 SSH 原生连接,最终都统一为 NpsAgent 并通过 AgentEvent 广播给前端。
NPC1 是轻量信标 Agent,适合初次植入。传输层已 trait 化,支持两种回连方式:
:31000),GET 拉取任务 / POST 回传结果首次上线即拿配置:npc1 可默认只内嵌 ip/key 等最小信息,首次经 HTTP 上线后 由服务端下发 S3 信箱配置(含项目级 ak/sk),之后改由 S3 通道上线。
S3 信箱对象布局(单桶多项目):
{route}/{sha256(agentid)}/up.dat Agent → NPS 事件(单槽位,处理完删除)
{route}/{sha256(agentid)}/hb.dat 心跳标记(只看存在性)
{route}/{sha256(agentid)}/down.dat NPS → Agent 配置类事件(读取后删除 = ACK)
{route}/{sha256(agentid)}/task.dat NPS → Agent 任务类事件(读取后删除 = ACK)
目录名为 agentid 的 sha256 单向哈希,桶内列举不暴露 agent 身份;服务端固定 3s 轮询。
工作流程:
Agent 上线信息(用户名、主机名、内网 IP、PID、平台、架构)反检测特性:
GetExtendedTcpTable 隐藏 TCP ESTABLISHED 连接obfstr 编译期字符串混淆通信: Protobuf 消息体,AES-CBC 加密,Base64 编码;S3 模式下为对象读写。
NPC2 是全功能 Agent,基于 russh 构建,支持终端、VNC、SFTP、SOCKS5 等。
连接方式:
| 传输 | 代码 | 方向 | 说明 |
|---|---|---|---|
| ws | spawn_listener<WebsocketTransport> |
反向 | Agent 回连 |
| tcp | spawn_listener<TcpTransport> |
反向 | 同上 |
| kcp | spawn_listener<KcpTransport> |
反向 | 同上,UDP |
| ftcp | spawn_connecter<TcpTransport> |
正向 | Agent监听 |
| fkcp | spawn_connecter<KcpTransport> |
正向 | 同上 |
| ssh | ssh_connecter |
正向 | NPS 原生 SSH 连接目标 |
连接建立流程(npc2/src/core.rs):
Agent 信息(sysinfo 采集)NoiseConfig 加密配置ctype 选择 spawn_connecter(dial)或 spawn_listener(bind)YamuxSession(多路复用),获取 control 句柄AgentEvent{status:"create"} 到前端内置 SSH 服务器(npc2/src/rssh.rs):
NPC2 内嵌一个 SSH 服务器(russh::server),支持以下 subsystem:
| Subsystem | 功能 |
|---|---|
| sftp | 文件传输(russh_sftp) |
| socks5 | SOCKS5 代理(fast_socks5) |
| rpc | Agent 工具调用 |
| vnc | 远程桌面(Win/macOS) |
Agent 工具层(npc2/src/agents/): 通过 rpc subsystem 接收 ToolAct 指令,注册了 8 个工具处理器:
| 工具 | 功能 | 限制 |
|---|---|---|
shell |
执行 Shell 命令 | 60s 超时 |
file_read |
读取文件 | 最大 10MB |
file_write |
写入文件 | 自动创建目录 |
http_get |
HTTP 请求 | — |
process_list |
进程列表 | sysinfo |
process_kill |
结束进程 | — |
netstat |
网络连接 | netstat/ss |
plugin_exec |
执行插件 | DLL/BOF/EXE/.NET |
终端(npc2/src/terminal/):
VNC 虚拟桌面(npc2/src/vnc.rs):
rustvncserver(纯 Rust VNC 服务器,支持 11 种编码)enigo(键盘/鼠标)平台特性:
netsh portproxy,Linux 用 iptables REDIRECT