{"id":31430236,"url":"https://github.com/vnpy/vnag","last_synced_at":"2025-09-30T08:54:52.033Z","repository":{"id":295742035,"uuid":"991093275","full_name":"vnpy/vnag","owner":"vnpy","description":"VeighNa Agent开发框架","archived":false,"fork":false,"pushed_at":"2025-09-26T03:58:09.000Z","size":267,"stargazers_count":13,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T04:25:51.859Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/vnpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","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-05-27T05:48:47.000Z","updated_at":"2025-09-20T01:17:41.000Z","dependencies_parsed_at":"2025-05-27T06:36:46.678Z","dependency_job_id":"3dbef29e-34cd-4c57-a46a-17f08c8e0671","html_url":"https://github.com/vnpy/vnag","commit_stats":null,"previous_names":["vnpy/vnag"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vnpy/vnag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnpy%2Fvnag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnpy%2Fvnag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnpy%2Fvnag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnpy%2Fvnag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vnpy","download_url":"https://codeload.github.com/vnpy/vnag/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnpy%2Fvnag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277658951,"owners_count":25855049,"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-09-30T02:00:09.208Z","response_time":75,"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":[],"created_at":"2025-09-30T08:54:50.790Z","updated_at":"2025-09-30T08:54:52.027Z","avatar_url":"https://github.com/vnpy.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VNAG - Your Agent, Your Data.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src =\"https://img.shields.io/badge/version-0.0.1-blueviolet.svg\"/\u003e\n    \u003cimg src =\"https://img.shields.io/badge/platform-windows|linux|macos-yellow.svg\"/\u003e\n    \u003cimg src =\"https://img.shields.io/badge/python-3.10|3.11|3.12|3.13-blue.svg\" /\u003e\n    \u003cimg src =\"https://img.shields.io/github/license/vnpy/vnag.svg?color=orange\"/\u003e\n\u003c/p\u003e\n\nVeighNa Agent (vnag) 是一款专为AI Agent开发而设计的Python框架，致力于为开发者提供简洁、强大且易于扩展的Agent构建工具。秉承\"Your Agent, Your Data\"的理念，vnag让您能够完全掌控自己的AI Agent和数据流程。\n\n## 项目介绍\n\nvnag是VeighNa团队推出的全新AI Agent开发框架，旨在降低AI Agent开发的门槛，让更多开发者能够快速构建属于自己的智能助手。\n\n### 核心特点\n\n- **🎯 专注于Agent开发**：专门为AI Agent应用场景设计的框架架构\n- **🔌 统一API接口**：支持OpenAI兼容的各种大模型API\n- **🎨 现代化UI**：基于PySide6的美观用户界面\n- **📝 智能对话**：支持Markdown渲染的聊天界面\n- **💾 数据管控**：本地化的对话历史和配置管理\n- **🔧 易于扩展**：清晰的模块化架构，便于二次开发\n\n### 适用场景\n\n- AI聊天机器人开发\n- 智能客服系统\n- 知识问答助手\n- 个人AI助理\n- 企业内部智能工具\n\n## 环境准备\n\n### 系统要求\n\n- **操作系统**：Windows 11、Linux (Ubuntu 22.04+)、macOS 10.14+\n- **Python版本**：Python 3.10 或更高版本（推荐使用Python 3.13）\n- **内存要求**：建议8GB以上\n\n### 依赖组件\n\n- **PySide6**：现代化的Qt GUI框架\n- **OpenAI**：大模型API调用库\n- **Markdown**：文本渲染支持\n\n## 安装步骤\n\n### 从源码安装\n\n1. 克隆项目到本地：\n```bash\ngit clone https://github.com/vnpy/vnag.git\ncd vnag\n```\n\n2. 安装依赖：\n```bash\npip install -e .\n```\n\n## 快速开始\n\n### 运行脚本测试（临时）\n\n说明：当前 UI 仍在调整中，暂不支持 `python -m vnag` 启动。请先拉取 main 分支代码并通过 script 目录中的测试脚本进行验证。\n\n示例（在项目根目录执行）：\n\n```bash\n# 分段器示例\npython vnag/script/run_markdown_segmenter.py\npython vnag/script/run_python_segmenter.py\npython vnag/script/run_cpp_segmenter.py\n```\n\n# 完整RAG项目流程demo\n\n   fork api_agent项目代码，切到vnag_rag_demo目录运行测试脚本：\n\n - 知识库导入（MD/PY/CPP 批量入库 + 计时）\n   ```\n   python run_add_document.py\n   ```\n\n - 发送消息与对比（带RAG / 不带RAG 对比输出）\n   ```\n   python run_send_message.py\n   ```\n\n提示：上述 demo 默认使用本仓库附带的模板与示例路径，可根据本机数据调整脚本中的路径变量。\n\n## 项目结构\n\n```\nvnag/\n├── vnag/                       # 核心模块\n│   ├── __init__.py            # 版本信息\n│   ├── object.py              # 数据对象（Segment/Message/Request等）\n│   ├── segmenter.py           # BaseSegmenter 与通用装箱逻辑\n│   ├── segmenters/            # 分段器实现\n│   │   ├── markdown_segmenter.py\n│   │   ├── python_segmenter.py\n│   │   └── cpp_segmenter.py\n│   ├── vector.py              # BaseVector 接口\n│   ├── vectors/               # 向量库实现\n│   │   └── chromadb_vector.py\n│   ├── gateways/              # 网关实现集合（OpenAI 等兼容实现）\n│   └── utility.py             # 工具函数（读写文件/临时目录等）\n├── vnag/script/               # 快速测试脚本集合（run_*.py）\n├── pyproject.toml             # 项目配置\n├── README.md                  # 项目文档\n└── LICENSE                    # 开源协议\n```\n\n### 核心模块说明\n\n- **segmenters/**：Markdown/Python/C++ 分段器（Python/C++ 为 AST 结构化切分，统一装箱）\n- **vectors/chromadb_vector.py**：ChromaDB 向量存储（CPU 友好，内部DB分批写入）\n- **gateways/openai_gateway.py**：OpenAI 兼容网关（流式输出）\n- **utility.py**：读写 JSON/文本、临时目录管理等\n- **script/**：分段器/入库/发送消息测试脚本\n\n## 开发状态\n\n### 当前功能 ✅\n\n- [x] 分段器：Markdown（按标题）、Python（AST）、C++（libclang AST）\n- [x] 向量库：ChromaDB 集成（内部DB分批写入，避免单批上限）\n- [x] 网关：OpenAI 兼容，支持流式回答\n- [x] 脚本：批量入库（MD/PY/CPP）、RAG 与不带 RAG 的对比发送\n\n### 暂未开放 ⏳\n\n- [ ] UI 启动（`python -m vnag` 尚未开放，UI 正在调整）\n- [ ] 插件系统、多 Agent 会话、文件上传、主题等增强\n\n### 开发路线图 🚧\n\n- [ ] 插件系统架构\n- [ ] 多Agent会话管理\n- [ ] 文件上传支持\n- [ ] 自定义提示词模板\n- [ ] 对话导出功能\n- [ ] 更多UI主题选择\n- [ ] MCP服务扩展支持\n\n## 贡献代码\n\n我们欢迎所有形式的贡献！无论是bug报告、功能建议还是代码贡献。\n\n### 开发流程\n\n1. Fork本项目\n2. 创建您的功能分支：`git checkout -b feature/AmazingFeature`\n3. 提交您的更改：`git commit -m 'Add some AmazingFeature'`\n4. 推送到分支：`git push origin feature/AmazingFeature`\n5. 提交Pull Request\n\n### 代码规范\n\n项目使用以下工具确保代码质量：\n\n- **Ruff**：代码格式化和linting\n- **MyPy**：静态类型检查\n\n在提交代码前，请运行：\n\n```bash\n# 代码检查\nruff check .\n\n# 类型检查\nmypy vnag\n```\n\n### 问题反馈\n\n如果您遇到任何问题或有建议，请通过以下方式联系我们：\n\n- 在GitHub上提交[Issue](https://github.com/vnpy/vnag/issues)\n- 发送邮件至：xiaoyou.chen@mail.vnpy.com\n\n## 版权说明\n\n本项目采用MIT开源协议，详情请参阅[LICENSE](LICENSE)文件。\n\n---\n\n**立即开始您的AI Agent开发之旅！🚀**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnpy%2Fvnag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvnpy%2Fvnag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnpy%2Fvnag/lists"}