最近切换工具,想整理一份个人使用画像,好在不同 AI 之间保持一致的协作体验。数据整理完了,又让我基于自己写过的所有内容,给自己来个全面总结。
那就写写吧。
我这个人,说来话长,也没什么传奇。
八十年代生人,派恩普林平原上一个偏远村子里的野孩子。家里穷,村里也穷,整个童年都泡在一种灰扑扑的贫瘠里。那会儿连一本十二块的新华字典都嫌贵,退了学校订的,母亲从乡里低价捎了本现代汉语词典,结果一看,还是盗版的。这本词典后来陪了我十年,算是我的启蒙读物。十几岁的时候,我在县城书店抄自己想看的书,被工作人员赶出去过。这些事我写过不止一次,像个祥林嫂,可每次想起那个在书店角落蹲着抄书、被人驱赶的小孩,心里还是过不去。
二十来岁考学去了帝都。英语很差,看不了英文书,也不知道该看哪些,一头雾水。学校图书馆里全是泛黄的旧书,满架子过时的"从入门到放弃"和叹号墙。后来发现超星有电子资源,又赶上亚马逊出了 Kindle,日子才算亮堂起来。从那以后我想学什么就先找电子书。2016 年 8 月 14 日,我用 Kindle 多看整整一千天,那张截图我一直留着当纪念。上千本书和文献翻下来,激发了我各种各样的想法。
后来我三十岁了,英语还是挺差,但好歹能看 CS 方面的书了。我就想,当年那个无助的小孩,要是有人稍微帮一把该多好。于是开始翻译,ThinkPython、Kivy 中文指南、斯坦福 CS229 讲义、杜克 STA663 讲义,一本一本往外翻。水平有限,错误不少,可这习惯一直没丢。这不是什么了不起的事,无非是一个二十年后的我,想跨越时空去帮一把二十年前的我。
我的学历挺杂。本科摄影,艺术学学士;博士地球科学,理学博士;现在又在读汉语言文学,毕业拿文学学士。跟人聊起来,对方总会愣一下。有时候讨论技术问题有了分歧,有人就来一句"你毕竟不是科班出身的"。我也不能总去肢体教育别人,于是去考了个软考高级系统架构设计师。第一次裸考,论文三十二分挂了;第二次报班刷题,专门练论文,综合知识五十五、案例分析五十六、论文五十一,过了。总算有了个官方承认的东西。
这些年我一直在大学圈子里,读了十多年,也教了十来年。教的是编程。从二零零几年起给人辅导考研地概,靠胡侃专业课蹭吃蹭喝,算是灰色收入的开端。后来一直带学生,看着一届一届进来又出去。见过的学生多了,有的拿国家级奖项,有的连键盘都不会敲,有的因为一次小组作业闹翻半年不说话。看得多了,就想写点东西给他们看。写给大学新生的建议,给研究生的建议,计算机专业自学指南,怎么读论文,大一该不该买电脑,进大学前先了解博弈,写这些多半是被问烦了,或者被网上那些逆天言论气到了,才动笔的。
我写东西有个毛病,就是直。不绕弯子,不堆大词,能一句说清的不用两句。口语化,"咱们""这东西""挺次""滚犊"这些词随手就来。喜欢自嘲,"我这人就很次,所以也看不了英文书",这种话写起来毫无心理负担。也知道这种风格在正经场合可能显得不够庄重,可我觉得,人活着已经够累了,写个东西还要端着,累不累。
技术上是个杂货铺,杂而不精,有很多个瓶子,但每个瓶子都只有一点点水,只是瓶子多了叮当响,能勉强忽悠住外行人。Python 是混饭的家伙,PyQt、PySide6 写桌面工具,PyQtGraph 和 OpenGL 搞可视化,GIS 方面用 QGIS 做空间数据分析。早些年搞过 GeoPyTool,想把地质脚本图形化,然后还想着重建从截然边界走向概率场的分类范式,弄了 TAS-PF、TAS-GS等等,可惜没做出什么名堂。后来兴趣越来越广,数学建模、滤波方法、图灵机精读、大模型底层原理,一个系列一个系列往博客上搬。写这些不是因为我都懂了,恰恰相反,很多是一边学一边写,错误肯定不少。可我总觉得,分享出来万一能帮到一个跟我当年一样迷茫的人呢。
四五年前开始折腾了本地大模型。Close AI 和 Claude 等公司我都不喜欢,正好遇到很多开源的,再有 OpenCode,配上本地跑模型,也完全能整理和改进一些以前写的代码。8 G 显存的 4060 笔记本,加 128G 内存,跑 gpt-oss:20b 、 qwen3.5-9b (omnicoder2) 等等都足够用了,大概三四十个 tokens/s 左右。还写了一些小工具来批量测本地模型在翻译、写代码、解释代码这些场景下的表现。还写了个 TingShuo,用本地 Whisper 给视频生成 SRT 字幕、给音频生成 LRC 歌词,不用联网,不用担心隐私。乱七八糟弄了很多这样的小工具,起初都是给自己用的,用着顺手就开源出来,万一别人也用得上。
这些年攒下来的公开仓库,大致分三类:个人主账号 cycleuser 下杂七杂八啥都有,EasyCam 主要是和同事合作的,偏工具和应用,CodeOfMe 主要是带学生做的偏算法和研究练习。下面挑还在维护、能跑、有说明的列一下,不全,但够看个大概。
| 项目 | 简介 | 仓库 |
|---|---|---|
| ATCND | 滑动范围结构化搜索的自适应主题/簇数确定框架 | https://github.com/CodeOfMe/ATCND |
| Baba | 简单跨平台 GUI 库 | https://github.com/cycleuser/Baba |
| ChaBiao 查表 | 大表格快速查看/过滤/处理,15MB+ Excel 不卡,CLI/GUI/Web | https://github.com/EasyCam/ChaBiao |
| Chou 瞅 | 学术 PDF 按"标题-作者-年份"自动重命名 | https://github.com/cycleuser/Chou |
| CLAP | 隐私敏感网络下基于 Ollama 本地 LLM 的可加载上下文对话 | https://github.com/cycleuser/CLAP |
| CopyTalker | 跨模态异步多语音实时翻译,9 语种,Kokoro/Edge/pyttsx3 多 TTS 引擎 | https://github.com/cycleuser/CopyTalker |
| DocTask | DOCX 智能分析与自动填充,本地 LLM 或 OpenAI 兼容 API | https://github.com/cycleuser/DocTask |
| DuiZhang 对仗 | 用对联生成评测中文 LLM 能力的框架 | https://github.com/cycleuser/DuiZhang |
| Duke-STA-663-CN | 杜克 STA663 计算统计学中文翻译 | https://github.com/cycleuser/Duke-STA-663-CN |
| EchoLink | 跨平台 Wi-Fi P2P 直连通信,无需基础设施 | https://github.com/cycleuser/EchoLink |
| EchoRev | 文本方向反转与 RSA 加解密 GUI 工具 | https://github.com/cycleuser/EchoRev |
| ErTing 耳听 | 本地 AI 音视频降噪,ModelScope 模型,CLI/GUI/Web 三接口 | https://github.com/cycleuser/ErTing |
| FanFu 反复 | GGUF 与 HuggingFace 双向转换器,带权重校验 | https://github.com/CodeOfMe/FanFu |
| FolderLens | PySide6 文件夹导航、管理与搜索工具 | https://github.com/cycleuser/FolderLens |
| GangDan 纲担 | 本地 LLM 驱动的知识管理与教学助手,离线可用 | https://github.com/cycleuser/GangDan |
| GuiXi 龟息 | 带宽高效的 LLM 推理框架 | https://github.com/CodeOfMe/GuiXi |
| HeiBan 黑板 | Markdown 转 reveal.js 幻灯片,PPTX/PDF 导出,数学公式与 Mermaid 渲染 | https://github.com/cycleuser/HeiBan |
| Huan 换 | 网页转 Markdown,单页或全站递归,多后端支持 JS 渲染站点 | https://github.com/cycleuser/Huan |
| JiuZhang 九章 | 从算术到前沿的数学学习平台,AI 生课、可视化、习题,双语 | https://github.com/cycleuser/JiuZhang |
| JiXing 记性 | 本地 AI 模型助手,长期记忆与上下文管理,全交互日志 | https://github.com/cycleuser/JiXing |
| KanTu 看图 | Git 式图片画廊管理,增量编码优化存储 | https://github.com/cycleuser/KanTu |
| LaPian 拉片 | 单文件批量视频转码,硬件加速,CLI + tkinter | https://github.com/cycleuser/LaPian |
| LearningRate | 学习率演进史:从全局统一到分层定制 | https://github.com/CodeOfMe/LearningRate |
| Liao | 基于视觉的 GUI 交互助手,OCR + LLM 自动化桌面聊天应用 | https://github.com/cycleuser/Liao |
| LiuTang 流淌 | 纯 Python 流式数据框架,并发/水印/窗口/有状态处理,零依赖 | https://github.com/CodeOfMe/LiuTang |
| LLMAP | 从 prompt 到 agent 的完整教材,一章一概念,代码可跑 | https://github.com/CodeOfMe/LLMAP |
| MD2WX / Xie 写 | Markdown 转微信公众号兼容 HTML,CLI/库/Web | https://github.com/cycleuser/Xie |
| ModelSensor | 检测系统/位置/时间/环境信息,给 LLM 加"感知" | https://github.com/EasyCam/ModelSensor |
| MoXing 模型 | llama.cpp 的 Python 封装,OpenAI 兼容 API,自动 GPU 检测与下载 | https://github.com/cycleuser/MoXing |
| NumC | C 语言实现的 NumPy 风格数组计算库 | https://github.com/cycleuser/NumC |
| NuoYi | PDF/DOCX 转 Markdown | https://github.com/cycleuser/NuoYi |
| OllamaAid | Ollama 模型管理、趋势分析、性能基准、外部 runner 集成 | https://github.com/cycleuser/OllamaAid |
| OpenLaoKe | 开源终端 AI 编码助手,本地模型 + 智能监督 | https://github.com/cycleuser/OpenLaoKe |
| Parse | 沿语言×场景维度的 LLM 能力保持式剪枝 | https://github.com/CodeOfMe/Parse |
| POSIX-Compatibility-Layer | 实验性探索:操作系统与本地 LLM 建立初步交互连接 | https://github.com/cycleuser/POSIX-Compatibility-Layer |
| PPYDFS | Python 轻量并行分布式文件系统,自动复制与容错 | https://github.com/EasyCam/PPYDFS / https://github.com/CodeOfMe/PPYDFS |
| Pysinfo | Python 命令行系统信息工具 | https://github.com/EasyCam/Pysinfo |
| RenZi 认字 | PaddleOCR + 本地 Ollama 纠错的本地 OCR,Flask UI | https://github.com/CodeOfMe/RenZi |
| ShenBi 神笔 | matplotlib 语法 + pyqtgraph 性能的高性能绑图库 | https://github.com/CodeOfMe/ShenBi |
| ShouChao 手抄 | 100+ 媒体、10 语种新闻聚合,转 Markdown 入 ChromaDB | https://github.com/cycleuser/ShouChao |
| Skills | AI 编码智能体的专用技能集合 | https://github.com/cycleuser/Skills |
| SudokuAI | 数独平台 + LLM 性能基准,多难度题目生成 | https://github.com/cycleuser/SudokuAI |
| SuiPian 碎片 | 零宽字符把任意文件编码成纯文本,需密钥还原 | https://github.com/CodeOfMe/SuiPian |
| TingShuo 听说 | 多引擎语音转 SRT/LRC/Markdown,带 LLM 润色、纠错、翻译、多模态摘要 | https://github.com/cycleuser/TingShuo |
| TransCoder | 本地 LLM 多语并行翻译,"三省吾身"反思式改进 | https://github.com/EasyCam/TransCoder |
| TransPaste | 剪贴板翻译,本地 LLM 驱动,融入日常工作流 | https://github.com/CodeOfMe/TransPaste |
| VidToGif | 视频转 GIF,原分辨率,CLI + GUI | https://github.com/cycleuser/VidToGif |
| XiuLian 修炼 | 轻量非 Transformer 智能体编排引擎,工具调用与工作流 | https://github.com/cycleuser/XiuLian |
| YanFu 言附 | PDF/CAJ 文档翻译,保留版式输出 PDF | https://github.com/CodeOfMe/YanFu |
| Zhuai 拽 | 学术论文搜索、下载与引用工具 | https://github.com/cycleuser/Zhuai |
| ZhuShou 助手 | AI 开发助手,多模型、CLI/桌面/Web 三接口,八阶段自动编码流水线 | https://github.com/cycleuser/ZhuShou |
东西散乱,路数挺杂:本地 LLM 工具链是一大块,语音(TingShuo/CopyTalker/ErTing/TingXie)是一大块,文档处理(HeiBan/Huan/NuoYi/DocTask/YanFu/Xie)是一大块,学术辅助(Zhuai/Chou/DuiZhang/LLMAP)是一大块,再加上些散落的小工具和算法练习。共同点是几乎都奔着"本地能跑、不依赖云、自己顺手"去做的。
我这人有个毛病,就是容易冲动。十多年前最惨的一次,一时兴起想装 BSD,觉得"更纯粹更黑客范儿",没查兼容性也没备份数据,结果整块硬盘数据全没了——论文草稿、课程作业、几年的照片,一锅端。后来玩 GNU Hurd 又栽一次。这些跟头摔下来,我才慢慢明白,无知之下的"果断"就是莽撞,未经约束的"行动力"只会带来更大的代价。
我也自满过。高考语文一百三十多,觉得自己学得不错,大学语文老师讲课带口音我就觉得人家水平一般,后来才发现这位老师功底很深,讲张巡许远守睢阳城生动有力,对《春秋》有独到见解,我这才服了,可学期已过大半。英语也差不多,高考一百二十多觉得自己底子还在,结果开学分班考全班倒数第二,五十二分,差点挂科。后来才想明白:所有事情最好的开始时间,要么是昨天,要么是现在。于是硬着头皮背托福词汇,把手机电脑语言全设成英文,总算过了四六级。
所以我现在看学生,特别能理解那种"还没被社会毒打过"的纯粹状态。有人觉得率性而活就好,有人觉得自己学过点东西就够应付,有人犹豫来不来得及。我一般不狠批,怕伤他们自尊,只是宽慰几句,加上鼓励。但我心里清楚,真正的成长,是既能放下盲目冲动,又能克制虚假满足,既敢试新路又愿脚踏实地,最终达到一种"收发自如"的状态——知道何时该进,何时该停,何时该守,何时该变。
我还有个习惯,就是见不得别人受苦。读博的时候一个月一千五,毕业后四千一加一千津贴,扣掉三千房租就月光,前几年手头紧还经常各种倒卖二手相机镜头等等东西。我也认真考虑过送外卖送快递,打听了一圈,发现新国标限速、燃油车要驾照又贵。后来我从某东买东西,尽量把订单拆小,让配送老哥多赚几单。能做的不多,但能做一点是一点。
这大概就是我了。一个从偏远乡村出来的学生,靠读书和折腾走到了现在。学历乱七八糟,技能东拼西凑,写过一些代码和文章,翻译过一些资料,带过一些学生。没什么了不起的成就,也没什么值得吹嘘的。一直保持着那个习惯:自己淋过雨,就想给别人撑把伞。哪怕伞不大,哪怕只有一瞬间,能让某个跟我当年一样无助的人稍微暖一点,这事儿就值了。
剩下的路还长,走着瞧吧。
CycleUser