80 Commits

Author SHA1 Message Date
mayx b666bd16b2 Update file 2025-01-01-temp.md 2025-01-01 10:06:30 +00:00
mayx bc094788c2 Update 2 files
- /_posts/2025-01-01-summary.md
- /_posts/2025-01-01-temp.md
2025-01-01 10:05:08 +00:00
mayx c0b1009935 Update file 2024-12-29-vm.md 2024-12-29 15:00:35 +00:00
mayx 129c4d1b5b Update 2024-12-08-simulator.md 2024-12-08 15:07:29 +00:00
mayx a8b9118a20 Update 2 files
- /links.md
- /_posts/2024-12-08-simulator.md
2024-12-08 11:50:52 +00:00
mayx dff8a2d2c9 Update 2 files
- /_layouts/post.html
- /service.md
2024-11-20 06:32:07 +00:00
mayx 2952d9f63e Update 3 files
- /Live2dHistoire/live2d/js/message.js
- /proxylist.md
- /README.md
2024-11-19 08:50:58 +00:00
mayx 3de3d63d77 Update 2 files
- /links.md
- /_posts/2024-11-02-trojan.md
2024-11-02 12:32:13 +00:00
mayx 3dab9f333a Update file default.html 2024-10-21 11:21:43 +00:00
mayx 85aa965218 Update 3 files
- /Live2dHistoire/live2d/js/message.js
- /Live2dHistoire/live2d/css/live2d.css
- /_layouts/default.html
2024-10-21 11:16:17 +00:00
mayx 0e065bf282 Update file message.js 2024-10-21 10:12:21 +00:00
mayx 680afdca5a Update 2 files
- /index.html
- /service.md
2024-10-15 10:10:20 +00:00
mayx 9e7e727897 Update file message.js 2024-10-15 08:38:03 +00:00
mayx f5accbcad4 Update 2 files
- /_posts/2024-10-13-arm-linux.md
- /proxylist.md
2024-10-14 02:27:17 +00:00
mayx d3ef0a278b Update file 2024-10-13-arm-linux.md 2024-10-13 12:13:18 +00:00
mayx 38c549606e Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /_posts/2024-10-01-suggest.md
- /js/main.js
2024-10-04 07:13:10 +00:00
mayx 443d65ac50 Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /js/main.js
- /_posts/2024-10-01-suggest.md
2024-10-04 06:19:24 +00:00
mayx c8ce8de1d9 Update 3 files
- /js/main.js
- /_posts/2024-10-01-suggest.md
- /_posts/2024-09-27-rag.md
2024-10-01 10:12:03 +00:00
mayx 03d9517241 Update 2 files
- /js/main.js
- /_layouts/post.html
2024-09-30 14:59:32 +00:00
mayx 9b9efd0f60 Update 3 files
- /js/main.js
- /_layouts/default.html
- /_layouts/post.html
2024-09-30 13:59:21 +00:00
mayx 07a3d18350 Update 3 files
- /js/main.js
- /_layouts/post.html
- /search.json
2024-09-30 13:51:26 +00:00
mayx 550321e80a Update 2 files
- /_layouts/default.html
- /search.html
2024-09-29 15:20:22 +00:00
mayx 50c6c49c4c Update 2 files
- /_posts/2024-09-27-rag.md
- /_posts/2024-07-03-ai-summary.md
2024-09-27 03:24:54 +00:00
mayx 593b4fa003 Update main.js 2024-09-26 10:15:00 +00:00
mayx 46f1b8d742 Update file 2024-09-02-gmssl.md 2024-09-02 09:40:45 +00:00
mayx 7a525073f9 Update file 2024-08-17-mac-mini.md 2024-08-17 11:40:35 +00:00
mayx dc37b70586 Update file 2024-08-03-cangjie.md 2024-08-03 17:33:00 +00:00
mayx 2fd191d418 Update file 2024-07-03-ai-summary.md 2024-07-03 13:41:02 +00:00
mayx 99ec7de3cd Update file 2024-07-03-ai-summary.md 2024-07-03 13:32:37 +00:00
mayx cd294479e0 Update file 2024-07-03-ai-summary.md 2024-07-03 13:01:14 +00:00
mayx b7ab4e6356 Update file post.html 2024-07-02 08:46:57 +00:00
mayx 934c04aea7 Update file post.html 2024-07-02 08:25:21 +00:00
mayx 5c7773fb59 Update 2 files
- /_layouts/post.html
- /js/main.js
2024-07-02 08:09:28 +00:00
mayx 41ce7aabb0 Update 2 files
- /proxylist.md
- /js/main.js
2024-07-02 03:59:47 +00:00
mayx cbe4db5992 Update file 2024-06-16-hackintosh.md 2024-06-16 12:26:12 +00:00
mayx 04e63388b6 Update 2 files
- /_posts/2024-05-19-bt-ops.md
- /proxylist.md
2024-05-19 11:10:53 +00:00
mayx 106aa95def Update default.html 2024-04-15 07:29:05 +00:00
mayx f1e7070380 Update 2 files
- /js/main.js
- /_posts/2024-04-06-old-pc.md
2024-04-08 12:52:09 +00:00
mayx 10a3521795 Update file 2024-04-06-old-pc.md 2024-04-06 09:43:54 +00:00
mayx 881ed13576 Update 2 files
- /_posts/2024-04-06-old-pc.md
- /index.html
2024-04-06 09:41:50 +00:00
mayx 982a87e0bf Update file proxylist.md 2024-03-21 01:54:03 +00:00
mayx 5097364988 Update 3 files
- /images/offline.svg
- /images/online.svg
- /proxylist.md
2024-03-21 01:45:48 +00:00
mayx c437b255f1 Update file 2024-03-16-ssl-pinning.md 2024-03-16 13:17:54 +00:00
mayx efaaa32674 Update default.html 2024-02-24 16:02:33 +00:00
mayx 8a51f7a942 Update 3 files
- /images/17966333.png
- /_config.yml
- /_layouts/default.html
2024-02-24 15:58:24 +00:00
mayx afe8b95115 Update 4 files
- /proxylist.md
- /images/17966333.png
- /_config.yml
- /_posts/2024-02-24-luckfox.md
2024-02-24 15:53:16 +00:00
mayx 2aad4be863 Update 2 files
- /_posts/2024-02-03-1panel.md
- /_posts/2024-01-20-renpy.md
2024-02-03 14:04:27 +00:00
mayx 74cb7d028c Update 4 files
- /llama.html
- /_posts/2024-01-20-renpy.md
- /index.html
- /proxylist.md
2024-01-20 11:01:55 +00:00
mayx d74fe7b4b8 Update file index.html 2024-01-01 10:54:46 +00:00
mayx 8f7d02697d Update 5 files
- /card.html
- /llama.html
- /index.html
- /Live2dHistoire/live2d/js/message.js
- /js/main.js
2024-01-01 10:53:46 +00:00
mayx 4afea923c5 Update 3 files
- /package.json
- /_posts/2023-04-05-ai.md
- /_posts/2024-01-01-summary.md
2024-01-01 09:01:21 +00:00
mayx e6281bfa5f Update file Gemfile 2023-12-30 15:27:02 +00:00
mayx a4e9d17cf1 Update file Gemfile 2023-12-30 15:16:27 +00:00
mayx 975fcf9d8e Update 2 files
- /Gemfile
- /.gitlab-ci.yml
2023-12-30 15:12:33 +00:00
mayx 1734d36dd5 Update file Gemfile 2023-12-30 15:02:50 +00:00
mayx eefdb73475 Update 3 files
- /Gemfile
- /.gitlab-ci.yml
- /Live2dHistoire/live2d/js/message.js
2023-12-30 14:59:15 +00:00
mayx c622346eaa Update 2 files
- /Gemfile
- /Live2dHistoire/live2d/js/message.js
2023-12-30 13:58:00 +00:00
mayx 7609bb0b8f Update message.js 2023-12-30 13:41:55 +00:00
mayx 2298c9b271 更新.gitlab-ci.yml文件 2023-12-24 16:49:42 +00:00
mayx f9abd1e5d7 Update file 2023-12-24-android.md 2023-12-24 12:30:52 +00:00
mayx 62ea62e8e8 Update file 2023-12-10-openfyde.md 2023-12-09 17:42:34 +00:00
mayx 3dc82a814a Update 2 files
- /_posts/2023-02-03-mbp.md
- /_posts/2023-10-21-game.md
2023-10-21 15:24:08 +00:00
mayx 09c88ebf18 Update file 2023-09-24-rpi-ubuntu.md 2023-09-24 12:34:21 +00:00
Mayx 2aed9e9d90 Update links.md 2023-09-10 16:38:27 +08:00
Mayx bfe05eef58 Update links.md 2023-09-09 00:47:24 +08:00
mayx 5713b1b477 Update file 2023-09-06-satellite.md 2023-09-06 11:51:39 +00:00
mayx 52eb8cd0a7 Update file 2023-08-01-auth.md 2023-08-01 14:09:27 +00:00
Mayx c17b6f0971 Update 2023-06-30-nucleic-acid.md 2023-07-18 11:07:05 +08:00
mayx e7ad732f8d Update 2 files
- /BlogCard.svg
- /proxylist.md
2023-07-11 03:59:38 +00:00
mayx 8b6738dcef Update links.md 2023-07-09 04:07:23 +00:00
mayx c52e7ded82 Update file 2023-07-09-bitmo.md 2023-07-08 18:41:24 +00:00
mayx 2df79d6a44 Update file 2023-07-09-bitmo.md 2023-07-08 18:37:14 +00:00
mayx 59688d1e1f Update file 2023-06-30-nucleic-acid.md 2023-06-29 18:54:54 +00:00
mayx 86edb37efb Update file 2023-06-30-nucleic-acid.md 2023-06-29 18:54:54 +00:00
mayx d06229e705 Update file 2023-06-30-nucleic-acid.md 2023-06-29 18:53:24 +00:00
mayx 385b842c80 Update 2 files
- /_layouts/post.html
- /_posts/2023-06-30-nucleic-acid.md
2023-06-29 18:44:09 +00:00
mayx 1cd08a24bd Update file 2023-06-30-nucleic-acid.md 2023-06-29 18:35:27 +00:00
mayx c664d9e93a Update file 2023-05-22-rpi-win.md 2023-05-21 16:28:06 +00:00
mayx 8dcfcaeb7b Update 3 files
- /iwara.html
- /index.html
- /card.html
2023-04-22 12:06:10 +00:00
Mayx 57f8e30bf4 Update links.md 2023-04-11 09:08:32 +08:00
50 changed files with 4355 additions and 358 deletions
+2 -2
View File
@@ -6,14 +6,14 @@
# Template project: https://gitlab.com/pages/jekyll
# Docs: https://docs.gitlab.com/ee/pages/
image: ruby:2.6
image: ruby:2.7
variables:
JEKYLL_ENV: production
LC_ALL: C.UTF-8
before_script:
- gem install bundler
- gem install bundler -v 2.4.22
- bundle install
pages:
+5 -5
View File
@@ -105,31 +105,31 @@
<g class="stagger" style="animation-delay: 450ms" transform="translate(25, 0)">
<line x1="12" y1="6.25" x2="19" y2="6.25"
style="stroke:rgb(255,255,255);stroke-width:2"/>
<text class="stat bold" x="25" y="12.5">{{ site.posts[0].title }}</text>
<text class="stat bold" x="25" y="12.5">{{ site.posts[0].title | truncate: 18 }}</text>
</g>
</g><g transform="translate(0, 25)">
<g class="stagger" style="animation-delay: 600ms" transform="translate(25, 0)">
<line x1="12" y1="6.25" x2="19" y2="6.25"
style="stroke:rgb(255,255,255);stroke-width:2"/>
<text class="stat bold" x="25" y="12.5">{{ site.posts[1].title }}</text>
<text class="stat bold" x="25" y="12.5">{{ site.posts[1].title | truncate: 18 }}</text>
</g>
</g><g transform="translate(0, 50)">
<g class="stagger" style="animation-delay: 750ms" transform="translate(25, 0)">
<line x1="12" y1="6.25" x2="19" y2="6.25"
style="stroke:rgb(255,255,255);stroke-width:2"/>
<text class="stat bold" x="25" y="12.5">{{ site.posts[2].title }}</text>
<text class="stat bold" x="25" y="12.5">{{ site.posts[2].title | truncate: 18 }}</text>
</g>
</g><g transform="translate(0, 75)">
<g class="stagger" style="animation-delay: 900ms" transform="translate(25, 0)">
<line x1="12" y1="6.25" x2="19" y2="6.25"
style="stroke:rgb(255,255,255);stroke-width:2"/>
<text class="stat bold" x="25" y="12.5">{{ site.posts[3].title }}</text>
<text class="stat bold" x="25" y="12.5">{{ site.posts[3].title | truncate: 18 }}</text>
</g>
</g><g transform="translate(0, 100)">
<g class="stagger" style="animation-delay: 1050ms" transform="translate(25, 0)">
<line x1="12" y1="6.25" x2="19" y2="6.25"
style="stroke:rgb(255,255,255);stroke-width:2"/>
<text class="stat bold" x="25" y="12.5">{{ site.posts[4].title }}</text>
<text class="stat bold" x="25" y="12.5">{{ site.posts[4].title | truncate: 18 }}</text>
</g>
</g>
</svg>
+9 -7
View File
@@ -1,11 +1,13 @@
source "https://rubygems.org"
gem "jekyll", "~> 4.1.0"
gem "jekyll", "~> 3.9.3"
group :jekyll_plugins do
gem "jekyll-gist"
gem "jekyll-coffeescript"
gem "jekyll-assets"
gem "jekyll-sitemap"
gem "jekyll-feed"
gem "jekyll-gist", "~> 1.5.0"
gem "jekyll-coffeescript", "~> 1.1.1"
gem "jekyll-assets", "~> 1.0.0"
gem "jekyll-sitemap", "~> 1.4.0"
gem "jekyll-feed", "~> 0.15.1"
gem "jekyll-theme-minimal"
gem "jekyll-paginate"
gem "jekyll-paginate", "~> 1.1.0"
gem "kramdown-parser-gfm", "~> 1.1.0"
gem "kramdown", "~> 2.3.2"
end
+1 -1
View File
@@ -79,7 +79,7 @@
background-color: rgba(74, 59, 114,0.9);
}
.live_talk_input_name_body{
width:70px;
width:100px;
box-sizing:border-box;
height:24px;
border: 2px solid rgb(223, 179, 241);
+33 -32
View File
@@ -158,7 +158,7 @@ if(!norunFlag){
function showHitokoto(){
if(sessionStorage.getItem("Sleepy")!=="1"){
if(!AITalkFlag){
$.getJSON('https://v1.hitokoto.cn/',function(result){
$.getJSON('https://hitokoto.mayx.eu.org/',function(result){
talkValTimer();
showMessage(result.hitokoto, 0);
});
@@ -188,7 +188,26 @@ if(!norunFlag){
if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1];
//console.log('showMessage', text);
$('.message').stop();
$('.message').html(text);
if(text instanceof EventSource){
var outputContainer = $('.message')[0];
var eventFlag = false;
text.onmessage = (event) => {
if (event.data == "[DONE]") {
text.close();
return;
} else {
if(!eventFlag){
talkValTimer();
outputContainer.textContent = "";
eventFlag = true;
}
const data = JSON.parse(event.data);
outputContainer.textContent += data.response;
}
}
}else{
$('.message').html(text);
}
$('.message').fadeTo(200, 1);
//if (timeout === null) timeout = 5000;
//hideMessage(timeout);
@@ -275,36 +294,18 @@ if(!norunFlag){
});
$('#talk_send').on('click',function(){
var info_ = $('#AIuserText').val();
var userid_ = $('#AIuserName').val();
// var userid_ = $('#AIuserName').val();
let add_id = "";
if($('#load_this').prop("checked")){
add_id = "&id="+encodeURIComponent($('#post_id').val());
}
if(info_ == "" ){
showMessage('写点什么吧!',0);
return;
}
if(userid_ == ""){
showMessage('聊之前请告诉我你的名字吧!',0);
return;
}
showMessage('思考中~', 0);
$.ajax({
type: 'POST',
url: talkAPI,
data: {
"info":info_,
"userid":userid_
},
success: function(res) {
if(res.code !== 100000){
talkValTimer();
showMessage('似乎有什么错误,请和站长联系!',0);
}else{
talkValTimer();
showMessage(res.text,0);
}
console.log(res);
$('#AIuserText').val("");
sessionStorage.setItem("live2duser", userid_);
}
});
const evSource = new EventSource(talkAPI + "?info=" + encodeURIComponent(info_) + add_id);
showMessage(evSource);
});
}else{
$('#showInfoBtn').hide();
@@ -379,11 +380,11 @@ if(!norunFlag){
showMessage('音乐似乎加载不出来了呢!',0);
});
}
//获取用户名
var live2dUser = sessionStorage.getItem("live2duser");
if(live2dUser !== null){
$('#AIuserName').val(live2dUser);
}
// //获取用户名
// var live2dUser = sessionStorage.getItem("live2duser");
// if(live2dUser !== null){
// $('#AIuserName').val(live2dUser);
// }
//获取位置
var landL = sessionStorage.getItem("historywidth");
var landB = sessionStorage.getItem("historyheight");
+6 -3
View File
@@ -16,13 +16,16 @@ Powered by [Jekyll](https://github.com/jekyll/jekyll)
[Simple-Jekyll-Search](https://github.com/christian-fei/Simple-Jekyll-Search)
## 使用的网络资源
[Github](https://github.com/) | 包含:
[Github](https://github.com/) | 包含
- Issue
- Pages
- Git
[Cloudflare](https://www.cloudflare.com/) | 包含:
- CDN、规则以及缓存
- Workers、D1 SQL 数据库、Vectorize 数据库、AI
[网易云音乐](https://music.163.com/)
[一言](https://hitokoto.cn/)
[CDNJS](https://cdnjs.com/)
[unpkg](https://unpkg.com/)
+121 -117
View File
@@ -1,153 +1,157 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% seo %}
{% feed_meta %}
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
<!--[if !IE]> -->
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
<script src="/js/jquery.min.js"></script>
<!-- <![endif]-->
<!--[if lt IE 9]>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% seo %}
{% feed_meta %}
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
<!--[if !IE]> -->
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
<script src="/js/jquery.min.js"></script>
<!-- <![endif]-->
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
{% if site.google_analytics %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
{% if site.google_analytics %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ site.google_analytics }}');
var lastUpdated = new Date("{{ site.time | date: "%FT%T%z" }}");
Date.prototype.format = function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
var BlogAPI = "https://summary.mayx.eu.org";
function getSearchJSON(callback) {
var searchData = JSON.parse(localStorage.getItem("blog_" + lastUpdated.valueOf()));
if (!searchData) {
localStorage.clear();
$.getJSON("/search.json", function (data) {
localStorage.setItem("blog_" + lastUpdated.valueOf(), JSON.stringify(data));
callback(data);
});
} else {
callback(searchData);
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
</script>
{% endif %}
<style>
.backToTop {
display: none;
width: 18px;
line-height: 1.2;
padding: 5px 0;
background-color: #000;
color: #fff;
font-size: 12px;
text-align: center;
position: fixed;
_position: absolute;
right: 10px;
bottom: 100px;
_bottom: "auto";
cursor: pointer;
opacity: .6;
filter: Alpha(opacity=60);
}
</style>
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="{{ "/" | relative_url }}">{{ site.title | default: site.github.repository_name }}</a></h1>
{% if site.logo %}
<img src="{{ site.logo | relative_url}}" alt="Logo" />
</script>
{% endif %}
<style>
.backToTop {
display: none;
width: 18px;
line-height: 1.2;
padding: 5px 0;
background-color: #000;
color: #fff;
font-size: 12px;
text-align: center;
position: fixed;
_position: absolute;
right: 10px;
bottom: 100px;
_bottom: "auto";
cursor: pointer;
opacity: .6;
filter: Alpha(opacity=60);
}
</style>
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="{{ "/" | relative_url }}">{{ site.title | default: site.github.repository_name }}</a></h1>
{% if site.logo %}
<img src="{{ site.logo }}" alt="Logo" />
{% endif %}
<p>{{ site.description | default: site.github.project_tagline }}</p>
<p><form action="/search.html"><input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.."> <input type="submit"></form></p>
<p>{{ site.description | default: site.github.project_tagline }}</p>
{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}
<p>
<form action="/search.html"><input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts..">
<input type="submit">
</form>
</p>
{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}
<p class="view"><a href="{{ "/Mabbs/" | relative_url }}">About Me</a></p>
{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub
<small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}
<ul class="downloads">
{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}
<p class="view"><a href="/Mabbs/">About Me</a></p>
<ul class="downloads">
{% if site.github %}
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
{% else %}
<li style="width: 270px;border-right:0px;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
<li style="width: 270px;border-right:0px;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
{% endif %}
</ul>
</header>
<section>
</ul>
</header>
<section>
{{ content }}
</section>
<!--[if !IE]> -->
<div id="landlord" style="left:5px;bottom:0px;">
<div class="message" style="opacity:0"></div>
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
<div class="live_talk_input_body">
<div class="live_talk_input_name_body" style="display:none;">
<input name="name" type="hidden" class="live_talk_name white_input" id="AIuserName" value="Mayx_Blog_Talk" />
</section>
<!--[if !IE]> -->
<div id="landlord" style="left:5px;bottom:0px;">
<div class="message" style="opacity:0"></div>
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
<div class="live_talk_input_body">
<div class="live_talk_input_name_body" {% unless page.layout == "post" %}style="display:none;"{% endunless %}>
<input type="checkbox" id="load_this">
<input type="hidden" id="post_id" value="{{ page.url }}">
<label for="load_this">
<span style="font-size: 11px; color: #fff;">&nbsp;想问这篇文章</span>
</label>
</div>
<div class="live_talk_input_text_body">
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?"/>
<button type="button" class="live_talk_send_btn" id="talk_send">发送</button>
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?"/>
<button type="button" class="live_talk_send_btn" id="talk_send">发送</button>
</div>
</div>
<input name="live_talk" id="live_talk" value="1" type="hidden" />
<div class="live_ico_box" style="display:none;">
<div class="live_ico_item type_info" id="showInfoBtn"></div>
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
</div>
<input name="live_talk" id="live_talk" value="1" type="hidden" />
<div class="live_ico_box" style="display:none;">
<div class="live_ico_item type_info" id="showInfoBtn"></div>
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
<div class="live_ico_item type_music" id="musicButton"></div>
<div class="live_ico_item type_youdu" id="youduButton"></div>
<div class="live_ico_item type_quit" id="hideButton"></div>
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
<input id="duType" value="douqilai" type="hidden">
</div>
</div>
</div>
<div id="open_live2d">召唤伊斯特瓦尔</div>
<div id="open_live2d">召唤伊斯特瓦尔</div>
<!-- <![endif]-->
<footer>
<p><small>Made with ❤ by Mayx<br />Last updated at <script>document.write(lastUpdated.format("yyyy-MM-dd hh:mm:ss"));</script><br /> 总字数:
{% assign count = 0 %}{% for post in site.posts %}{% assign single_count = post.content | strip_html | strip_newlines | remove: " " | size %}
{% assign count = count | plus: single_count %}{% endfor %}{% if count > 10000 %}{{ count | divided_by: 10000 }} 万 {{ count | modulo: 10000 }}
{% else %}{{ count }}{% endif %} - 文章数:{% for post in site.posts %}{% assign co = co | plus: 1 %}{% endfor %}{{ co }} - <a href="{{ "/atom.xml" | relative_url }}" >Atom</a> - <a href="{{ "/README.html" | relative_url }}" >About</a></small></p>
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
<footer>
<p>
<small>Made with ❤ by Mayx<br />Last updated at <script>document.write(lastUpdated.toLocaleString());</script><br /> 总字数:{% assign count = 0 %}{% for post in site.posts %}{% assign single_count = post.content | strip_html | strip_newlines | remove: " " | size %}{% assign count = count | plus: single_count %}{% endfor %}{% if count > 10000 %}{{ count | divided_by: 10000 }} 万 {{ count | modulo: 10000 }}{% else %}{{ count }}{% endif %} - 文章数:{% for post in site.posts %}{% assign co = co | plus: 1 %}{% endfor %}{{ co }} - <a href="{{ "/atom.xml" | relative_url }}" >Atom</a> - <a href="{{ "/README.html" | relative_url }}" >About</a></small>
</p>
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
<script src="/js/main.js"></script>
<!--[if !IE]> -->
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
<script src="/Live2dHistoire/live2d/js/message.js"></script>
<script src="/js/main.js"></script>
<!--[if !IE]> -->
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
<script src="/Live2dHistoire/live2d/js/message.js"></script>
<!-- <![endif]-->
</body>
</html>
<!-- <![endif]-->
</body>
</html>
+131 -59
View File
@@ -2,89 +2,161 @@
layout: default
---
<small>{{ page.date | date: "%-d %B %Y" }} - 字数统计:{% if page.layout == "encrypt" %}God Knows {% else %}{{ page.content | strip_html | strip_newlines | remove: " " | size }} - 阅读大约需要{{ page.content | strip_html | strip_newlines | remove: " " | size | divided_by: 350 | plus: 1 }}分钟{% endif %} - Hits: <span id="{{ page.url }}" class="visitors" >Loading...</span>
</small>
<small>{{ page.date | date: "%-d %B %Y" }} - 字数统计:{% if page.layout == "encrypt" %}God Knows {% else %}{{ page.content | strip_html | strip_newlines | remove: " " | size }} - 阅读大约需要{{ page.content | strip_html | strip_newlines | remove: "" | size | divided_by: 350 | plus: 1 }}分钟{% endif %} - Hits: <span id="{{ page.url }}" class="visitors">Loading...</span></small>
<h1>{{ page.title }}</h1>
<p class="view">by <a href="//github.com/{{ page.author | default: "Mabbs" }}">{{ page.author | default: site.author }}</a></p>
<div id="outdate" style="display:none;">
<hr />
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
<br /><br />
<hr />
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
<br /><br />
</div>
<script>
BirthDay = new Date("{{ page.date | date: "%m/%d/%Y" }} 00:00:00");
today = new Date();
timeold = (today.getTime() - BirthDay.getTime());
secondsold = Math.floor(timeold / 1000);
e_daysold = timeold / (24 * 60 * 60 * 1000);
daysold = Math.floor(e_daysold);
if (daysold > 90) {
BirthDay = new Date("{{ page.date | date: "%m/%d/%Y" }} 00:00:00");
today = new Date();
timeold = (today.getTime() - BirthDay.getTime());
secondsold = Math.floor(timeold / 1000);
e_daysold = timeold / (24 * 60 * 60 * 1000);
daysold = Math.floor(e_daysold);
if (daysold > 90) {
document.getElementById("outdate").style.display = "block";
document.getElementById("outime").innerHTML = daysold;
}
}
</script>
<hr />
{% if page.layout != "encrypt" %}
<!--[if !IE]> -->
<b>AI摘要</b>
<p id="ai-output">正在生成中……</p>
<script>
async function sha(str) {
const encoder = new TextEncoder();
const data = encoder.encode(str);
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array
const hashHex = hashArray
.map((b) => b.toString(16).padStart(2, "0"))
.join(""); // convert bytes to hex string
return hashHex;
}
async function ai_gen(){
var postContent = "文章标题:" + {{ page.title | jsonify }} + ";文章内容:" + {{ page.content | strip_html | strip_newlines | jsonify }};
var postContentSign = await sha(postContent);
var outputContainer = document.getElementById("ai-output");
$.get(BlogAPI + "/is_uploaded?id={{ page.url }}&sign=" + postContentSign, function (data) {
if (data == "yes") {
$.get(BlogAPI + "/get_summary?id={{ page.url }}&sign=" + postContentSign, function (data2) {
outputContainer.textContent = data2;
});
} else {
$.post(BlogAPI + "/upload_blog?id={{ page.url }}", postContent, function (data) {
$.get(BlogAPI + "/get_summary?id={{ page.url }}&sign=" + postContentSign);
const evSource = new EventSource(BlogAPI + "/summary?id={{ page.url }}");
outputContainer.textContent = "";
evSource.onmessage = (event) => {
if (event.data == "[DONE]") {
evSource.close();
return;
} else {
const data = JSON.parse(event.data);
outputContainer.textContent += data.response;
}
}
});
}
});
}
ai_gen();
</script>
<hr />
<!-- <![endif]-->
{% endif %}
{% include toc.html html=content sanitize=true %}
{% include toc.html html=content sanitize=true h_max=3 %}
{{content}}
{% if page.tags %}
<small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small>
<small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small>
{% endif %}
<br />
<br />
<p id="suggest-container"></p>
<script>
var blogurl = "{{ page.url }}";
var suggest = $("#suggest-container")[0];
suggest.innerHTML = "Loading...";
$.get(BlogAPI + "/suggest?id=" + blogurl + "&update=" + lastUpdated.valueOf(), function (data) {
if (data.length) {
getSearchJSON(function (search) {
suggest.innerHTML = '<b>推荐文章</b><hr style="margin: 0 0 5px"/>';
const searchMap = new Map(search.map(item => [item.url, item]));
const merged = data.map(suggestObj => {
const searchObj = searchMap.get(suggestObj.id);
return searchObj ? { ...searchObj } : null;
});
merged.forEach(element => {
if (element) {
suggest.innerHTML += "<a href=" + element.url + ">" + element.title + "</a> - " + element.date + "<br />";
}
});
});
} else {
suggest.innerHTML = "暂无推荐文章……";
}
});
</script>
<div class="pagination">
{% if page.previous.url %}
<span class="prev" >
<a href="{{ site.baseurl }}{{ page.previous.url }}">
上一篇:{{ page.previous.title }}
</a>
</span>
{% endif %}
{% if page.previous.url %}
<span class="prev">
<a href="{{ site.baseurl }}{{ page.previous.url }}">
上一篇:{{ page.previous.title }}
</a>
</span>
{% endif %}
<br />
{% if page.next.url %}
<span class="next" >
<a href="{{ site.baseurl }}{{ page.next.url }}">
下一篇:{{ page.next.title }}
</a>
</span>
{% endif %}
</div>
{% if page.next.url %}
<span class="next">
<a href="{{ site.baseurl }}{{ page.next.url }}">
下一篇:{{ page.next.title }}
</a>
</span>
{% endif %}
</div>
<!--[if !IE]> -->
<link rel="stylesheet" href="/css/gitalk.css">
<script src="/js/gitalk.min.js"></script>
<link rel="stylesheet" href="/css/gitalk.css">
<script src="/js/gitalk.min.js"></script>
<div id="gitalk-container"></div>
<script>
if (window.location.host != "mabbs.github.io")
{
var gitalk = new Gitalk({
clientID: '098934a2556425f19d6e',
clientSecret: '0bd44eed8425e5437ce43c4ba9b2791fbc04581d',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '{{ page.id }}', // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
})
}
else
{
var gitalk = new Gitalk({
clientID: '36557aec4c3cb04f7ac6',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '{{ page.id }}', // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
})
}
if (window.location.host != "mabbs.github.io") {
var gitalk = new Gitalk({
clientID: '098934a2556425f19d6e',
clientSecret: '0bd44eed8425e5437ce43c4ba9b2791fbc04581d',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '{{ page.id }}', // Ensure uniqueness and length less than 50
distractionFreeMode: false, // Facebook-like distraction free mode
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
})
}
else {
var gitalk = new Gitalk({
clientID: '36557aec4c3cb04f7ac6',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '{{ page.id }}', // Ensure uniqueness and length less than 50
distractionFreeMode: false, // Facebook-like distraction free mode
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
})
}
gitalk.render('gitalk-container')
gitalk.render('gitalk-container')
</script>
<!-- <![endif]-->
<!-- <![endif]-->
+1 -1
View File
@@ -28,7 +28,7 @@ tags: [Apple, MacBook, 体验]
## 游戏体验
众所周知,MacBook很不适合用来打游戏,因为大多数游戏都是在Windows上编写的。不过我已经安装了Windows11ARM的虚拟机,如果用来跑游戏效果会怎么样呢?我从我原来用的电脑上传了一个Galgame过来,打开试了一下,卡的不得了,不知道是因为没法调用显卡还是怎么回事,感觉帧率就10fps的样子,我在我原来的电脑上运行了一下试了试,运行非常流畅。连运行Galgame都这么垃圾,其他游戏估计更不用说了。不过这估计也是因为是虚拟机的缘故,所以我想找找MacOS支持的游戏。去Apple Store下载游戏……都要花钱,不过我看到我的MacBook作为Pro,有个Touch Bar,所以想整个Touch Bar的游戏,正好看到了个打砖块,试了试效果还不错。
当然用MacBook光看打砖块流畅那就没啥意义了,所以再升点级,试试三维弹球吧😝,之前我在网上看到一个开源版本的三维弹球,叫做[SpaceCadetPinball](https://github.com/k4zmu2a/SpaceCadetPinball),是用Windows XP自带的那个版本逆向出来的,我看了一眼是支持在MacOS上运行的,于是就下载下来编译了一下,效果确实不错,不过我又试了一下在Windows原生的版本,一样很流畅啊😂,而且不知道为什么感觉开源的这个版本缓冲器不太对劲,弹的没原生的舒服……这试游戏没必要针对弹球游戏吧😂。
不过我也不知道MacOS支持什么游戏,想了想我在Epicgames上白嫖了不少游戏,干脆下载下来看看都有啥支持吧。看了一圈while True:learn()居然支持,然后就下载下来试了一下,不过这个基本上也没啥特效啥的,就是那种逻辑推理游戏,也展现不出什么,不过我原来的电脑运行这个游戏的时候风扇就开始高速转起来了,MacBook能完全没声音应该还是证明有点东西的。
不过我也不知道MacOS支持什么游戏,想了想我在Epic Games上白嫖了不少游戏,干脆下载下来看看都有啥支持吧。看了一圈while True:learn()居然支持,然后就下载下来试了一下,不过这个基本上也没啥特效啥的,就是那种逻辑推理游戏,也展现不出什么,不过我原来的电脑运行这个游戏的时候风扇就开始高速转起来了,MacBook能完全没声音应该还是证明有点东西的。
不过我也不一定非要考虑电脑游戏,我也可以考虑一下手机游戏,毕竟MacOS在M系列芯片上是可以运行iOS软件的,不过系统做了一些限制,不是所有都支持,所以我就下了一个[PlayCover](https://github.com/PlayCover/PlayCover),在上面安装了公主连结 Re:Dive。效果还挺不错的,完全不卡,不过运行的时候可以明显感觉有点开始发热了,我浏览网页看视频的时候完全不发热,看来这个游戏还是挺费资源的。
## 综合体验
经过这些天的使用,我感触最深的就是这台电脑的续航了,别说一天不充电,感觉两三天不充电都没问题,毕竟标称续航是20小时,可以算是续航最强的笔记本电脑了。不过这样的话感觉就更像是大号手机/平板那样了,用的时候不充电,24小时不用关机,感觉和手机差不多,相比平板功能还是更多,要是说用iPad那个东西可没有终端,越狱也还是比不了MacOS。而相比Android平板,我之前还在上面[试过Termux](/2022/02/15/termux.html),不过问题和越狱差不多,支持的东西还是不如MacOS,虽然MacOS也不是开源的,但是对我来说我感觉那个终端就像Linux那个终端差不多,加上HomeBrew效果还是挺不错的,另外MacBook比平板的续航更长,就是重量也更重了。
+1 -1
View File
@@ -7,7 +7,7 @@ tags: [AI, LLM, 人工智能]
最近人工智能发展的还真是不错啊……<!--more-->
# 起因
最近ChatGPT为代表的人工智能发展的越来越好了,而且因为它对生产力的提升使得了解AI的人也越来越多了。虽然我也不算是对AI很感兴趣,但是我在Github Copilot刚出的时候就已经用上了,到现在一直在用(不过毕业了以后估计就用不了了吧😂)。不过那时候Copilot毕竟专业性比较高,知道的人也比较少,不像现在ChatGPT能在各行各业使用,甚至还有基于类似模型的Vtuber,比如[Neuro-sama](https://www.twitch.tv/vedel987),所以即使是普通人使用它,都能够减轻自己的工作压力,所以现在的人们都在讨论它。
最近ChatGPT为代表的人工智能发展的越来越好了,而且因为它对生产力的提升使得了解AI的人也越来越多了。虽然我也不算是对AI很感兴趣,但是我在Github Copilot刚出的时候就已经用上了,到现在一直在用(不过毕业了以后估计就用不了了吧😂)。不过那时候Copilot毕竟专业性比较高,知道的人也比较少,不像现在ChatGPT能在各行各业使用,甚至还有基于类似模型的Vtuber,比如[Neuro-sama](https://www.twitch.tv/vedal987),所以即使是普通人使用它,都能够减轻自己的工作压力,所以现在的人们都在讨论它。
当然在这之前,还有一些很厉害的画图AI,比如使用了Stable Difusion的NovalAI,以及Midjourney啥的,不过因为我对画图并不感兴趣,所以它发展的有多好也基本上和我没有关系。其实除了这些能够AIGC的模型之外,在那之前还有下围棋的AlphaGO啥的,那个我就更不感兴趣了,相信大多数人也不感兴趣,所以总的来看也就只有现在才能证明AI发展到了能够让大家觉得能干涉到更多人的地步吧。
也正因为现在以ChatGPT为代表的LLM的发展,开源社区也开始搞起来一些有意思的东西。不过LLM的训练成本比较高,所以现在开源社区在这一块的发展也许得感谢比如Facebook的[LLaMA](https://github.com/facebookresearch/llama)之类基础的模型,才能让大家能用较低的成本去训练属于自己的AI吧。

Some files were not shown because too many files have changed in this diff Show More