This commit is contained in:
eric
2024-03-04 21:09:34 +08:00
parent 9ad87c432b
commit ce01b688aa
62 changed files with 1076 additions and 111 deletions

23
2024.md Normal file
View File

@@ -0,0 +1,23 @@
莲花山 书城 会展 商超(买衣服/吃饭) 自驾游 报团 ==>香港/广州/
dingtalk amzon boss(g) wework
raspberry pi 云手机/微信机人 AIGC
---
~~设置软路由802~~
pve小主机
~~拿1把椅子~~
厨房置物架 / 京东 菜刀套装
冰箱-清洁 朴朴买菜
京东:床垫
菜鸟:4件套 床上用品
208==>丢垃圾 [晚上]

31
702.md Normal file
View File

@@ -0,0 +1,31 @@
浴室灯泡
<u>~~拖鞋/ 毛巾/沐浴露/洗面奶~~</u>
~~牙膏/牙刷~~
~~洗手液~~
- ~~寄快递 -斌哥~~
- ~~迪卡农 popu珊~~ (线上)
- ~~设置AI主机~~
设置orangepi 5
- ~~清洗书桌~~
~~买插座[床头]~~
~~京东-纸箱--==>宝安~~
~~剪辑视频--上传tk/油管~~
~~木屋烧烤~~
伸缩棍-窗帘
<u>~~莲花山+会展~~</u>
公司架构 (减资,注销)

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,55 @@
##
## 可爱猫机器人
> 使用ihttp框架
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312011716903.png" title="" alt="" width="359">
目前市面上免费的机器人还是很多,
github上开源的都把chatgpt接入作为核心配置,吸引使用
测试过基于windows hook的,文档和能力还差那么一点
比如我想要分享卡片式链接🔗,它就没能力,而作者靠爱发电,佛系迭代中
最终还是选择了`可爱猫机器人`
---
## 唯一标识符wxid
> 不得已使用win hook框架的原因
基于xposed的安卓端的机器人,能力很强大
但是开发者给用户的使用模式,基本是基于GUI图形设置
没有办法对业务逻辑进行编程自动化
最最重要的,就是拿到用户的`wxid`核心标识符,以及其他信息
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312011716142.png" title="" alt="" width="399">
---
## 如何使用
> 需要win服务器部署
- 可爱猫
- 绿色软件指定版本
- web服务代码
可爱猫本身启动后,会有http server,接受到的消息会触发回调,类webhook
而它自己本身的http服务,我们提交post请求,就能触发业务操作了
所以本质上,还是要会web开发
对想要界面配置的小白不友好 (曾经的wetool就是界面配置典范)
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312011716997.png" title="" alt="" width="334">

View File

@@ -1,3 +1,33 @@
投放广告
旅行
联盟营销 图
硬件产品 相机/云手机
虚拟账号
app开发
博客 (广告)- youtube
社群
电子书
线下活动
美女
[徒步] ==> l莲花山

View File

@@ -0,0 +1,144 @@
h5 后端支付代码
```
```
机器人代码
```
from fastapi import FastAPI
from pydantic import BaseModel
import requests
import json
# -*- coding: utf-8 -*-
import time
import hashlib
from urllib.parse import urlencode, unquote
import random
print(round(random.random(),1) )
num=round(random.random(),1)
# intNum=random.randint(10,90)+100
# print(int(intNum))
"""
JSAPI 支付
"""
key = "zA2hBU6pv6CIBzkW" # 填写通信密钥
mchid = "1561724891" # 特写商户号
# 构造签名函数
def sign(attributes):
attributes_new = {k: attributes[k] for k in sorted(attributes.keys())}
return (
hashlib.md5(
(unquote(urlencode(attributes_new)) + "&key=" + key).encode(
encoding="utf-8"
)
)
.hexdigest()
.upper()
)
class Item(BaseModel):
event: str
EventGroupMsg: None = None
prirobot_wxidce: None = None
type: None = None
# event
# "":"EventGroupMsg",//事件标示(当前值为群消息事件)
# "robot_wxid":"wxid_5hxa04j4z6pg22",//机器人wxid
# "robot_name":"",//机器人昵称,一般为空
# "type":1,//1/文本消息 3/图片消息 34/语音消息 42/名片消息 43/视频 47/动态表情 48/地理位置 49/分享链接 2000/转账 2001/红包 2002/小程序 2003/群邀请
# "from_wxid":"18900134932@chatroom",//群id群消息事件才有
# "from_name":"微群测",//群名字
# "final_from_wxid":"sundreamer",//发该消息的用户微信id
# "final_from_name":"遗忘悠剑o",//微信昵称
# "to_wxid":"wxid_5hxa04j4z6pg22",//接收消息的人id一般是机器人收到了也有可能是机器人发出的消息别人收到了那就是别人
# "msg":"图片https://b3logfile.com/bing/20201024.jpg",//消息内容(string/array) 使用时候根据不同的事件标示来定义这个值,字符串类型或者数据类型
# "money":0.01 //金额,只有"EventReceivedTransfer"事件才有该参数
app = FastAPI()
@app.get("/")
async def root():
payload2 = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 1, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '1284190763721151116', 'msg': '1111111'}
# 网址返回wxid以及时间戳
mag = {"title:": '标题', "text": '活动小助手', "target_url": 'https://hackrobot.cn', "pic_url": "https://aiimg.hackrobot.cn/1698288150.2901459.png",
"icon_url": "https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-Screenshot-2023-05-22-at-17.26.38-32x32.png"}
link = {'event': 'SendLinkMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msg': mag}
# r = requests.post("http://192.168.31.25:8090", data=payload)
# r = requests.post("http://192.168.31.25:8090", json=payload)
# 获取好友列表
getinfo = {'event': 'GetFriendList', 'robot_wxid': 'wxid_haqoszjheyuz22'}
xmllink = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 49, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '', 'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '894964783959555477', 'msg': '''<msg>\r\n <fromusername>wxid_haqoszjheyuz22</fromusername>\r\n <scene>0</scene>\r\n <commenturl></commenturl>\r\n <appmsg appid="" sdkver="0">\r\n <title></title>\r\n <des>活动小助手</des>\r\n <action>view</action>\r\n <type>5</type>\r\n <showtype
>0</showtype>\r\n <content></content>\r\n <url>https://hackrobot.cn</url>\r\n <dataurl></dataurl>\r\n <lowurl></lowurl>\r\n <lowdataurl></lowdataurl>\r\n <recorditem>\r\n <![CDATA[]]>\r\n </recorditem>\r\n <thumburl>https://aiimg.hackrobot.cn/1698288150.2901459.png</thumburl>\r\n
<messageaction></messageaction>\r\n <extinfo></extinfo>\r\n <sourceusername></sourceusername>\r\n
<sourcedisplayname></sourcedisplayname>\r\n <commenturl></commenturl>\r\n <appattach>\r\n
<totallen>0</totallen>\r\n <attachid></attachid>\r\n <emoticonmd5></emoticonmd5>\r\n
<fileext></fileext>\r\n <aeskey></aeskey>\r\n </appattach>\r\n <weappinfo>\r\n
<pagepath></pagepath>\r\n <username></username>\r\n <appid></appid>\r\n <appservicetype>0</appservicetype>\r\n </weappinfo>\r\n <websearch />\r\n </appmsg>\r\n <appinfo>\r\n
<version>1</version>\r\n <appname>Window wechat</appname>\r\n </appinfo>\r\n</msg>\r\n'''}
file={'event': 'SendFileMsg','robot_wxid': 'wxid_haqoszjheyuz22', 'to_wxid': 'wxid_4413224132412', 'msg': 'C:\\Users\\Administrator\\Documents\\Applet\\static\\.mp3'}
# r = requests.post("http://192.168.31.25:8090", data=json.dumps(link))
print('item')
return "item"
@app.post("/")
async def create_item(item: dict):
print('item', item)
# 自动接受好友
# 接受好友自动回复:link链接
return "item1"
@app.post("/friend")
async def friend(item: dict):
print('friend', item)
return "item1"
@app.post("/payh5")
async def payh5(item: dict):
print('item', item)
timenew = str(int(time.time()))
order = {
"mchid": mchid,
"body": timenew, # 订单标题
"out_trade_no": timenew, # 订单号
"total_fee": 100, # 金额,单位:分
# "openid": "o7LFAwWu3OhSrs49-1x5cSlFm0D8", # 通过openid接口获取到的openid
# "notify_url": ""
# "callback_url":'https://aiimg.hackrobot.cn/api'
}
order["callback_url"] =item['callback_url']
order["openid"] =item['openid']
order["sign"] = sign(order)
request_url = "https://payjs.cn/api/jsapi"
# 返回结果中包含`jsapi`字段该字段的值即是前端发起时所需的6个支付参数
headers = {"content-type": "application/x-www-form-urlencoded"}
response = requests.post(request_url, data=order, headers=headers)
if response:
print(response.json())
return response.json()
```

View File

@@ -0,0 +1,77 @@
## 个人支付
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312021904467.png)
> 各种平台的体验
- payjs
- yungouos
- 面包多
payjs很多年前,就注册了,不过一直没有实际的业务
最核心还是因为小程序支付的流程太糟糕了:需要A跳转 B程序结算,主体都不一样,用户敬而远之
虽然最近尝试了yungouos,它的`半屏拉起支付收银台`体验就很不错
但是呢,平台的客服对支付申请具有薛定谔的否决权:`不适合`三个字,不给出具体的理由,个人也表示不推荐这家
同样能支持个人开发者以api形式调用支付的,还有`面包多`,这个先留个坑,占位
---
## web移动端:H5
> 最快速的产品形式
无论是微信小程序,独立app,还是浏览器插件,PC桌面客户端,大多数都倾向于webview套娃
需要原生能力的时候,就调用官方提供sdk
> 我为什么选择h5?
前面提到过认证/备案,以及支付问题,折腾和审核的时间耗不起,公司的成本相对较高
在私域的场景下,核心解决2个问题
- 登录态
- 微信支付
登录态可以在用户在微信内访问H5时,拿到`openid`
昨天提到可爱猫机器人,就可以拿到`用户的wxid,头像以及昵称`
通过发送卡片链接的形式,用户无感
> 卡片链接测试
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312021904883.png)
支付目前基于payjs的`jssdk`可以原生唤醒收结算台
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312021905211.png" title="" alt="" width="237">
---
## 业务产品
国内的微信小程序和独立app,个人开发者就要需要`认证`+`备案`
是个好事,但也不那么好
原先小程序比较开放,个人主体可以涉及很多业务,而现在管局备案的要求就是:个人主体只允许展示类,简单的小工具,稍微有点业务性质就必须注册公司,ps:个体户与公司还是有区别的,比如:`对公账户`验证打款
> 技术栈选型
前端javascript,后端python
> 核心的开发框架
- 前端taro多端框架+taroui (react)
- 后端fastapi+mysql
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312021904001.png" title="" alt="" width="330">

View File

@@ -105,8 +105,6 @@ adb shell settings delete global global_http_proxy_port
adb reboot
```
---
其他问题

View File

@@ -4,8 +4,6 @@
- TOKEN: xxxxxxxxxxxxxxx
- EncodingAESKey: xxxxxxxxxxxxxxx
### 1. 获取`signature`接口:
`https://chatbot.weixin.qq.com/openapi/sign/{TOKEN}`
@@ -15,12 +13,8 @@
signature: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6IjI2NTQ0NzYzLTk1NzctNDZlNS1iOTFlLTA3NjAyMzhiMjUwNSIsImlhdCI6MTU4NjA5Nzc4MSwiZXhwIjoxNTg2MTAxMzgxfQ.qugHipCyBnONQRGY2fadm1LH-bLi0TrVqam3vZTpRcI
expiresIn: 7200
}
```
> signature 也可以在本地通过jwt签名得到
```
@@ -36,14 +30,10 @@ const signature = jwt.encode(
);
```
### 2. 智能对话接口:
`https://chatbot.weixin.qq.com/openapi/aibot/{TOKEN}`
| 字段 | 类型 | 是否必填 | 描述 |
| --------- | ------ | ---- | --------------------- |
| signature | string | 是 | 上一步获取到的 signature 返回值 |

View File

@@ -18,8 +18,6 @@ Device Start End Sectors Size Type
483655679+1=483655680
bs一定要=512
```

View File

@@ -0,0 +1,55 @@
## electron桌面客户端
> whisper字幕生成
以自动生成字幕为例,前些年,写过一个python脚本,就是利用ffmpeg切片,借助google翻译api,将没有字幕的视频生成双语srt字幕.由于需要魔法上网,且使用的免费api并不是很稳定,所以宣传小阵子后,最终自用
而openapi的whisper,只需要借助消费级显卡GPU,加大模型,就可以本地识别,无论是体验,还是成本,就强大太多太多了
当然,AIGC的应用,如果仅仅是字幕,肯定不够,所以我写了个小工具,核心实现自动化业务
- 字幕生成
- 图片生成
- 配音生成
- 片头片尾特效,以及水印
- 一键发布+多平台
无论是wordpress还是油管,都可以在只有一个中文基础的背景下
自动化多语言,面向更多用户
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312232040410.png" title="" alt="" width="404">
---
## RPA自动化+AIGC
> 能自动的就不要手动
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312232041737.png)
选择electron的原因是,开发客户端,可以跨平台,既有web开发的优势,也能突破浏览器的限制,获取硬件交互,native api调用,比如
- 系统通知
- 快捷方式,托盘常驻
- 音视频处理
- 屏幕截图.录制
- 文件存储
- 自动更新
AIGC的能力,就不用阐述了,无论是文本,图片,音频,视频,各种都在快速迭代突破

12
微信AI /qq.md Normal file
View File

@@ -0,0 +1,12 @@
```javascript
var box2 = document.getElementsByTagName('meta');
for (var i=0;i<box2.length;i++)
{
console.log(box2[i])
if(box2[i].getAttribute('name')==='apple-mobile-web-app-capable'){
box2[i].setAttribute('content','no')
}
}
```

78
微信AI /redroid13.sh.md Normal file
View File

@@ -0,0 +1,78 @@
```
#!/bin/bash
uname -r5.15.0-1013-oracle #这里最好>=5.0#
本脚本仅用于redroid开启magisk和谷歌play服务
#
redroid_overlay及dobox镜像文件均来源于https://github.com/ChisBread/malior
apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder" #进程通信模块
modprobe ashmem_linux #内存共享模块
curl -fsSL https://get.docker.com | bash
if [[ $EUID -ne 0 ]]; then
echo "此脚本必须以 root 用户身份运行。"
exit 1
fi
# 创建目录 /opt/redroidplus_overlay
echo "创建目录 /opt/redroidplus_overlay..."
mkdir -p /opt/redroidplus_overlay || { echo "创建目录失败。"; exit 1; }
# 删除 base_overlay.zip 文件
echo "正在删除 base_overlay.zip 文件..."
rm /opt/redroidplus_overlay/base_overlay.zip
# 下载 base_overlay.zip 文件到 /opt/redroidplus_overlay 目录
echo "正在下载 base_overlay.zip 文件到 /opt/redroidplus_overlay 目录..."
wget
https://ghproxy.com/https://github.com/ChisBread/malior/releases/download/redroid-overlays-latest/base_overlay.zip
-P /opt/redroidplus_overlay || { echo "下载文件失败。"; exit 1; }
# 解压 base_overlay.zip 文件
echo "正在解压 base_overlay.zip 文件..."
unzip -o /opt/redroidplus_overlay/base_overlay.zip -d
/opt/redroidplus_overlay || { echo "解压文件失败。"; exit 1; }
# 删除 base_overlay.zip 文件
echo "正在删除 base_overlay.zip 文件..."
rm /opt/redroidplus_overlay/base_overlay.zip || { echo "删除文件失败。";
exit 1; }
# 查找 /opt/redroid_overlay/ 目录下的所有文件,并生成用于挂载的参数
echo "查找 /opt/redroidplus_overlay/
目录下的所有文件,并生成用于挂载的参数..."
OVERLAY_BIND=$(find /opt/redroidplus_overlay/ -type f | sed -e
's@\(.*opt.*redroidplus_overlay\)\(.*\)@-v \1\2:\2@g')
if [[ -z $OVERLAY_BIND ]]; then
echo "查找文件失败或找不到任何文件。"
exit 1
fi
# 启动容器
echo "正在启动容器..."
docker run -itd --privileged --pull always --restart=always --name android
-v /mnt/doboxplus:/data $OVERLAY_BIND -v /dev/net/tunplus:/dev/tun -v
/dev/mali0plus:/dev/mali0 -p 999:5900 -p 12342:5555
redroid/redroid:13.0.0-latest androidboot.hardware=mt6891 ro.secure=0
ro.boot.hwc=GLOBAL ro.ril.oem.imei=861503068361145
ro.ril.oem.imei1=861503068361145 ro.ril.oem.imei2=861503068361148
ro.ril.miui.imei0=861503068361148 ro.product.manufacturer=Xiaomi
ro.build.product=chopin redroid.width=720 redroid.height=1280
redroid.density=320 redroid.gpu.mode=guest --rm
registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303010 || { echo
"启动容器失败。"; exit 1; }
echo "脚本执行完成。"
```
```
echo "查找 /opt/redroidplus_overlay/
目录下的所有文件,并生成用于挂载的参数..."
OVERLAY_BIND=$(find /opt/redroidplus_overlay/ -type f | sed -e
's@\(.*opt.*redroidplus_overlay\)\(.*\)@-v \1\2:\2@g')
if [[ -z $OVERLAY_BIND ]]; then
echo "查找文件失败或找不到任何文件。"
exit 1
fi
```

View File

@@ -0,0 +1,21 @@
```
var box2 = document.getElementsByTagName('meta');
for (var i=0;i<box2.length;i++)
{
console.log(box2[i])
if(box2[i].getAttribute('apple-mobile-web-app-capable'){
box2[i]
}
}
```
var box2 = document.getElementsByTagName('meta');
for (var i=0;i<box2.length;i++)
{
console.log(box2[i])
if(box2[i].getAttribute('apple-mobile-web-app-capable'){
box2[i]getAttributecontent
}
}

View File

@@ -14,10 +14,6 @@
遍历通讯录:好友列表
http与wx模块结合
- http自动通过好友申请 备注wxid

View File

@@ -0,0 +1,41 @@
## 通过wordpress文章获取wxid,昵称.头像
windows机器人把 wxid/昵称/头像,返回到 wp的文章url参数中
用户阅读,就会把数据存储到localstorage
---
```javascript
<script>
let URL = window.location.href
function getUrlParams(url) {
// 通过 ? 分割获取后面的参数字符串
let urlStr = url.split('?')[1]
// 创建空对象存储参数
let obj = {};
// 再通过 & 将每一个参数单独分割出来
let paramsArr = urlStr.split('&')
for(let i = 0,len = paramsArr.length;i < len;i++){
// 再通过 = 将每一个参数分割为 key:value 的形式
let arr = paramsArr[i].split('=')
obj[arr[0]] = arr[1];
}
return obj
}
let newWxid= window.localStorage.getItem('wxid')
if(!!newWxid){
console.log(' wxid',newWxid)
//window.alert(newWxid)
}else{
console.log(' storage wxid not',)
console.log(getUrlParams(URL))
let newParams=getUrlParams(URL)
if(!!newParams.wxid){
window.localStorage.setItem('wxid',newParams.wxid)
}else{
console.log(' url wxid not',)
}
}
</script>
```

41
微信AI /云手机4.md Normal file
View File

@@ -0,0 +1,41 @@
## redroid gpu加速
> malior-droid方案
在 Armbian 或 Ubuntu 上安装 malior 和 malior-droid
**malior**通过 Vulkan 开箱即用地支持 mali (ARM GPU) blob并且是用于 mali 系统的容器化游戏打包程序。
该项目可以直接访问https://github.com/ChisBread/malior
**malior-droid Android 层)构建在****malior**之上
- 支持rk339 /rk3588芯片
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202401112202649.png" title="" alt="" width="205">
## 手动安装
Ubuntu Jammy 22.04 Desktop`由`Spooky and others`- 2023-06-01 测试,以下命令安装 Docker
```
sudo su
apt install docker docker.io
```
## 安装 malor-droid
```
wget -O - https://github.com/ChisBread/malior/raw/main/install.sh > /tmp/malior-install.sh
bash /tmp/malior-install.sh
rm /tmp/malior-install.sh
malior install malior-droid
```
## 运行 malior-droid
```
malior-droid restart
adb connect localhost:5555
scrcpy -s localhost:5555
```

65
微信AI /云手机5.md Normal file
View File

@@ -0,0 +1,65 @@
## 云手机5 三种redroid方案
> 各有优势
这里以RK3588芯片的开发板为例,讲解3种redroid方案
- ubuntu一键脚本redroid.sh解决magisk以及google框架
- arm安装pve,然后pve安装ubuntu on arm官方系统
- armbian系统:malior-droid自动化安装
---
## 1. ubuntu一键脚本
redroid支持在ubuntu20.04/22.04上一键安装docker
带有`magisk与google`框架的一键sh脚本,请在公众号后台回复关键词`安卓`
核心代码
```
# 查找 /opt/redroid_overlay/ 目录下的所有文件,并生成用于挂载的参数
echo "查找 /opt/redroidplus_overlay/
目录下的所有文件,并生成用于挂载的参数..."
OVERLAY_BIND=$(find /opt/redroidplus_overlay/ -type f | sed -e
's@\(.*opt.*redroidplus_overlay\)\(.*\)@-v \1\2:\2@g')
if [[ -z $OVERLAY_BIND ]]; then
echo "查找文件失败或找不到任何文件。"
exit 1
fi
```
---
## 2. arm安装pve虚拟机,以及ubuntu on arm
> pve的安装步骤比较繁琐
arm版本的pve成功后,可以安装 ubuntu on arm (也可以安装windows on arm)
由于kvm做了虚拟化,所以安装的系统不会被限制,可以是`官方系统`
出现问题,容易找到答案
千元级别的开发板,性能还是不错的,主要是针对android兼容性好
>
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202401112231220.png)
---
## 3. malior-droid自动安装
malior-droid是一个mail gpu集成方案
1/2解决magisk和google框架的问题,但没有将rk芯片的gpu用起来
尤其是rk3599, 如果gpu没有驱动,cpu负载爆满,安卓几乎无法使用
> 此方案适合低成本打造云手机
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202401112231284.png" title="" alt="" width="226">

View File

@@ -0,0 +1,89 @@
## 低成本部署四种操作系统
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312101825559.png" title="" alt="" width="350">
> 使用arm开发板, 不超过千元
基于pve部署4个操作系统如下:
- ubuntu
- windows
- openwrt
- android(基于linux的docker),可root,magisk
> 系统简述
ubuntu作为服务器,能部署的开源软件就非常多了比如`wordpress`,`nextcloud`等等,使用宝塔面板这种图形管理工具,小白也能轻松上手
基于docker的安卓:`redroid`,历史文章也写了几篇关于云手机的介绍,在此不过多赘述
由于使用orangepi 5plus开发板,带有`2.5G高速双网口`,天然具备`软路由`的优势
这里主要强调的是`windows on arm`
> 为什么不用x86芯片的mini主机?
这里谈谈最核心的优势
- arm省电,功耗低,usb即可供电
- 对安卓支持友好,x86芯片app运行可能有兼容性问题
- 开发板体积小,方便携带
> 是否支持mac os?
针对arm我只是列举了4种操作系统,但x86会更多一种,也就是基于kvm的`macos`
目前市场上mini主机,也是千元级
也就是抛开npu/GPU高性能场景需求
2k的预算,基于pve虚拟化就足以`部署5+`以上的操作系统,且兼顾arm/x86架构
---
## windows on arm
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312101825510.png" title="" alt="" width="407">
> 基于arm的pve虚拟化
如果只是针对X86芯片,那其实没啥好说的,很好部署
这里要注意几个问题
- 暂未找到windows server的 arm pve方案
- 要主动fix win系统自动更新的问题
- 部分exe运行会闪退,需要设置`完全仿真`
> 测试XX机器人
- 可爱猫,lovelycat
- 鲲鹏框架:kunpeng
- WeChatFerry
测试了几款机器人,都是可以正常运行(挂机)的,鲲鹏界面如下:
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312101826054.png" title="" alt="" width="259">
---
## 远程控制
> ssh/scrcpy/rustdesktop
针对linux服务器,ssh协议即可,云手机使用scrcpy图形结合adb命令,而windows/macos等办公场景的需求,就可以使用开源的rustdesktop
当然,rustdesktop其实都适用: Windows、macOS、Linux、iOS、Android、Web
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312101826419.jpg" title="" alt="" width="442">
再折腾远控之前,用`向日葵`过渡一下也是不错的

View File

@@ -1,85 +1,78 @@
```
from fastapi import FastAPI
from pydantic import BaseModel
import requests
import json
class Item(BaseModel):
event: str
EventGroupMsg: None = None
prirobot_wxidce: None = None
type: None = None
# event
# "":"EventGroupMsg",//事件标示(当前值为群消息事件)
# "robot_wxid":"wxid_5hxa04j4z6pg22",//机器人wxid
# "robot_name":"",//机器人昵称,一般为空
# "type":1,//1/文本消息 3/图片消息 34/语音消息 42/名片消息 43/视频 47/动态表情 48/地理位置 49/分享链接 2000/转账 2001/红包 2002/小程序 2003/群邀请
# "from_wxid":"18900134932@chatroom",//群id群消息事件才有
# "from_name":"微群测",//群名字
# "final_from_wxid":"sundreamer",//发该消息的用户微信id
# "final_from_name":"遗忘悠剑o",//微信昵称
# "to_wxid":"wxid_5hxa04j4z6pg22",//接收消息的人id一般是机器人收到了也有可能是机器人发出的消息别人收到了那就是别人
# "msg":"图片https://b3logfile.com/bing/20201024.jpg",//消息内容(string/array) 使用时候根据不同的事件标示来定义这个值,字符串类型或者数据类型
# "money":0.01 //金额,只有"EventReceivedTransfer"事件才有该参数
app = FastAPI()
@app.get("/")
async def root():
payload2 = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 1, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '1284190763721151116', 'msg': '1111111'}
# 网址返回wxid以及时间戳
mag = {"title:": '标题', "text": '活动小助手', "target_url": 'https://hackrobot.cn', "pic_url": "https://aiimg.hackrobot.cn/1698288150.2901459.png",
"icon_url": "https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-Screenshot-2023-05-22-at-17.26.38-32x32.png"}
link = {'event': 'SendLinkMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msg': mag}
# r = requests.post("http://192.168.31.25:8090", data=payload)
# r = requests.post("http://192.168.31.25:8090", json=payload)
# 获取好友列表
getinfo = {'event': 'GetFriendList', 'robot_wxid': 'wxid_haqoszjheyuz22'}
xmllink = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 49, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '', 'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '894964783959555477', 'msg': '''<msg>\r\n <fromusername>wxid_haqoszjheyuz22</fromusername>\r\n <scene>0</scene>\r\n <commenturl></commenturl>\r\n <appmsg appid="" sdkver="0">\r\n <title></title>\r\n <des>活动小助手</des>\r\n <action>view</action>\r\n <type>5</type>\r\n <showtype
>0</showtype>\r\n <content></content>\r\n <url>https://hackrobot.cn</url>\r\n <dataurl></dataurl>\r\n <lowurl></lowurl>\r\n <lowdataurl></lowdataurl>\r\n <recorditem>\r\n <![CDATA[]]>\r\n </recorditem>\r\n <thumburl>https://aiimg.hackrobot.cn/1698288150.2901459.png</thumburl>\r\n
<messageaction></messageaction>\r\n <extinfo></extinfo>\r\n <sourceusername></sourceusername>\r\n
<sourcedisplayname></sourcedisplayname>\r\n <commenturl></commenturl>\r\n <appattach>\r\n
<totallen>0</totallen>\r\n <attachid></attachid>\r\n <emoticonmd5></emoticonmd5>\r\n
<fileext></fileext>\r\n <aeskey></aeskey>\r\n </appattach>\r\n <weappinfo>\r\n
<pagepath></pagepath>\r\n <username></username>\r\n <appid></appid>\r\n <appservicetype>0</appservicetype>\r\n </weappinfo>\r\n <websearch />\r\n </appmsg>\r\n <appinfo>\r\n
<version>1</version>\r\n <appname>Window wechat</appname>\r\n </appinfo>\r\n</msg>\r\n'''}
file={'event': 'SendFileMsg','robot_wxid': 'wxid_haqoszjheyuz22', 'to_wxid': 'wxid_4413224132412', 'msg': 'C:\\Users\\Administrator\\Documents\\Applet\\static\\.mp3'}
# r = requests.post("http://192.168.31.25:8090", data=json.dumps(link))
print('item')
return "item"
@app.post("/")
async def create_item(item: dict):
print('item', item)
return "item1"
@app.post("/friend")
async def friend(item: dict):
print('friend', item)
return "item1"
from fastapi import FastAPI
from pydantic import BaseModel
import requests
import json
class Item(BaseModel):
event: str
EventGroupMsg: None = None
prirobot_wxidce: None = None
type: None = None
# event
# "":"EventGroupMsg",//事件标示(当前值为群消息事件)
# "robot_wxid":"wxid_5hxa04j4z6pg22",//机器人wxid
# "robot_name":"",//机器人昵称,一般为空
# "type":1,//1/文本消息 3/图片消息 34/语音消息 42/名片消息 43/视频 47/动态表情 48/地理位置 49/分享链接 2000/转账 2001/红包 2002/小程序 2003/群邀请
# "from_wxid":"18900134932@chatroom",//群id群消息事件才有
# "from_name":"微群测",//群名字
# "final_from_wxid":"sundreamer",//发该消息的用户微信id
# "final_from_name":"遗忘悠剑o",//微信昵称
# "to_wxid":"wxid_5hxa04j4z6pg22",//接收消息的人id一般是机器人收到了也有可能是机器人发出的消息别人收到了那就是别人
# "msg":"图片https://b3logfile.com/bing/20201024.jpg",//消息内容(string/array) 使用时候根据不同的事件标示来定义这个值,字符串类型或者数据类型
# "money":0.01 //金额,只有"EventReceivedTransfer"事件才有该参数
app = FastAPI()
@app.get("/")
async def root():
payload2 = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 1, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '1284190763721151116', 'msg': '1111111'}
# 网址返回wxid以及时间戳
mag = {"title:": '标题', "text": '活动小助手', "target_url": 'https://hackrobot.cn', "pic_url": "https://aiimg.hackrobot.cn/1698288150.2901459.png",
"icon_url": "https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-Screenshot-2023-05-22-at-17.26.38-32x32.png"}
link = {'event': 'SendLinkMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '',
'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msg': mag}
# r = requests.post("http://192.168.31.25:8090", data=payload)
# r = requests.post("http://192.168.31.25:8090", json=payload)
# 获取好友列表
getinfo = {'event': 'GetFriendList', 'robot_wxid': 'wxid_haqoszjheyuz22'}
xmllink = {'event': 'SendTextMsg', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 49, 'from_wxid': 'wxid_haqoszjheyuz22', 'from_name': '', 'final_from_wxid': 'wxid_haqoszjheyuz22', 'final_from_name': '', 'to_wxid': 'wxid_4413224132412', 'msgid': '894964783959555477', 'msg': '''<msg>\r\n <fromusername>wxid_haqoszjheyuz22</fromusername>\r\n <scene>0</scene>\r\n <commenturl></commenturl>\r\n <appmsg appid="" sdkver="0">\r\n <title></title>\r\n <des>活动小助手</des>\r\n <action>view</action>\r\n <type>5</type>\r\n <showtype
>0</showtype>\r\n <content></content>\r\n <url>https://hackrobot.cn</url>\r\n <dataurl></dataurl>\r\n <lowurl></lowurl>\r\n <lowdataurl></lowdataurl>\r\n <recorditem>\r\n <![CDATA[]]>\r\n </recorditem>\r\n <thumburl>https://aiimg.hackrobot.cn/1698288150.2901459.png</thumburl>\r\n
<messageaction></messageaction>\r\n <extinfo></extinfo>\r\n <sourceusername></sourceusername>\r\n
<sourcedisplayname></sourcedisplayname>\r\n <commenturl></commenturl>\r\n <appattach>\r\n
<totallen>0</totallen>\r\n <attachid></attachid>\r\n <emoticonmd5></emoticonmd5>\r\n
<fileext></fileext>\r\n <aeskey></aeskey>\r\n </appattach>\r\n <weappinfo>\r\n
<pagepath></pagepath>\r\n <username></username>\r\n <appid></appid>\r\n <appservicetype>0</appservicetype>\r\n </weappinfo>\r\n <websearch />\r\n </appmsg>\r\n <appinfo>\r\n
<version>1</version>\r\n <appname>Window wechat</appname>\r\n </appinfo>\r\n</msg>\r\n'''}
file={'event': 'SendFileMsg','robot_wxid': 'wxid_haqoszjheyuz22', 'to_wxid': 'wxid_4413224132412', 'msg': 'C:\\Users\\Administrator\\Documents\\Applet\\static\\.mp3'}
# r = requests.post("http://192.168.31.25:8090", data=json.dumps(link))
print('item')
return "item"
@app.post("/")
async def create_item(item: dict):
print('item', item)
return "item1"
@app.post("/friend")
async def friend(item: dict):
print('friend', item)
return "item1"
```
运营程序
```
uvicorn main:app --reload --port 8082 --host 0.0.0.0
```

View File

@@ -9,6 +9,8 @@ wxid转正充值
获取好友列表=>数据分析
群成员列表=>数据分析 "type":1,//1/文本消息 3/图片消息 34/语音消息 42/名片消息 43/视频 47/动态表情 48/地理位置 49/分享链接 2000/转账 2001/红包 2002/小程序 2003/群邀请
---
系统好友请求通知
{'event': 'EventFriendVerify', 'robot_wxid': 'wxid_haqoszjheyuz22', 'robot_name': '', 'type': 37, 'from_wxid': '', 'from_name': '', 'final_from_wxid': 'wxid_4413224132412', 'final_from_name': 'Eric', 'to_wxid': 'wxid_haqoszjheyuz22', 'msgid': '', 'msg': {'from_content': '我是Eric', 'from_nickname': 'Eric', 'from_wxid': 'wxid_4413224132412', 'he
adimgurl': 'http://wx.qlogo.cn/mmhead/ver_1/nBWOwvDWAQ8IzdQagjkiaNSWyyYA6nia6CJ3sxsA2tRGyibSyXQIoI41tVnibZt8kYWPF0Vt0IcX4oHyZlfXFD4icV6Jich5XkPs4XXEgYuNROMMjjGCvuVvSzlSEJ6XVOP1sm/132', 'msgid': '7786859767399705248', 'scene': 6, 'sex': 1, 'to_name': '轮回', 'to_wxid': 'wxid_haqoszjheyuz22', 'type': 6, 'v1': 'v3_020b3826fd030100000000005d7426e8a87817

65
微信AI /小模型.md Normal file
View File

@@ -0,0 +1,65 @@
## tinyllama
> 可部署在边缘计算设备的小模型
开源地址:`https://github.com/jzhang38/TinyLlama`
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022331373.png)
采用了与 Llama 2 完全相同的架构和分词器。这TinyLlama 可以在许多基于 Llama 的开源项目中即插即用。此外TinyLlama 结构紧凑,参数仅为 1.1B。这种紧凑性使其能够满足需要有限计算和内存占用的多种应用程序的需求
类似的小模型还有
- 微软开源的phi-2
- 阿里开源的Qwen-1.8B
---
## 开发板CPU测试
> 基于RK3588芯片
下载模型
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022331798.png)
测试数据,根据问题的长度,可以达到10-20token/s
这在不依靠GPU计算的环境下,已经是非常好的速度了
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022331103.png)
但是阿里的通义千问,就慢的令人发指,完全不能正常使用
---
## 使用llama.cpp部署模型
```python
pip install llama-cpp-python
```
参考示例
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022331464.png)
---
## api调用
> llama.cpp-python会默认生成swagger文档
直接按照格式发起post请求就好啦
并且其设计结构与openai一致
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022332514.png)
---
## 开源webui界面
> [ChatGPT-Next-Web](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web)
![](https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202402022332581.png)

View File

@@ -0,0 +1,42 @@
V5评论接口
edith.xiaohongshu.com/api/sns/v5/note/comment/lis
V3也是评论
V4是发送评论
```
:method: POST
:authority: edith.xiaohongshu.com
:scheme: https
:path: /api/sns/v4/note/comment
content-length: 155
xy-direction: 5
x-b3-traceid: 34345f03c21f0000
x-xray-traceid: c61e4500a9b2b08fcb2f9834f519c0bf
x-legacy-smid: 202312060821532a02d2eafbf8337e79c4625cee93e0c3011fdc64b54b83de
x-legacy-did: a546e52b-90f3-32c0-ae36-a25328e5e787
x-legacy-fid: 170182211310a283b03cefaf2bc3d5dcbf8e41f4cac7
x-legacy-sid: session.1701822126948850194383
x-mini-gid: 7dac28e3045b5523b7b55b765c9e8f6ec9e3bbd9473598d377ee43fe
x-mini-sig: a2095d5ef3e2e3ebbebcf824a4793a9b54db30f1dd1b9ebe13f1351b9aa279d6
x-mini-mua: eyJhIjoiRUNGQUFGMDEiLCJjIjo4MiwiayI6ImNiYjViNmVmMzFjMzhjYTA2ZGIwYmEyNGU4ZjM3Y2Y3MDUzZDBmNDlmNGM1YTAyYTM2ODk2NGY2YzEwMjk4MmQiLCJwIjoiYSIsInMiOiIzNDQzMDk3OWY0MTA5OTQyMTUyMTYxNjRiMWI0MjFhZCIsInQiOnsiYyI6NTk5LCJkIjo0LCJzIjo0MDk4LCJ0IjoxNzQ4MTk0OTEsInR0IjpbMV19LCJ1IjoiMDAwMDAwMDAxMmU5MzA1MDljZDQ3MDk3OWZjZDMzYjRkOThkYjhkNCIsInYiOiIyLjIuMjAwOCJ9.QYCwh-H3rjso1L3FF9bn7AeQIZ6Rq3tTKk6Y1AwZbdPwedKpFtgiM7x1erTL3280N10D8CsnDG77dliEyP07Wx0shXgpkJRiXyqsrRrIOmyXkRRSWrlczh9ZMqM2Ic-dznFeX304nTuOsvT771_ehETbcmSRJRmqPamI2-YUL1S1dBGWreIENHN2VTfMrz7XUg8VhR0XgPQ6ihgS_4k7VGMzFn6R7SeVic8PVrFoAVO7mCKZeTwdiwWZNn9gmAGvznp8ZemyOFSjyvFHCA7SJtfvku2EKqP7CjiOHCD2QDraKcjknAUtc6bRYewzTiqqUtLxuPqmDi5sJlHXGMRxM5prSDYh301X-XvCeZFodDGo94zggBNa2on0GLnDhtxCIGNZUmVN_g4mQxLdJikp3n-e4mIfnYo4edMDYTOzKZXd7zKxWCUBjFxJmWJs9WWW4-mjlU5Bk45okcd8JC9Ig1pNRWYG2VX5uyuPvffUI9IyZx6DQHpeuBfRw1eOtZYhOfRBhSmHlor8-MpdcnJVznkQb8Fk5iAZN5y72vveDM0nyJinRgsZyWw1w9TitVEg2pZ5bTz3TL7wYRSACxSeg2nCRZIfOHjdAXKrAfFikB487c-nSzaMaUBKQ7Ru3mfXJcM7xxX5H5uwN537gHFTXnQ5u1UGradV0XZ1Y8trffYowgG9OkYKTmXJ1PR4sM25sC-e76Bpd7XVA7ZN9vtjnh-azuk6QNbZUqdfjTsLsGiwdylrqKG6LXeUG2H38Nj_Q-mRnuQqYCyqf7S92SfJ3Oro3eKMmIkcoz3Af-bvu20ya_m9r7KzDSttB37y_ODHR1GrqUfxzWxHD-UKbkDEoqXgD23QbuMUQzDNiKEMvMKafuYEhAhtVQiJjsv9L9yrpsIR03aZAhgXcOUZ0BmD150KAWpP89feAxKC0a4rek47n83k1Q18k7qHW9AxMiY-MbGXomQvRhMl7tBMusQ4Lgtn9r52LJ55g5rFl7WfC6yd9IY6hgtBGojlAKfwHFe86q44EvalFvSGCFrEzPHl_kXuMYEwD4bdAgLUmyVBCUfshqSBusgWeyI5Cygvb26quSKDQYl4udPcvwoaSYLnOPJynaEMObpfGUsW65b1hq-4rg191H0_9UQNSrDrm1mncOjYsXq7oQsmiYuznIlyQgGKBxikDEop2Ug9zJATzwUlFrHolcXcrtXGiioF6YBB1-UW8dQ_v1t4T6QgJwBZjA.
xy-common-params: fid=170182211310a283b03cefaf2bc3d5dcbf8e41f4cac7&device_fingerprint=202312060821532a02d2eafbf8337e79c4625cee93e0c3011fdc64b54b83de&device_fingerprint1=202312060821532a02d2eafbf8337e79c4625cee93e0c3011fdc64b54b83de&cpu_name=Qualcomm+Technologies%2C+Inc+SM8250&gid=7dac28e3045b5523b7b55b765c9e8f6ec9e3bbd9473598d377ee43fe&device_model=phone&launch_id=1701822215&tz=Asia%2FShanghai&channel=Xiaomi&versionName=8.16.0&deviceId=a546e52b-90f3-32c0-ae36-a25328e5e787&platform=android&sid=session.1701822126948850194383&identifier_flag=4&t=1701822725&project_id=ECFAAF&build=8160551&x_trace_page_current=note_detail_r10&lang=zh-Hans&app_id=ECFAAF01&uis=light&teenager=0
user-agent: Dalvik/2.1.0 (Linux; U; Android 13; Mi 10 Build/TKQ1.221114.001) Resolution/1080*2340 Version/8.16.0 Build/8160551 Device/(Xiaomi;Mi 10) discover/8.16.0 NetType/WiFi
shield: XYAAAAAQAAAAEAAABTAAAAUzUWEe0xG1IbD9/c+qCLOlKGmTtFa+lG434PeuFTQawTwIC2y7NlHp3x/7Zcz8Moj81+gPcxFgwfE2CLZrOh2X5njuNnRmOHagQMx46bd0vOGbew
xy-platform-info: platform=android&build=8160551&deviceId=a546e52b-90f3-32c0-ae36-a25328e5e787
content-type: application/x-www-form-urlencoded
referer: https://app.xhs.cn/
accept-encoding: gzip, deflate
note_id=6551cf2d00000000330093a5&content=%E5%A5%BD%E6%BC%82%E4%BA%AE&comment_id=&at_users=%5B%5D&hash_tags=%5B%5D&is_note_first_comment=false&is_sink=false
```
V1是点赞
/api/sns/v1/note/like
V1/user [关注]
https://edith.xiaohongshu.com/api/sns/v1/user/follow

View File

@@ -8,8 +8,20 @@ payjs
收款银行卡:建设银行
yougouos
## payjs的 jsapi支付
> 获取openid
https://payjs.cn/api/openid?mchid=1561724891&callback_url=https://aiimg.hackrobot.cn/1698288150.2901459.png?uid=32
eric的openid
o7LFAwR32hWGq9XOpd7ZxK1wZxq8
轮回的openid
o7LFAwWu3OhSrs49-1x5cSlFm0D8
> jsapi

View File

@@ -0,0 +1,72 @@
## 词云,年终报告,数据备份,个人AI训练
> 开源地址:`https://github.com/LC044/WeChatMsg`
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172109642.webp" title="" alt="" width="341">
## 🍉功能
- 🔒🔑🔓Windows本地微信数据库
- 还原微信聊天界面
- 🗨文本✅
- 🏝图片✅
- 🐻‍❄️表情包✅
- 拍一拍等系统消息✅
- 导出聊天记录
- sqlite数据库✅
- HTML(文本、图片、视频、表情包、语音)✅
- CSV文档✅
- TXT文档✅
- Word文档❎
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172110572.webp" title="" alt="" width="360">
> 年终报告
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172110284.webp" title="" alt="" width="385">
---
## 我的数据我做主
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172110073.png" title="" alt="" width="376">
> 作者的前言:
我深信有意义的不是微信,而是隐藏在对话框背后的一个个**深刻故事**。未来每个人都能拥有AI的陪伴而你的数据能够赋予它有关与你过去的珍贵记忆。我希望每个人都有将自己的生活痕迹👨👩👦👚🥗🏠🚴🧋⛹🛌🛀留存的权利而不是将之遗忘💀。
AI的发展不仅仅是技术的提升更是情感💞的延续。每一个对话、每一个互动都是生活中独一无二的片段是真实而动人的情感交流。因此我希望AI工作者们能够**善用这些自己的数据**,用于培训独特的、属于个体的人工智能。让**个人AI成为生活中的朋友**,能够理解、记录并分享我们的欢笑、泪水和成长。
那天AI不再是高不可攀的存在而是融入寻常百姓家的一部分。因为**每个人能拥有自己的AI**,将科技的力量融入生活的方方面面。这是一场关于真情实感的革命,一场让技术变得更加人性化的探索,让我们共同见证未来的美好。
---
## 数据解密,备份
> 下载exe文件即可运行
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172110368.png" title="" alt="" width="276">
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172111766.png" title="" alt="" width="307">
> 解密之后数据截图
<img title="" src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172111713.webp" alt="" width="322">
---
## AI训练另一个'我'
> 另外一个数字的我
可参考:`https://github.com/li-plus/chat4u`
由于有了已经解密的聊天语料库,可以在消费级显卡(GPU)的电脑上
利用Alpaca-Lora微调训练模型
比起生硬的各种gpt机器人
这个数字版的智能的你,更有灵性
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/202312172111999.png" title="" alt="" width="288">

1
微信AI /测试.md Normal file
View File

@@ -0,0 +1 @@

17
数字游民/修改H5 .md Normal file
View File

@@ -0,0 +1,17 @@
usb进入chrome web调试模式
![Screenshot 2024-01-25 at 12.31.52.png](/Users/eric/Documents/marktext/images/0e0a1126f0054a617b5d635685e7e55fa04c910f.png)
新增icon
<link rel="icon" href="https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-Screenshot-2023-05-22-at-17.26.38-192x192.png" sizes="192x192">
```html
<link rel="icon" href="https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-Screenshot-2023-05-22-at-17.26.38-192x192.png" sizes="192x192">
```

3
草稿/数字游民.md Normal file
View File

@@ -0,0 +1,3 @@
莲花山 [咖啡] / 联合办公 / 包场
莲花山 山坡(草地)

7
草稿/旅游.md Normal file
View File

@@ -0,0 +1,7 @@
会展中心
莲花山 [自然] 徒步
小活动10人 [副业meetup]
自驾游

View File

@@ -1,17 +1,5 @@
keep
健身
驾nethunter 云控redroid 微信机器人
驾照
买房
公司 amazon
黑客 nethunter 微信
开源 树莓派
旅行
pua
公司

19
草稿/随手记.md Normal file
View File

@@ -0,0 +1,19 @@
keep
rss reddit/twitter
remote: ssh/rdp/web
wordpress /kindle
tiktok =>youtube
---
amazon dingtalk
homelab pi pve(frp)
nomad :travel [孤独星球] g/BTC/meetup **nomadlist**(remote) |微信机器 千牛