DSH Hub

wulun811/LiuHe

LiuHe

ToolWorkflow1 GitHub stars· updated 2026-08-23

LLM-native code toolkit: Rust multi-language parser (tree-sitter) + 44 MCP tools for atomic editing, impact analysis, reference tracing and deterministic zero-LLM code quality gates. Built for the handless, eyeless, memoryless LLM.

Install

npx @deepseek-ai/dsh plugin --profile web add @jieai/dsh-malong-bridge

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

LiuHe DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/liuhe.svg)](https://dshhub.dev/plugins/liuhe)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from wulun811/LiuHe, cleaned of badges and images.

Malong LiuHe(码龙·六合工具)

LLM-Native Code Operations Toolkit — Code tooling reinvented for the LLM that has no hands, no eyes, and no memory.

English | 简体中文 | Docs | GitHub

Malong LiuHe is a toolkit built for LLMs rather than humans. It ships two components:

  • malong/ — an MCP toolset (44 tools): symbol read/write, indexing, impact analysis, reference tracing, call graphs, dead-code detection, code review, security scanning, atomic batch editing, test orchestration, pipeline verification — served to the LLM over MCP (JSON-RPC over stdio).
  • malong-parse/ — a Rust parsing service: a tree-sitter-based multi-language symbol extraction engine (JavaScript/TypeScript/TSX/Python/Go/Rust/C/C++/Java/Bash), talking to the toolset over a Unix socket, with an LRU tree cache and batched parallel extraction.

Core Idea

Traditional tools (git, sed, IDE) assume a user with hands, eyes, and memory. An LLM has none of these. Malong LiuHe is redesigned around that fact:

MissingDesign Consequence
No handsOperations must be atomic, undoable, retryable (edit_transaction with rollback and undo journal)
No eyesOutput must be structured and self-explanatory (JSON for direct consumption; errors carry suggestion/next_action)
No memoryEvery call is self-contained (takes workspace_dir); optimistic concurrency with version anchors (read_symbolwrite_symbol(base_version) conflict state machine)

Performance (Measured)

MetricValueNote
Small-file read P951ms50 runs, warmed
Small-file write P957ms30 runs, incl. post-write re-index
repo_map98msdown from tens of seconds (SQLite index + Rust parsing)
MemoryRSS 134MB / 26%under a real docker --memory=512m cgroup limit
Concurrency128 concurrent / 256 in-flight requests, zero OOM32-way mixed read+write on one hot file, no tearing, DB integrity_check PASS
Throughput~588 calls/ssingle-threaded ceiling — 60–600× real LLM demand
Token savings↓65.3%same task 7673 → 2662 est. (primitives)
Call reduction↓50.0%6 calls (legacy) → 3 calls (primitives)
Tool-description compression44 tools ≈ 1.33k tokenstiered: core kept, low-freq ≤70 chars, verbose ≤230; detail flows via next_step hints
Index throughput538 files / 7sscoped reindex, measured
dry_run fidelity47/47golden-hash comparison across 3 languages, 100%
Concurrent writes to same symbol16/16exactly one winner + one conflict, zero silent overwrites

Language Support

LanguageSymbol ExtractionReference Extraction
JavaScript / TypeScript / TSX / JSX / MTS / CTS
Python
Go
Rust (impl blocks / trait / enum semantics)
C / C++ (incl. headers)
Java
Bash

Tool Overview

Related plugins