文章总结: 本文详述了NeuralAgent本地化部署流程,涵盖环境搭建、数据库迁移及前后端启动步骤。重点分享了将默认AI服务替换为本地Ollama的配置修改,以及解决bcrypt密码验证超过72字节报错的具体代码调整,最终实现基于本地LLM的桌面自动化应用搭建。 综合评分: 84 文章分类: AI安全,安全工具
NeuralAgent本地化部署实现AI智能应用
原创
TP微客 TP微客
技术分享交流
2026年1月30日 12:57 福建
1 前言
NeuralAgent 是一个基于大语言模型(LLM)的自主 AI 智能体(Autonomous Agent),专为在真实桌面环境中执行复杂任务而设计。它能够像人类一样操作浏览器、理解界面、规划步骤并实时决策,实现从“指令”到“完成”的端到端自动化。
2 搭建过程
(1)下载neuralagent
下载NeuralAgent相关项目文件
git clone https://github.com/mosdehcom/neuralagent.git
进入NeuralAgent目录
cd neuralagent/backend
(2)创建并激活python虚拟环境
为了不和本地的相关环境冲突,可以新建一个虚拟的环境
# 创建虚拟环境python -m venv venv# 激活虚拟环境 (macOS/Linux)执行source venv/bin/activate# 激活虚拟环境 (Windows)执行venv\Scripts\activate
(3)安装相关依赖
使用如下命令进行安装:
pip install -r requirements.txt
复制文件夹下的.env.example文件到.env,并填上实际的内容
主要是填上postgresql的相关信息和ollama相关信息
我这里是用到本地的ollama环境,所以我填的地址是ollama的连接地址
(4)运行数据库迁移
执行如下命令
alembic upgrade head
可以进行数据库迁移操作,注意要确保你本地的postgresql是可以访问的状态
(5)启动后端服务器
通过如下命令就能运行后端的脚本
uvicorn main:app --reload --host 0.0.0.0 --port 8000
(6)前端桌面应用配置
通过如下命令安装Electron和React相关依赖
cd neuralagent/desktopnpm install
然后进入neuralagent-app目录下再次执行
cd neuralagent-appnpm install
复制neuralagent-app目录下的.env.example文件为.env
修改内容如下:
(7)设置守护进程和安装相关依赖
按照如下命令执行:
# 在desktop目录cd ..# 进入aiagent目录cd aiagent# 创建并激活虚拟环境python -m venv venv#linux系统的话执行:source venv/bin/activate # Windows系统的话执行:venv\Scripts\activate# 安装依赖pip install -r requirements.txt# 退出虚拟环境deactivate
(8)启动桌面应用
按照如下命令执行:
cd ../npm start
执行之后,可能会报错,根据实际的情况,调整以下代码,例如:
#agentic_tool.py文件的这个llm获取的内容,修改成以下内容:(因为原本是使用国外的AI,我修改成了本地的ollama访问,虽然这里写的是azure_openai,但实际是本地的AI) # 动态初始化 LLM,根据 .env 中 COMPUTER_USE_AGENT_MODEL_TYPE 决定model_type = os.getenv("COMPUTER_USE_AGENT_MODEL_TYPE", "openai").lower()model_id = os.getenv("COMPUTER_USE_AGENT_MODEL_ID", "gpt-4o") if model_type == "azure_openai": llm= AzureChatOpenAI( azure_deployment=model_id, api_version=os.getenv("OPENAI_API_VERSION", "2024-12-01-preview"), temperature=0.3, max_tokens=None, timeout=None, max_retries=2, )elif model_type == "openai": llm= ChatOpenAI( model=model_id, api_key=os.getenv("OPENAI_API_KEY"), base_url=os.getenv("OPENAI_BASE_URL"), temperature=0.3, max_tokens=None, timeout=None, max_retries=2, )else: raise ValueError(f"Unsupported COMPUTER_USE_AGENT_MODEL_TYPE: {model_type}")
(9)授权注册
运行好之后,会出来一个框,要求注册用户的相关信息
点击注册,并填写相关信息
但是这里注册之后,会遇到一些问题(例如提示密码超过72字节错误,实际没超过),又要修改一下backend\utils\security.py代码
# backend/utils/security.pyimport bcryptdef hash_password(password: str) -> str: """Hash a plain-text password using bcrypt.""" # 自动截断到 72 字节(bcrypt 原生限制) password_bytes = password.encode('utf-8') if len(password_bytes) > 72: password_bytes = password_bytes[:72] # bcrypt.gensalt() 默认 cost=12 salt = bcrypt.gensalt() hashed = bcrypt.hashpw(password_bytes, salt) return hashed.decode('utf-8')def verify_password(plain_password: str, hashed_password: str) -> bool: """Verify a plain-text password against a hashed password.""" plain_bytes = plain_password.encode('utf-8') if len(plain_bytes) > 72: plain_bytes = plain_bytes[:72] hashed_bytes = hashed_password.encode('utf-8') return bcrypt.checkpw(plain_bytes, hashed_bytes)
(10)开始使用
可以使用提示内容,访问本地的ollamaAI进行协助操作应用
我目前是研究到这里,还需要继续修改源码,才能打通全部逻辑,感兴趣的可以自行修改代码,并研究下
欢迎关注「技术分享交流」公众号 ,如果有建议或者疑问的话,欢迎大家评论留言,如果喜欢公众号文章的话可以点【在看】,您的鼓励就是我的动力哈!!!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:技术分享交流 TP微客 TP微客《NeuralAgent本地化部署实现AI智能应用》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论