Skip to content

Instantly share code, notes, and snippets.

View jerrylususu's full-sized avatar

Neko Null jerrylususu

View GitHub Profile
import os
import json
import time
from datetime import datetime
from openai import OpenAI
import argparse
from typing import Dict, List, Any, Optional, Union, TypedDict, cast
from dataclasses import dataclass
@dataclass
@jerrylususu
jerrylususu / README.md
Created March 23, 2025 11:39
flask sse proxy

original: https://github.com/wujianguo/openai-proxy

  • flask_proxy_for_continue: 修复了硅基流动 reasoning_content 在 continue 插件不显示的问题;对于文本总结自动换用一个小模型
  • flask_proxy:original 的备份,改了目标地址为硅基流动

和 pyhttpdbg 一起用,可以观察app到底给大模型发送了什么

pyhttpdbg --script proxy.py

@jerrylususu
jerrylususu / createWithNestedDefaults.js
Created December 19, 2024 16:17
protobuf js magic
createWithNestedDefaults = (messageType) => {
const message = messageType.create();
console.log(message);
// 遍历消息的属性
for (const [key, field] of Object.entries(messageType.fields)) {
// 检查该属性是否是嵌套的消息类型
console.log(field)
@jerrylususu
jerrylususu / select_mermaid.js
Created September 26, 2024 14:36
Render Mermaid diagrams from selected text
// ==UserScript==
// @name Mermaid Diagram Renderer
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Render Mermaid diagrams from selected text
// @author Claude
// @match *://*/*
// @require https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.14.0/mermaid.min.js
// @grant GM_addStyle
// ==/UserScript==
document.addEventListener('DOMContentLoaded', function() {
const c = document.getElementById("c");
if (!c) {
console.error("Canvas element with id 'c' not found");
return;
}
const ctx = c.getContext("2d");
if (!ctx) {
console.error("Unable to get 2D context for canvas");
@jerrylususu
jerrylususu / epoll_with_conn_pool.cpp
Last active August 28, 2024 15:57
custom tcp protocol client with conn pool by claude
// MyProtocol.h
#pragma once
#include <array>
#include <vector>
#include <string>
#include <memory>
#include <chrono>
#include <mutex>
@jerrylususu
jerrylususu / hack.js
Created August 19, 2024 15:35
hack element-ui DateTimePicker
javascript:(function() {
// 获取当前时间
var now = new Date();
var formattedTime = now.toISOString().slice(0, 16); // 格式化为 YYYY-MM-DDTHH:MM
// 找到 DateTimePicker 的 input 元素
var inputElement = document.querySelector('.el-date-editor input');
if (inputElement) {
// 模拟用户点击 input 元素
inputElement.click();
import os
import logging
import requests
import subprocess
from pathlib import Path
from datetime import datetime
import time
import json
import time
@jerrylususu
jerrylususu / base.cpp
Last active June 12, 2024 16:02
有namespace的宏替换
// 对于没有命名空间的变量
#define BUILD_MY_FUNC_SINGLE(name) Build##name##Processor()
// 对于有命名空间的变量
#define BUILD_MY_FUNC_NS(ns, name) Build##ns##name##Processor()
// 定义一个辅助宏,根据参数数量调用正确的宏
#define GET_MACRO(_1,_2,NAME,...) NAME
#define BUILD_MY_FUNC(...) GET_MACRO(__VA_ARGS__, BUILD_MY_FUNC_NS, BUILD_MY_FUNC_SINGLE)(__VA_ARGS__)
@jerrylususu
jerrylususu / copliot.ts
Created February 17, 2024 12:17
promise concurrency
type PromiseFunction<T> = () => Promise<T>;
type PromiseResult<T> = { status: 'fulfilled', value: T } | { status: 'rejected', reason: any };
async function allSettledWithConcurrency<T>(promises: PromiseFunction<T>[], concurrency: number): Promise<PromiseResult<T>[]> {
const results: PromiseResult<T>[] = new Array(promises.length);
let running = 0;
let index = 0;
return new Promise((resolve) => {
const enqueue = () => {