{"id":26873699,"url":"https://github.com/iammm0/growforever","last_synced_at":"2026-04-02T02:21:31.811Z","repository":{"id":284589147,"uuid":"955248599","full_name":"iammm0/growforever","owner":"iammm0","description":"（本人毕设！！征集好的项目标识！感谢小黄同学帮我绘制了明暗色模式下的背景图）growforever 通过 GPT+GNN 混合模型与 Neo4j 图数据库，将用户输入的想法、经历与情感结构化为可视化知识图谱，帮助持续探索与管理个人认知网络。","archived":false,"fork":false,"pushed_at":"2025-09-15T09:55:10.000Z","size":9760,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"feature-new","last_synced_at":"2025-09-15T10:32:21.478Z","etag":null,"topics":["docker-compose","dockerfile","fastapi","gnn","gpt","mui","nextjs","python","sqlalchemy","typescript","zustand"],"latest_commit_sha":null,"homepage":"https://growforever.physicistscard.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iammm0.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-26T10:47:33.000Z","updated_at":"2025-09-15T09:55:14.000Z","dependencies_parsed_at":"2025-07-08T05:27:03.013Z","dependency_job_id":"ef66465c-ae97-4fc3-aab9-f7df45316064","html_url":"https://github.com/iammm0/growforever","commit_stats":null,"previous_names":["iammm0/next-typescript-start","iammm0/growforever","iammm0/growforever-main"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/iammm0/growforever","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iammm0%2Fgrowforever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iammm0%2Fgrowforever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iammm0%2Fgrowforever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iammm0%2Fgrowforever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iammm0","download_url":"https://codeload.github.com/iammm0/growforever/tar.gz/refs/heads/feature-new","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iammm0%2Fgrowforever/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001982,"owners_count":26083243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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":["docker-compose","dockerfile","fastapi","gnn","gpt","mui","nextjs","python","sqlalchemy","typescript","zustand"],"created_at":"2025-03-31T09:19:53.433Z","updated_at":"2025-10-09T19:10:14.914Z","avatar_url":"https://github.com/iammm0.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"web/app/favicon.ico\" alt=\"GrowForever Logo\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n# GrowForever（永恒之森）\n\n[![version](https://img.shields.io/badge/version-v0.2.0-blue.svg)](https://github.com/iammm0/growforever-main/releases/tag/v0.2.0)\n[![license](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n\u003e 用图结构 AI 将个人创意与心理语义有机构建为认知森林\n\n## 简介\n\nGrowForever 是一个基于 GPT+GNN 的交互式软件系统，利用图神经网络和语言模型，将用户的想法、记忆与情感结构化存储并以可视化图谱呈现，帮助用户持续探索与管理个人认知网络。\n\n## 技术架构\n\n```plaintext\nGrowForever/\n├── api/               # 后端服务 (FastAPI)\n│   ├── core/          # 核心配置与数据库连接\n│   ├── models/        # SQLAlchemy 模型定义 (User, Seed, Node, Edge)\n│   ├── routers/       # API 路由\n│   ├── services/      # GPT, GNN, TGT 服务封装\n│   └── utils/         # 安全、JWT、依赖注入等工具\n├── prompts/          # 系统与场景提示词\n├── web/               # 前端 (Next.js + React)\n│   ├── src/           # 源码\n│   ├── public/        # 静态资源\n│   └── package.json   # 前端依赖\n├── docker-compose.yml # 本地环境 (Postgres, Neo4j, Qdrant)\n├── environment.yml    # Conda 环境 (学术模型)\n├── LICENSE\n└── README.md\n```\n\n## 核心模块\n* **循环文本-图结构**（TGT 模块）\n  * `tgt_model`: Text→Graph→Text\n* **GPT 服务切换**\n  * 支持本地 HF 模型、OpenAI API、以及远程自定义服务\n  * 远程聊天：`RemoteGPTService` 可选择 DeepSeek、Grok3 或 GPT-4 提供商\n* **GNN 服务切换**\n  * 支持本地 Graph Transformer、远程自定义服务\n* **图数据存储**（Neo4j）\n* **前端交互**（Next.js 15 + ReactFlow + Framer Motion）\n\n## 快速启动\n\n1. 克隆仓库并进入目录：\n```bash\ngit clone https://github.com/iammm0/growforever.git\ncd growforever\n```\n\n\n2. 配置环境变量（.env）：\n```dotenv\n# PostgreSQL 配置\nPOSTGRES_HOST=127.0.0.1\nPOSTGRES_PORT=25432\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=iammm\nPOSTGRES_DB=growforever\n\n# Neo4j 配置\nNEO4J_URI=bolt://127.0.0.1:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=your_password\n\n# Qdrant 配置\nQDRANT_URL=http://127.0.0.1:16333\nQDRANT_API_KEY=\nQDRANT_PREFER_GRPC=false\n\n# GPT 可选: default | hf | openai | remote\nGPT_SERVICE_TYPE=default\nHF_GPT_MODEL=gpt2\nOPENAI_API_KEY=your-openai-key\nOPENAI_ENGINE=text-davinci-003\nGPT_API_URL=http://your-remote-gpt/api\nGPT_API_KEY=remote-gpt-key\n\n# API keys for RemoteGPTService providers\nDEEPSEEK_API_KEY=\nGROK3_API_KEY=\nCHATGPT_API_KEY=\n\n# GNN 可选: default | remote\nGNN_SERVICE_TYPE=default\nGNN_MODEL_PATH=microsoft/graphormer\nGNN_API_URL=http://your-remote-gnn/api\nGNN_API_KEY=remote-gnn-key\n\n# 是否用 GPU\nUSE_CUDA=true\n```\n\n3. 启动依赖服务：\n```bash\ndocker-compose up -d\n```\n\n\n4. 安装前端依赖并启动：\n```bash\ncd web\nnpm install\nnpm run dev\n````\n\n5. 启动后端 API：\n```bash\ncd api\nconda activate growforever\nconda env create -f api/environment.yml\nconda env update -f api/environment.yml --prune\npip install -r requirements.txt\nuvicorn main\\:app --reload\n```\n\n## 前端开发\n\n- `/src/app`：主要页面组件，基于 Next.js App Router 组织页面与布局。  \n- **GraphCanvas**：基于 ReactFlow 实现图结构的渲染与交互，支持节点拖拽、缩放、选中与自定义样式。  \n- **PromptPanel**：提示词输入区域，支持历史提示记录、模板选择与一键发送。  \n- **Sidebar**：侧边栏展示选中节点详情（标题、描述、媒体、元数据），可编辑、删除、扩展节点。  \n- **状态管理**：使用 Zustand 管理全局状态（图数据、用户信息、服务配置），并可持久化少量缓存。  \n- **样式与主题**：采用 MUI 定制主题（深绿/白/黑）并结合 CSS Modules 保持 UI 风格统一，可按需覆盖。  \n- **API 调用**：统一封装在 `lib/fetcher.ts`，处理请求、缓存与错误提示。(尚未封装)\n\n## 后端开发\n\n- `/core/config.py`：Pydantic 设置读取 `.env`\n- `/core/postgres.py`：SQLAlchemy 初始化\n- `/core/neo4j.py` \u0026 `/core/qdrant.py`：图存储客户端\n- `/models/graph.py`：Seed, Node, Edge, User 模型\n- `/routers`：各模块路由（auth, seed, nodes, services, tests）\n- `/services`：GPT, GNN, TGT 服务实现\n- `/utils`: 安全、JWT、依赖注入\n\n## 开发计划\n\n| 阶段        | 内容                                  |\n|-----------|-------------------------------------|\n| 1. TGT 模块 | 集成 text2graph2text 微调模型             |\n| 2. 前端图谱   | 实现 ReactFlow 拖拽式图结构交互               |\n| 3. 存储搭建   | 配置 Postgresql + Neo4j + Qdrant，完成健康检查 API | \n| 4. 集成测试   | 端到端测试、性能调优、安全加固                     |\n| 5. 部署发布   | Docker 化、文档 \u0026 演示                    |\n\n## 许可证\n\n本项目采用 MIT 许可，详情见 [LICENSE](LICENSE)。\n\n---\n\n*作者：Mingjun Zhao*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiammm0%2Fgrowforever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiammm0%2Fgrowforever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiammm0%2Fgrowforever/lists"}