moeary
马上来
种子用户
2180 号用户
Lv.5
加入时间:2025-10-31

Martix 吧 不过大陆境内应该没人敢架设 Martix 服务器(

@mambaout uv 对 conda 的支持不太行 如果做一些大型开发的话还是上 pixi 吧
日常使用倒是无所谓了,我直接一个 anaconda base 打天下(

下面是 ai 回答的表格,可以参考一下

支持 conda 多语言支持 一个项目里面能塞下 python rust nodejs 等语言进行同时管理
pixi 自带集成 uv 计算环境依赖版本够快
把 pixi 当成 uv 的超集就行

看不可描述的二次元小视频的网站(

不支持 B 站。B 站有专业的类库(比如 lux 或者 BBDown)可以处理,我这个项目是纯针对 I 站开发的,专门处理 I 站的接口加密和画质回退。建议术业有专攻,下 B 站用专门的工具更稳。

不使用嗅探技术。嗅探逻辑是基于浏览器捕获,你得自己一个个点开网页去抓,效率太低。
我这个是直接对接 API 的爬虫逻辑,你把作者主页链接一贴,它会自动分页把该作者名下的几百个视频全部抓取并排队下载,支持一键批量操作,这才是工具存在的意义

v 站有 需要使用青龙脚本 搭配环境变量设置 cookie 用

复制
import requests
import time
import json
import os
import random
import re

# -------------------------- 尝试导入通知模块 --------------------------
try:
    from notify import send
except ImportError:
    def send(title, content):
        print(f"\n[通知] {title}\n{content}")
        print("\n 未找到 notify.py 模块,取消推送")

# -------------------------- 核心逻辑 --------------------------
class V2exSigner:
    def __init__(self, cookie, index):
        self.cookie = cookie
        self.index = index
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
            "Referer": "https://www.v2ex.com/",
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "Cookie": self.cookie
        }
        self.session = requests.Session()
        self.session.headers.update(self.headers)

    def sign(self):
        print(f"\n==== 账号 {self.index} 开始签到 ====")
        try:
            # 1. 访问签到页面获取 once 参数
            res = self.session.get("https://www.v2ex.com/mission/daily", timeout=20)
            if "登出" not in res.text:
                return {"status": "失败", "msg": f"账号 {self.index}: Cookie 已失效或未登录"}

            if "每日登录奖励已领取" in res.text:
                return {"status": "成功", "msg": f"账号 {self.index}: 今日已签过"}

            # 正则匹配签到链接
            pattern = r"location\.href = \'(.*?once=.*?)\';"
            urls = re.findall(pattern, res.text)
            
            if not urls:
                return {"status": "失败", "msg": f"账号 {self.index}: 未找到签到链接,可能已签到或页面结构变化"}

            # 2. 执行签到请求
            sign_url = "https://www.v2ex.com" + urls[0]
            self.session.headers.update({"Referer": "https://www.v2ex.com/mission/daily"})
            self.session.get(sign_url, timeout=20)

            # 3. 验证签到结果
            res = self.session.get("https://www.v2ex.com/mission/daily", timeout=20)
            if "每日登录奖励已领取" in res.text:
                # 获取余额和奖励信息
                balance_res = self.session.get("https://www.v2ex.com/balance", timeout=20)
                # 尝试获取今日金币
                reward = re.findall(r'<td class="d"><span class="gray">(.*?)</span></td>', balance_res.text)
                reward_info = reward[0] if reward else "成功获取"
                
                # 获取总余额
                total = re.findall(r'<td class="d" style="text-align: right;">(\d+\.\d+)</td>', balance_res.text)
                total_info = total[0] if total else "未知"

                return {
                    "status": "成功",
                    "msg": f"账号 {self.index}: 签到成功!奖励: {reward_info},余额: {total_info}"
                }
            else:
                return {"status": "失败", "msg": f"账号 {self.index}: 签到请求已发,但页面仍显示未领取"}

        except Exception as e:
            return {"status": "异常", "msg": f"账号 {self.index}: 异常 -> {str(e)}"}

def main():
    # 环境变量:V2EX_COOKIE
    cookie_env = os.getenv("V2EX_COOKIE")
    
    if not cookie_env:
        print(" 未找到环境变量 V2EX_COOKIE,请在青龙后台设置")
        return

    # 分割多个 Cookie
    cookies = re.split(r'[&\n]', cookie_env)
    cookies = [c.strip() for c in cookies if c.strip()]
    
    print(f"共发现 {len(cookies)} 个 V2EX 账号")

    # 随机签到模式 (保持一致风格)
    random_signin = os.getenv("RANDOM_SIGNIN", "false").lower() == "true"
    if random_signin:
        delay = random.randint(1, 1800)
        print(f"随机签到已启用,随机延迟时间窗口: 30 分钟")
        print(f"当前任务将延迟 {delay} 秒后执行...")
        time.sleep(delay)
    else:
        print("随机签到: 禁用")

    all_results = []
    for i, ck in enumerate(cookies, 1):
        signer = V2exSigner(ck, i)
        res = signer.sign()
        print(res["msg"])
        all_results.append(res["msg"])

    # 统一通知
    if all_results:
        notify_content = "\n".join(all_results)
        send("V2EX 签到通知", notify_content)

if __name__ == "__main__":
    main()

linuxdo 我没账号就没有了

GitHub copilot 学生会员白嫖了两年多了( 挺爽的

我习惯使用 windows 的 win+tab 进行切换应用 感觉还行(

还没拿到验证码 😭 现在就是想问一下老哥后面用的啥 zero-shot tts 模型 ,qwen3 tts,indextts2 还是 cosyvoice3
,有比较过目前的 tts 模型各有啥优劣吗
老哥如果有兴趣的,可以互相交流切磋一下,考虑用一下我的 cosyvoice3 windows 一键包,
目前针对大批量的小说文本阅读做了优化,还整了个 tts api 服务 shy( https://github.com/Moeary/CosyVoiceDesktop )

评论帖子豆包和老罗吵架挺搞的

豆包是 Omni 模型吧 训练时同时训练文本内容+语音内容 之前做数字人都是要做个 ASR+LLM+TTS,这种的话对实时聊天来说延迟是绝对不可接受的,而这种 Omni 模型拿来做虚拟老婆/数字人就挺香的
Qwen 有开源过 Omni 类的模型 你可以看看这个 Qwen3 Omni 的技术报告 https://arxiv.org/abs/2509.17765

我是反着来 有 v2ex 和 2libra nodeseek 和 deepflood 的号 linuxdo 一直没弄 现在貌似都提高门槛要邀请码了 😭

我自己是代码编程使用 github 送的 copilot 会员 一个月 300 次 gemini3pro/gpt5.2/Claude 4.5 的请求额度 普通模型就无限用
其他的就使用 openrouter 的模型,好处是企业级别的渠道 非常稳定,代价就是贵,不过充值可以用支付宝 冲个 10 刀就可以每天免费调用用他里面的免费模型 1000 次,目前里面的主力付费模型我用的还是 grok 4.1 fast 好处是速度快,价格低 输出 0.5 刀/m token ,智商第二梯队 搜索能力第一梯队,没有审查 🤗

阿里云/腾讯云/京东云的新用户资格之前都被我吃掉了 😭 再去买就没新人福利了

虚拟组网的话其他人也要下软件 有点不太方便了 😂

wireguard 还能内网穿透吗 之前以为都是以为这软件只是一个机场的游戏加速服务来着 后面我看一下 😙

这个看起来不错啊 纯公益 🥰

好的非常感谢 后面会考虑一下 🤪

下次更新会考虑的 比如加点熊猫头啥的 🤪

不是 这个机器人用 Selenium 模拟一下用户状态就直接能进去了
弄这玩意是怕乱传传到国外原素材作者那里去了( 怕吃版权的问题
正常用户输入一次后浏览器 cookie 应该就会自动记录 下次进入就不需要再次验证了

能调整 再点一次文字按钮恢复正常状态,此时再到画布上面就长按文字部分可以拖动文字了 双击则可以再次弹出提示框改变文字内容/字体/颜色啥的
后续打算改一下逻辑 使用键盘快捷键比如 T 来触发文字模式的切换