Leptos is a cutting-edge Rust web framework designed for building fast, reliable, web applications.
一花一世界,一树一菩提。
Turso is the lightweight database that scales to millions of agents. Deploy databases everywhere—on servers, in browsers, on devices—just like files. A full SQLite drop-in replacement, built for the agentic future.
把 Markdown 发布成精致文档站、可打印 PDF、便携 HTML 和 ePub。
A dead simple notification daemon 🦡
编程类书籍下载/在线阅读资源汇总(补充完善版)
国内站点优先,国外站点作为补充。部分资源来自社区分享,请留意版权,支持正版。
🇨🇳 国内站点
| 名称 | 网址 | 特点 |
|---|---|---|
| 书栈网 (BookStack) | www.bookstack.cn | 优质开源 IT 书籍在线站,无需下载即可阅读,内容全面。 |
| 搬书匠 | www.banshujiang.cn | 免注册、无限制下载,PDF 质量高,更新快。 |
| 码农之家 | www.xz577.com | 综合性计算机电子书站,涵盖编程、数据库、操作系统等。 |
| 脚本之家 - 书籍频道 | www.jb51.net/books | 老牌技术站,书籍资源丰富,前端/后端/运维都有。 |
| 码农书籍网 | www.manongbook.com | “下载后付费”模式,可先预览再决定是否购买。 |
| 金屋搜索 | pdfs.top | PDF 文档搜索引擎,不限于编程,但技术类资源很多。 |
| 鸠摩搜索 | www.jiumosearch.org | 聚合型电子书搜索引擎,中文编程书覆盖面广,免登录无限下。 |
| 图灵社区 | www.ituring.com.cn | 人民邮电出版社旗下,提供大量免费技术书(注册后可下载)。 |
| SaltTiger | salttiger.com/archives/ | 专注于英文原版编程电子书,提供百度网盘 PDF/EPUB 链接。 |
| 知海图书馆 | github.com/harryfighting/zhihailib | 17万+电子书免费索引,支持 EPUB/PDF/MOBI/AZW3/TXT 多格式。 |
| 编程资源网 | github.com/GrindGold/pdf | 计算机经典电子书与学习资源分享。 |
🌍 国外站点(含 codelibs.ru 及同类)
| 名称 | 网址 | 特点 |
|---|---|---|
| codelibs.ru | codelibs.ru | 你提到的站点,专注于编程类书籍下载。 |
| Library Genesis | libgen.is | 全球最大的学术资源库之一,英文计算机书极全。 |
| Z-Library | z-lib.org | 大型电子书库,支持多种格式,每日有免费下载额度。 |
| FreeComputerBooks | free.erlist.cn | 专注于免费在线计算机、编程、数学、工程类书籍,无需注册即可访问和下载。 |
| IT eBooks | it-ebooks.info | 专门收集计算机类英文电子书,分类清晰,无需注册。 |
| O'Reilly 免费资源 | www.oreilly.com/free | O'Reilly 定期提供免费技术书籍和报告,需邮箱领取。 |
| Packt 免费书 | www.packtpub.com/free-ebook | Packt 出版社每日赠送一本免费电子书。 |
| netlib / codelib.re | www.netlib.re | 提供免费二级域名,包含 codelib.re 后缀。 |
🤖 GitHub 精选仓库(资源宝库)
| 仓库名称 | 地址 | 说明 |
|---|---|---|
| free-programming-books-zh_CN | github.com/justjavac/free-programming-books-zh_CN | 最流行的中文编程书清单,社区维护,持续更新。 |
| CS-Ebook | github.com/MondayNotAGoodDay/CS-Ebook | 高质量经典计算机电子书库,求精不求多,提供百度网盘和阿里云盘下载。 |
| CS-Books | github.com/forthespada/CS-Books | 超过1000本计算机经典书籍。国内加速版:gitee.com/ForthEspada/CS-Books。 |
| Awesome-CS-Books | github.com/liyuanmontreal/Awesome-CS-Books | 优秀计算机书籍归档,含读书笔记。 |
| IT-Ebooks-PDF | gitee.com/dunx/IT-Ebooks-PDF | 1158+份技术电子书,涵盖13大技术分类。 |
| EbookFoundation/free-programming-books | github.com/EbookFoundation/free-programming-books | 全球开发者众筹的最大免费编程学习资源合集。 |
小提示:
- 推荐优先使用 书栈网(在线阅读)和 搬书匠(下载),两者体验较好且无过多限制。
- GitHub 仓库是重要的资源来源,尤其
free-programming-books-zh_CN和CS-Ebook质量很高。- 下载时注意格式(PDF/EPUB/MOBI),部分网站支持格式过滤。
- 如遇网站打不开,可尝试切换网络或使用镜像站(尤其国外站点)。
- 所有资源请仅用于个人学习,支持正版纸质书或官方电子版。
中国公共招聘网是人力资源和社会保障部主办的公共就业服务网,主要发布招聘信息,招聘会信息,事业单位公开招聘信息,市场资讯等信息,旨在为广大劳动者免费提供信息真实、内容完整、岗位有效、查询便利的信息,并以全面、系统、权威的信息内容提供更加优质高效的就业信息服务
目錄基本介紹配備需求收費方式伺服器本百科編輯與使用的注意事項使用規範編輯準則基本介紹『大航海時代Online』是以16世紀歐洲「大航海時代」為舞台的線�
An authorization library that supports access control models like ACL, RBAC, ABAC in Rust - apache/casbin-rs
A Rust implementation of the Realworld demo app spec using Axum and SQLx. - launchbadge/realworld-axum-sqlx
Loco.rs is like Ruby on Rails for Rust. Use it to quickly build and deploy Rust based apps from zero to production.
Build on rrweb, the #1 open source session replay library. Managed hosting for teams choosing open source session recording.
Hugging Face is way more fun with friends and colleagues!
┌─────────────┐
│ 前端聊天UI │
│ ChatGPT类界面│
└──────┬──────┘
│ HTTP请求(OpenAI格式)
↓
┌─────────────────┐
│ llama-server │
│ localhost:8080 │
│ OpenAI兼容API │
└──────┬──────────┘
│
↓
┌─────────────┐
│ GGUF模型 │
│ Llama/Qwen │
└─────────────┘
Chat接口(最常用)
POST /v1/chat/completions
http://localhost:9192/v1/chat/completions
请求格式:
{
"model": "local-model",
"messages": [
{
"role": "system",
"content": "你是一个AI助手"
},
{
"role": "user",
"content": "你好,请介绍一下自己"
}
],
"temperature":0.7
}
返回:
{
"choices":[
{
"message":{
"role":"assistant",
"content":"你好,我是一个基于..."
}
}
]
}
前端怎么调用?
<input id="msg">
<button onclick="send()">发送</button>
<div id="answer"></div>
<script>
async function send(){
let text=document.getElementById("msg").value;
let res=await fetch(
"http://服务器IP:8080/v1/chat/completions",
{
method:"POST",
headers:{
"Content-Type":"application/json",
"Authorization":"Bearer YOUR_API_KEY"
},
body:JSON.stringify({
model:"local-model",
messages:[
{
role:"user",
content:text
}
]
})
});
let data=await res.json();
document.getElementById("answer").innerHTML=
data.choices[0].message.content;
}
</script>
流式输出(打字效果)
请求增加:
{
"stream":true
}
返回:
data:
{"content":"你"}
data:
{"content":"好"}
data:
{"content":"!"}
前端用:ReadableStream 读取即可。
限制访问量(1人)
nginx配置
新建/etc/nginx/conf.d/llama.conf
limit_conn_zone $binary_remote_addr zone=llama_limit:10m;
server {
listen 8080;
location / {
# 单用户连接限制
limit_conn llama_limit 1;
# 超过限制返回503
limit_conn_status 503;
proxy_pass http://127.0.0.91:9192;
proxy_http_version 1.1;
# SSE流式输出必须
proxy_set_header Connection "";
proxy_buffering off;
proxy_read_timeout 3600s;
}
# 自定义忙碌提示
error_page 503 = @busy;
location @busy {
default_type application/json;
return 503 '
{
"error":
"AI服务器正在服务其他用户,请稍后再试"
}';
}
}
systemctl reload nginx
llama.cpp本身建议这样启动:
./llama-server \
-m model.gguf \
--host 127.0.0.91 \
--port 9192 \
--parallel 1 \
--api-key-file /service/ai/api.key
关键 --parallel 1 llama.cpp内部只允许一个推理上下文。
常用的完整 POST JSON 可以这样写:
{
"model": "Talk-Qwen3-1.7B-Q8",
"messages": [
{
"role": "system",
"content": "你是一个专业、简洁、可靠的中文 AI 助手。回答要直接,不要输出 thinking,不要输出 <think> 标签。"
},
{
"role": "user",
"content": "请用三句话介绍一下 llama.cpp。"
}
],
"temperature": 0.6,
"top_p": 0.85,
"top_k": 40,
"min_p": 0.05,
"repeat_penalty": 1.2,
"presence_penalty": 0.3,
"frequency_penalty": 0.3,
"max_tokens": 512,
"stream": false
}
curl 示例:
curl http://127.0.0.91:9192/v1/chat/completions \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer 你的key内容" \
-d '{
"model": "Talk-Qwen3-1.7B-Q8",
"messages": [
{
"role": "system",
"content": "你是一个专业、简洁、可靠的中文 AI 助手。回答要直接,不要输出 thinking,不要输出 <think> 标签。"
},
{
"role": "user",
"content": "请用三句话介绍一下 llama.cpp。"
}
],
"temperature": 0.6,
"top_p": 0.85,
"top_k": 40,
"min_p": 0.05,
"repeat_penalty": 1.2,
"presence_penalty": 0.3,
"frequency_penalty": 0.3,
"max_tokens": 512,
"stream": false
}'
流式输出用:
"stream": true
多轮对话时,messages 自己带历史:
"messages": [
{"role": "system", "content": "你是中文助手。"},
{"role": "user", "content": "我叫张三。"},
{"role": "assistant", "content": "好的,我记住了。"},
{"role": "user", "content": "我叫什么?"}
]
不想有历史,就每次只传:
"messages": [
{"role": "system", "content": "你是中文助手。"},
{"role": "user", "content": "新的问题"}
]