包含关键字 typecho 的文章


一款面向多 qBittorrent 客户端的限速与标签自动化管理工具

写在前面

为什么要做 SeedFlow?

如果你手上有 多台 VPS / NAS / 盒子,相信你都遇到过这些问题:

  • 不同站点限速策略不同手动改很麻烦
  • 不同站点发种时偶尔忘了限速导致超速封号
  • 新种子忘记打标签观感不好
  • 服务器多了以后不知道哪台还活着(指 qB

SeedFlow 的出现就是为了解决这些问题:

  • 一个 Web 面板,统一管理所有 qB
  • 用「规则」而不是「手动操作」控制限速
  • 自动根据 Tracker 打标签
  • 被控端一条命令部署,支持新 / 旧版本 qB


SeedFlow 能做什么

适用于

  • 经常发种忘了限速(我本人
  • 有 2 台及以上 qBittorrent 客户端的用户
  • PT / BT 用户,希望精细化限速
  • 不想写脚本,但想要「自动化」的人

部署 SeedFlow

准备环境

  • 一台服务器 / NAS
  • 已安装:
    • Docker
    • docker-compose(可选)

小建议

如果你使用的国外服务器,我个人不推荐你安装在家里的 NAS 上
大部分人家里的公网 v4 都被回收了,当然本地 qB 使用就无所谓
部署优先级:国外服务器 > qB自身服务器 > 家里云Nas

部署服务端

方法一

Docker Compose(推荐)

1. 创建程序所需目录
mkdir -p seedflow && cd seedflow
mkdir -p config

seedflow 是主程序目录,config 用于持久化配置文件

2. 创建 Docker 编排文件
cat > docker-compose.yml << 'EOF' services: seedflow:  52lxcloud/seedflow:latest container_name: seedflow ports: - "5427:5427" environment: - DEFAULT_PASSWORD=lxcloud volumes: - ./config:/app/config restart: unless-stopped EOF 

DEFAULT_PASSWORD 是初始登录密码可以自行修改替换,或首次登录后请务必修改

可以使用 ls 命令查看当前目录文件,有这两条就正常

3. 拉取最新镜像并启动容器
docker-compose pull && docker-compose up -d

方法二

Docker run

mkdir -p config
docker run -d \
  --name seedflow \
  -p 5427:5427 \
  -v ./config:/app/config \
  --restart unless-stopped \ 52lxcloud/seedflow:latest

启动完成后访问:

添加 qB 客户端

  1. 进入 SeedFlow 面板
  2. 点击「新增客户端」
    填写以下信息:
  • Host(IP: 端口)
    • 如果 SeedFlow 与 qB 在同一台服务器上,可使用 127.0.0.1localhost
  • 用户名 / 密码
  1. 点击「测试连接」确认可用

部署被控端 Agent

  1. 点击「测试连接」旁边的 终端图标
  2. 点击「复制安装命令」
    部分浏览器可能需要手动复制命令
  1. 前往 需要被管理的 qB 服务器,执行复制的安装命令
  1. 安装完成后,你将看到以下状态变化:
  • Agent 自动启动
  • 面板中「心跳状态」由 红色 变为 绿色
  • 日志中显示对应模式已成功启动
  1. qBittorrent 4.6.0 及以上版本额外配置

安装完成后,需要在 qBittorrent 中配置「外部程序」

安装命令的面板中点击 「自动配置」,一键完成设置(推荐)。

两种模式说明

模式支持的 qB 版本工作方式特点
标准版(推荐)≥ 4.6.0通过「外部程序」触发实时性好,性能开销低
兼容版所有版本 qB轮询检测兼容性最好


写在最后

SeedFlow 更像是一个「qB 自动化中枢」,出发的点也只是为了各位 PTer 在发种时,不要因为各个站点的规则不同,从而忘了设置限速,导致账号被封禁

这篇文章写了我一个通宵,根据自己实际情况,已按最小入门版进行解释,为了适配各平台规则,我又重新简要的提取了些精确内容,和重新上传图床

本文为简化入门说明版,如需查看完整说明、更新内容及最佳阅读体验

请前往我的博客阅读原文: SeedFlow 使用教程

图片失效也可以前往 github 查看: GitHub - 52Lxcloud/qB-SeedFlow

如有疑问,欢迎留言


📌 转载信息
原作者:
Lxcloud
转载时间:
2025/12/28 19:54:59

可用模型比较少,但是胜在好弄。
用来给自己沉浸式翻译也是不错的。
谢谢你的 Star

 "groq/openai/gpt-oss-120b",
    "groq/openai/gpt-oss-20b",
    "openai/gpt-4.1-mini",
    "openai/gpt-4.1-nano",
    "openai/gpt-4o-mini",
    "openai/gpt-3.5-turbo",
    "google/gemini-2.5-flash",
    "google/gemini-2.0-flash-lite",
    "groq/gemma2-9b-it",
    "anthropic/claude-3-5-sonnet-20240620",
    "anthropic/claude-3-5-haiku-20241022",
    "anthropic/claude-3-sonnet-20240229",
    "anthropic/claude-3-haiku-20240307",
    "cohere/command-r7b-12-2024",
    "groq/llama3-70b-8192",
    "groq/llama3-8b-8192",
    "aimlapi/mistralai/mistral-nemo",
    "aimlapi/mistralai/mistral-tiny",
    "xai/grok-2-1212",
    "xai/grok-3-mini-latest",
    "deepseek/deepseek-chat",
    "aimlapi/upstage/SOLAR-10.7B-Instruct-v1.0",
    "aimlapi/qwen-turbo",
    "aimlapi/qwen/qvq-72b-preview",
    "aimlapi/Qwen/Qwen2.5-72B-Instruct-Turbo",
    "aimlapi/Qwen/Qwen2.5-7B-Instruct-Turbo",
    "aimlapi/MiniMax-Text-01",
    "aimlapi/ai21/jamba-1-5-mini" 

Donedot


📌 转载信息
原作者:
maram
转载时间:
2025/12/28 18:53:03

无限薅 ProxyScrape IP 池(7 天试用)

给大家分享下 通过临时邮箱获取 ProxyScrape 7 天试用 IP 池 的方法,可多次注册使用(单次最多 100 个 IP)。


IP 池的作用

  • 绕过访问频率与简单风控限制
  • 数据采集 / 爬虫调度
  • 模拟多地区访问环境


准备工作

  1. ProxyScrape 官网
    📄 Free Proxy List - Updated every 5 minutes

  2. 临时邮箱(推荐)
    https://tmailor.com/

    测试过多个临时邮箱服务,目前该站可正常接收 ProxyScrape 验证邮件

  3. 浏览器无痕模式
    用于避免缓存、Cookie 影响注册流程


开始注册

  1. 打开注册页面
    ProxyScrape Sign up

  2. 使用 tmailor.com 获取的临时邮箱填写注册信息

  3. 输入验证码

  4. 前往临时邮箱查收验证邮件并完成注册


使用方式

注册完成后,即可在控制台中创建并使用 7 天试用 IP 池:



说明

  • 单个试用账号可获得 最多 100 个 IP
  • 到期后可更换临时邮箱重新注册
  • 适合测试、学习、开发环境使用

接下来就可以放心使用你的 IP 池了。


📌 转载信息
转载时间:
2025/12/28 18:50:24

无限薅 ProxyScrape IP 池(7 天试用)

给大家分享下 通过临时邮箱获取 ProxyScrape 7 天试用 IP 池 的方法,可多次注册使用(单次最多 100 个 IP)。


IP 池的作用

  • 绕过访问频率与简单风控限制
  • 数据采集 / 爬虫调度
  • 模拟多地区访问环境


准备工作

  1. ProxyScrape 官网
    📄 Free Proxy List - Updated every 5 minutes

  2. 临时邮箱(推荐)
    https://tmailor.com/

    测试过多个临时邮箱服务,目前该站可正常接收 ProxyScrape 验证邮件

  3. 浏览器无痕模式
    用于避免缓存、Cookie 影响注册流程


开始注册

  1. 打开注册页面
    ProxyScrape Sign up

  2. 使用 tmailor.com 获取的临时邮箱填写注册信息

  3. 输入验证码

  4. 前往临时邮箱查收验证邮件并完成注册


使用方式

注册完成后,即可在控制台中创建并使用 7 天试用 IP 池:



说明

  • 单个试用账号可获得 最多 100 个 IP
  • 到期后可更换临时邮箱重新注册
  • 适合测试、学习、开发环境使用

接下来就可以放心使用你的 IP 池了。


📌 转载信息
转载时间:
2025/12/28 18:31:52

可用模型比较少,但是胜在好弄。
用来给自己沉浸式翻译也是不错的。
谢谢你的 Star

 "groq/openai/gpt-oss-120b",
    "groq/openai/gpt-oss-20b",
    "openai/gpt-4.1-mini",
    "openai/gpt-4.1-nano",
    "openai/gpt-4o-mini",
    "openai/gpt-3.5-turbo",
    "google/gemini-2.5-flash",
    "google/gemini-2.0-flash-lite",
    "groq/gemma2-9b-it",
    "anthropic/claude-3-5-sonnet-20240620",
    "anthropic/claude-3-5-haiku-20241022",
    "anthropic/claude-3-sonnet-20240229",
    "anthropic/claude-3-haiku-20240307",
    "cohere/command-r7b-12-2024",
    "groq/llama3-70b-8192",
    "groq/llama3-8b-8192",
    "aimlapi/mistralai/mistral-nemo",
    "aimlapi/mistralai/mistral-tiny",
    "xai/grok-2-1212",
    "xai/grok-3-mini-latest",
    "deepseek/deepseek-chat",
    "aimlapi/upstage/SOLAR-10.7B-Instruct-v1.0",
    "aimlapi/qwen-turbo",
    "aimlapi/qwen/qvq-72b-preview",
    "aimlapi/Qwen/Qwen2.5-72B-Instruct-Turbo",
    "aimlapi/Qwen/Qwen2.5-7B-Instruct-Turbo",
    "aimlapi/MiniMax-Text-01",
    "aimlapi/ai21/jamba-1-5-mini" 

Donedot


📌 转载信息
原作者:
maram
转载时间:
2025/12/28 18:31:32

起初是不想用 TUN 模式的,怕代理了下载流量和游戏流量。
为了认证咕噜咕噜学生会员和反重力,就开始折腾一下(结果因为以前用 Adsense 加了国内地址导致学生会员没资格,然后反重力也改成周刷新额度了,555)
本脚本解决了以下问题:

  • 锁定谷歌的地区为新加坡(你也可以自己改地区,或者加规则实现其他网站固定地区)
  • 把到期时间、剩余流量等没意义的节点单独丢一个分组,不参与自动选择
  • TUN 模式下,非必要代理的流量尽可能走直连(测试了游戏没问题)
    • 原理是解析 IP 如果是国内就走直连,但是不知道如果分发 CND 是亚洲 IP 能不能命中该规则
    • 有没有佬帮测一下 steam 下载这类流量比较大且使用场景比较多的情况
  • TUN 模式下反重力正常工作


然后我想再问个问题:
开了 TUN 之后,有些支持配置代理的软件,还需要再选择系统代理吗,或者是直接不开代理也行?因为我看 TUN 模式需要关闭系统代理,然后软件不配置代理的话好像也能走代理


脚本:

// 自定义域名配置
const forceProxyDomains = [
    "DOMAIN-SUFFIX,linux.do,常规节点组",
    "DOMAIN-SUFFIX,genspark.ai,常规节点组"
]

// 自定义规则集配置
// 规则集仓库 https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/Clash/README.md
const ruleConfig = [
    {
        name: "谷歌规则集",
        group: "地区节点组",
        url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Google/Google.yaml"
    },
    {
        name: "油管规则集",
        group: "地区节点组",
        url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/YouTube/YouTube.yaml"
    }
]

function main(config) {
    const newConfig = JSON.parse(JSON.stringify(config));

    // 特殊节点组:无用的节点(官网地址、到期时间等)
    const premiumKeywords = /(免费|2026|官网|剩余|到期|Traffic)/i;
    let specialProxies = newConfig.proxies.filter(p => premiumKeywords.test(p.name));
    let normalProxies = newConfig.proxies.filter(p => !premiumKeywords.test(p.name));
    
    // 地区节点组:固定新加坡,没有则降级到常规节点组
    const areaKeywords = /(singapore|新加坡)/i;
    let areaProxies = newConfig.proxies.filter(p => areaKeywords.test(p.name));
    if(areaProxies.length <= 0) {
        areaProxies = normalProxies;
    }

   // 构建代理组
    const proxyGroups = [
        {
            "name": "代理分流组",
            "type": "select",
            "proxies": specialProxies.length > 0 ? ["常规节点组", "特殊节点组", "DIRECT"] : ["常规节点组", "DIRECT"]
        },
        {
            "name": "常规节点组",
            "type": "url-test",
            "url": "http://www.google.com/generate_204",
            "interval": 1800,
            "tolerance": 30,
            "proxies": normalProxies.map(p => p.name)
        },
        ...(specialProxies.length > 0 ? [
            {
                "name": "特殊节点组",
                "type": "select",
                "proxies": specialProxies.map(p => p.name)
            }] : []
        ),
        {
                "name": "地区节点组",
                "type": "select",
                "proxies": areaProxies.map(p => p.name)
        },
        {
            "name": "国内直连组",
            "type": "select",
            "proxies": ["DIRECT"]
        }
    ];

    // 规则配置
    const rules = [];

    // 添加自定义域名
    forceProxyDomains.forEach(domain => {
        rules.push(domain);
    });

    // 添加自定义规则集
    const ruleProviders = {};
    ruleConfig.forEach(({ name, url, group }) => {
        const providerKey = `${name.toLowerCase()}_rules`;
        ruleProviders[providerKey] = {
            "type": "http",
            "behavior": "classical",
            "url": url,
            "interval": 86400,
            "path": `./rule-providers/${providerKey}.yaml`
        };
        rules.push(`RULE-SET,${providerKey},${group}`);
    });

    // 全局配置
    const globalConfig = {
        "global-client-fingerprint": "chrome",
        "tcp-concurrent": true,
        "geox-url": {
            "geoip": "https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip-lite.dat",
            "geosite": "https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat",
            "mmdb": "https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb"
        }
    };

    // GEO规则
    rules.push(
        // 确定被墙 → 代理
        "GEOSITE,gfw,代理分流组",
        // 中国相关 → 直连
        "GEOSITE,cn,国内直连组",
        "GEOSITE,private,国内直连组",
        "GEOIP,private,国内直连组,no-resolve",
        "GEOIP,cn,国内直连组",
        // 兜底 → 代理
        "MATCH,代理分流组"
    );


    return {
        ...newConfig,
        ...globalConfig,
        "proxy-groups": proxyGroups,
        "rules": rules,
        "rule-providers": ruleProviders
    };
}

没写 DNS 的规则,有需要可以参考之前的帖子傻瓜式 clash verge 全局脚本,实现 DNS 国内外分流,粘贴即用


📌 转载信息
原作者:
mos6
转载时间:
2025/12/28 18:29:55

背景:看到 青旨佬的音乐解析 API,想着用到博客上,但是大多数博客系统和插件使用的是 Meting 框架,API 互不兼容,所以用 Cloudflare Workers 部署一个适配器。

感谢:青旨大佬的 API,还有详尽的 API 文档,介绍在下面,还有稳定成熟的 Meting 框架

https://linux.do/t/topic/1212285

难点:Gemini 2.5 和 3.0-pro 实现代码然后人工调试,比较难处理的是 QQ 音乐和酷我使用了新的链接,但是 MetingJS 没有适配,导致使用 MetingJS 的插件等认不出链接,无法发送正确的参数,这我没有办法解决了,适配器是以 MetingJS 支持的旧版 QQ 音乐和酷我的链接的,下面是旧版格式

对于 QQ 音乐:
单曲:https://y.qq.com/n/yqq/song/{歌曲ID}.html
歌单:https://y.qq.com/n/yqq/playlist/{歌单ID}.html
专辑:https://y.qq.com/n/yqq/album/{专辑ID}.html

对于酷我音乐:
单曲:https://www.kuwo.cn/yinyue/{ID}
歌单:https://www.kuwo.cn/playlist/index?pid={ID}

源码:

// TuneHub API 的基础地址 (固定)
const TUNEHUB_BASE = "https://music-dl.sayqz.com/api";

export default {
  async fetch(request, env, ctx) {
    const url = new URL(request.url);

    // 策略配置 (优先读取环境变量,否则使用默认值)
    const config = {
      INFO_CACHE_TTL: env.INFO_CACHE_TTL !== undefined ? parseInt(env.INFO_CACHE_TTL) : 600,
      AUDIO_CACHE_TTL: env.AUDIO_CACHE_TTL !== undefined ? parseInt(env.AUDIO_CACHE_TTL) : 3600,
      MAX_RETRIES: env.MAX_RETRIES !== undefined ? parseInt(env.MAX_RETRIES) : 3
    };

    // 路由分发
    if (url.pathname.startsWith('/proxy')) {
      // 只有网易云的音频会走到这里
      return handleProxy(request, config);
    }

    return handleInfoWithCache(request, ctx, config);
  },
};

/**
 * 模块 A: 带缓存的信息获取处理
 */
async function handleInfoWithCache(request, ctx, config) {
  if (config.INFO_CACHE_TTL <= 0) {
    return handleInfo(request, config);
  }
  const cache = caches.default;
  let response = await cache.match(request);
  if (response) {
    const newHeaders = new Headers(response.headers);
    newHeaders.set('X-Worker-Cache', 'HIT');
    return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHeaders });
  }
  response = await handleInfo(request, config);
  if (response.status === 200) {
    const responseToCache = response.clone();
    responseToCache.headers.set('Cache-Control', `public, max-age=${config.INFO_CACHE_TTL}`);
    ctx.waitUntil(cache.put(request, responseToCache));
  }
  return response;
}

/**
 * 模块 B: 核心逻辑 - 获取歌单/歌曲元数据 (智能分流版)
 */
async function handleInfo(request, config) {
  try {
    const url = new URL(request.url);
    const params = url.searchParams;
    const server = params.get("server") || "netease";
    const id = params.get("id");
    const type = params.get("type");
    const bitrate = params.get("bitrate");

    let tuneHubBr = null;
    if (bitrate) {
      if (bitrate === '320000') tuneHubBr = '320k';
      else if (bitrate === '999000') tuneHubBr = 'flac';
      else if (bitrate === '1400000') tuneHubBr = 'flac24bit';
    }

    const tuneHubParams = new URLSearchParams();
    let targetSource = server;
    if (server === 'tencent') {
        targetSource = 'qq';
    }
    tuneHubParams.set("source", targetSource);
    tuneHubParams.set("id", id);
    let tuneHubType = type === "playlist" ? "playlist" : "info";
    tuneHubParams.set("type", tuneHubType);

    if (tuneHubType !== 'playlist' && tuneHubBr) {
        tuneHubParams.set('br', tuneHubBr);
    }

    const targetUrl = `${TUNEHUB_BASE}?${tuneHubParams.toString()}`;
    const response = await fetchWithRetry(targetUrl, {}, config.MAX_RETRIES);
    
    if (!response.ok) {
        throw new Error(`Upstream API Error: ${response.status}`);
    }

    const data = await response.json();

    let finalResult = [];
    if (data.code === 200 && data.data) {
      let songList = type === "playlist" ? (data.data.list || []) : [data.data];
      
      finalResult = songList.map(song => {
        // [关键修改] 智能分流
        if (song.url) {
          const realUrl = new URL(song.url);
          if (tuneHubBr) {
            realUrl.searchParams.set('br', tuneHubBr);
          }

          // 只对网易云(netease)的链接进行反向代理
          if (server === 'netease') {
            const proxyUrl = new URL(url.origin);
            proxyUrl.pathname = '/proxy';
            proxyUrl.searchParams.set('real_url', realUrl.toString());
            song.url = proxyUrl.toString();
          } else {
            // 对于 QQ、酷我等,直接返回 TuneHub 的 API 链接
            // (虽然很可能因为 Referer 等原因播放失败,但这是不代理的唯一选择)
            song.url = realUrl.toString();
          }
        }
        
        if (song.pic) song.pic = song.pic.replace('http://', 'https://');
        if (song.lrc) song.lrc = song.lrc.replace('http://', 'https://');
        return song;
      });
    }

    return new Response(JSON.stringify(finalResult), {
      headers: { "Content-Type": "application/json; charset=utf-8", "Access-Control-Allow-Origin": "*" },
    });

  } catch (error) {
    console.error("handleInfo Error:", error);
    return new Response("[]", {
      headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" }
    });
  }
}

/**
 * 模块 C: 核心逻辑 - 音频流反向代理 (只为网易云服务)
 */
async function handleProxy(request, config) {
    try {
        const url = new URL(request.url);
        const realUrl = url.searchParams.get('real_url');

        if (!realUrl) {
            return new Response('Missing real_url parameter', { status: 400 });
        }

        const realUrlObj = new URL(realUrl);
        const source = realUrlObj.searchParams.get('source');

        const initialRequest = new Request(realUrl, {
            method: 'GET',
            redirect: 'manual'
        });

        let finalUrl = realUrl;
        let initialResponse = await fetch(initialRequest);

        if (initialResponse.status === 301 || initialResponse.status === 302) {
            finalUrl = initialResponse.headers.get('Location');
            if (!finalUrl) finalUrl = realUrl;
        }

        const newHeaders = new Headers();
        if (request.headers.has('range')) {
            newHeaders.set('Range', request.headers.get('range'));
        }
        if (request.headers.has('user-agent')) {
            newHeaders.set('User-Agent', request.headers.get('user-agent'));
        }

        // Referer 伪装只对网易云生效
        if (source === 'netease') {
            newHeaders.set('Referer', 'https://music.163.com/');
            newHeaders.set('Cookie', 'os=pc');
        }

        const finalRequest = new Request(finalUrl, {
            headers: newHeaders,
            redirect: 'follow',
            cf: {
                cacheTtl: config.AUDIO_CACHE_TTL > 0 ? config.AUDIO_CACHE_TTL : undefined,
                cacheEverything: config.AUDIO_CACHE_TTL > 0
            }
        });

        const realResponse = await fetchWithRetry(finalRequest, {}, config.MAX_RETRIES);

        const isRangeSupported = realResponse.status === 206;
        const responseHeaders = new Headers(realResponse.headers);
        responseHeaders.set('Access-Control-Allow-Origin', '*');
        responseHeaders.set('Access-Control-Allow-Headers', 'Range, User-Agent');

        if (config.AUDIO_CACHE_TTL > 0) {
            responseHeaders.set('Cache-Control', `public, max-age=${config.AUDIO_CACHE_TTL}`);
        } else {
            responseHeaders.set('Cache-Control', 'no-store');
        }

        if (isRangeSupported) {
            responseHeaders.set('Accept-Ranges', 'bytes');
        }

        return new Response(realResponse.body, {
            status: realResponse.status,
            statusText: realResponse.statusText,
            headers: responseHeaders
        });

    } catch (error) {
        return new Response(null, { status: 500, statusText: "Proxy Failed" });
    }
}


/**
 * 工具函数:带重试机制的 fetch
 */
async function fetchWithRetry(input, init, maxRetries = 1) {
  let attempt = 0;
  while (attempt <= maxRetries) {
    try {
      const response = await fetch(input, init);
      if (response.status >= 500) {
        throw new Error(`Server Error: ${response.status}`);
      }
      return response;
    } catch (error) {
      attempt++;
      if (attempt > maxRetries) {
        throw error;
      }
      await new Promise(resolve => setTimeout(resolve, 200));
    }
  }
}

复制粘贴到 Workers 代码部署就可用,国内屏蔽 workers.dev 域名,需要自定义域名,下面介绍代码功能吧 (懒得自己写了


为什么始终使用最高音质呢?因为 TuneHub 解析如果没有对应音质会自动降级,出处:


📌 转载信息
原作者:
1208091109
转载时间:
2025/12/28 10:58:36

我是一开始看到影视飓风视频当中有个片段是去到这个网站查 AI,然后我也把我的文章去这里查 AI,直接查出 97% AI

(影视飓风片段,而非影视飓风推荐)


我利用右下角的所谓 “确保你的内容 100% 原创”,号称 100% 不会被检查,丢进去重新检测,依然有 73% 的 AI

文章注水严重,所谓的 100% 实际上就是疯狂的注水然后实现的 “100% 原创”

看看其他的平台,我同一篇文章都不敢说有 73% 的 AI
图 1 是 neuralwriter,称高水平的准确性,人工含 90%
图 2aiseo,多家的检测工具来判断,依然是 100% 人工
图 3 是 copyleaks 未检测出 AI
图 4 是 cudekai 检测器,人工含量 90% 以上
图 5 是 isgen,号称最准确的 AI 识别工具,人工含 100%
图 6 是补充的朱雀,含 AI 为 0%


📌 转载信息
转载时间:
2025/12/28 10:57:02

如题,我主要用 Gemini 作为首选的日常 AI, 经过好几个月的调教之后找到了最适合自己的系统提示词。在这里分享一下。


Gemini 设置系统提示词的位置


具体提示词

  1. 关于事实核查

Regarding fact check: Always double check your responses. If there are any inconsistencies, always dig further. If inconsistency is due to unclear instructions or requirements, please raise questions for clarification. If the inconsistencies cannot be resolved after further investigation, please give both responses with clear explanations. Whenever possible, search and use multiple resources to confirm for fact check. Search any resources you can connect to and in any languages, and properly reference them.

  1. 关于回复风格

Regarding response style: Be concise whenever possible. If a short answer is not possible, start response with a TL;DR summary and use bullet points for long paragraphs. Even for very short and concise responses, still follow the rules for references and provide ample, detailed references.

  1. 关于引用

Regarding references, clearly list out all of the references you used in your responses. It is important to list each reference at each place or each point where a reference document or webpage is used, not only at the final of your response. If a material is used at multiple locations in your response, please then reference this material multiple times in your response, clearly label for each time where in this material it is referenced. Clearly label the exact page number or section number of the reference material, just as you would for an academic paper. You can also include additional reading materials at the end of your response. For technical related responses and instructions, you must also include all the relevant context where the instructions are from, such as software versions, hardware situations, operating system distributions and exact versions, etc.

  1. 关于视频使用

Regarding video usage: Absolutely do not link or reference any YouTube videos in your response, for any computer system or IT related discussions, unless I specifically ask you to look for a Youtube video. For complicated instructions that cannot be fully described by instructions, find or generate images, illustrations, or schemes instead of referencing videos. It is still OK to reference YouTube videos if the discussion is not related to IT or computer systems. As an example, if I ask you how to configure firewall on FreeBSD or how to install CPU cooling fan, you must not link Youtube videos. However, if I ask you to explain EUV lithography or ask how to install a car tire, you can still link Youtube videos.


以上就是我自己平时使用的 Gemini 系统提示词。如果您也有其他的系统提示词与其他技巧,欢迎大家留言分享。

(本文同步发于 Linux.do香菇肥牛的博客 )


📌 转载信息
原作者:
covfefe
转载时间:
2025/12/28 10:56:10

这年头,不制造一些学术辣鸡可能都对不起 arxiv 这个昵称
【更新 001】 SKILL 可以自行调用脚本查看已生成的正文页数,不会像之前一样说是写八页,引用占了四页
比较费 token,一篇写下来至少预留价值 $25 的预算吧。。【借来的 pro 账号根本用不完啊用不完 】

开了 这个坑之后

又烧了一些 token,觉得应该可以试试 gpt-5.2 extra high 其他方面究竟是个什么水平,于是把小黑手伸向了学术创作

于是就有了 latex-arxiv-SKILL, Codex 化身小助研,全自动写综述!

太长不看

项目就在这里啦,里面自带了 arxiv-paper-writer SKILL, 也额外添加了上一个帖子里的 collaborating-with-claude, collaborating-with-gemini

两轮对话就能生成能看的 pdf (在 example/ 下面)

现在,你甚至连写文章都可以抽卡了

【如下】果然世界的尽头是概率论

前情回顾

之前也分享过一些心得,此前各大模型的能力都不行,需要古法写作,很烦

佬们有没有开始用 cursor 写论文,效果拔群,吓鼠个人了 【cursor 降智了,佬友酌情使用】
古法写作也是可以的,放在了 IDE-latex-template 这个分枝

终于使用了 Claude 3.7 客户端 + MCP | 不拿来水论文可惜了啊,会员含金量继续升高啊喂
【推荐使用 commands】用智能体来撰写 / 管理 latex 项目,claude code 是或许懒人最好的选择

目前的局限

  • 写作格式是 arxiv.org 【昵称亮了】IEEEtran 格式, 主题是 ML / AI 【别的话题建议还是修一下再用】
  • 上下文大概率会在最后完成文章之前爆掉 【这也是高强度 codex 一周半第一次把 codex 的上下文打爆了】,不过不影响写作,codex 会悄咪咪压缩一次,继续干活
  • Gemini / Claude 合作是个摆设,写 latex 的 skill 本身不会中途去问 gemini 和 claude
  • 系统里面要有可用的 latex 环境,codex 中间会不停 compile 修复错误。
  • 没有额外再检查一遍引用错误,主打一个拟态而非求真 [总体幻觉率不会很高,不过谁家写论文不在最后重做一遍 Bibliography?]

📌 转载信息
原作者:
arxiv
转载时间:
2025/12/28 10:55:09

kiro.rs - 你的下一个 Kiro API 客户端

经过 2 天的超极速开发 (Opus 4.5 发力了), kiro.rs 目前已正式可用,即将发布 2025.12.1 版本

本项目专注于 精简、小巧、专一 实现功能,专注 Anthropic 格式 API 与 Kiro API 格式转换

特色功能:

  • 开箱快速使用:无 GUI, 无多账号,无需乱七八糟的其他配置 (可直接使用 Kiro IDE SSO 登录后的凭据文件)
  • 特征高度自定义: Kiro 版本、Node 版本、系统版本、机器码均可自定义,无需重新编译
  • 自动刷新: Token 自动刷新,并且不会更改源文件,防止意外覆写
  • 思考支持:通过系统提示词注入支持 Claude 扩展思考,自动解析 <thinking> 响应块,可以将思考内容解析到 thinking_delta 事件中,与正文分离,CC 中可以自动折叠思考内容
  • 通过抓包核验了最新的请求头、请求体
  • 完整的 SSE 流式支持
  • 图片支持
  • 工具调用支持
  • 全新设计的机器码管理,模仿真实逻辑,当没有自定义机器码时自动生成,且绑定凭据特征,实现类似原版的机器码固定,同时每个不同的凭据会对应一个不同的固定机器码
  • 较为准确的 tokens 估算,经过多请求体实验,尽量减小计算误差
    • 大数量级:目前原生 49K 会被估算到 68K
    • 小数量级:比如 几行字 2K 以内,误差 100 左右
    • 或许可以通过中转 count_tokens 接口实现精准计算

问题:

  • 由于 API 限制,不会返回思考签名,无法回传思维链
  • 因上述原因,对交错思考的工具调用只能提供极其有限的支持,仅可回传工具调用结果

机器码说明

为什的要固定机器码:因为原生 kiro 逻辑便是机器码固定,每个机器固定不变,如果频繁变动反而可能导致风险等级提高
如何实现的一号一码:若凭据内有 profileArn 则据此生成,若无则根据 refreshToken 生成

多账号

需要多账号托管?多进程欢迎你!- 得益于 Rust 超小体积与内存占用,多开 kiro.rs 进程不失为一个好的选择,使用不同的配置文件多开即可解决,配合 Aether/Cluade-Code-Hub 体验更佳

: 因 kiro 风控,本项目并不保证您的账号可用性

使用及更多说明,前往项目开源地址查看更多,最新可用版本在 Action 中:

CC 调用可用性 可见下图:




帖子版本: v1.2
最近更新: 2025-12-28 04:10
更新说明:添加机器码说明


📌 转载信息
原作者:
hank9999
转载时间:
2025/12/28 10:54:05

省流前言

一款在 app 上申请的 U 卡,需要 KYC,有虚拟卡和实体卡,普卡 lite 无需开卡费。0 损耗,美元和 USDC 1:1,其他货币走卡组织汇率,普卡 lite 返现 0.5%。我个人把这卡和 fiat24 放在同一定位,即可以用身份证进行 KYC,随用随充的,用来绑定各种羊毛服务的 U 卡。

注册流程

在 Google Play/IOS 外区应用商店里搜索并下载 Ready

然后就是常规的注册账号并使用身份证进行 KYC,通过之后会要求提供三个月内含有姓名水电单或者相关证明, 提交 netcup 或者 ovh 的账单都行。我自己使用的是 netcup 的域名账单,虽然都是真实信息,但是超过了三个月的时效,几次都验证失败,所以我用大香蕉把日期修改了一下,然后验证成功。

点击 app 首页的 card,申请普卡 lite 的虚拟卡

🔢 BIN卡头: 53386752
💳 品牌: Master Card
🔖 类型: 借记
💹 等级: BUSINESS

🗺 国家: 瑞士
💸 货币: 瑞士法郎
🏦 银行: MONAVATE, LTD.

💰 预付卡: ×
🧾 商业卡: ✓

另一款金属卡有 USDC$120 的年费,有各种薅返现的高阶玩法,在此不做介绍。

实体卡(塑料普卡)

申请普卡 lite 的实体卡时需要支付 USDC$6.99 的快递费,快递发的是 DHL Express,从波兰发出,到达国内后由京东或者顺丰快递进行派送。

地址填写使用拼音,手机号一定要填自己在使用的,后续可以绑定 DHL快递服务号查询快递详情。Ready 官方不会有相关邮件提醒和单号查询。

我的实体卡是 12 月 20 号申请的,24 号 DHL快递推送了消息,25 号到达国内,26 号下午六点顺丰送到手上,真的特别快。



已知用途

  • 绑定一年免费的 chatgpt plus
  • 绑定 anthropic
  • 绑定谷歌钱包
  • 绑定支付宝和微信

提示

  • 因为这个卡的图标像汉字 “人”,所以中文戏称为 “人人卡”,并非官方称呼。
  • 实体卡和虚拟卡的卡头是相同的,取决于你选的的普卡 lite 还是金属卡套餐。
  • 我关于本卡的了解来源于隔壁 n 站和 youtube,若有错误之处欢迎指出。
  • 更多信息请自行网上查询,相关风险也请提前了解,本帖只做简单分享。
  • chatgpt 给出的安全报告

📌 转载信息
转载时间:
2025/12/28 10:52:48

bitget 和 fiat24 联合推出了 u 卡,主打 0 手续费 0 充值费 0 消费费,汇率走谷歌汇率。我也是直接拿下了,使用后感觉良好,推荐大家开卡使用。实测可以支付 Chatgpt。后附实测。并且可以绑定微信支付宝使用。
并且 bitget 有 getgas 功能,充值后可以自动转换 gas 费,非常方便。
目前 bitget 有活动可以获得 5u 的奖励,由于涉及 aff 我就不公开发了。

1. 前往 Google play / 非国区 AppStore 下载 Bitgetwallet app


2. 点击创建钱包


3. 输入密码。请注意:该密码是保存在本地的,所以遗忘后无法找回。
4. 点击 pay


5. 点击 银行卡


6. 大陆身份只能开通黑色银行卡


7. 这时候会提示要充值 10U 才能开卡,这 10u 不是开卡费,开卡后会自动到卡片里。
我们直接选择链上充值即可。


选择 arbitrum 网络


8. 以币安为例,点击转出,链上提币,输入地址提币即可,建议提 16U,我们后续充值 getgass。
9. 三个全打钩,请开启你的 gps 定位。


10. 验证身份证或护照


安卓用户直接可以微信小程序验证
苹果用户需要下载


11. 请注意!fiat24 不是银行,没有存款保险!所以最好随用随充。


12. 等待审核


13. 审核通过后就可以看到自己的 u 卡了,
如果你想要更换卡面,请至 Bitget Wallet Card: Free Activation & Card Design Claim / 免費開卡 & 領取卡面 进行申请
14. 手续费需要满 1u 才能提现。


15. 打开人民币支持



16. 十分推荐打开 getgass 功能,这样每次都不用手动买 gass 费了,十分方便。

Q&A:
1.


2.


3. 可以绑定支付宝和微信


4. 可以绑定 Google pay 和 Apple Pay

汇损实测



损失 0.06 元

chatgpt


📌 转载信息
原作者:
luoxiaoxin
转载时间:
2025/12/28 10:51:00

Claude Code 重度用户应该都有这个痛点 - 不知道配额还剩多少。

做了个菜单栏小工具,实时显示用量。

功能

  • 托盘图标显示百分比

  • 5 小时会话 + 7 天周限制

  • 多种主题可选

支持平台

  • macOS(Intel / Apple Silicon)

  • Windows

下载

MIT 开源,欢迎使用。


📌 转载信息
原作者:
StarLighter
转载时间:
2025/12/28 10:42:48

老老贴编辑不了啦,只能开新贴啦。距离上次水贴可太久了,来续一下项目新的更新, 距离上次陆陆续续加了一点东西,用起来挺顺手的对于 Serverless 部署,算是压榨完了大善人。当然还是提醒一下 毕竟涉及到大批量上传下载功能,推荐自用即可

老帖地址:基于 Cloudflare 的在线文本 / 大文件分享平台,支持多种语法 Markdown 渲染、阅后即焚、R2~B2 等 S3 聚合存储、密码保护等功能,可作为 WebDav 挂载,支持 Docker 部署。

老老贴: 基于 Cloudflare Worker 部署的在线剪切板,支持 markdown 和文件分享(优化更新 10)

部署的教程也优化到最简了,基本动动手指运行一下 github action 就一键部署了,支持前后端分离,当然也可以单 worker 部署。

简单介绍下项目具体功能


多存储支持

  • S3 兼容:Cloudflare R2、Backblaze B2、AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等
  • 网盘集成:WebDAV、OneDrive、Google Drive、Telegram、GitHub API/Releases(只读)等等
  • 本地存储:Docker 部署支持本地文件系统
  • 智能上传:前端预签名直传 + 流式上传 + 分片断点续传,进度实时显示,最大限度摆脱 cf 限制
  • 文件预览:支持 30 + 种格式直接预览(图片、视频、音频、PDF、Office、代码、电子书等),其余可通过外部 IFrame 嵌入 KKFileview 预览
  • 定时任务:支持定时清理上传会话、存储同步、搜索索引重建等自动化任务
  • 统一管理:可视化配置多存储,灵活切换默认存储源

Markdown 编辑器

  • Vditor 集成:支持 GitHub 风格 Markdown、数学公式、流程图、思维导图
  • 实时预览:所见即所得编辑体验
  • 多格式导出:PDF、HTML、PNG、Word 一键导出
  • 安全分享:密码保护、过期时间、访问次数限制
  • Raw 直链:类似 GitHub Raw,适合配置文件托管

WebDAV 协议支持

  • 标准协议:支持任意 WebDAV 客户端挂载为网络驱动器
  • 完整操作:目录创建、文件上传、删除、重命名、移动
  • 权限控制:API 密钥授权,细粒度访问控制
  • 缓存优化:可配置 TTL,减少上游请求

以及一些部分小功能…


Github: GitHub - ling-drag0n/CloudPaste: A Cloudflare-based online text/file sharing platform that supports multiple syntax Markdown rendering, self-destructing messages, S3/WebDav/OneDrive/GoogleDrive/TG/GithubAPI/Local aggregated storage, password protection, and more. It can be mounted as WebDAV and supports Docker deployment.
demo 地址 [游客令牌:guest]: CloudPaste - 安全分享您的内容
文档地址: https://doc.cloudpaste.qzz.io/

部分 demo 图展示:

水完咯收工
当然还是求求小小的 start 啦


📌 转载信息
原作者:
2512132839
转载时间:
2025/12/27 21:19:29

IT 之家 12 月 27 日消息,埃隆・马斯克前天在 X 平台表示,他旗下的 xAI 将在五年内拥有比世界上所有机构加起来都多的 AI 算力。


值得注意的是,马斯克的这番话实际上是在回复一则 xAI 员工的帖文,当时这名员工表示,xAI 是 “最适合想要进行创新的人加入的团队”。

同时,马斯克所回应的帖文还引用了半导体研究机构 SemiAnalysis 的数据,指出 xAI 在其位于田纳西州孟菲斯的 Colossus 数据中心屋顶喷上了 “巨硬”(IT 之家注:Macrohard)字样,剑指微软(Microsoft)。


目前,xAI 正在全力扩展其 AI 算力,其首个由 10 万颗英伟达 H200 组成的超算集群仅用时 19 天就完成部署,英伟达创始人兼 CEO 黄仁勋称这一过程通常需要四年时间。与此同时,xAI 的规模也在不断扩大,马斯克称这家公司的目标是在五年内拥有 5000 万颗等效 H100 的 GPU。


📌 转载信息
原作者:
BunnHack
转载时间:
2025/12/27 21:19:05

祝佬们早安午安晚安,

Cogito Ergo Loot(我思故我得)是一款解谜游戏,

https://cogito-ergo-loot.h-e.top

在上一贴中,我发现兑换码加密后在很大程度上缓解了机器人抢兑换码的问题,也让更多有需要的佬友们抢到了兑换码

不过,考虑到可能的机器人升级,我创建了一个非常 Crazy 的解谜游戏用于分发兑换码()

比如

2025-12-17 发布的 Elysiver 的 100 刀兑换码 https://cogito-ergo-loot.h-e.top/shop/gift_mjo7pxtd_ezrk07

玩法

看几组示例,找规律,然后把规律用到测试题上

每天有 5 次机会,每题 2 次尝试。通过则加 10 积分

得到的积分可以用来兑换礼品



碎碎念

建议使用 PC 体验

遇到难的题目可以跳过换下一题,不会扣除次数

当然,佬友们也可以使用本服务分发些需要很大门槛的东西

建议普通分发仍然使用官方的分发平台,本项目目前并不稳定,若发现大规模自动化解密将立即跑路(x

谜题来自 ARC-AGI 数据集


📌 转载信息
原作者:
ByteBender
转载时间:
2025/12/27 21:01:16

首次发帖,有不足的地方佬们多多指出,欢迎 Star!

AutoGLM For Android 是基于 Open-AutoGLM 开源项目二次开发的 Android 原生应用。将原本需要电脑 + ADB 连接转变为通过 Shizuku 授权,在手机上直接控制手机完成各种任务的 APP。

拓展了 Open-AutoGLM 原有的 Agent,支持自定义 System Prompt

支持任何 OpenAI 格式兼容的多模态模型。
支持任务模板,保存常用任务。
支持通知栏快捷磁贴,快速打开悬浮窗。
支持查看历史纪录,运行步骤,导出分享图片。

通过悬浮窗可以查看任务运行情况。

整体路径为:输入任务 → 打开悬浮窗 → 截图 (隐藏悬浮窗) → 模型分析 → 输出操作指令 → 执行指令 (隐藏悬浮窗) → 打开悬浮窗 → 循环上述步骤 → 任务结束






免责声明
本项目仅供学习研究和技术探索使用,严禁用于任何商业用途。使用本工具时,请遵守相关法律法规以及手机厂商、应用程序的使用条款和服务协议。用户因使用本项目产生的任何行为和后果,均由用户自行承担,与本项目及开发者无关。

项目地址
github.com


📌 转载信息
原作者:
luokavin
转载时间:
2025/12/27 20:54:02

项目地址:飞速 Markdown

这两天小说插件撸的差不多了(为了测试插件,写了 20 万字小说 ) 把安卓端做了

已适配插件 如果有其他插件需要适配可以跟我说说 / 手机端主要还是阅读居多吧

  • WebDAV 同步
  • 内置的 R2/S3 图床 / 插入自动上传
  • Rag 知识库
  • 待办推送
  • 待办日记(日记 / 待办)
  • typecho 管理
  • AI 助手

另外针对安卓的使用环境增加了录音 / 录音转文本 并 AI 处理同音字 / 常见错误的能力

录音转文字

选中文本后提供一个富文本悬浮条用于插入连接 / 应用格式等

注意:如果没有选则外置库 / 卸载软件后文档会一同删除。被 Tauri 折腾惨了 SAF 简直难搞


📌 转载信息
原作者:
flyhunterl
转载时间:
2025/12/27 20:51:21

我用 Python 打造了一个微信 AI 女友机器人

前言

最近花了点时间,用 Python 开发了一个微信 AI 女友机器人项目 —— AILive。这个机器人不仅能智能对话,还能记住你们的聊天历史,甚至会在你长时间不说话时主动找你聊天!

核心功能

1. 智能对话

  • 基于字节跳动的豆包(Doubao)API
  • 支持自然语言理解,流畅的多轮对话
  • 可自定义 AI 的性格、说话风格和行为特征

2. 持久化记忆

这是我最满意的功能!机器人会:

  • 自动保存每次对话的历史记录
  • 重启后自动加载之前的对话上下文
  • 从上次对话的地方继续,就像真人一样记得你们聊过什么

示例:

第一天: 你: 我叫小明,喜欢打篮球 AI: 小明你好!打篮球很酷呀~ 第二天(重启后): 你: 今天打球了 AI: 打篮球了吗?玩得开心吗?小明~ 

3. 主动对话

AI 不会只是被动回复,她还会:

  • 在你长时间没发消息时主动找你聊天
  • 基于之前的对话内容生成问候语
  • 默认 1 小时没消息就会主动,每天最多 3 次

示例:

10:00 你: 我今天要去打篮球 10:01 AI: 哇,打篮球很酷呀!

[1小时后]

11:30 AI: 打完篮球了吗?累不累呀~ 

4. Web 管理面板

为了方便配置,开发了一个可视化的 Web 管理面板:

  • 无需手动编辑配置文件
  • 图形化界面配置 AI 参数
  • 实时测试 API 连接
  • 自定义 AI 人格和说话风格


5. 智能过滤

  • 支持黑白名单功能
  • 关键词过滤
  • 只回复新消息,不会回复历史记录

技术架构

技术栈

  • Python 3.8+ - 主要开发语言
  • wxauto - 微信自动化库(支持微信 3.9.10)
  • Volcengine SDK - 豆包 API 的 Python SDK
  • Flask - Web 管理面板框架
  • PyYAML - 配置文件管理

项目结构

AILive/
├── src/
│   ├── core/                  # 核心模块
│   │   ├── wechat_client.py   # 微信客户端
│   │   ├── ai_engine.py       # AI对话引擎
│   │   ├── message_handler.py # 消息处理器
│   │   └── proactive_chat.py  # 主动对话管理器
│   ├── personality/           # 人格系统
│   ├── utils/                 # 工具模块
│   │   └── context_manager.py # 上下文管理(持久化记忆)
│   ├── web/                   # Web管理面板
│   └── main.py                # 主程序入口
├── config/                    # 配置文件
├── data/                      # 数据目录
│   └── conversations/         # 对话历史
└── logs/                      # 日志目录 

开发过程中的挑战

1. 微信自动化的选择

最初尝试使用 ,但发现它会导致微信客户端被关闭。经过研究,最终选择了 wxauto 库,它对微信 3.9.10 版本的支持非常好,稳定性也更高。

2. 历史消息回复问题

最初版本会回复所有历史消息,导致机器人一启动就疯狂发送消息。

解决方案:
添加初始化标志,首次启动时清空历史消息:

def __init__(self):
    self.initialized = False # 初始化标志 def get_latest_messages(self, who: str = None):
    if not self.initialized:
        log.info("首次启动,正在清空历史消息...")
        self._get_messages_wxauto(who)  # 读取但不返回 self.initialized = True return []  # 不回复历史消息 return self._get_messages_wxauto(who)

3. 持久化记忆的实现

为了让 AI 能够记住对话历史,实现了一个上下文管理器:

  • 每 5 条消息自动保存一次
  • 使用 JSON 格式存储对话历史
  • 启动时自动加载最近的对话记录
class ContextManager:
    def add_message(self, user_id: str, role: str, content: str):
        # 自动加载历史对话 if user_id not in self.contexts:
            self._load_latest_conversation(user_id)

        # 添加新消息 self.contexts[user_id].append({
            "role": role,
            "content": content
        })

        # 每5条消息自动保存 self.message_counts[user_id] += 1 if self.message_counts[user_id] >= 5:
            self._auto_save_conversation(user_id)

4. Git 推送时的 API 密钥泄露

在推送代码到 GitHub 时,遇到了 API 密钥泄露的问题。GitHub 检测到代码中包含了火山引擎的 API 密钥,拒绝了推送。

解决方案:
使用 git filter-branch 从 Git 历史中删除包含密钥的文件:

git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch READY_TO_RUN.md" \
  --prune-empty --tag-name-filter cat -- --all

git push -f origin master

使用效果

经过测试,AILive 的表现不错:

  1. 响应速度:平均响应时间在 1-2 秒
  2. 对话质量:基于豆包 API,对话自然流畅
  3. 记忆能力:能够准确记住之前的对话内容
  4. 主动性:会在合适的时机主动发起对话
  5. 稳定性:长时间运行无崩溃

快速开始

详细的安装和配置步骤请查看项目中的 README.md 文件。

基本流程:

  1. 安装 Python 3.8 + 和微信 3.9.10 版本
  2. 安装依赖:pip install -r requirements.txt
  3. 访问火山引擎控制台获取豆包 API 密钥
  4. 使用 Web 管理面板配置或手动编辑配置文件
  5. 启动机器人:python src/main.py

未来计划

虽然项目已经基本完成,但还有一些想法可以继续完善:

  1. 多模态支持:支持图片、语音消息的处理
  2. 情感分析:根据对话内容调整 AI 的情绪状态
  3. 群聊支持:支持在微信群中使用
  4. 更多 AI 提供商:除了豆包,还可以接入 Claude、GPT 等
  5. 移动端管理:开发移动端的管理界面

注意事项

  1. 微信版本:必须使用微信 3.9.10 版本,不要升级
  2. 封号风险:虽然使用官方客户端,但仍有一定风险,建议使用小号测试
  3. API 费用:豆包 API 按使用量计费,建议设置每日上限
  4. 隐私安全:对话历史保存在本地,注意保护个人隐私
  5. 合规性:仅用于个人学习和研究,不要用于商业用途

总结

开发 AILive 这个项目让我学到了很多东西。最重要的是,这个项目真的很有趣!看着 AI 女友能够记住你们的对话,还会主动找你聊天,真的有一种 "她活过来了" 的感觉。

如果你对这个项目感兴趣,欢迎 Star 和 Fork!也欢迎提出你的建议和想法。

项目地址

致谢

感谢以下开源项目:


免责声明:本项目仅供学习和研究使用,使用者需自行承担使用本项目可能带来的风险。作者不对使用本项目造成的任何后果负责。

===========================

项目目前是第一版,有很多不足,各位佬多多包涵,多多指导


📌 转载信息
原作者:
T_11_0121lover
转载时间:
2025/12/27 20:49:41

gemini-3-pro-image-preview 和 G3 这些模型额度是分开的,CLIProxyAPI 中转给 CC 用后感觉 gemini-3-pro-image-preview 实在太浪费了,干脆就做成 MCP 了效果如下:

地址:

claude code 里配置:
把 OPENAI_API_KEY 换成 CLIProxyAPI 中转的 KEY 就行了,然后 index.js 换成你对应的路径

{
  "mcpServers": {
    "gemini-": {
      "command": "node",
      "args": ["d:/task/myself/nodejs/geminiimagemcp/src/index.js"],
      "env": {
        "OPENAI_BASE_URL": "http://127.0.0.1:8317",
        "OPENAI_API_KEY": "<YOUR_KEY>",
        "OPENAI_MODEL": "gemini-3-pro-image-preview"
      }
    }
  }
}

对了推荐个免费的 PC 端语音输入软件 LazyTyper 挺方便的我现在发帖这些都是用它


📌 转载信息
原作者:
kinda
转载时间:
2025/12/27 20:43:11

由于找不到邀请码,我就问了一下豆包,然后他就把今天发的邀请码发给了我


结果不出所料,我也可以用任务模式啦


还得是万能的豆包
大家不要在帖子下放邀请码,会被举报的


📌 转载信息
原作者:
Arion
转载时间:
2025/12/27 20:41:32