tools

LangChain Tools、MCP Tools与Function Calling 三者分工解析 大模型智能体(Agent)中的工具调用能力,本质是‘意图理解→结构化决策→标准化执行’的技术闭环。Function Calling 是模型内置的结构化意图解析引擎,决定能否识别并生成工具调用指令;LangChain Tools 是面向开发者的工具封装范式,解决多源异构系统在统一框架下的可调度性问题;MCP Tools 则定义了模型与工具间通用的通信契约,确保参数传递、错误处理与流式响应的跨平台一致性。三者分属能力层、工程层与协议层,不可替代亦不可混淆。本文结合7个生产级落地案例,深入剖析其协同机制与典型误用 阅读详情
-> adb控制多个设备
$ adb devices
$ adb -s 33304728528D00EC shell

-> sqlite3
$ sqlite3 LIHGHT.db
sqlite> select * from light_table;
34 | PID: 56
40 | PID: 61
sqlite> insert into lights_table values(42, "PID: 90");

-> 使用dmtracedump和traceview
程序里添加 Debug.startMethodTracing("test");  Debug.stopMethodTracing();
编译通过生成 /sdcard/test.trace
$ adb pull /sdcard/test.trace .
$ sudo apt-get install graphviz
$ dmtracedump test.trace
$ traceview test.trace

-> 使用Monkey 压力测试
$ adb shell 
# monkey -p com.android.camera -v 500

-> 数字证书签名apk
1. 使用keytool生成自签名证书
2. 使用jarsigner工具签名.apk文件
3. 使用zipalign对其应用程序

-> 安装Busybox
下载 http://www.busybox.net/downloads/binaries/1.18.4/
# adb push busybox /system/xbin
# cd /system/xbin
# chmod 755 busybox
# busybox --install
# mount -o remount,rw system system
-> 使用Android Toolbox
# service list
# getprop ro.secure

-> 交叉编译环境
$ cd kernel/
$ vim Makefile
ARCH?=arm
CROSS_COMPILE?=.../toolchain/arm-eabi-4.41/bin/arm-eabi-
$ ls arch/arm/configs
$ make ***_defconfig
$ make menuconfig

-> 安装minicom
$ sudo apt-get install minicom
$ mknod /dev/ttyUSB0 c 188 0
$ minicom
ctrl+A O Serial port setup
  
-> 安装Samba
$ sudo apt-get install samba
$ sudo vim /etc/samba/smb.conf
[Work]
path=/home/...
guest_ok=yes
create_mask=0777
writeable=yes
$ /etc/init.d/samba restart
$ ifconfig 192,168.233.136
Windows映射磁盘驱动 z: \\192.168.233.136\Work

->添加环境变量
$ cp .../out/host/linux-x86/bin/ usr/bin/mydir
$ vim ~/bash.rc 
$ sudo vim /etc/profile
export PATH=$PATH:/usr/bin/mydir/bin

-> 用Dex2jar和JD-GUI反编译apk
1) camera.apk改名为camera.zip
2) 解压camera.zip提取class.dex
3) 用Dex2jar将class.dex转换为classes_dex2jar.jar
4) 把jar包拖入JD-GUI

->  Java 混淆
根目录下project.properties里加一行
proguard.config=proguard.cfg

-> 独立JAR包
生成方法:eclipse右键项目,选择Export,JAR file,不勾选res文件夹和AndroidManifest.xml
加载方法:先把JAR包拷贝到/libs下,再右键项目,选择Build Path -> Add External Archives

理论篇
-> 公钥私钥
通过算法生成一对非对称的公钥和私钥,私钥编码,公钥解密。
公钥可以让每个人都知道,它是apk的数字签名。
可以使用PKI(Public Key Infrastructure)签名程序包。

-> 安装apk原理
src=>.jar=>.class=>class.dex=>.apk
/system/app/下存放系统应用程序,系统启动时会自行安装。
安装时.apk暂存于/data/app/,安装生成.dex于/data/dalvik-cache/,生成程序包于/data/data/下

-> init进程
1) 解析init.rc (一般都在这里修改设备权限)
2) 创建Zygote
3) 初始化property (系统提供/default.prop, /system/build.prop, /system/default.prop, /data/local,prop)
4) 进入循环,监听事件

-> Zygote
1) App_main.cpp
2) AndroidRuntime.cpp (创建虚拟机, 注册JNI函数, 由JNI调用JAVA, 进入JAVA世界)
3) ZygoteInit.java (建立IPC通信, 预加载类和资源, 启动system_server, 循环等待)

-> SystemServer
1) init1 (system_init.cpp)
2) init2 (SystemServer.java)

-> Camera系统
Application=>Camera API=>JNI=>native client<==binder==>native camera service=>camera HAL=>kernel(V4L2=>camera sensor driver)
Camera.apk=>core.jar=>libandroid_runtime.so=>libcamera_client.so<==binder==>libcamera_service.so=>libcamera.so

->  关于handler
1) 应用程序主线程里新建一个默认handler,实质上将handler绑定在主线程上。
private Handler mHandler = new MainHandler(); 括号里无值代表默认looper为主线程,
MainHandler继承Handler,handleMesasage()处理消息。
2) 如果想把handler绑定在另外的线程上而不在主线程上,须设置Looper.
HandlerThread handlerThread = new HandlerThread("another_thread");
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
MyHandler继承Handler,handleMesasage()处理消息。
3) 将线程r加入工作队列MessageQueue,MessageQueue对应Looper和Handler,该线程r与Handler在同一线程
handler.post(r);
Thread r = new Thread(){ ... }

-> root原理

->  Android 框架


实践篇
-> NDK开发
目的:相比JAVA 
1)不容易被反编译 
2)运行速度快,效率高
示例:
1) /src/com/android/test/MainActivity.java: 
public native String idFromJNI();
2) /jni/native.c: 
jstring Java_com_android_test_MainActivity_idFromJNI( JNIEnv* env, jobject thiz )
3) 运行脚本编译生成 /libs/armembi/libnative.so

-> USB转串口通信
App: fd = open("'/dev/ttyACM0', O_RDWR"); read(); write();
Kernel: fd=>VFS=>Char FS=>USB driver(USBD)=>USB core=>USB Host(HCD)
Hardware: HCD=>hardware serial device

-> 智能家居系统
第一周:启动多个Activity,移植扫描头程序 (Zxing精简版)
 UI布局 (xml, res, layout, toast, listView, imageButton, gridView, slideDrawing...)
第二周:  数据库 管理Sqlite,使用intent传递数据,HandleMessage, AsynTask, SharedPreference, 静态变量...
第三周: socket网络通信 (UDP, JSON),添加UI场景控制

-> 网络安防接警系统
handler研究,UI更新滚动条和toast,九宫格解锁与登录逻辑,
封装utils功能类(网络传输,开关,九宫格),
协议设计,解析复杂的JSONArray,多线程同步与并发,
滑动开关布局与显示,轮训更新,布撤防控制
中英文版本设置,Action Bar,优化界面与修改策略,解决Bug

-> NFC刷门禁
-> 蓝牙BLE
-> 移动支付
-> 音频转红外

Ubuntu 18.04 安装 VMware Tools 正确姿势:open-vm-tools 全流程解析 VMware Tools 是虚拟机与宿主机协同运行的核心支撑组件,其本质是通过内核模块(如 vmwgfx、vsock)、用户态守护进程(vmtoolsd)和桌面集成代理(vmware-user-suid-wrapper)实现剪贴板共享、拖放、自动分辨率适配等关键能力。随着 VMware 官方弃用闭源 vmware-tools 并全面转向开源 open-vm-tools,现代 Linux 发行版(尤其是 Ubuntu 18.04 这一首个默认预装 open-vm-tools 的 LTS 版本)已将安装逻辑从图 阅读详情

相关推荐

ACE Tools环境配置指导【macOS】_配置 ace tools

ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等,以下是详细的环境配置指导。

2401_87251447的博客 2199

Ubuntu 16.04 虚拟机安装 VMware Tools

Ubuntu 16.04 虚拟机安装 VMware Tools

程永强 1万+

VASPKIT绘制平面平均电荷差分密度

平面平均密度差(planar-averaged electron density difference)是密度差的衍生。密度差是个三维空间函数,经常通过绘制平面图、等值面图方式图形化考察。虽然这两种图很直观,但平面图会受到截面选取的影响,而等值面图会受到等值面数值(isovalue)选取的影响,因此都有一定任意性,也不容易定量讨论。对于电子转移有比较明确方向的情况,可以绘制平面平均密度差曲线,由此可以清楚地考察垂直于选取的方向上每个截面上的密度差积分值,在定量讨论、对比上比较便利。

weixin_43948934的博客 1万+

Ubuntu系统下 VMware tools安装

Ubuntu安装VMware tools

MR_lihaonan的博客 4万+

UE5抗锯齿实战:如何用TAA解决闪烁问题(附参数优化指南)

本文深入探讨了UE5中TAA(时间性抗锯齿)技术如何有效解决画面闪烁问题,并提供了详细的参数优化指南。通过基础参数配置、高级优化技巧以及材质层面的策略,帮助开发者显著提升视觉质量。文章还介绍了诊断工具链,助力快速定位并解决顽固闪烁问题。

solidity8miner的博客 423

winpcap无法安装提示新版本已经安装解决办法

问题显示如下该问题会导致ensp里的云识别不到网卡可能是因为之前安装了npcap,而且安装时勾选了第四个选项导致无法安装,需要完全卸载npcap解决办法:办法一:在控制面板的程序与卸载里面卸载npcap和winPcap,然后再安装winPcap,如果搜不到往下看办法二:在C:\Windows\SysWOW64目录下搜索wpcap.dll和packet.dll并重命名为wpcap.dll.old和packet.dll.old办法三:如果搜不到这两个文件需要安装win10Pcap才能找到这两个文件下载地址:Wi

qq_73202377的博客 3万+

depot_tools

用于Chromium开发的工具。要支持python 3,需要python 2.7或3.8。 工具 最重要的工具是: fetch:gclient用于签出项目的包装器。使用fetch --help更多的细节。 gclient:元签出工具。考虑repo或git子模块,除非它支持特定于操作系统的规则,例如,签出Android时不要签出Windows依赖项。使用gclient help更多的细节和README.gclient.md。 git cl:与Rietveld或Gerrit交互的代码审查工具。使用gi

顺其自然~专栏 1万+

R语言的下载、安装及环境配置(Rstudio&VSCode)

R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。

zegeai的博客 2万+

VMware TOOLS无法安装怎么办

我觉得作为初学者可能会遇到这样的问题就是当像设置主机和虚拟机的共享文件时,我们下载的VMware tools的我按键是灰色的,没法按照传统的的方式进行下载则我接下来就会帮大家解决这个问题第一先检查一下,自己的yum是否可以连上原 在终端中输入 tree 如果显示无这个命令,则我们使用命令 yum install yum 如果不成功则说明我们的yum没连上原 第二:换成国内阿里云的源,输入这几条命令: sudo curl -o /etc/yum.repos.d/CentOS-

2601_95455928的博客 493

SerDes学习笔记:接收机CTLE均衡架构示例(USB3.1、PCIe3.0\4.0\5.0)

本文分析了USB3.1和PCIe标准中连续时间线性均衡器(CTLE)的设计演进。USB3.1Gen1采用一阶CTLE,其传递函数在长信道下具有有源滤波器特性;Gen2版本延续类似架构,通过Adc参数调节零点频率。PCIeGen3/4保持一阶结构但调整极点位置,Gen5升级为二阶传递函数,扩展Adc调节范围至-5dB~-15dB。研究表明,CTLE能有效改善信号完整性,通过参数优化可平衡信号衰减与码间干扰抑制。

一只豌豆象的博客 623

【忍者算法】从拼积木到最长连续序列:一道别出心裁的数组题目|LeetCode 128 最长连续序列

本题核心:通过预处理数据结构来优化查找!

忍者算法的博客 737

03 LangChain Tools

tool 把普通 Python 函数变成 LangChain 工具,自动从函数签名和 docstring 生成 JSON schema(相当于手写 TOOLS 列表)。bind_tools 返回的是新对象(绑定了工具能力的 LLM),原来的 llm 不变。把工具「绑」到 LLM 上,之后每次 invoke 模型都能选择是否调用工具。用 @tool 注册工具,用 bind_tools 让模型决定何时调用。tools_by_name 执行工具。遍历 tool_calls。构建 messages。

weixin_47138303的博客 249

银河麒麟V10等保加固清单:安全基线配置一篇搞定(附逐项检查表)

通过限制使用SSH直接以root身份登录,禁用公钥登录的方式加强SSH服务的安全性。更改SSH默认端口可在一定程度上防止被黑客使用大批量扫描方式攻击。通过修改SSH的配置文件限制可以使用SSH服务远程管理的主机。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 817

如何在 Ubuntu 24 上安装 Vmware Tools

在 VMware Workstation 17 Pro 17.5.2 build-23775571 上安装 VMware Tools 时,如果按照提示安装后出现文件存在但未正常启动的问题,可以尝试以下方法解决。在 Ubuntu 24.04 LTS 系统中,首先需要卸载原有的 VMware Tools,使用终端输入 sudo apt-get autoremove open-vm-tools 并按提示操作以完成卸载。接着,更新软件包索引,输入 sudo apt-get update。然后,安装 open-vm

YunFeng_NExT的博客 9857

Unity-Mirror网络框架-从入门到精通之Mirror简介

在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计。它使得开发者能够轻松实现网络连接、数据同步和游戏状态管理。本文将深入介绍Mirror的基本概念、如何与其他网络框架进行比较,以及如何从零开始创建一个使用Mirror的简单网络项目。Mirror是一个功能强大的Lite网络框架,旨在替代Unity的UNet网络解决方案。它提供了高效的多玩家架构、简单易用的API,以及良好的社区支持。

TxNet 3087

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VMware Tools系列四:VMware Tools和open-vm-tools有何区别

VMware Tools和open-vm-tools各自特点及安装注意事项

zhangxueyi的专栏 2579

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VMware Tools工具的安装问题

Ubuntu 版本官方 VMware-tools 工具安装失败的问题使用open-vm-tools解决复制粘贴,文件拖拽功能。

liuze的博客 8493

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VMWARE安装VM TOOLS后依旧无法拖拉文件的解决方法

utuntu版本,18.04.5 安装虚拟机后又安装了vm tools。并且所有能配置的都配置了。但是依旧无法实现文件的拖拽。 这些都配置了,还是不行。命令安装vmtools时系统提示 open-vm-tools packages are available from the OS vendor and VMware recommends using open-vm-tools packages. See http://kb.vmware.com/kb/2073803 for more inf

qq_26226375的博客 3万+

browser-tools-mcp 详细安装使用教程和详细说明

本文介绍了Browser Tools MCP工具的安装与使用流程。该工具包含三个组件:MCP服务器、本地Node.js中间件和Chrome扩展程序。要求Node.js v16+环境,安装步骤包括:1)克隆仓库;2)安装Chrome扩展;3)分别启动MCP和Server服务;4)在IDE中添加MCP配置。使用时可让AI助手通过MCP查看页面。文中还解答了常见问题,解释了MCP和Server的分工协作机制:MCP负责浏览器端执行,Server处理后端逻辑,二者共同构成完整功能闭环。检查浏览器控制台颜色可验证是否

weixin_51604420的博客 2648

Google的OR-Tools

TSP问题

天天向上的博客 1714

一款实用的个人 IT 工具箱 IT-TOOLS

IT-TOOLS 是一款为开发人员提供便捷的在线工具集,具有出色的用户体验。它一个免费开源的工具集合,供开发人员和 IT 工作人员使用。

菜鸟厚非 2万+

当在keil破解时出现的TOOLS.INI_TOOLCHAIN NOT INSTALLED的解决办法。

当在keil以及破解过arm或其他时再破解51时,出现的TOOLS.INI_TOOLCHAIN NOT INSTALLED的解决办法。

C591426516的博客 2万+

Ubuntu18.04 使用open-vm-tools 替代vmware-tools

第一步.通过VMware安装VMware Tools 第二步.设置共享文件夹 第三步.前两步就不说了,这一步发现/mnt/hgfs下没有设置的共享文件夹。 之前在ubuntu16,需要安装open-vm-dkms。但在ubuntu18.04,apt搜不到,结果换了各种软件源也没有。 后来发现不需要装。以下是ubuntu18.04解决步骤。 1.执行v...

flyzzq的博客 5917

Ubuntu安装VMware Tools失败

本文介绍了在Ubuntu 24.04 LTS上安装VMware Tools失败后改用open-vm-tools的解决方案。首先需更换为清华源,修改/etc/apt/sources.list.d/ubuntu.sources文件为DEB822格式的镜像源。然后执行sudo apt update和upgrade更新软件包。最后安装open-vm-tools和open-vm-tools-desktop,重启后即可实现屏幕自适应和文件共享功能。该方法解决了原版VMware Tools安装失败的问题,安装后虚拟机与宿

ZYXKN的博客 1631

【免费下载】 虚拟机安装VM-TOOLS指南

本文档旨在提供一种在虚拟机环境中安装VM-TOOLS的方法。VM-TOOLS是VMware提供的一组工具,用于增强虚拟机的性能和用户体验。安装VM-TOOLS后,可以实现屏幕自适应、共享文件夹、拖放功能等诸多实用功能。 ## 安装步骤 1. 确认虚拟机的操作系统环境,确保已安装VMware Workstation或VMware Fusion等虚拟机软件。 2. 在虚拟机界面中,检查是否已安装...

gitblog_06788的博客 1082

如何更新Pro Tools破解版:保持最新功能的简单方法

Pro Tools破解版是许多音乐制作爱好者和音频工程师常用的工具,它提供了专业级的音频编辑和制作功能。本文将为你介绍如何简单有效地更新Pro Tools破解版,让你始终能体验到最新的功能和改进。 ## 🌟 为什么需要更新Pro Tools破解版 使用最新版本的Pro Tools破解版可以带来诸多好处。首先,新的版本通常会修复之前存在的漏洞和bug,提升软件的稳定性和安全性。其次,开发者会不

gitblog_00357的博客 958
上一篇: 高通平台usb充电检测
下一篇: 如何在Linux上配置Java
Winston_Jory
博客等级 码龄14年 467粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值