返回首页
最新
我花了很多时间在终端上,希望能有一个简单的方法在不切换上下文的情况下听TIDAL,因此我开发了ttydal。它是一个基于终端的TIDAL客户端,使用Python编写,并利用MPV进行播放。
这个项目的灵感来源于sqlit(<a href="https://github.com/Maxteabag/sqlit" rel="nofollow">https://github.com/Maxteabag/sqlit</a>)。ttydal支持浏览、模糊搜索和基本的播放控制。
这也是我第一个真正的Python项目,所以它仍然比较小,且有些粗糙,但它是开源的,易于实验。我非常欢迎任何反馈、建议或批评。
我一直在大量使用Claude Code,但总是遇到同样的问题:代理会推送更改、回应评审、等待持续集成(CI)……但从来不知道何时完成。
它会在循环中轮询CI,错过埋藏在15条CodeRabbit建议中的可操作评论,或者在讨论仍未解决时就宣布胜利。
核心问题是:代理没有确定的方法来判断一个拉取请求(PR)是否准备好合并。
因此,我构建了gtg(Good To Go)。一个命令,一个答案:
```
$ gtg 123
OK PR #123: READY
CI: success (5/5 passed)
Threads: 3/3 resolved
```
它汇总了CI状态,分类评审评论(可操作的与噪声),并跟踪讨论的解决情况。返回JSON格式供代理使用或人类可读的文本。
评论分类是有趣的部分——它理解CodeRabbit的严重性标记、Greptile模式以及Claude的阻塞/批准语言。“关键:SQL注入”会被标记;“不错的重构!”则不会。
该项目采用MIT许可证,纯Python编写。我每天在一个更大的代理编排系统中使用这个工具——非常希望能收到其他构建类似工作流程的人的反馈。
展示HN:ReFlow Studio – 本地AI视频配音与审查
大家好,
我是ReFlow Studio的创作者,这是一款开源(MIT)桌面“多功能工具”,专为视频创作者设计。我开发这个工具是因为我希望能够在本地处理视频编辑中繁琐的部分——转录、配音和审查,而不必依赖昂贵且侵犯隐私的云API。
它的功能包括:
* 本地配音:使用OpenAI Whisper进行自动语音识别(ASR),并使用Coqui XTTS v2进行语音克隆。它针对“印英语”(印地语+英语)内容进行了优化。
* 自动审查:使用NudeNet(ONNX)在视频帧中查找并模糊不适宜内容,并在音频文件中对粗俗语言进行“哔声”处理。
* 100%离线:安装后,您的数据不会离开您的机器。这对处理敏感内容的创作者来说是一个优先考虑的事项。
技术挑战:
```
分发:将超过5GB的AI模型打包成可下载的安装程序是一场噩梦。最后我采用了分割二进制的Inno Setup方法,以保持下载对带宽有限的用户的稳定性。
用户界面持久性:我刚刚发布了v0.3.1,终于集成了设置管理器,使得应用能够在会话之间记住您的主题(明亮/黑暗)和处理偏好。
性能:在Python中管理转录、翻译和渲染线程之间的切换,而不锁定主UI线程。
```
我目前正在计划v0.4版本,将包括“智能静音”去除功能,以自动优化配音音频。
我非常希望能听到您对架构、离线分发方法或本地推理性能的反馈!
GitHub: [https://github.com/ananta-sj/ReFlow-Studio](https://github.com/ananta-sj/ReFlow-Studio)
感谢您的关注!
Tenmo
一个用纯Mojo编写的轻量级张量库和神经网络框架。<p>https://github.com/ratulb/tenmo<p>Tenmo专注于:<p>SIMD优化
显式内存布局
零拷贝视图
一个简约但实用的自动求导系统
状态:Tenmo与Mojo本身一起发展。
API可能会发生变化。目前尚未准备好用于生产环境。<p>性能
MNIST(4层多层感知器,105K参数,15个训练周期)
平台 设备 平均每个周期 总测试准确率
Tenmo CPU(Mojo) 11.4秒 171秒 97.44%
PyTorch CPU 14.5秒 218秒 98.26%
PyTorch GPU(Tesla T4) 15.2秒 227秒 97.87%
备注<p>Tenmo在连续缓冲区上使用SIMD向量化内核。
在MNIST运行中未使用BLAS——所有操作均作为纯Mojo代码执行。
对于这种规模的模型,GPU开销占主导地位;更大模型更能从GPU加速中受益。
快速示例
```python
from testing import assert_true
from tenmo import Tensor
fn main() raises:
var a = Tensor.d1([1.0, 2.0, 3.0], requires_grad=True)
var b = a * 2
var c = a * 3
var d = b + c
d.backward()
assert_true(a.grad().all_close(Tensor.d1([5.0, 5.0, 5.0])))
```
非常感谢您的反馈!
获取个性化指导、即时解释和适合您学习风格的自适应练习。告别孤军奋战——与您随时可用的AI学习伙伴一起掌握任何学科。今天就免费开始,无需信用卡。