返回首页
最新
在过去的几个月里,我一直在开发一个受到Flutter启发的TUI框架,使用Dart编写。<p>该API的设计模仿了Flutter,包括StatefulComponent、setState()、Row、Column、Expanded和ListView等组件。<p>最近关于TUI性能的讨论增多,我认为Dart实际上是编写TUI的一个很棒的语言。它可以编译成快速的本地代码,支持跨平台,并且具有良好的开发者体验。开发时使用JIT编译(支持热重载),生产环境则使用AOT编译。<p>非常酷的是状态热重载。如果你对文件进行了修改并保存,Nocterm会实时更新TUI,而无需重启。<p>在底层实现方面:<p>- 差异渲染:虚拟终端缓冲区,仅重绘已更改的单元格<br>
- 声明式组件模型(与Flutter相同):组件 → 元素 → 渲染对象管道<br>
- 45个以上的组件:布局、滚动、文本输入、Markdown、动画、鼠标支持<br>
- 内置测试框架:推动组件、发送按键、断言终端状态<br>
- 主题支持:6个内置主题,自动检测终端的深色/浅色模式<p>示例:<p>```dart
void main() async {
await runApp(Counter());
}
class Counter extends StatefulComponent {
int _count = 0;
Component build(BuildContext context) {
return Focusable(
onKeyEvent: (event) {
if (event.logicalKey == LogicalKey.space) {
setState(() => _count++);
return true;
}
return false;
},
child: Center(child: Text('Count: $_count')),
);
}
}
```<p>我尝试过几个现有的TUI框架,但缺少我所喜爱的Flutter开发体验,因此我自己构建了一个(无论好坏……)。<p>我一直在使用Nocterm来构建vide_cli(<a href="https://github.com/Norbert515/vide_cli" rel="nofollow">https://github.com/Norbert515/vide_cli</a>),这是一个终端中的编码助手。<p>还有一些很酷的功能即将推出,比如在替代屏幕模式下的虚拟文本选择。由于TUI应用程序接管了终端,正常的文本选择会失效。这个功能在框架层面重新实现,使用户可以自然地选择和复制文本。<p>代码库:<a href="https://github.com/Norbert515/nocterm" rel="nofollow">https://github.com/Norbert515/nocterm</a><p>欢迎对架构、热重载实现或其他任何问题进行提问。
我在计划一篇博客文章时遇到了这个“谁掌控互联网”的图表(https://upload.wikimedia.org/wikipedia/commons/e/ed/Who-Runs-the-Internet-graphic.png),这让我开始思考互联网服务提供商的角色。
显然,这是一个高度简化的问题。互联网治理是一个复杂的话题,但从你的经验和视角来看,互联网服务提供商是“邪恶”的存在吗?谁真正掌握着互联网的权力?
Daydream团队即将启动新的Daydream AI视频项目,这是一个为期两周的实操项目,面向从事实时AI视频开发的开发者和创意技术专家。<p>该项目将于2月9日至20日举行。参与者将获得一对一的支持和云基础设施的访问权限,并有机会与其他在这一领域进行开发的人士一起合作。在这两周内,我们将发放超过5000美元的奖品。参与是免费的,申请截止日期为2月6日。<p>申请链接:<a href="https://daydream.live/interactive-ai-video-program?utm_source=hackernews&utm_medium=social&utm_campaign=aivp_cohort2" rel="nofollow">https://daydream.live/interactive-ai-video-program?utm_source...</a><p>欢迎随时询问有关项目或技术的问题。
我正在构建一个基于Rust的代理编码TUI,并需要渲染Mermaid图表。注意到官方的mermaid-cli为了渲染图表会启动一个完整的浏览器实例(Puppeteer/Chrome)。于是我决定解决这个问题。
mmdr是一个原生的Rust渲染器。无需浏览器,无需Node.js。
```
mermaid-cli: 每个图表约3000毫秒
mmdr: 每个图表约3毫秒
```
支持13种图表类型:流程图、序列图、类图、状态图、ER图、饼图、甘特图、时间线、旅程图、思维导图、Git图、XY图和象限图。
我想创建一个大型语言模型(LLM)游戏基准,以充分展示这一代前沿LLM的顶尖技能——编程。
十年前,一个团队发布了一款名为Screeps的游戏。它被描述为“为程序员打造的MMO RTS沙盒”。在Screeps中,玩家通过编写JavaScript策略,使其在游戏环境中执行。
Screeps的模式,即编写代码并在实时游戏环境中执行,非常适合用作LLM基准。基于Screeps开源API的一个版本,LLM Skirmish将LLM进行对抗,进行一系列1对1的实时战略游戏。
此外,还有一个社区排行榜,您可以选择自己的LLM并提交自己的游戏策略,与其他社区成员进行对抗。
我们注意到越来越多的开发者在他们的 GraphQL 工作流程中直接使用 AI 编码助手。问题在于,这些助手往往会回归到通用或过时的 GraphQL 模式。
在不断纠正同样的问题后,我们最终将希望助手遵循的 GraphQL 最佳实践和规范打包成可重用的“技能”,并在这里开源发布:<a href="https://github.com/apollographql/skills" rel="nofollow">https://github.com/apollographql/skills</a>
通过 `npx skills add apollographql/skills` 安装后,助手将开始生成带有变量的命名操作、`[Post!]!` 列表模式,以及更一致的客户端行为,而无需在每个提示中重复这些规则。
我们希望助手现在能够以我们自己编写的方式来编写 GraphQL。欢迎试用这个仓库,并告诉我们您的想法。
在发现大多数AI代码审查工具完全忽略Bitbucket后,我感到非常沮丧——它们都是优先支持GitHub,其次是GitLab,最后才是Bitbucket。
这个工具使用Claude CLI而不是API,这意味着没有按令牌收费(只需使用您现有的Claude订阅)。该工具接收Bitbucket的webhook,克隆本地仓库,并直接在PR上发布审查评论。
主要特点:
<p>支持Bitbucket Cloud、Server和Data Center
按顺序处理PR,并提供Prometheus指标
可定制的审查模板(专注于安全、性能、快速审查)
您的代码始终保留在您的基础设施内
<p>设置过程大约需要5分钟,使用交互式向导。
GitHub: <a href="https://github.com/TinTinWinata/bitbucket-automatic-pr-reviewer" rel="nofollow">https://github.com/TinTinWinata/bitbucket-automatic-pr-reviewer</a>