<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: chenhao</title>
    <description>The latest articles on Forem by chenhao (@twwch).</description>
    <link>https://forem.com/twwch</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3692565%2Fa047ea55-0fff-4cfc-9e3a-e40cbaf6e52d.png</url>
      <title>Forem: chenhao</title>
      <link>https://forem.com/twwch</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/twwch"/>
    <language>en</language>
    <item>
      <title>JadeAI – AI-Powered Smart Resume Builder, 50 Templates, Drag-and-Drop Editor, Professional Photo Generation, Multi-format Export</title>
      <dc:creator>chenhao</dc:creator>
      <pubDate>Tue, 10 Mar 2026 01:32:07 +0000</pubDate>
      <link>https://forem.com/twwch/jadeai-ai-powered-smart-resume-builder-50-templates-drag-and-drop-editor-professional-photo-173k</link>
      <guid>https://forem.com/twwch/jadeai-ai-powered-smart-resume-builder-50-templates-drag-and-drop-editor-professional-photo-173k</guid>
      <description>&lt;h2&gt;
  
  
  What is JadeAI
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Official Website: &lt;a href="https://jadeai.cturing.cn/en" rel="noopener noreferrer"&gt;https://jadeai.cturing.cn/en&lt;/a&gt; | GitHub: &lt;a href="https://github.com/twwch/JadeAI" rel="noopener noreferrer"&gt;https://github.com/twwch/JadeAI&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;JadeAI is an open-source, AI-powered smart resume builder that helps users quickly create high-quality professional resumes using AI technology. The tool is completely free and supports self-hosted deployment with a single Docker command. It comes with 50 professionally designed templates, offers a drag-and-drop WYSIWYG editor, and integrates rich AI capabilities such as conversational optimization, one-click resume generation, grammar checking, job description (JD) matching analysis, and professional photo generation. All AI features use the user's own API Key, which is stored locally in the browser, ensuring data security. JadeAI supports exporting resumes in multiple formats like PDF, DOCX, and HTML, and can also generate shareable links to send directly to recruiters, making resume creation simple and intelligent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f3hxey8j3x4rsz0w76k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f3hxey8j3x4rsz0w76k.png" alt="Template Gallery" width="800" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of JadeAI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;50 Professional Templates&lt;/strong&gt;: Covers various styles including Classic, Modern, Minimalist, Creative, ATS-Friendly, Nordic, Swiss, and Japanese, suitable for different industries and job-seeking scenarios.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Drag-and-Drop Editor&lt;/strong&gt;: WYSIWYG editing experience with support for drag-to-sort, inline editing, and theme customization (colors/fonts/spacing/margins), with up to 50 steps of undo/redo.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;AI One-Click Resume Generation&lt;/strong&gt;: Input your target job title, years of experience, and core skills, and the AI automatically generates a complete, structured resume.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Image/PDF Resume Parsing&lt;/strong&gt;: Upload an existing resume in PDF or photo format, and the AI automatically recognizes and extracts all content, filling it into the editor.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;AI Conversational Optimization&lt;/strong&gt;: Integrated AI chat assistant within the editor allows you to optimize resume content through natural language conversations, with support for multiple sessions and history.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Grammar &amp;amp; Writing Check&lt;/strong&gt;: One-click detection of weak verbs, vague descriptions, and grammatical errors, providing quality scores and suggestions for improvement, with support for one-click batch fixes.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;JD Matching Analysis&lt;/strong&gt;: Compares your resume against a target job description, providing keyword coverage scores, ATS compatibility ratings, and tailored improvement suggestions.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;AI Professional Photo Generation&lt;/strong&gt;: Upload a regular photo, and the AI automatically generates a professional-style headshot. You can choose different sizes and backgrounds.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;QR Code Module&lt;/strong&gt;: Add QR codes within your resume for links to personal websites, GitHub, LinkedIn, etc., allowing recruiters to scan and access online content directly.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Cover Letter Generation&lt;/strong&gt;: Automatically generates a cover letter based on your resume and a target JD, with options for formal, friendly, or confident tone.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Multi-language Translation&lt;/strong&gt;: Supports translation between 10 languages, preserving the original text of professional terminology.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Multi-format Export&lt;/strong&gt;: Supports six formats: PDF, Smart One-Page PDF, DOCX, HTML, TXT, and JSON.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Link Sharing&lt;/strong&gt;: Generate a shareable link to send to recruiters, with support for password protection and view count tracking.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Data Security&lt;/strong&gt;: AI keys are stored locally in the browser; the server does not store any API Keys. Supports local SQLite storage or PostgreSQL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Use JadeAI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Use Online&lt;/strong&gt;: Directly visit &lt;a href="https://jadeai.cturing.cn/en" rel="noopener noreferrer"&gt;jadeai.cturing.cn/en&lt;/a&gt; to start using it without registration.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Self-hosted Deployment&lt;/strong&gt;: Deploy with a single Docker command (&lt;code&gt;docker run -d -p 3000:3000 -e AUTH_SECRET=&amp;lt;your-secret&amp;gt; -v jadeai-data:/app/data twwch/jadeai:latest&lt;/code&gt;), or clone the source code for local development.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Configure AI&lt;/strong&gt;: After opening the app, go to &lt;strong&gt;Settings &amp;gt; AI&lt;/strong&gt; to configure your own API Key, Base URL, and model (supports OpenAI, Anthropic, custom endpoints).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Create a Resume&lt;/strong&gt;: Click "New" on the dashboard and select a template to start editing. You can also use the AI one-click generation feature, or upload an existing resume to parse and import.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsbv0iokizgwomjfbkjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsbv0iokizgwomjfbkjg.png" alt="Resume Editor" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Edit Content&lt;/strong&gt;: Fill in personal information, education, work experience, project details, etc., in the drag-and-drop editor. Click on any field to edit directly, drag to reorder sections, and see real-time previews on the right.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FAI%2520%25E5%25A1%25AB%25E5%2585%2585%25E7%25AE%2580%25E5%258E%2586.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FAI%2520%25E5%25A1%25AB%25E5%2585%2585%25E7%25AE%2580%25E5%258E%2586.gif" alt="AI Fill Resume" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;AI-Powered Optimization&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Conversational Optimization&lt;/strong&gt;: Open the AI chat panel and use natural language to ask the AI to polish your resume content. The AI can modify the resume directly.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Grammar Check&lt;/strong&gt;: Click the grammar check button. The AI detects issues line by line, provides suggestions, and allows one-click batch fixes.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;JD Matching&lt;/strong&gt;: Paste the target job description. The AI analyzes the match degree and provides targeted improvement suggestions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2Fai%2520%25E4%25BC%2598%25E5%258C%2596.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2Fai%2520%25E4%25BC%2598%25E5%258C%2596.png" alt="AI Optimization" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FAI%2520%25E8%25AF%25AD%25E6%25B3%2595%25E6%25A3%2580%25E6%259F%25A5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FAI%2520%25E8%25AF%25AD%25E6%25B3%2595%25E6%25A3%2580%25E6%259F%25A5.png" alt="AI Grammar Check" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FJD%2520%25E5%258C%25B9%25E9%2585%258D%25E5%2588%2586%25E6%259E%2590.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2FJD%2520%25E5%258C%25B9%25E9%2585%258D%25E5%2588%2586%25E6%259E%2590.png" alt="JD Matching Analysis" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Generate Professional Photo&lt;/strong&gt;: Upload a regular photo, select the desired size and background style. The AI generates a professional headshot ready for download and use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E8%2581%258C%25E4%25B8%259A%25E7%2585%25A7%25E7%2594%259F%25E6%2588%2590.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E8%2581%258C%25E4%25B8%259A%25E7%2585%25A7%25E7%2594%259F%25E6%2588%2590.png" alt="AI Professional Photo Generation" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Add QR Code&lt;/strong&gt;: Add a QR code module to your resume. It automatically generates QR codes for links like personal websites, GitHub, LinkedIn, etc., allowing printed resumes to link to online content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E4%25BA%258C%25E7%25BB%25B4%25E7%25A0%2581.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E4%25BA%258C%25E7%25BB%25B4%25E7%25A0%2581.png" alt="QR Code Module" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Customize Resume Style&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Choose Template&lt;/strong&gt;: Switch freely between 50 templates covering various styles like Classic, Modern, Minimalist, and Creative.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Adjust Theme&lt;/strong&gt;: Customize colors, fonts, spacing, and margins with real-time preview.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;  &lt;strong&gt;Export Resume&lt;/strong&gt;: After editing, click the export button and choose a format like PDF, DOCX, or HTML to download. Alternatively, generate an online shareable link to send directly to recruiters.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E5%25A4%259A%25E9%25A1%25B9%25E5%25AF%25BC%25E5%2587%25BA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E5%25A4%259A%25E9%25A1%25B9%25E5%25AF%25BC%25E5%2587%25BA.png" alt="Multi-format Export" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E5%2588%259B%25E5%25BB%25BA%25E5%2588%2586%25E4%25BA%25AB%25E9%2593%25BE%25E6%258E%25A5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fladr-1258957911.cos.ap-guangzhou.myqcloud.com%2Fjadeai%2Fimages%2F%25E5%2588%259B%25E5%25BB%25BA%25E5%2588%2586%25E4%25BA%25AB%25E9%2593%25BE%25E6%258E%25A5.png" alt="Create Share Link" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Application Scenarios for JadeAI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Job Seekers&lt;/strong&gt;: Quickly create professional resumes, optimize content with AI, match JDs, and enhance competitiveness.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Recent Graduates&lt;/strong&gt;: No resume writing experience? Use AI one-click generation and conversational optimization to easily complete your first resume.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Working Professionals&lt;/strong&gt;: Optimize existing resumes, ensure professional wording with grammar checks, and use JD matching analysis for targeted applications.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Freelancers&lt;/strong&gt;: Create personalized resumes with QR codes linking to your portfolio to showcase skills.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;HR / Recruiters&lt;/strong&gt;: Quickly help candidates organize resumes, combining image parsing and AI optimization in one go.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Privacy-Conscious Users&lt;/strong&gt;: Supports self-hosted deployment, storing data on your own server, and AI keys are not passed through third parties.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Related Information
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Open Source License&lt;/strong&gt;: Apache 2.0&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Official Website&lt;/strong&gt;: &lt;a href="https://jadeai.cturing.cn/en" rel="noopener noreferrer"&gt;https://jadeai.cturing.cn/en&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/twwch/JadeAI" rel="noopener noreferrer"&gt;https://github.com/twwch/JadeAI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Tech Stack&lt;/strong&gt;: Next.js 16, React 19, Tailwind CSS 4, shadcn/ui, Drizzle ORM, Vercel AI SDK v6&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Deployment&lt;/strong&gt;: One-click Docker deployment / Local development&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Supported Languages&lt;/strong&gt;: Bilingual interface (Chinese, English)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Database&lt;/strong&gt;: SQLite (default, zero-config) / PostgreSQL&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>resume</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Let's write an SDK that calls Skills, and feel free to discuss and exchange ideas.</title>
      <dc:creator>chenhao</dc:creator>
      <pubDate>Fri, 16 Jan 2026 02:24:23 +0000</pubDate>
      <link>https://forem.com/twwch/lets-write-an-sdk-that-calls-skills-and-feel-free-to-discuss-and-exchange-ideas-bhb</link>
      <guid>https://forem.com/twwch/lets-write-an-sdk-that-calls-skills-and-feel-free-to-discuss-and-exchange-ideas-bhb</guid>
      <description>&lt;p&gt;Invocation can be achieved with just a few lines of code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import asyncio
from openskills import create_agent

async def main():
    # Create agent with skills
    agent = await create_agent(
        skill_paths=["./skills"],
        api_key="your-api-key",
        model="gpt-4",
    )

    # Chat with automatic skill invocation
    response = await agent.chat("帮我总结会议")
    print(response.content)
    print(f"Used skill: {response.skill_used}")

asyncio.run(main())
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvf6tf8c2oyv8lnxnotm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvf6tf8c2oyv8lnxnotm.png" alt=" " width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub：&lt;a href="https://github.com/twwch/OpenSkills" rel="noopener noreferrer"&gt;https://github.com/twwch/OpenSkills&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title>Show HN: DeepDiagram – Open source AI diagram generator (Draw.io, Mermaid)</title>
      <dc:creator>chenhao</dc:creator>
      <pubDate>Sun, 04 Jan 2026 11:52:59 +0000</pubDate>
      <link>https://forem.com/twwch/show-hn-deepdiagram-open-source-ai-diagram-generator-drawio-mermaid-3cil</link>
      <guid>https://forem.com/twwch/show-hn-deepdiagram-open-source-ai-diagram-generator-drawio-mermaid-3cil</guid>
      <description>&lt;h1&gt;
  
  
  DeepDiagram: Open source AI diagram generator (Draw.io, Mermaid, ECharts)
&lt;/h1&gt;

&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;DeepDiagram&lt;/strong&gt; because I was tired of AI tools generating static images (PNG/JPG) for diagrams. If the AI gets one detail wrong, you can't easily fix it.&lt;/p&gt;

&lt;p&gt;I wanted a tool that generates &lt;strong&gt;editable code&lt;/strong&gt; and renders it interactively.&lt;/p&gt;

&lt;p&gt;It is an open-source web platform using a &lt;strong&gt;Multi-Agent architecture&lt;/strong&gt; (React 19 + LangGraph). A Router analyzes your intent and directs it to a specialized agent (e.g., Draw.io expert, Flowchart expert, or Data Viz expert).&lt;/p&gt;

&lt;h3&gt;
  
  
  📺 Demos
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Mind Map &amp;amp; Data Charts (ECharts):&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0l693chxcxcawx738zj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0l693chxcxcawx738zj.png" alt=" " width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1qi6xmz2wod0rnq0h2u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1qi6xmz2wod0rnq0h2u.png" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Draw.io Generation (XML based):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx90tcinqk738510wwrp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx90tcinqk738510wwrp.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mermaid Diagrams:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nl13bt2hj6dmkr3ko6t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nl13bt2hj6dmkr3ko6t.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠 Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Orchestration:&lt;/strong&gt; &lt;strong&gt;LangGraph&lt;/strong&gt; (Python) for the ReAct loop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; &lt;strong&gt;React 19&lt;/strong&gt;, Vite, TailwindCSS, Zustand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; &lt;strong&gt;FastAPI&lt;/strong&gt; (Python 3.10+).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming:&lt;/strong&gt; SSE (Server-Sent Events) for real-time preview.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rendering:&lt;/strong&gt; React Flow, Apache ECharts, Mermaid.js, Draw.io (Atlas theme).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✨ Key Features
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Draw.io Agent&lt;/strong&gt;: Generates compatible XML. You can edit the result directly in the canvas.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Data Chart Agent&lt;/strong&gt;: Turns raw data into interactive ECharts (Bar/Line/Pie).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Mermaid Agent&lt;/strong&gt;: Supports Sequence, Gantt, Class diagrams, etc.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Branching &amp;amp; History&lt;/strong&gt;: AI isn't perfect, so I added a Git-like branching system. You can "retry" messages or navigate back to previous states to fix errors.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🔗 Links
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub (AGPL-3.0):&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/twwch/DeepDiagram" rel="noopener noreferrer"&gt;https://github.com/twwch/DeepDiagram&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It relies on OpenAI-compatible APIs (works great with DeepSeek V3). The project is still early, so feedback and PRs are welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
