English | ไธญๆ
A desktop code analysis tool that visualizes code structure as interactive logic graphs. Built with Rust (Tauri) backend and SolidJS frontend, it automatically extracts variables, functions, classes, and their relationships from your source code and displays them as node-link diagrams.
- Variable Declarations - Detects
let,const,vardeclarations across languages - Function Call Graph - Maps
functionA()โfunctionB()call relationships - Variable References - Traces where variables are read/written throughout the codebase
- Import/Dependency - Visualizes file-to-file import dependencies
- Class/Module Hierarchy - Shows contains/implements/extends relationships
- ๐ฆ Rust -
let x,fn foo(),mod,struct,impl - ๐ TypeScript / JavaScript -
const x,function foo(),class,import - ๐ Python -
x = val,def foo(),class,import - ๐น Go -
x := val,func Foo(),type,import
- Force-Directed - Physics-based simulation with attraction + repulsion forces
- Hierarchical - Top-down tree layout for clear parent-child relationships
- Circular - Entities arranged in a circle for balanced overview
- Grid - Organized grid layout for dense codebases
- SVG - Vector-based, scalable, interactive elements
- Canvas - 2D canvas rendering for medium-sized graphs
- WebGL - GPU-accelerated rendering for large graphs
- Total files, lines, entities count
- Language breakdown statistics
- Complexity score calculation
- Entity type distribution
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SolidJS Frontend โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ Toolbar โ โ Graph โ โ Legend โ โ
โ โ โ โ Canvas โ โ Panel โ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โ Entities โ โ Metrics โ โ
โ โ List โ โ Panel โ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tauri invoke
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Rust Backend โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ parser.rs โ โ graph.rs โ โ
โ โ โ โ โ โ
โ โ โข Variables โ โ โข Force-Directed โ โ
โ โ โข Functions โ โ โข Hierarchical โ โ
โ โ โข Calls โ โ โข Circular โ โ
โ โ โข Imports โ โ โข Grid โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ ast.rs โ โ renderer.rs โ โ
โ โ โ โ โ โ
โ โ โข Dependency โ โ โข SVG Generation โ โ
โ โ โข Cycle โ โ โข Canvas โ โ
โ โ โข Metrics โ โ โข WebGL โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Node.js >= 18
- npm >= 9 (with
catalog:protocol support) - Rust >= 1.75
- Tauri CLI (
cargo install tauri-cli)
# Install dependencies
cd packages/code-analyzer && npm install
# Run desktop app
cd packages/desktop && npm run tauri devcd packages/code-analyzer && npm run devOpenCode-Code-Analyzer/
โโโ packages/
โ โโโ code-analyzer/ # SolidJS frontend
โ โ โโโ src/
โ โ โ โโโ app.tsx # Main application component
โ โ โ โโโ types.ts # TypeScript type definitions
โ โ โ โโโ components/
โ โ โ โ โโโ graph-canvas.tsx # Graph visualization + legend
โ โ โ โ โโโ entity-list.tsx # Entity browser
โ โ โ โ โโโ metrics-panel.tsx # Statistics display
โ โ โ โ โโโ toolbar.tsx # Layout & renderer controls
โ โ โ โโโ styles.css # Global styles
โ โ โโโ index.html
โ โ โโโ vite.config.ts
โ โ โโโ package.json
โ โโโ desktop/
โ โโโ src/ # Desktop app entry
โ โโโ src-tauri/
โ โโโ src/
โ โโโ code_analyzer/
โ โ โโโ mod.rs # Core data structures
โ โ โโโ parser.rs # Code parser (multi-language)
โ โ โโโ ast.rs # AST analysis
โ โ โโโ graph.rs # Graph layout engine
โ โ โโโ renderer.rs # Graph renderer
โ โ โโโ commands.rs # Tauri commands
โ โโโ lib.rs
โ โโโ main.rs
โโโ README.md
| Type | Color | Description |
|---|---|---|
| Calls | ๐ด Red | Function A calls function B |
| Imports | ๐ต Blue | File imports another file |
| Contains | ๐ข Green | Class/Module contains function |
| References | ๐ Orange | Code references a variable |
| Extends | ๐ฃ Purple | Class extends another class |
| Implements | ๐ Light Purple | Class implements an interface |
| Depends On | โซ Gray | File-to-file dependency |
| Category | Color | Entities |
|---|---|---|
| Structure | Purple | Module, Class, Interface |
| Behavior | Green | Function, Method |
| Data | Orange | Variable, Constant |
| Boundary | Blue | Import, Export |
| Command | Description | Input | Output |
|---|---|---|---|
analyze_code_directory |
Scan directory for code analysis | {path, parser_type} |
AnalysisResult |
get_analysis_result |
Get cached analysis result | {dir_path} |
AnalysisResult |
generate_code_graph |
Generate graph visualization | GenerateGraphRequest |
string (SVG/JSON) |
get_analyze_languages |
List supported languages | - | string[] |
check_linux_app |
Linux app availability check | - | bool |
This project is licensed under the MIT License.
English | ไธญๆ
ไธๆฌพๆก้ข็ซฏไปฃ็ ๅๆๅทฅๅ ท๏ผๅฐไปฃ็ ็ปๆไปฅไบคไบๅผ้ป่พๅพ็ๅฝขๅผๅฏ่งๅๅฑ็คบใๅบไบ Rust (Tauri) ๅ็ซฏๅ SolidJS ๅ็ซฏๆๅปบ๏ผ่ชๅจไปๆบไปฃ็ ไธญๆๅๅ้ใๅฝๆฐใ็ฑปๅๅ ถๅ ณ็ณป๏ผๅนถไปฅ่็น่ฟ็บฟๅพ็ๅฝขๅผๅ็ฐใ
- ๅ้ๅฃฐๆ - ่ทจ่ฏญ่จๆฃๆต
letใconstใvarๅฃฐๆ - ๅฝๆฐ่ฐ็จๅพ - ๆ ๅฐ
functionA()โfunctionB()่ฐ็จๅ ณ็ณป - ๅ้ๅผ็จ่ฟฝ่ธช - ่ฟฝ่ธชๅ้ๅจๆดไธชไปฃ็ ๅบไธญ็่ฏปๅไฝ็ฝฎ
- ๅฏผๅ ฅ/ไพ่ต - ๅฏ่งๅๆไปถ้ด็ๅฏผๅ ฅไพ่ต
- ็ฑป/ๆจกๅๅฑ็บง - ๅฑ็คบๅ ๅซ/ๅฎ็ฐ/็ปงๆฟๅ ณ็ณป
- ๐ฆ Rust -
let xใfn foo()ใmodใstructใimpl - ๐ TypeScript / JavaScript -
const xใfunction foo()ใclassใimport - ๐ Python -
x = valใdef foo()ใclassใimport - ๐น Go -
x := valใfunc Foo()ใtypeใimport
- ๅๅฏผๅๅธๅฑ - ๅบไบ็ฉ็ๆจกๆ็ๅธๅผๅๅๆๆฅๅ
- ๅฑ็บงๅธๅฑ - ่ชไธ่ไธ็ๆ ๅฝขๅธๅฑ๏ผ็ถๅญๅ ณ็ณปๆธ ๆฐ
- ็ฏๅฝขๅธๅฑ - ๅฎไฝๅๅๅๅธๅจๅ็ฏไธ๏ผๆดไฝๅ่กก
- ็ฝๆ ผๅธๅฑ - ๆๅบ็ฝๆ ผๆๅ๏ผ้ๅๅฏ้ไปฃ็ ๅบ
- SVG - ็ข้ๆธฒๆ๏ผๅฏ็ผฉๆพ๏ผๆฏๆไบคไบๅ ็ด
- Canvas - 2D ็ปๅธๆธฒๆ๏ผ้ๅไธญ็ญ่งๆจกๅพ
- WebGL - GPU ๅ ้ๆธฒๆ๏ผ้ๅๅคง่งๆจกๅพ
- ๆไปถๆฐใไปฃ็ ่กๆฐใๅฎไฝๆฐ้
- ่ฏญ่จๅๅธ็ป่ฎก
- ๅคๆๅบฆ่ฏๅ
- ๅฎไฝ็ฑปๅๅๅธ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SolidJS ๅ็ซฏ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ ๅทฅๅ
ทๆ โ โ ๅพ็ปๅธ โ โ ๅพไพ้ขๆฟ โ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โ ๅฎไฝๅ่กจ โ โ ๆๆ ้ขๆฟ โ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tauri invoke
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Rust ๅ็ซฏ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ parser.rs โ โ graph.rs โ โ
โ โ โ โ โ โ
โ โ โข ๅ้ โ โ โข ๅๅฏผๅๅธๅฑ โ โ
โ โ โข ๅฝๆฐ โ โ โข ๅฑ็บงๅธๅฑ โ โ
โ โ โข ่ฐ็จ โ โ โข ็ฏๅฝขๅธๅฑ โ โ
โ โ โข ๅฏผๅ
ฅ โ โ โข ็ฝๆ ผๅธๅฑ โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ ast.rs โ โ renderer.rs โ โ
โ โ โ โ โ โ
โ โ โข ไพ่ตๅๆ โ โ โข SVG ็ๆ โ โ
โ โ โข ๅพช็ฏๆฃๆต โ โ โข Canvas ๆธฒๆ โ โ
โ โ โข ๆๆ ่ฎก็ฎ โ โ โข WebGL ๆธฒๆ โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Node.js >= 18
- npm >= 9๏ผๆฏๆ
catalog:ๅ่ฎฎ๏ผ - Rust >= 1.75
- Tauri CLI (
cargo install tauri-cli)
# ๅฎ่ฃ
ไพ่ต
cd packages/code-analyzer && npm install
# ่ฟ่กๆก้ขๅบ็จ
cd packages/desktop && npm run tauri devcd packages/code-analyzer && npm run devOpenCode-Code-Analyzer/
โโโ packages/
โ โโโ code-analyzer/ # SolidJS ๅ็ซฏ
โ โ โโโ src/
โ โ โ โโโ app.tsx # ไธปๅบ็จ็ปไปถ
โ โ โ โโโ types.ts # TypeScript ็ฑปๅๅฎไน
โ โ โ โโโ components/
โ โ โ โ โโโ graph-canvas.tsx # ๅพๅฏ่งๅ + ๅพไพ
โ โ โ โ โโโ entity-list.tsx # ๅฎไฝๆต่งๅจ
โ โ โ โ โโโ metrics-panel.tsx # ็ป่ฎกไฟกๆฏๅฑ็คบ
โ โ โ โ โโโ toolbar.tsx # ๅธๅฑไธๆธฒๆๆงๅถ
โ โ โ โโโ styles.css # ๅ
จๅฑๆ ทๅผ
โ โ โโโ index.html
โ โ โโโ vite.config.ts
โ โ โโโ package.json
โ โโโ desktop/
โ โโโ src/ # ๆก้ขๅบ็จๅ
ฅๅฃ
โ โโโ src-tauri/
โ โโโ src/
โ โโโ code_analyzer/
โ โ โโโ mod.rs # ๆ ธๅฟๆฐๆฎ็ปๆ
โ โ โโโ parser.rs # ไปฃ็ ่งฃๆๅจ๏ผๅค่ฏญ่จ๏ผ
โ โ โโโ ast.rs # AST ๅๆ
โ โ โโโ graph.rs # ๅพๅธๅฑๅผๆ
โ โ โโโ renderer.rs # ๅพๆธฒๆๅจ
โ โ โโโ commands.rs # Tauri ๅฝไปค
โ โโโ lib.rs
โ โโโ main.rs
โโโ README.md
| ็ฑปๅ | ้ข่ฒ | ่ฏดๆ |
|---|---|---|
| ๅฝๆฐ่ฐ็จ (Calls) | ๐ด ็บข่ฒ | ๅฝๆฐ A ่ฐ็จๅฝๆฐ B |
| ๅฏผๅ ฅ (Imports) | ๐ต ่่ฒ | ๆไปถๅฏผๅ ฅๅฆไธไธชๆไปถ |
| ๅ ๅซ (Contains) | ๐ข ็ปฟ่ฒ | ็ฑป/ๆจกๅๅ ๅซๅฝๆฐ |
| ๅ้ๅผ็จ (References) | ๐ ๆฉ่ฒ | ไปฃ็ ๅผ็จไบไธไธชๅ้ |
| ็ปงๆฟ (Extends) | ๐ฃ ็ดซ่ฒ | ็ฑป็ปงๆฟๅฆไธไธช็ฑป |
| ๅฎ็ฐ (Implements) | ๐ ๆต ็ดซ | ็ฑปๅฎ็ฐไธไธชๆฅๅฃ |
| ไพ่ต (Depends On) | โซ ็ฐ่ฒ | ๆไปถ้ดไพ่ต |
| ๅ็ฑป | ้ข่ฒ | ๅฎไฝ |
|---|---|---|
| ็ปๆๅฑ | ็ดซ่ฒ | ๆจกๅใ็ฑปใๆฅๅฃ |
| ่กไธบๅฑ | ็ปฟ่ฒ | ๅฝๆฐใๆนๆณ |
| ๆฐๆฎๅฑ | ๆฉ่ฒ | ๅ้ใๅธธ้ |
| ่พน็ๅฑ | ่่ฒ | ๅฏผๅ ฅใๅฏผๅบ |
| ๅฝไปค | ่ฏดๆ | ่พๅ ฅ | ่พๅบ |
|---|---|---|---|
analyze_code_directory |
ๆซๆ็ฎๅฝ่ฟ่กไปฃ็ ๅๆ | {path, parser_type} |
AnalysisResult |
get_analysis_result |
่ทๅ็ผๅญ็ๅๆ็ปๆ | {dir_path} |
AnalysisResult |
generate_code_graph |
็ๆๅพๅฏ่งๅ | GenerateGraphRequest |
string (SVG/JSON) |
get_analyze_languages |
ๅๅบๆฏๆ็่ฏญ่จ | - | string[] |
check_linux_app |
Linux ๅบ็จๅฏ็จๆงๆฃๆฅ | - | bool |
ๆฌ้กน็ฎๅบไบ MIT ่ฎธๅฏ่ฏๅผๆบใ