# thesis-pilot-network **Repository Path**: pyduck/thesis-pilot-network ## Basic Information - **Project Name**: thesis-pilot-network - **Description**: 基于openagents的计算机毕设助手Network - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-14 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 毕设指导智能体网络(Thesis Guidance Agent Network)- README.md ## 1. 项目概述 ### 项目名称与 Network ID - 项目名称:计算机专业毕设全流程辅助智能体网络 - Network ID:`thesis-pilot-network`(对应核心智能体 `thesis_agent`) ### 一句话简介 该 Agent Network 基于 OpenAgents 构建了一款专注于计算机专业毕业设计的协作式智能体,为大学生提供从选题、技术路线规划到开题报告撰写的全流程标准化辅助,助力高效完成符合高校要求的毕设开题工作。 ### 目标用户/使用场景 - 目标用户:计算机及相关专业(AI、Web开发、大数据等方向)即将开展毕业设计的本科生 - 使用场景: 1. 学生缺乏毕设选题思路,需要贴合自身技术栈的可行题目推荐 2. 学生不清楚毕设技术路线规划,需要详细的开发流程与时间节点安排 3. 学生不熟悉开题报告撰写规范,需要符合学术要求的初稿参考 4. 多智能体协作场景下,作为核心综合指导智能体,补充其他专项智能体的响应空缺 ## 2. 技术架构 ### 使用的 OpenAgents 版本与相关技术栈 - 核心框架:OpenAgents(推荐稳定版 v0.8.5 及以上) - 底层通信:gRPC(用于智能体与服务端的远程过程调用) - 智能体运行环境:Python 3.9+ - 依赖技术:YAML 配置解析、大语言模型 API(OpenAI 系列)、OpenAgents Mod 生态 - 辅助工具:符合 OpenAI 兼容标准的大语言模型(配置中为 `openai-gpt-5-mini`) ### Agent Network 设计思路 本项目采用「单核心智能体主导,预留多智能体扩展」的设计思路,核心逻辑如下: 1. 以 `CollaboratorAgent` 为基础构建核心毕设指导智能体,承担综合咨询与全流程辅助的核心职责 2. 通过 YAML 配置文件固化智能体身份、指令准则与运行参数,实现配置与逻辑解耦 3. 基于 gRPC 传输协议保障智能体与 OpenAgents 服务端的高效、可靠通信 4. 启用 OpenAgents 官方 Mod 实现消息收发功能,预留后续接入专项智能体(选题推荐、技术答疑)的协作接口 5. 依托大语言模型的自然语言处理能力,实现符合规则的个性化毕设辅助响应 ### 系统流程图(文字描述,可可视化补充) ``` 用户发起消息(含毕设相关关键词) ↓ OpenAgents 服务端接收消息(thread.channel_message.notification 事件) ↓ 服务端触发智能体过滤器校验(sender_type: "human") ↓ 校验通过:核心毕设智能体(thesis_agent)加载配置指令 ↓ 智能体处理请求: 1. 判断用户是否提供完整信息(专业方向、技术栈、预期难度) 2. 信息完整:按规则生成选题、技术路线、开题报告相关内容 3. 信息缺失:主动引导用户补充关键信息 ↓ 智能体通过 messaging Mod 反馈结果给用户 ↓ 服务端记录消息与响应,完成一次交互 ↓ (可选)用户提出修改意见,触发二次交互流程 ``` ## 3. 智能体设计 ### 核心 Agent 角色与功能说明 本项目核心智能体为 `thesis_agent`(基于 `openagents.agents.collaborator_agent.CollaboratorAgent` 实现),具体设计如下: - 角色定位:资深计算机专业毕设指导老师(10年+指导经验) - 核心功能: 1. 信息收集:主动引导用户补充毕设相关关键信息(专业方向、技术栈、预期难度) 2. 选题推荐:生成符合「难度适中、技术成熟、有创新点」的3个及以上可行毕设题目,包含完整的5大核心模块(题目名称、核心功能、技术亮点、创新点、可落地性分析) 3. 技术路线规划:针对推荐选题,提供详细的整体架构、开发工具、核心模块与分阶段时间节点安排 4. 开题报告辅助:输出符合学术规范的开题报告核心内容,可作为学生初稿参考 5. 反馈优化:针对用户的修改意见,快速调整方案,解答相关疑问 6. 消息过滤:仅响应人类用户的毕设相关咨询,忽略其他智能体的消息,避免无效交互 ### 协作机制与通信方式 1. 内部协作(当前单智能体,预留多智能体扩展): - 作为协作式智能体(CollaboratorAgent),可接收 OpenAgents 服务端分发的线程消息,当其他专项智能体(如选题推荐Agent、技术路线Agent)未响应时,自动承接用户的综合毕设问题 - 通信协议:基于 gRPC 实现与 OpenAgents 服务端的消息交互,遵循 `thread.channel_message.notification` 事件规范 2. 外部交互(智能体与用户): - 交互载体:OpenAgents 消息通道 - 响应格式:结构化分点输出,符合用户可直接参考、整理的规范 ### OpenAgents 高级特性使用 1. Mod 驱动:启用 `openagents.mods.workspace.messaging` Mod,实现智能体的消息收发功能,无需手动开发消息处理逻辑,提升开发效率 2. 事件触发与过滤:通过 `triggers` 配置监听特定事件(`thread.channel_message.notification`),并通过 `filter` 限定仅响应人类用户消息,实现精准交互控制 3. 配置化智能体:通过 YAML 文件固化智能体 `instruction`、`model_name` 等核心参数,实现智能体行为的灵活调整,无需修改底层代码 4. CollaboratorAgent 特性:利用协作智能体的消息承接与响应能力,适配多智能体网络中的角色补位需求 ## 4. 协作场景与创新点 ### 描述设计的协作场景 1. 核心场景:单人用户与核心毕设智能体的一对一全流程辅助 - 用户从「无明确思路」到「获得完整开题方案」的闭环交互,智能体根据用户输入的信息逐步引导、完善输出内容 2. 扩展场景(预留):多智能体协作下的专项分工+综合补位 - 专项智能体1(选题推荐):专注于毕设题目的创新生成与筛选 - 专项智能体2(技术路线):专注于特定技术栈的详细开发指导 - 核心智能体(thesis_agent):不抢占专项智能体的响应优先级,仅在专项智能体未响应、用户提出综合咨询时,提供全面补位响应,避免用户等待无结果 - 协作流程:用户消息 → 服务端分发 → 专项智能体优先响应 → 无专项响应则核心智能体补位 → 统一反馈结果给用户 ### 创新性体现在哪里 1. 行为准则固化,输出标准化:将高校毕设指导的行业经验转化为智能体的可执行行为准则,确保输出内容符合高校要求,避免无效信息,解决了传统毕设指导中「标准不统一、内容不规范」的问题 2. 精准消息过滤,避免无效交互:通过 `sender_type` 过滤,仅响应人类用户,忽略其他智能体消息,在多智能体网络中减少资源消耗与响应混乱,提升交互效率 3. 补位协作机制,提升用户体验:作为综合智能体,预留专项智能体补位逻辑,解决了多智能体协作中「部分专项场景无响应」的痛点,保障用户咨询的闭环解决 4. 配置化开发,易扩展易调整:所有核心参数(模型、指令、触发规则)均通过 YAML 文件配置,无需修改代码即可调整智能体行为,降低后续维护与扩展成本 5. 闭环式辅助,覆盖全流程:从信息收集、选题推荐到技术路线、开题报告,覆盖毕设开题全流程,为用户提供一站式解决方案,提升毕设准备效率 ## 5. 实际应用价值 ### 解决了什么问题 1. 解决学生端痛点: - 毕设选题无思路,难以找到贴合自身技术栈的可行题目 - 技术路线规划模糊,不清楚分阶段开发任务与时间安排 - 开题报告撰写不规范,缺乏学术参考模板,耗时费力 - 寻求线下指导存在时间、空间限制,无法获得即时、个性化的辅助 2. 解决教学端痛点: - 毕设指导老师工作量大,难以对每个学生进行精细化、全流程指导 - 部分指导老师对新兴技术栈不熟悉,无法提供精准的技术路线建议 - 选题与开题报告的标准化审核压力大,智能体输出的规范内容可降低审核成本 3. 解决多智能体协作痛点: - 专项智能体覆盖场景有限,存在响应空缺,核心智能体的补位机制保障了服务的完整性 ### 是否具有可扩展性?未来可如何延伸? 1. 极强的可扩展性,主要体现在以下方面: - 智能体扩展:可快速新增专项智能体(如代码调试Agent、论文格式优化Agent、查重辅助Agent),接入现有网络,实现分工更细致的协作 - 技术栈扩展:通过修改 YAML 配置中的 `model_name` 与 `config` 相关参数,可适配不同厂商的大语言模型(如国产模型、开源模型),无需重构核心逻辑 - 功能扩展:可新增 Mod 插件(如文件导出Mod、数据库存储Mod),实现开题报告导出为Word、用户咨询记录留存等附加功能 - 场景扩展:可适配研究生毕业设计、课程设计等相似场景,仅需修改智能体的 `instruction` 指令即可 2. 未来延伸方向: - 构建毕设资源库:整合优质选题、技术文档、开题报告模板,为智能体提供更精准的输出支撑 - 增加交互可视化界面:开发Web前端,让用户无需熟悉 OpenAgents 命令行,即可通过可视化界面与智能体交互 - 引入多模态能力:支持用户上传现有选题草稿、技术栈清单等文件,智能体进行针对性优化与指导 - 对接高校教务系统:实现毕设题目审核、进度跟踪的智能化对接,提升高校毕设管理效率 ## 6. 开发、发布与使用说明 ### 环境依赖 1. 操作系统:Windows 10+/macOS 12+/Linux(Ubuntu 20.04+ 推荐) 2. Python 版本:3.9.0 - 3.11.x(避免最新版 Python 存在的依赖兼容问题) 3. 核心依赖: - OpenAgents v0.8.0+ - gRPC Python 客户端(grpcio >= 1.50.0) - PyYAML >= 6.0 - 对应大语言模型的 Python SDK(如 openai >= 1.0.0) 4. 其他要求: - 网络通畅(需连接 OpenAgents 服务端与大语言模型 API 服务器) - 足够的磁盘空间(预留至少 1GB 用于安装依赖与存储配置文件) ### 安装与运行步骤(完整命令行流程) 1. 克隆项目代码(替换为实际项目仓库地址) ```bash git clone https://gitee.com/pyduck/thesis-pilot-network.git cd thesis-agent-network ``` 2. 创建并激活 Python 虚拟环境 ```bash # Windows 环境 python -m venv venv venv\Scripts\activate # macOS/Linux 环境 python3 -m venv venv source venv/bin/activate ``` 3. 安装项目核心依赖 ```bash # 安装 OpenAgents pip install openagents>=0.8.5 # 安装其他依赖 pip install grpcio>=1.50.0 pyyaml>=6.0 openai>=1.0.0 ``` 4. 启动 OpenAgents 服务端(本地部署) ```bash # 启动 OpenAgents 核心服务,默认监听 localhost:8700 openagents network start ``` 5. 加载并启动毕设智能体 ```bash # 启动 thesis_agent 智能体 openagents agent start thesis_agent.yaml ``` 6. 使用 在页面界面中输入咨询内容,即可获得智能体的回复: 例子:计算机科学与技术专业 选用java springboot , 中等难度 写一个计算机毕设的开题报告 ### 关键配置 1. 环境变量设置(必填): - 大语言模型 API 密钥:需设置对应模型的环境变量(如 OpenAI API 密钥),避免硬编码泄露 ```bash # Windows 环境(命令行) $env:OPENAI_BASE_URL = "https://xxx/v1" $env:OPENAI_API_KEY="sk-xxxxxxx" # macOS/Linux 环境(命令行) export OPENAI_BASE_URL=https://xxxxxxx/v1 export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` - 可选:设置 OpenAgents 服务端认证令牌(如需权限控制) ```bash # macOS/Linux 环境示例 export OPENAGENTS_AUTH_TOKEN=your_auth_token_here ``` ## 7. 团队与分工 ### 团队成员简介(可选) PyduckGo 个人开发 ## 8. 遇到的挑战与解决方案 ### 开发过程中遇到的主要技术难点 1. 难点:中文启动报错 ```bash Error: 'gbk' codec can't decode byte 0x80 in position 164: illegal multibyte sequence ⠋ ❌ Failed to start agent: 'gbk' codec can't decode byte 0x80 in position 164: illegal multibyte sequence ``` 将yaml文件编码改为GBK可解决 ## 9. 未来展望 1. 拆分成更多智能体,实现不同专业智能体的联动与协作