update
23
2024.md
Normal file
@@ -0,0 +1,23 @@
|
||||
莲花山 书城 会展 商超(买衣服/吃饭) 自驾游 报团 ==>香港/广州/
|
||||
|
||||
dingtalk amzon boss(g) wework
|
||||
|
||||
raspberry pi 云手机/微信机人 AIGC
|
||||
|
||||
---
|
||||
|
||||
~~设置软路由802~~
|
||||
|
||||
pve小主机
|
||||
|
||||
~~拿1把椅子~~
|
||||
|
||||
厨房置物架 / 京东 菜刀套装
|
||||
|
||||
冰箱-清洁 朴朴买菜
|
||||
|
||||
京东:床垫
|
||||
|
||||
菜鸟:4件套 床上用品
|
||||
|
||||
208==>丢垃圾 [晚上]
|
||||
31
702.md
Normal file
@@ -0,0 +1,31 @@
|
||||
浴室灯泡
|
||||
|
||||
<u>~~拖鞋/ 毛巾/沐浴露/洗面奶~~</u>
|
||||
|
||||
~~牙膏/牙刷~~
|
||||
|
||||
~~洗手液~~
|
||||
|
||||
- ~~寄快递 -斌哥~~
|
||||
|
||||
- ~~迪卡农 popu珊~~ (线上)
|
||||
|
||||
- ~~设置AI主机~~
|
||||
|
||||
设置orangepi 5
|
||||
|
||||
- ~~清洗书桌~~
|
||||
|
||||
~~买插座[床头]~~
|
||||
|
||||
~~京东-纸箱--==>宝安~~
|
||||
|
||||
~~剪辑视频--上传tk/油管~~
|
||||
|
||||
~~木屋烧烤~~
|
||||
|
||||
伸缩棍-窗帘
|
||||
|
||||
<u>~~莲花山+会展~~</u>
|
||||
|
||||
公司架构 (减资,注销)
|
||||
BIN
images/095aefb1a18e8810b7cd839ea1913bdb1162a239.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
images/0e0a1126f0054a617b5d635685e7e55fa04c910f.png
Normal file
|
After Width: | Height: | Size: 391 KiB |
BIN
images/216c27e58ac470347bbd456ffa550bec5fcab570.png
Normal file
|
After Width: | Height: | Size: 359 KiB |
BIN
images/3c8011df1031f5177237b496d68559d3aabcf66c.png
Normal file
|
After Width: | Height: | Size: 431 KiB |
BIN
images/3fb93a2844187c26d3246c19a346bcc48aa79210.png
Normal file
|
After Width: | Height: | Size: 571 KiB |
BIN
images/4eede0eb69f0f4d743d5f42bef36818f685a0138.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
images/52f9ed75ba546d2d95744b838bdc66a0a1ca4b0e.webp
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
images/5d069124f6819fdfd6e14513d693caa9c58e17cd.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
images/6a782e2ed1ea8bc73a3bc15f9a1320991e58ee91.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
images/6f113c171915532b84447a7e0e0add4a4f341bbc.png
Normal file
|
After Width: | Height: | Size: 412 KiB |
BIN
images/6f7457c11a346eef72a26699ff059886861bf8a7.png
Normal file
|
After Width: | Height: | Size: 562 KiB |
BIN
images/716b12455e20be0d60f6aaecb1ab434a8e7bb45d.png
Normal file
|
After Width: | Height: | Size: 493 KiB |
BIN
images/73a2b6be5e44dbe6740b9cfb3f11fde2f8f6ded6.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
images/830f9b3c73bad290953730eb8d876018e599fc5e.jpg
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
images/84c5b5ea70c862f9b25da9ef63434ee7e7f729e9.png
Normal file
|
After Width: | Height: | Size: 346 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.4 KiB |
BIN
images/8625fbbe22f0878f73578e599b0dfe76c582a9d3.webp
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
images/8fee07c2d3c1839a335c9e375cfc21ecadccb3d7.png
Normal file
|
After Width: | Height: | Size: 411 KiB |
BIN
images/914b1f58c15fcc3ea682b5a8c97411cb2f55078d.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
images/956818ebc1d59412f38afee7d51b8a592924b415.webp
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
images/9f939f1eec7c517baedc505d3a65c77907ab0dfd.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
BIN
images/a22771ca729bdcd0605283bc8defb369840b5f09.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
images/a8818bc396fe8dd0bbbfdfa41d7954e17124e323.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
images/bbde773f1e1242d7ba59488545647a4815494a60.png
Normal file
|
After Width: | Height: | Size: 272 KiB |
BIN
images/bdf63f669643bf536897b9588ecdfb8fa85d60b7.png
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
images/cd4cdb568f802c1d7d736efcaf48ea0edb6d1c88.png
Normal file
|
After Width: | Height: | Size: 322 KiB |
BIN
images/d0c36e0810587535f5ad16b4f539aa620a714312.png
Normal file
|
After Width: | Height: | Size: 409 KiB |
BIN
images/d47f28f55a459ad01e732cc1c4eaeb6d4b814875.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
images/d98a57005bedb29c731b6c60436a99259e6e1bce.png
Normal file
|
After Width: | Height: | Size: 262 KiB |
BIN
images/db3f34fcb168b4a5770571ebdc791fb7a6962821.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
images/ddedcd3e959fbb0e41fe4ae78ff9782a572456d2.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
images/e96cfe986f6762acbb0db691c010e2763094d0f2.webp
Normal file
|
After Width: | Height: | Size: 26 KiB |
55
公众号/可爱猫机器人.md
Normal 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">
|
||||
30
待办2.md
@@ -1,3 +1,33 @@
|
||||
|
||||
|
||||
投放广告
|
||||
|
||||
旅行
|
||||
|
||||
联盟营销 图
|
||||
|
||||
硬件产品 相机/云手机
|
||||
|
||||
虚拟账号
|
||||
|
||||
app开发
|
||||
|
||||
博客 (广告)- youtube
|
||||
|
||||
社群
|
||||
|
||||
电子书
|
||||
|
||||
线下活动
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
美女
|
||||
|
||||
[徒步] ==> l莲花山
|
||||
|
||||
144
微信AI /H5后端支付代码.md
Normal 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()
|
||||
```
|
||||
77
微信AI /H5私域营销.md
Normal file
@@ -0,0 +1,77 @@
|
||||
## 个人支付
|
||||
|
||||

|
||||
|
||||
> 各种平台的体验
|
||||
|
||||
- payjs
|
||||
|
||||
- yungouos
|
||||
|
||||
- 面包多
|
||||
|
||||
payjs很多年前,就注册了,不过一直没有实际的业务
|
||||
|
||||
最核心还是因为小程序支付的流程太糟糕了:需要A跳转 B程序结算,主体都不一样,用户敬而远之
|
||||
|
||||
虽然最近尝试了yungouos,它的`半屏拉起支付收银台`体验就很不错
|
||||
|
||||
但是呢,平台的客服对支付申请具有薛定谔的否决权:`不适合`三个字,不给出具体的理由,个人也表示不推荐这家
|
||||
|
||||
同样能支持个人开发者以api形式调用支付的,还有`面包多`,这个先留个坑,占位
|
||||
|
||||
---
|
||||
|
||||
## web移动端:H5
|
||||
|
||||
> 最快速的产品形式
|
||||
|
||||
无论是微信小程序,独立app,还是浏览器插件,PC桌面客户端,大多数都倾向于webview套娃
|
||||
|
||||
需要原生能力的时候,就调用官方提供sdk
|
||||
|
||||
> 我为什么选择h5?
|
||||
|
||||
前面提到过认证/备案,以及支付问题,折腾和审核的时间耗不起,公司的成本相对较高
|
||||
|
||||
在私域的场景下,核心解决2个问题
|
||||
|
||||
- 登录态
|
||||
|
||||
- 微信支付
|
||||
|
||||
登录态可以在用户在微信内访问H5时,拿到`openid`
|
||||
|
||||
昨天提到可爱猫机器人,就可以拿到`用户的wxid,头像以及昵称`
|
||||
|
||||
通过发送卡片链接的形式,用户无感
|
||||
|
||||
> 卡片链接测试
|
||||
|
||||

|
||||
|
||||
支付目前基于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">
|
||||
@@ -105,8 +105,6 @@ adb shell settings delete global global_http_proxy_port
|
||||
adb reboot
|
||||
```
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
其他问题
|
||||
|
||||
@@ -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 返回值 |
|
||||
|
||||
@@ -18,8 +18,6 @@ Device Start End Sectors Size Type
|
||||
|
||||
483655679+1=483655680
|
||||
|
||||
|
||||
|
||||
bs一定要=512
|
||||
|
||||
```
|
||||
|
||||
55
微信AI /electron自动化工具.md
Normal 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
|
||||
|
||||
> 能自动的就不要手动
|
||||
|
||||

|
||||
|
||||
选择electron的原因是,开发客户端,可以跨平台,既有web开发的优势,也能突破浏览器的限制,获取硬件交互,native api调用,比如
|
||||
|
||||
- 系统通知
|
||||
|
||||
- 快捷方式,托盘常驻
|
||||
|
||||
- 音视频处理
|
||||
|
||||
- 屏幕截图.录制
|
||||
|
||||
- 文件存储
|
||||
|
||||
- 自动更新
|
||||
|
||||
AIGC的能力,就不用阐述了,无论是文本,图片,音频,视频,各种都在快速迭代突破
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
12
微信AI /qq.md
Normal 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
@@ -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
|
||||
```
|
||||
|
||||
|
||||
21
微信AI /webapp油猴脚本.md
Normal 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
|
||||
}
|
||||
}
|
||||
@@ -14,10 +14,6 @@
|
||||
|
||||
遍历通讯录:好友列表
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
http与wx模块结合
|
||||
|
||||
- http自动通过好友申请 备注wxid
|
||||
|
||||
41
微信AI /wordpress文章存.md
Normal 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
@@ -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
@@ -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兼容性好
|
||||
|
||||
>
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 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">
|
||||
89
微信AI /低成本部署:.md
Normal 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">
|
||||
|
||||
再折腾远控之前,用`向日葵`过渡一下也是不错的
|
||||
145
微信AI /可爱猫业务代码.md
@@ -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
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -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
@@ -0,0 +1,65 @@
|
||||
## tinyllama
|
||||
|
||||
> 可部署在边缘计算设备的小模型
|
||||
|
||||
开源地址:`https://github.com/jzhang38/TinyLlama`
|
||||
|
||||

|
||||
|
||||
采用了与 Llama 2 完全相同的架构和分词器。这TinyLlama 可以在许多基于 Llama 的开源项目中即插即用。此外,TinyLlama 结构紧凑,参数仅为 1.1B。这种紧凑性使其能够满足需要有限计算和内存占用的多种应用程序的需求
|
||||
|
||||
类似的小模型还有
|
||||
|
||||
- 微软开源的phi-2
|
||||
|
||||
- 阿里开源的Qwen-1.8B
|
||||
|
||||
---
|
||||
|
||||
## 开发板CPU测试
|
||||
|
||||
> 基于RK3588芯片
|
||||
|
||||
下载模型
|
||||
|
||||

|
||||
|
||||
测试数据,根据问题的长度,可以达到10-20token/s
|
||||
|
||||
这在不依靠GPU计算的环境下,已经是非常好的速度了
|
||||
|
||||

|
||||
|
||||
但是阿里的通义千问,就慢的令人发指,完全不能正常使用
|
||||
|
||||
---
|
||||
|
||||
## 使用llama.cpp部署模型
|
||||
|
||||
```python
|
||||
pip install llama-cpp-python
|
||||
```
|
||||
|
||||
参考示例
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## api调用
|
||||
|
||||
> llama.cpp-python会默认生成swagger文档
|
||||
|
||||
直接按照格式发起post请求就好啦
|
||||
|
||||
并且其设计结构与openai一致
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 开源webui界面
|
||||
|
||||
> [ChatGPT-Next-Web](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web)
|
||||
|
||||

|
||||
42
微信AI /小红书自动私信.md
Normal 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
|
||||
@@ -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
|
||||
|
||||
72
微信AI /微信聊天记录.md
Normal 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
@@ -0,0 +1 @@
|
||||
|
||||
17
数字游民/修改H5 .md
Normal file
@@ -0,0 +1,17 @@
|
||||
usb进入chrome web调试模式
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
新增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
@@ -0,0 +1,3 @@
|
||||
莲花山 [咖啡] / 联合办公 / 包场
|
||||
|
||||
莲花山 山坡(草地)
|
||||
18
草稿/爱靠.md
@@ -1,17 +1,5 @@
|
||||
keep
|
||||
健身
|
||||
|
||||
自考
|
||||
自驾nethunter 云控redroid 微信机器人
|
||||
|
||||
驾照
|
||||
|
||||
买房
|
||||
|
||||
公司 amazon
|
||||
|
||||
黑客 nethunter 微信
|
||||
|
||||
开源 树莓派
|
||||
|
||||
旅行
|
||||
|
||||
pua
|
||||
公司
|
||||
|
||||