summer
summer copied to clipboard
Wechaty Summer 导师报名 2022
导师列表
#2
导师姓名
李彬彬
导师邮箱
导师在社区贡献时使用的邮箱
导师贡献的社区仓库地址
- https://github.com/wechaty/wechaty
- https://github.com/wechaty/puppet-xp
组织详情
组织名称
Wechaty
组织类型
开源社区
官网地址
https://wechaty.js.org/
组织 logo
https://wechaty.js.org/img/wechaty-logo.svg
公共邮箱
编程语言标签
Python,Go,JavaScript,Java
涉及技术领域标签
NodeJS,NLP,AI, RPA; Conversational AI
组织简介
Wechaty 是一个用于构建聊天机器人的开源软件。它是一个现代的对话式 RPA SDK,聊天机器人开发者可以用仅仅几行代码来创建一个机器人。
详细介绍
Wechaty 是一个开源聊天机器人框架 SDK,具有高度封装、高可用的特性,支持 NodeJs, Python, Go 和 Java 等多语言版本。在过去的 4 年中,服务了数万名开发者,收获了 Github 的 8000 Star。同时配置了完整的 DevOps 体系并持续按照 Apache 的方式管理技术社区。
项目列表
本届可以提交 4 个项目
项目 1
项目名称
优化 Wechaty-Puppet-xp 项目的稳定性
项目支持报名语言/Project Support Language
- 仅中文(Chinese only)
项目主导师/Project Mentor
李彬彬
项目描述
Puppet-xp 是 Wechaty 社区中一个供开发者免费接入个人微信的 puppet,是在微信生态下入门 Chatbot 的良好选择之一。 Puppet-xp 使用 Frida 框架接入个人微信,使前端开发者也可以参与到 puppet 的开发过程中。然而因 Frida 内部机制及当前代码实现方式原因,存在两个问题,需要进行解决:
- 当前其核心代码使用 JavaScript 编写,且只能使用单文件,不利于编写与维护大量代码。不能在运行前进行有效的验证,运行起来错误的代码会直接导致程序崩溃。且造成程序崩溃后,没有有效的信息来快速判断引发错误的代码位置,非常不利于开发和使用,因此需要使用 TypeScript 对核心代码进行重构,便于维护和开发。
- 存在内存释放不及时的问题,会导致长时间运行的 Chatbot 占用内存会越来越多,不利于 Chatbot 的稳定运行,因此需要解决内存占用问题。
需要功能增强:
- 适配支持自动登录的个人微信版本,如
3.5.x。
需要注意:
- 此项目不是纯粹的 Nodejs 项目,涉及到动态追踪调试,需要学习一定的汇编和 C++ 知识。
难度/Difficulty
- 进阶/Advanced
涉及技术领域标签/Labels of Technical Field
; Wechaty,Frida,TypeScript,动态追踪调试
编程语言标签/Labels of Programming Language
; TypeScript
项目产出要求/Project Output Requirements
| 产出要求概述 | 具体产出细节 |
|---|---|
| 调查 Agent 长时间运行后的内存占用情况、运行稳定性 | 1. 对 agent 的各功能进行测试,统计各功能引发的内存占用额外增长情况。 2. 跟踪统计代码中各处申请内存的生命周期。 3.对比重构前后的测试情况,总结性能和稳定性提升情况。 |
| 使用 TypeScript 对 Agent 进行全面重构 | 1. 将现有 agent js 代码拆分为不同功能模块,并使用 TypeScript 重构。 2. 解决使用 TypeScript 重构后的 agent 可能产生的程序运行崩溃问题。 |
| 适配个人微信 3.5.x 以后的版本 | 适配 3.5.x 以后的版本,以支持自动登录功能。需确保各功能可在新版本中的可用性。 |
项目技术要求/Project Technical Requirements
| 技术要求概述 | 技术要求细节 |
|---|---|
| Frida | 熟悉 Frida 框架,了解其内存管理机制,熟悉 Frida-compile 工具 |
| TypeScript | 熟练使用 TypeScript 编写和组织代码 |
| 动态跟踪调试 | 熟练使用动态跟踪调试工具,快速定位异常问题 |
项目成果仓库/Project Repository
| 最终成果仓库 |
|---|
| https://github.com/wechaty/puppet-xp |