{"id":48379451,"url":"https://github.com/xerrors/Yuxi","last_synced_at":"2026-04-21T09:00:50.968Z","repository":{"id":258516836,"uuid":"824541776","full_name":"xerrors/Yuxi","owner":"xerrors","description":"结合知识库管理的 多租户 Agent Harness 平台。 An agent harness that integrates a LightRAG knowledge base and knowledge graphs. Build with LangChain v1 + Vue + FastAPI, support DeepAgents、MinerU PDF、Neo4j 、MCP.","archived":false,"fork":false,"pushed_at":"2026-04-15T00:20:15.000Z","size":44582,"stargazers_count":4905,"open_issues_count":72,"forks_count":673,"subscribers_count":40,"default_branch":"main","last_synced_at":"2026-04-15T02:27:35.197Z","etag":null,"topics":["docker","fastapi","harness","kbqa","kgqa","llms","neo4j","rag","vue"],"latest_commit_sha":null,"homepage":"https://xerrors.github.io/Yuxi/","language":"Python","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/xerrors.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-07-05T10:57:35.000Z","updated_at":"2026-04-15T00:20:21.000Z","dependencies_parsed_at":"2024-10-19T11:20:49.568Z","dependency_job_id":"561e01ac-47af-4dc8-a193-2ae07e5d557d","html_url":"https://github.com/xerrors/Yuxi","commit_stats":null,"previous_names":["xerrors/yuxi-know","xerrors/yuxi"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/xerrors/Yuxi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xerrors%2FYuxi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xerrors%2FYuxi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xerrors%2FYuxi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xerrors%2FYuxi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xerrors","download_url":"https://codeload.github.com/xerrors/Yuxi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xerrors%2FYuxi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32084721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T06:27:27.065Z","status":"ssl_error","status_checked_at":"2026-04-21T06:27:21.250Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","fastapi","harness","kbqa","kgqa","llms","neo4j","rag","vue"],"created_at":"2026-04-05T19:00:33.147Z","updated_at":"2026-04-21T09:00:50.955Z","avatar_url":"https://github.com/xerrors.png","language":"Python","funding_links":[],"categories":["Python","Open-source repos"],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e语析 - 基于大模型的知识库与知识图谱智能体开发平台\u003c/h1\u003e\n\n[![](https://img.shields.io/badge/Docker-2496ED?style=flat\u0026logo=docker\u0026logoColor=ffffff)](https://github.com/xerrors/Yuxi/blob/main/docker-compose.yml)\n[![](https://img.shields.io/github/issues/xerrors/Yuxi?color=F48D73)](https://github.com/xerrors/Yuxi/issues)\n[![License](https://img.shields.io/github/license/bitcookies/winrar-keygen.svg?logo=github)](https://github.com/xerrors/Yuxi/blob/main/LICENSE)\n[![DeepWiki](https://img.shields.io/badge/DeepWiki-blue.svg)](https://deepwiki.com/xerrors/Yuxi)\n[![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat\u0026color=00b0aa\u0026labelColor=000000\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K\u0026logoColor=ffffff)](https://zread.ai/xerrors/Yuxi)\n[![demo](https://img.shields.io/badge/demo-00A1D6.svg?style=flat\u0026logo=bilibili\u0026logoColor=white)](https://www.bilibili.com/video/BV1DF14BTETq/)\n\n\n\u003ca href=\"https://trendshift.io/repositories/24335\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/24335\" alt=\"xerrors%2FYuxi | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n![arch](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260331204645479.png)\n\n\n**图由 Nano Banana 2 生成*\n\n## 核心特性\n\n- **智能体开发**：基于 LangGraph，支持子智能体、Skills、MCPs、Tools 与中间件机制\n- **知识库（RAG）**：多格式文档上传，支持 Embedding / Rerank 配置及知识库评估\n- **知识图谱**：基于 LightRAG 的图谱构建与可视化，支持属性图谱并参与智能体推理\n- **平台与工程化**：Vue + FastAPI 架构，支持暗黑模式、Docker 与生产级部署\n\n\n## 你可以用语析做什么？\n\n- 构建 **面向真实业务的 RAG + 知识图谱智能体**\n- 将 PDF / Word / Markdown / 图片快速转化为可推理的知识库\n- 自动（LightRAG）或手动构建知识图谱，并用于智能体推理\n- 使用 LangGraph v1 构建多智能体 / 子智能体系统\n\n## 最新动态\n\n\n\u003cdetails\u003e\n\u003csummary\u003e[2026/04/01] v0.6.0 版本发布\u003c/summary\u003e\n\n### 新增\n\n- 重构后端代码 src -\u003e backend/package/yuxi\n- 重构文档解析，统一文档解析体验，并新增 Parser 类\n- 新增 LITE 模式启动，启动时不加载知识库、知识图谱相关模块，可以使用 make up-lite 快捷启动\n- 新增沙盒环境，详见后续文档更新，统一沙盒虚拟路径前缀默认值为 `/home/gem/user-data`\n- 新增基于沙盒的文件系统，前端工作台可以查看文件系统，支持预览（文本、图片、PDF、HTML）、下载文件\n- 新增 `present_artifacts` 内置工具：Agent 可将 `/home/gem/user-data/outputs/` 下的结果文件显式写入 LangGraph state 的 `artifacts` 字段，前端支持在输入框顶部以默认折叠的堆叠卡片展示本轮交付物文件，并保持可下载、可预览能力\n- 新增基于沙盒的知识库只读映射，按“用户可访问知识库 ∩ 当前 Agent 已启用知识库”暴露原始文件与解析后的 Markdown\n- 重构附件系统，直接集成在了沙盒文件系统中，附件上传后直接落盘到沙盒挂载目录\n- 优化前端流式消息体验：新增通用 `useStreamSmoother` 调度层，统一平滑 Agent runs SSE、普通聊天流与审批恢复流中的 `loading` chunk\n- 优化项目文档说明，并添加贡献指南\n- 重构前端 Agent 路由结构，体验更加顺畅，切换更加自然（类 chatgpt 体验）\n- 新增 API Key 认证功能，支持外部系统通过 API Key 调用系统服务\n- 新增 subagents 的支持，支持在 web 中添加 subagents，以及两个内置的子智能体\n- 新增内置Skills reporter，并移除内置 Agent reporter，数据库报表将由 Skills 完成\n- 新增内置 Skills `deep-reporter`，用于指导生成科研报告、行业调研和其他深度分析类长报告\n- 重构内置 Skills/MCP/Subagents 安装/添加/移除机制：内置 skill 支持按需安装、基于 `version + content_hash` 的更新提示与覆盖确认，不再使用服务器级开关切换\n- 新增知识库 PDF、图片的预览功能\n- 重构后端测试目录结构：按 `unit / integration / e2e` 分层迁移现有测试，拆分全局 `conftest.py`，统一测试入口为 `uv run --group test pytest`，并新增独立测试规范文档 `docs/vibe/testing-guidelines.md`\n\n\n### 修复\n\n- 修复 Lightrag 知识库修改配置后，模型没有切换的 bug [#580](https://github.com/xerrors/Yuxi/issues/580)\n- 修复数据库获取接口未过滤文件字段而导致的数据包过大的情况\n- 修复 Thread 未绑定 agent_config_id 导致的历史对话切换后上下文配置错乱的问题\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e[2026/03/01] v0.5.0 版本发布\u003c/summary\u003e\n\n详见 [changelog](docs/develop-guides/changelog.md)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e[2025/12/19] v0.4.0 版本发布\u003c/summary\u003e\n\n详见 [changelog](docs/develop-guides/changelog.md)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e[2025/11/05] v0.3.0 版本发布\u003c/summary\u003e\n\n详见 [changelog](docs/develop-guides/changelog.md)\n\n\u003c/details\u003e\n\n![image-20260326130753514](https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260326130753514.png)\n\n## 快速开始\n\n克隆代码，并初始化\n\n```\ngit clone --branch v0.6.0 --depth 1 https://github.com/xerrors/Yuxi.git\ncd Yuxi\n\n# Linux/macOS\n./scripts/init.sh\n\n# Windows PowerShell\n.\\scripts\\init.ps1\n```\n\n然后需要使用 docker 启动项目\n\n```\ndocker compose up --build\n```\n\n等待启动完成后，访问 `http://localhost:5173`\n\n## 示例与演示\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260326125852369.png\" width=\"100%\" alt=\"首页\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e首页\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/d3e4fe09-fa48-4686-93ea-2c50300ade21\" width=\"100%\" alt=\"Dashboard 统计\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003eDashboard 统计\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260326130528866.png\" width=\"100%\" alt=\"智能体配置\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e智能体配置\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/06d56525-69bf-463a-8360-286b2cf8796f\" width=\"100%\" alt=\"知识库调用\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e知识库调用\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/0548d89c-15a3-47cf-ba87-1b544f7dd749\" width=\"100%\" alt=\"新建知识库\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e新建知识库\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/21396d04-376b-4e9a-8139-eec8c3cc915a\" width=\"100%\" alt=\"知识库管理\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e知识库管理\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/fc46a14b-16fb-47ea-84a0-148a451f3012\" width=\"100%\" alt=\"知识图谱\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e知识图谱可视化\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/d8b3de51-2854-455b-956f-2ae2d8d5f677\" width=\"100%\" alt=\"项目文档\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e项目使用文档\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://xerrors.oss-cn-shanghai.aliyuncs.com/github/image-20260326130404306.png\" width=\"100%\" alt=\"拓展管理\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e拓展管理（Skills）\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/9305d7a4-663b-4e5d-a252-211d6caa019b\" width=\"100%\" alt=\"拓展管理（MCPs）\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e拓展管理（MCPs）\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/13bd22ea-ddde-4262-8c29-69fb948bce44\" width=\"100%\" alt=\"拓展管理（Skills）\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e用户/部门权限管理\u003c/strong\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/user-attachments/assets/cc886b04-719e-4abd-807d-e9955080003d\" width=\"100%\" alt=\"拓展管理（MCPs）\"/\u003e\n      \u003cbr/\u003e\n      \u003cstrong\u003e模型供应商配置\u003c/strong\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n## 致谢\n\n本项目参考并引用了以下优秀开源项目，在此致以诚挚的感谢：\n\n- [LightRAG](https://github.com/HKUDS/LightRAG) - 直接引入作为图谱构建与检索的基础包\n- [DeepAgents](https://github.com/IDEA-CCNL/DeepAgents) - 直接引入作为深度智能体框架\n- [DeerFlow](https://github.com/bytedance/deer-flow) - 参考了其 Sandbox 智能体架构的实现思路\n- [RAGflow](https://github.com/infiniflow/ragflow) - 参考了其文档 Text Chunking 的分块策略\n- [LangGraph](https://github.com/langchain-ai/langgraph) - 多智能体编排框架，本项目的核心架构基础\n- 项目 Logo 由 Nano Banana 2 生成\n\n## 参与贡献\n\n感谢所有贡献者的支持！\n\n\u003ca href=\"https://github.com/xerrors/Yuxi/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=xerrors/Yuxi\u0026max=100\u0026columns=10\" /\u003e\n\u003c/a\u003e\n\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=xerrors/Yuxi)](https://star-history.com/#xerrors/Yuxi)\n\n## 📄 许可证\n\n本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**如果这个项目对您有帮助，请不要忘记给我们一个 ⭐️**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxerrors%2FYuxi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxerrors%2FYuxi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxerrors%2FYuxi/lists"}