diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..cbf6585
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+# TreeAI funding link shown in the repository Sponsor button.
+custom: "https://ifdian.net/a/anionex"
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..02ec098
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,76 @@
+name: Bug report
+description: Report a reproducible problem in TreeAI.
+title: "[Bug] "
+labels: [bug]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for helping improve TreeAI. Remove API keys, Authorization headers, private conversations, and sensitive screenshots before submitting.
+ - type: dropdown
+ id: area
+ attributes:
+ label: Affected area
+ options:
+ - Conversation canvas or layout
+ - Chat node editing or streaming
+ - Model configuration or API compatibility
+ - Session persistence or browser storage
+ - TXT / Markdown import
+ - FreeMind export
+ - Documentation or setup
+ - Other
+ validations:
+ required: true
+ - type: input
+ id: environment
+ attributes:
+ label: Environment
+ description: Include operating system, browser version, and Node.js version if running locally.
+ placeholder: macOS 15, Chrome 140, Node.js 20.19
+ validations:
+ required: true
+ - type: input
+ id: provider
+ attributes:
+ label: Provider and model
+ description: Name the provider and model only. Never include the API key.
+ placeholder: OpenAI-compatible provider, model-name
+ - type: textarea
+ id: steps
+ attributes:
+ label: Reproduction steps
+ placeholder: |
+ 1. Configure ...
+ 2. Create ...
+ 3. Observe ...
+ validations:
+ required: true
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected behavior
+ validations:
+ required: true
+ - type: textarea
+ id: actual
+ attributes:
+ label: Actual behavior
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Sanitized logs or screenshots
+ description: Remove credentials, request headers, private conversation content, and unrelated personal data.
+ - type: checkboxes
+ id: checks
+ attributes:
+ label: Pre-submission checks
+ options:
+ - label: I searched existing issues and pull requests for the same problem.
+ required: true
+ - label: I removed credentials and private data from everything included above.
+ required: true
+ - label: I reviewed the compatibility and support documentation.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..50b09ab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Support guide
+ url: https://github.com/Anionex/treeAI/blob/master/SUPPORT.md
+ about: Check setup, CORS, endpoint, streaming, storage, and file-import guidance first.
+ - name: Security policy
+ url: https://github.com/Anionex/treeAI/security/policy
+ about: Report suspected vulnerabilities privately instead of opening a public issue.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..27671fb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,37 @@
+name: Feature request
+description: Propose a focused improvement that fits TreeAI's scope.
+title: "[Feature] "
+labels: [enhancement]
+body:
+ - type: textarea
+ id: problem
+ attributes:
+ label: Problem
+ description: What workflow is difficult or impossible today?
+ validations:
+ required: true
+ - type: textarea
+ id: outcome
+ attributes:
+ label: Desired outcome
+ description: Describe the user-visible result rather than only an implementation.
+ validations:
+ required: true
+ - type: textarea
+ id: proposal
+ attributes:
+ label: Proposed approach
+ description: Include interface, persistence, protocol, or compatibility implications when known.
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives considered
+ - type: checkboxes
+ id: scope
+ attributes:
+ label: Scope checks
+ options:
+ - label: I searched existing issues and pull requests for related proposals.
+ required: true
+ - label: I described any effect on credentials, local storage, or provider compatibility.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml
new file mode 100644
index 0000000..9909ba1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/question.yml
@@ -0,0 +1,37 @@
+name: Setup or usage question
+description: Ask a focused question after checking the support guide.
+title: "[Question] "
+labels: [question]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Do not include API keys, Authorization headers, private conversation text, or sensitive screenshots.
+ - type: textarea
+ id: goal
+ attributes:
+ label: What are you trying to do?
+ validations:
+ required: true
+ - type: textarea
+ id: attempted
+ attributes:
+ label: What have you tried?
+ description: Include sanitized commands, browser/provider details, and the relevant support section.
+ validations:
+ required: true
+ - type: textarea
+ id: result
+ attributes:
+ label: What happened?
+ validations:
+ required: true
+ - type: checkboxes
+ id: checks
+ attributes:
+ label: Checks
+ options:
+ - label: I read SUPPORT.md and the README compatibility section.
+ required: true
+ - label: I removed credentials and private data.
+ required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..f0695d8
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,19 @@
+## Summary
+
+- What user problem does this change solve?
+- What approach did you take?
+
+## Verification
+
+- [ ] `npm ci`
+- [ ] `npm run lint`
+- [ ] `npm run build`
+- [ ] I exercised the affected UI or API flow.
+- [ ] I included a sanitized screenshot for visual changes.
+
+## Safety and Compatibility
+
+- [ ] No API keys, private conversations, Authorization headers, or sensitive browser data are included.
+- [ ] Existing IndexedDB data remains compatible, or a migration is included and documented.
+- [ ] README, limitations, and changelog are updated for user-visible behavior.
+- [ ] The pull request is focused and contains no unrelated refactor.
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..4f1ec20
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,38 @@
+name: CI
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+permissions:
+ contents: read
+
+concurrency:
+ group: ci-${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ verify:
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: npm
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Lint
+ run: npm run lint
+
+ - name: Build
+ run: npm run build
diff --git a/.gitignore b/.gitignore
index 7ceb59f..5a1f241 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ lerna-debug.log*
node_modules
dist
dist-ssr
+.playwright-cli
*.local
# Editor directories and files
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..d214860
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,30 @@
+# Changelog
+
+All user-visible changes to TreeAI are documented here.
+
+The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses semantic versioning for tagged releases.
+
+## [Unreleased]
+
+### Added
+
+- Bilingual English and Chinese project documentation.
+- Repository-owned hero, product screenshot, and social-preview assets.
+- MIT license, funding guide, security policy, support guide, contribution guide, issue forms, pull-request template, and CI workflow.
+- Browser metadata and a TreeAI favicon.
+
+### Changed
+
+- Unified the visible product name as TreeAI.
+- Documented the client-only data boundary, provider compatibility, credential storage, and current limitations.
+- Limited file import to the TXT and Markdown formats that are actually implemented.
+- Removed unused PDF and DOCX dependencies.
+- Cleaned up TypeScript and React code so ESLint passes.
+
+## [0.1.0] - 2025-05-13
+
+### Added
+
+- Initial public preview of the React Flow conversation-tree workspace.
+- Local session and model persistence with Dexie and IndexedDB.
+- OpenAI-compatible streaming chat requests and FreeMind export.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..f1f4053
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,55 @@
+# TreeAI Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and maintainers pledge to make participation in the TreeAI community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment include:
+
+- demonstrating empathy and kindness toward other people;
+- respecting differing opinions, viewpoints, and experiences;
+- giving and gracefully accepting constructive feedback;
+- accepting responsibility, apologizing to those affected by mistakes, and learning from the experience;
+- focusing on what is best for the community and the project.
+
+Examples of unacceptable behavior include:
+
+- sexualized language or imagery and sexual attention or advances of any kind;
+- trolling, insulting or derogatory comments, and personal or political attacks;
+- public or private harassment;
+- publishing another person's private information without explicit permission;
+- sharing credentials, private conversations, or sensitive screenshots that do not belong to you;
+- other conduct that could reasonably be considered inappropriate in a professional setting.
+
+## Enforcement Responsibilities
+
+Community maintainers are responsible for clarifying and enforcing standards of acceptable behavior. They may remove, edit, or reject comments, commits, code, issues, and other contributions that do not align with this Code of Conduct, and will communicate moderation reasons when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all project spaces and when an individual officially represents the project in public spaces.
+
+## Reporting
+
+Report abusive, harassing, or otherwise unacceptable behavior privately to `davidyang042@gmail.com` with the subject `TreeAI conduct report`. Do not report conduct incidents through a public issue.
+
+Reports will be reviewed and investigated as promptly and fairly as practical. Maintainers will respect the privacy and security of reporters and affected participants whenever possible.
+
+## Enforcement Guidelines
+
+Maintainers may use the following consequences based on the impact and pattern of behavior:
+
+1. **Correction** - A private explanation of the violation and how to correct it.
+2. **Warning** - A warning with consequences for continued behavior.
+3. **Temporary restriction** - Time-limited restrictions on project participation or communication.
+4. **Permanent ban** - Permanent removal from project spaces for sustained or severe violations.
+
+The response may skip steps when necessary to protect the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1, permanently available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). The enforcement guidelines draw on Mozilla's code-of-conduct enforcement ladder.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..6e131c6
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,57 @@
+# Contributing to TreeAI
+
+Thanks for helping improve TreeAI. Focused bug fixes, compatibility work, tests, accessibility improvements, documentation, and carefully scoped features are welcome.
+
+By participating, you agree to follow the [Code of Conduct](CODE_OF_CONDUCT.md).
+
+## Before You Start
+
+1. Read [README.md](README.md), especially compatibility, data boundaries, and limitations.
+2. Search existing issues and pull requests before starting duplicate work.
+3. Open an issue before broad architecture changes, persistence migrations, protocol changes, or new collaboration features.
+4. Never include API keys, private conversations, Authorization headers, or unsanitized browser storage in an issue or pull request.
+
+## Local Setup
+
+Use Node.js 18 or newer:
+
+```bash
+git clone https://github.com/Anionex/treeAI.git
+cd treeAI
+npm ci
+npm run dev
+```
+
+## Project Boundaries
+
+- TreeAI is currently a client-only application. Discuss any backend, account, telemetry, or sync proposal before implementing it.
+- Keep the browser-to-provider request boundary explicit. Do not proxy, log, or persist credentials in a new location without a security review.
+- The IndexedDB database is still named `TreeChatDatabase` for compatibility with existing local data. Do not rename it without a versioned migration.
+- Keep OpenAI-compatible streaming behavior backward compatible unless a change is explicitly scoped as a protocol migration.
+- Publish only source-confirmed features. Partially implemented work belongs in project status or limitations.
+- Keep pull requests narrow; do not combine unrelated refactors with a fix.
+
+## Verification
+
+Run all checks before opening a pull request:
+
+```bash
+npm ci
+npm run lint
+npm run build
+```
+
+For user-interface changes, also run the app, exercise the affected flow, and include a sanitized screenshot when visual behavior changes.
+
+## Pull Requests
+
+- Explain the user problem and the chosen solution.
+- Link the relevant issue when one exists.
+- Describe behavior changes and compatibility risks.
+- Add or update tests when a practical test surface exists.
+- Update README, changelog, screenshots, or limitations when user-facing behavior changes.
+- Keep generated lockfile changes limited to dependency changes made by the pull request.
+
+## Reporting Security Issues
+
+Do not open a public issue for a suspected vulnerability. Follow [SECURITY.md](SECURITY.md).
diff --git a/FUNDING.md b/FUNDING.md
new file mode 100644
index 0000000..5f33c10
--- /dev/null
+++ b/FUNDING.md
@@ -0,0 +1,31 @@
+# Funding / 赞助
+
+## English
+
+TreeAI is open source under the MIT License. If it helps you explore and compare LLM conversations, you can support continued development through [Afdian](https://ifdian.net/a/anionex).
+
+Sponsorship helps fund:
+
+- browser and provider compatibility testing;
+- visual workflow, accessibility, and performance improvements;
+- test coverage and long-term maintenance;
+- documentation, examples, and reusable conversation-tree workflows.
+
+Financial support does not purchase roadmap control, privileged security handling, or private access to user data. Bugs, feature proposals, and contributions continue to follow the same public project process.
+
+Non-financial support also helps: star or share the repository, report reproducible issues, improve documentation, or contribute focused fixes.
+
+## 中文
+
+TreeAI 以 MIT License 开源。如果它帮助你更清晰地探索和比较大模型对话,可以通过[爱发电](https://ifdian.net/a/anionex)支持持续开发。
+
+赞助主要用于:
+
+- 浏览器与不同模型服务商的兼容性验证;
+- 可视化工作流、无障碍与性能优化;
+- 自动化测试和长期维护;
+- 文档、示例与可复用的树状对话工作流。
+
+赞助不会换取路线图控制权、安全例外或用户数据访问权。Bug、功能建议和代码贡献仍按项目公开流程处理。
+
+非资金支持同样重要:Star 或分享仓库、提交可复现的问题、改进文档,以及贡献聚焦的修复。
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..4e0a3c8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025-2026 Anionex
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 787964e..dba0c84 100644
--- a/README.md
+++ b/README.md
@@ -1,68 +1,160 @@
-# TreeChat - 树状结构对话应用
+
-# Usage
-1. 确保已安装Node.js 18+
-2. 克隆项目仓库
-3. 安装依赖
+# TreeAI
-```
-npm install
+[](https://github.com/Anionex/treeAI/stargazers)
+[](https://github.com/Anionex/treeAI/forks)
+[](https://github.com/Anionex/treeAI/actions/workflows/ci.yml)
+[](LICENSE)
+
+[](package.json)
+[](src/)
+
+**Branch the conversation. Keep every line of thought.**
+
+A local-first visual workspace for exploring, comparing, and exporting LLM conversation trees across OpenAI-compatible models.
+
+🌐 [**中文**](README_CN.md) | **English**
+
+
+
+Linear chat forces every follow-up into one timeline: explore a different assumption and the original path is pushed out of view. TreeAI turns the conversation into a canvas. Continue from any node, create parallel branches, switch model settings per branch, and preserve every route for later comparison.
+
+All sessions and model configurations stay in the browser's IndexedDB. Requests go directly from the browser to the API endpoint you configure; TreeAI has no application backend.
+
+
+
+
+
+
One prompt, multiple independent paths. Continue any branch without overwriting the others.
+
+## Why TreeAI
+
+| Capability | What it gives you |
+|---|---|
+| **Branch from any node** | Explore an alternative question, assumption, or answer while preserving the original conversation path. |
+| **Tune each branch independently** | Select the model, temperature, and token budget at the node level instead of locking one configuration to the whole session. |
+| **Keep the workspace local** | Store sessions and model profiles in browser IndexedDB with no TreeAI server in the middle. |
+| **Bring in text context** | Add `.txt` and `.md` files as a new conversation node. |
+| **Export the tree** | Download a FreeMind-compatible `.mm` file for archiving or further mind-map work. |
+
+## Quick Start
+
+### Prerequisites
+
+- Node.js 18 or newer
+- npm
+- An OpenAI-compatible API that supports streaming `POST /chat/completions`
+- A provider that allows browser CORS requests from your TreeAI origin
+
+### Run locally
+
+```bash
+git clone https://github.com/Anionex/treeAI.git
+cd treeAI
+npm ci
npm run dev
```
-minimal theme(new):
-
+Open the local URL printed by Vite, usually `http://localhost:5173`.
+### First conversation
+1. Open **Model settings** from the gear button in the lower-left corner.
+2. Add a model name, an API base URL such as `https://api.openai.com/v1`, an API key, and the provider's model identifier.
+3. Create a conversation and edit the system-prompt node.
+4. Add a child node, enter a message, and send it.
+5. Use the **+** button on any node to continue that branch or start a parallel one.
-## 技术栈
-- 前端框架: React 18
-- 语言: TypeScript
-- 构建工具: Vite
-- CSS框架: Tailwind CSS + PostCSS
-- 状态管理: 自定义Store方案
-- 代码规范: ESLint
+> [!IMPORTANT]
+> API keys are stored unencrypted in this browser's IndexedDB because TreeAI is a client-only application. Use restricted keys or a trusted local proxy, and do not configure secrets on a shared or untrusted device.
-## 功能特性
-- 树状结构对话流 (ChatFlow)
-- 文件上传处理 (FileUploadButton)
-- 多AI模型管理 (ModelManager)
-- 侧边栏导航 (Sidebar)
-- 会话状态管理 (sessionStore)
-- 数据库上下文 (DatabaseContext)
-- 实用工具集 (fileUtils, exportUtils)
+## How It Works
-
-## 项目结构
+```mermaid
+flowchart LR
+ UI["React + React Flow canvas"] --> Stores["Session and model stores"]
+ Stores <--> DB["Dexie / IndexedDB"]
+ UI --> API["Streaming chat service"]
+ API --> Provider["OpenAI-compatible API"]
+ Files["TXT / Markdown files"] --> UI
+ Stores --> Export["FreeMind .mm export"]
```
+
+- **Conversation graph:** each chat node stores a `parentId`, allowing the UI to reconstruct and render independent branches.
+- **Context assembly:** when a node is sent, TreeAI walks its ancestors and sends only that branch's message chain.
+- **Streaming:** responses are consumed from Server-Sent Events and rendered incrementally in the active node.
+- **Persistence:** sessions, node positions, and model profiles are stored locally through Dexie.
+
+## Compatibility and Data Boundaries
+
+TreeAI currently targets OpenAI-style streaming Chat Completions APIs. A compatible provider must:
+
+- expose `POST {baseUrl}/chat/completions`;
+- accept `Authorization: Bearer ...`;
+- return `data:` Server-Sent Events with OpenAI-like `choices[0].delta.content`, or one of the small fallback text shapes handled in `apiService.ts`;
+- allow direct browser requests through CORS.
+
+TreeAI sends the configured API key directly to that provider. The repository does not include a relay server, analytics service, or cloud account system.
+
+## Project Status and Limitations
+
+TreeAI is an early-stage project (`0.1.0`). The core branching workflow builds and runs, but the following constraints are intentional and user-visible:
+
+- reasoning-model or provider-specific thinking streams are not supported;
+- only `.txt` and `.md` file text extraction is enabled;
+- model credentials are stored locally without encryption;
+- there is no account sync, collaboration, or cross-device backup;
+- automated application tests have not been added yet; CI currently verifies lint and production build;
+- the production bundle is still large and would benefit from code splitting.
+
+See [todo.md](todo.md) and [open issues](https://github.com/Anionex/treeAI/issues) for active work.
+
+## Development
+
+| Command | Purpose |
+|---|---|
+| `npm run dev` | Start the Vite development server. |
+| `npm run lint` | Run ESLint across the project. |
+| `npm run build` | Create a production bundle. |
+| `npm run preview` | Serve the production build locally. |
+
+The main modules are:
+
+```text
src/
-├── App.tsx # 主应用组件
-├── main.tsx # 应用入口
-├── index.css # 全局样式
-├── types.ts # 类型定义
-├── components/ # UI组件
-│ ├── ChatFlow.tsx # 对话流组件
-│ ├── FileUploadButton.tsx # 文件上传
-│ ├── ModelManager.tsx # 模型管理
-│ ├── Sidebar.tsx # 侧边栏
-│ └── nodes/ # 对话节点组件
-├── context/ # 上下文
-│ └── DatabaseContext.tsx
-├── db/ # 数据库相关
-│ └── db.ts
-├── services/ # 服务层
-│ └── apiService.ts
-├── stores/ # 状态存储
-│ ├── modelStore.ts
-│ └── sessionStore.ts
-└── utils/ # 工具函数
- ├── exportUtils.ts
- └── fileUtils.ts
+├── components/ # Canvas, nodes, sidebar, model manager, uploads
+├── context/ # Database loading boundary
+├── db/ # Dexie / IndexedDB persistence
+├── services/ # Streaming OpenAI-compatible requests
+├── stores/ # Session and model state
+└── utils/ # File extraction, notifications, mind-map export
```
+Before opening a pull request, run:
+
+```bash
+npm ci
+npm run lint
+npm run build
+```
+
+## Community
+
+- Questions and setup help: [Support guide](SUPPORT.md)
+- Bugs and feature requests: [Issue forms](https://github.com/Anionex/treeAI/issues/new/choose)
+- Contributions: [Contributing guide](CONTRIBUTING.md)
+- Security reports: [Security policy](SECURITY.md)
+- Community standards: [Code of Conduct](CODE_OF_CONDUCT.md)
+- User-visible changes: [Changelog](CHANGELOG.md)
+- Sponsorship: [Funding guide](FUNDING.md)
+
+## About
+
+TreeAI is maintained by [Anionex](https://github.com/Anionex). If the project helps you explore LLM conversations more clearly, you can support it by starring the repository, sharing it, reporting reproducible issues, contributing focused improvements, or [sponsoring continued development](FUNDING.md).
-## 贡献
-欢迎提交Pull Request,请确保代码通过所有检查。
+Released under the [MIT License](LICENSE).
diff --git a/README_CN.md b/README_CN.md
new file mode 100644
index 0000000..1065061
--- /dev/null
+++ b/README_CN.md
@@ -0,0 +1,160 @@
+