返回首页
一周热榜
我很高兴地分享 AGI-SaaS v1.0.0,这是一个用于检索增强生成(RAG)的开源 Python 框架:
• 基于插件的 LLM 流水线
• 异步并发 API 调用
• 支持 OpenRouter、OpenAI 和 llama.cpp
开始使用:
pip install agi-saas==1.0.0
欢迎反馈和建议!
大家好,我想请教一下你们的意见。
我们建立了 vykee.co 作为一个引导工具。我们的想法是通过隐藏高级功能,使 SaaS 界面更易于理解,特别是对新用户而言。
其中一个主要功能是标签系统,允许 SaaS 公司对元素进行标记,并将多个元素组合成一个功能。因此,基本上我们有一个前端的用户界面层(每个元素和功能都有独特的标识符和注释)。
我认为这个用户界面层对大型语言模型(LLMs)可能非常有用:如果我们将所有这些用户界面信息放在一个简单的 llms.md 文件中(类似于 robots.txt,但针对 LLMs),它们就能比解析 HTML 或依赖截图更好地理解界面。
不过,这仅对基于浏览器的代理有帮助。
我们曾讨论过,有人认为与其押注于基于浏览器的代理,不如押注于 MCP,因为后者是标准且更广泛采用的。这个想法是建立一个 MCP,并将其连接到带标签的前端元素。
你们认为继续押注于基于浏览器的代理还有意义吗?
谢谢!
我在TCP方面卡了很多小时。感觉整体概念还没有完全理解。虽然我觉得自己理解了大部分内容,但仍然有些困惑。现在我在学习回退重传和类似的内容。滑动窗口……数据包格式的记忆并不是问题。我想深入理解内部基础设施工程。
HarmonyOS 5 新闻应用日历账户管理实现
摘要
本文介绍了在 HarmonyOS 5.0 新闻应用中实现日历账户管理功能的过程。该功能包括添加特定类型日历账户的按钮以及删除日历账户的构建器。使用 ArkTS 语言实现账户的添加和删除操作。
1. 实现账户添加按钮组件
```
Column({ space: 15 }){
Button('添加体育新闻账户')
.onClick(async () => {
await this.addAccount('体育新闻', '#006699')
this.list = await this.calendarMgr.getAllCalendars()
})
Button('添加国际新闻账户')
.onClick(async () => {
await this.addAccount('国际新闻', '#ffaa00')
this.list = await this.calendarMgr.getAllCalendars()
})
}
.margin(15)
```
2. 实现账户删除构建器
```
@Builder
DeleteBuilder(calendar: calendarManager.Calendar) {
Text('删除')
.fontSize(24)
.width(120)
.textAlign(TextAlign.Center)
.height('100%')
.onClick(async () => {
await this.calendarMgr.deleteCalendar(calendar)
this.list = await this.calendarMgr.getAllCalendars()
})
}
```
HarmonyOS 5 新闻应用日历事件管理实现
摘要
本文介绍了在 HarmonyOS 5.0 新闻应用中实现日历事件管理功能的过程,包括绑定弹出窗口、添加日历事件和显示事件详情。该功能使用 ArkTS 语言实现。
代码实现
1. 绑定弹出组件
```javascript
.bindSheet($$this.isShow, this.AccountDetailBuilder, {
height: 500
})
```
2. 实现添加日历事件的功能
```javascript
async addCalendarEvent(title: string) {
await this.currCalendar?.addEvent({
title: title,
startTime: Number(new Date('2025-12-12 19:00:00')),
endTime: Number(new Date('2025-12-12 21:00:00')),
reminderTime: [0, 5, 10, 60],
type: calendarManager.EventType.NORMAL
})
this.currCalendarEvents = await this.currCalendar?.getEvents() || []
}
```
3. 构建账户详情组件以显示事件列表
```javascript
@Builder
AccountDetailBuilder() {
Column({ space: 15 }) {
Text(this.currCalendar?.getAccount().displayName)
.fontSize(24)
.fontWeight(500)
Column({ space: 15 }) {
Button('订阅 CNN 新闻')
.onClick(() => {
this.addCalendarEvent('订阅 CNN 新闻')
})
Button('订阅 BBC 新闻')
.onClick(() => {
this.addCalendarEvent('订阅 BBC 新闻')
})
}
Text('我的订阅 : ')
List({ space: 15 }) {
ForEach(this.currCalendarEvents, (event: calendarManager.Event) => {
ListItem(){
Column({ space: 5 }){
Text(event.title)
Text(new Date(event.startTime).toString())
}
.padding({ left: 15, right: 15 })
.justifyContent(FlexAlign.Center)
.alignItems(HorizontalAlign.Start)
.width('100%')
.height(60)
.borderRadius(12)
.backgroundColor('#DDDDDD')
}
})
}
}
.padding(15)
.alignItems(HorizontalAlign.Start)
}
```
嗨,HN,
我们在过去几年里一直在开发 [OOMOL](https://oomol.com)——一个为开发者打造的工作流自动化平台。
与 Zapier 或 n8n 不同,OOMOL 在本地的容器化环境中运行,支持完整的 Python 和 Node.js(包括第三方库),并且提供与编写真实代码相同的灵活性。它就像 VS Code 与工作流自动化的结合。
关键点:
- 本地优先(无云锁定)
- 支持 Python 和 Node.js(可以混合使用!)
- 开箱即用的 Pip/npm 库支持
- 完全可视化,具有可编程节点
- 以容器或子工作流的形式共享和重用流程
我们还处于早期阶段,非常希望获得 HN 社区的反馈。欢迎随时提问!