{"id":44415772,"url":"https://github.com/jaguarliuu/rookie_text2data","last_synced_at":"2026-02-12T08:25:13.308Z","repository":{"id":281995670,"uuid":"947104290","full_name":"jaguarliuu/rookie_text2data","owner":"jaguarliuu","description":"Dify插件 - 自然语言获取数据库数据","archived":false,"fork":false,"pushed_at":"2025-10-24T10:59:20.000Z","size":43736,"stargazers_count":241,"open_issues_count":26,"forks_count":58,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-10-24T12:31:11.383Z","etag":null,"topics":["dify","llm"],"latest_commit_sha":null,"homepage":"https://marketplace.dify.ai/plugins/jaguarliuu/rookie_text2data","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaguarliuu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-12T06:49:50.000Z","updated_at":"2025-10-24T10:59:24.000Z","dependencies_parsed_at":"2025-03-27T11:22:23.924Z","dependency_job_id":"1f19c623-15ba-49fd-8cfc-14594d001574","html_url":"https://github.com/jaguarliuu/rookie_text2data","commit_stats":null,"previous_names":["jaguarliuu/rookie_text2data"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jaguarliuu/rookie_text2data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaguarliuu%2Frookie_text2data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaguarliuu%2Frookie_text2data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaguarliuu%2Frookie_text2data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaguarliuu%2Frookie_text2data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaguarliuu","download_url":"https://codeload.github.com/jaguarliuu/rookie_text2data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaguarliuu%2Frookie_text2data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29361817,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dify","llm"],"created_at":"2026-02-12T08:25:12.361Z","updated_at":"2026-02-12T08:25:13.300Z","avatar_url":"https://github.com/jaguarliuu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## rookie_text2data\n\n**Author:** jaguarliuu\n**Version:** 1.0.1\n**Type:** tool\n\n### Description\nA tool that converts natural language into secure and optimized SQL queries, supporting multiple mainstream databases including MySQL, PostgreSQL, Oracle, SQL Server, and Chinese domestic databases (GaussDB, KingbaseES, DM).\n\n\n### 声明\nWe are truly grateful for the overwhelming interest in this experimental project. Your feedback is invaluable for improving this plugin. Join our WeChat group for discussions and collaboration opportunities!\n\n\u003e Contact:\n\u003e  - Wechat： L1763077056\n\n### ✨ Core Features\n\n#### ​Multi-Database Support\n- Native support for 7 database types with automatic syntax adaptation\n- International databases: MySQL, PostgreSQL, Oracle, SQL Server\n- Chinese domestic databases: GaussDB (Huawei), KingbaseES (KINGBASE), DM (Dameng)\n- Automatic SQL syntax adaptation based on database type (e.g., LIMIT vs FETCH FIRST)\n- Schema-aware query generation for databases that support schemas\n\n#### ​Security Mechanisms\n- Mandatory result set limits (default LIMIT 100, configurable up to 100,000)\n- DML operation prohibition (SELECT statements only)\n- Field whitelist validation (based on database metadata)\n- Least privilege principle for query execution\n\n### Supported Databases\n- **MySQL** - Full support with optimized query generation\n- **PostgreSQL** - Native support with schema awareness\n- **Oracle** - Enterprise database with schema support\n- **SQL Server** - Microsoft SQL Server support\n- **GaussDB** - Huawei's enterprise-grade database (openGauss compatible)\n- **KingbaseES** - Kingbase's PostgreSQL-compatible database\n- **DM (Dameng)** - Dameng's Oracle-compatible database\n\n### Supported LLMs\nCompatible with ​all non-deep-thinking models\n- ChatGLM-6B\n- DeepSeek V3\n- Qwen-max\n...\n\n### Quick Start\n#### SQL Generation Component\n1. Import the rookie_text2data plugin\n2. Configure basic parameters:\n\n| Parameter      | Type           | Required | Description                                                    | Multilingual Support     |\n|----------------|----------------|----------|----------------------------------------------------------------|--------------------------|\n| db_type        | select         | Yes      | Database type (MySQL/PostgreSQL/Oracle/SQL Server/GaussDB/KingbaseES/DM) | CN/EN/PT    |\n| host           | string         | Yes      | Database host/IP address                                       | CN/EN/PT                |\n| port           | number         | Yes      | Database port (1-65535)                                        | CN/EN/PT                |\n| db_name        | string         | Yes      | Target database name                                           | CN/EN/PT                |\n| table_names    | string         | No       | Comma-separated table names (empty for all tables)             | CN (format hints)       |\n| schema_name    | string         | No       | Schema name (PostgreSQL default: public, Oracle/DM: uppercase username) | CN/EN/PT    |\n| username       | string         | Yes      | Database username                                              | CN/EN/PT                |\n| password       | secret-input   | Yes      | Database password                                              | CN/EN/PT                |\n| model          | model-selector | Yes      | LLM model configuration                                        | CN/EN/PT                |\n| query          | string         | Yes      | Natural language query statement                               | CN/EN/PT                |\n| limit          | number         | No       | Query result limit (1-100000, default 100)                     | CN/EN/PT                |\n| result_format  | select         | No       | Result format (JSON/TEXT, default JSON)                        | CN/EN/PT                |\n| custom_prompt  | string         | No       | Custom prompt for fine-tuning query generation                 | CN/EN/PT                |\n| with_comment   | boolean        | No       | Include database comments in schema metadata                   | CN/EN/PT                |\n\n3. Select Model - We recommend using the Qwen-max model. Other models can be tested but deep-thinking models are unsupported.\n4. Generate SQL queries using natural language\n\n#### SQL Execution Component\n1. Import the rookie_execute_sql plugin\n2. Configure basic parameters:\n\n| Parameter      | Type         | Required | Description                                                    | Multilingual Support     |\n|----------------|--------------|----------|----------------------------------------------------------------|--------------------------|\n| db_type        | select       | Yes      | Database type (MySQL/PostgreSQL/Oracle/SQL Server/GaussDB/KingbaseES/DM) | CN/EN/PT    |\n| host           | string       | Yes      | Database host/IP address                                       | CN/EN/PT                |\n| port           | number       | Yes      | Database port (1-65535)                                        | CN/EN/PT                |\n| db_name        | string       | Yes      | Target database name                                           | CN/EN/PT                |\n| username       | string       | Yes      | Database username                                              | CN/EN/PT                |\n| password       | secret-input | Yes      | Database password                                              | CN/EN/PT                |\n| schema         | string       | No       | Schema name (PostgreSQL default: public, Oracle/DM: uppercase username) | CN/EN/PT    |\n| sql            | string       | Yes      | SQL query to execute                                           | CN/EN/PT                |\n| result_format  | select       | No       | Result format (JSON/TEXT/CSV, default JSON)                    | CN/EN/PT                |\n\n3. Click \"Execute\" to run the SQL statement\n\n### Database-Specific Notes\n\n#### Chinese Domestic Databases\n- **GaussDB**: Compatible with PostgreSQL protocol, uses SCRAM-SHA-256 authentication\n- **KingbaseES**: PostgreSQL-compatible, supports schema-based organization\n- **DM (Dameng)**: Oracle-compatible, uses Oracle-style schema management\n\n#### Schema Configuration\n- **PostgreSQL/GaussDB/KingbaseES**: Default schema is `public`, can be customized\n- **Oracle/DM**: Default schema is the uppercase version of your username (e.g., user `admin` → schema `ADMIN`)\n- **MySQL/SQL Server**: Schema parameter not required\n\n### License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaguarliuu%2Frookie_text2data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaguarliuu%2Frookie_text2data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaguarliuu%2Frookie_text2data/lists"}