返回首页
最新
大家好,我刚刚构建了一个基本的 SIEVE 邮件过滤器编辑器。我通常很难保持我的邮件过滤器更新,过去几年我已经不再使用像微软或谷歌这样的主要服务提供商,因此我不得不回归使用传统的 SIEVE 进行过滤。在手动操作了很长一段时间后,我决定自己构建一个图形用户界面来编辑规则,因为我没有找到任何现成的图形编辑器。就是这样,一个简单的工具,没有什么花哨的。希望有人会觉得它有用 :D
我构建了PolyMCP,这是一个框架和运行时,用于将Python函数作为MCP工具暴露,通过标准化的MCP服务器提供服务,并通过自主代理协调这些工具,这些代理能够规划和执行多步骤的工作流。
PolyMCP不仅仅是一个MCP服务器:它将现有的Python代码转变为适合代理使用的工具,并赋予代理发现、组合和跨多个服务进行协调的能力,同时支持自适应规划和现实世界的执行。
生态系统的关键部分:
1) 将Python函数暴露为MCP工具
可以直接将现有的Python函数作为MCP工具使用,而无需重写它们:
```python
from polymcp.polymcp_toolkit import expose_tools_http
def add(a: int, b: int) -> int:
return a + b
app = expose_tools_http([add], title="数学工具")
```
类型提示会自动生成结构化工具模式,并包含输入/输出验证和错误处理。可以在同一服务器上暴露多个函数。
2) 自主代理:PolyClaw
PolyClaw超越了简单的工具调用。它:
- 将复杂任务分解为可执行的步骤
- 动态选择和协调MCP工具
- 根据需求启动或连接到MCP服务器
- 在继续之前验证输出
- 在执行失败时调整计划
- 在隔离的Docker容器中运行所有内容
示例运行:
```bash
polymcp agent run \
--type polyclaw \
--query "构建一个销售报告管道并进行端到端测试" \
--model minimax-m2.5:cloud \
--verbose
```
在后台,系统根据需要进行规划,提供基础设施,顺序或并行执行步骤,并在出现故障时处理自适应重新规划。
为什么这很重要
目前大多数AI代理系统要么静态调用工具,要么假设基础设施已经存在。而PolyMCP则:
- 以最小的摩擦使现有的Python代码适合代理使用
- 通过MCP标准化工具,以便多个代理和服务可以与之交互
- 提供跨多个服务的自主协调
- 根据需要动态启动基础设施
- 验证步骤结果并从故障中恢复
- 使用Docker进行安全、隔离的执行
PolyMCP对企业自动化、DevOps工作流、数据管道、内部工具协调以及任何复杂的多工具推理任务(代理必须可靠地进行规划和执行)都非常有用。
代码库: [https://github.com/poly-mcp/PolyMCP](https://github.com/poly-mcp/PolyMCP)
欢迎提出问题。
嘿,HN!我想展示我制作的这个小型JRPG风格的硬件伴侣,它可以显示你的Claude Code正在做什么。当Claude运行一个工具时,Clawy也会运行。当完成时,Clawy会高兴地跳起来。摇动设备时,Clawy会变得晕头转向!当Claude需要权限来运行某个命令时,它会像视频游戏中的任务滚动文本一样显示命令和上下文,你可以通过物理按钮进行批准或拒绝。
它运行在一个20美元的M5StickC Plus 2上。从浏览器在clawy.lol/flash上闪存只需2分钟,不需要Arduino IDE。它使用Claude Code的本地钩子系统通过本地WiFi进行通信,所有数据都不会离开你的网络。
我制作这个原型是因为我想在看其他东西时跟踪我的会话,而不想使用终端。因此,我觉得这会是一个有趣的实验。当我收到一些不错的反馈时,我决定将其分享给大家。虽然还有些粗糙,但它确实能工作。如果你想试试,可以在这里找到代码库:<a href="https://github.com/marcvermeeren/clawy" rel="nofollow">https://github.com/marcvermeeren/clawy</a>!
大家好!我是罗德里戈,我在几个国家管理分布式系统。我创建Openfuse是因为我对我们如何使用熔断器的方式有些困扰。
如果你在运行20个服务实例,而Stripe开始返回500错误,每个实例都是独立发现这个问题的。实例1在经历5次失败后触发了熔断器。实例14刚被回收,还没有遇到任何错误。实例7处于半开状态,正在探测一个你已经知道是死掉的服务。在某段时间内,你的部分实例正在自我保护,而另一部分仍在不断请求一个已经失效的依赖,并且超时,而你只能无奈地旁观。
库无法解决这个问题。Opossum、Resilience4j、Polly在模式上表现出色,但它们是基于每个实例的状态做出决策。你的熔断器之间并不相互通信。
Openfuse是一个集中控制平面。它从你所有的实例中聚合故障指标,并基于整体情况做出触发决策。当熔断器打开时,每个实例都会同时知道。
这只需要几行代码:
```javascript
const result = await openfuse.breaker('stripe').protect(
() => chargeCustomer(payload)
);
```
这个SDK是开源的,任何人都可以查看它在他们的服务中运行的具体内容。
我还想提到的另一点是:当你在凌晨3点接到警报时,你不应该在15个服务中寻找日志来弄清楚哪里出了问题。Openfuse提供一个仪表盘,显示你所有实例的熔断器状态:哪些是健康的,哪些是降级的,哪些触发了熔断,何时触发。
而且,你不需要部署就能采取行动。你可以从仪表盘上打开熔断器,所有实例会立即停止调用那个依赖。凌晨3点的计划维护窗口?提前打开。修复确认了?立即关闭。阈值需要调整?在仪表盘上更改,几秒钟内在你的整个系统中生效。无需提交PR,无需CI,无需配置文件。
我们提供了一个不错的免费套餐供你试用,之后大多数团队的费用是每月99美元,399美元每月则提供更高的吞吐量和一些企业功能。作为独立创始人,我处于早期阶段,坦诚相待。
我很想听听那些在生产环境中应对级联故障的人们的经验。我还缺少什么呢?
我和我的朋友们创建了Owoa,以解决数字版权管理中的一个特定问题:“模拟漏洞”。
传统的隐写术和水印技术通常依赖于最低有效位(LSB)修改或脆弱的元数据。这些方法在用户用智能手机拍摄其显示器的物理照片时立即失效。莫尔纹、传感器噪声和镜头畸变会破坏数字信号。
Owoa并不是将数据隐藏在像素中,而是利用生成性人工智能通过微妙地修改背景元素(纹理、植物、无结构图案)来创建图像的独特变体。
由于“数据”现在是图像实际视觉构成的一部分,因此其鲁棒性大大增强。在我们的测试中,归属信息能够存活于以下情况下:
- 严重的JPEG压缩和调整大小。
- 激进的裁剪。
- 用中档智能手机拍摄的1080p/4K屏幕的物理照片。
我们刚刚推出了Owoa Playground,并希望获得关于这种方法与传统鲁棒水印相比的鲁棒性的技术反馈。
我们为加入候补名单以测试引擎的用户提供10个免费积分。我很想听听你会如何尝试破解这个。
链接: [https://owoa.app/](https://owoa.app/)
嗨,HN——我是一名重度使用OpenClaw的用户,和许多人一样,我一直在思考如何为这些新的“解放”代理提供安全的账户访问。
代理需要API访问才能发挥作用,但API密钥是长期有效的秘密,而代理并不是安全的环境。
因此,我为自己构建了一些东西,迅速演变成了一个产品:keychains.dev。
这个想法很简单:代理从不直接看到原始凭证。
使用Keychains.dev时:
• 代理通过curl或JavaScript的fetch()的替代品进行API调用
• 他们使用模板变量名而不是嵌入凭证
• 请求通过keychains.dev进行代理
• 代理分析目标端点并确定所需的最小OAuth范围
• 它尝试使用存储在服务器端的凭证来满足请求
• 如果缺少凭证——或者代理未被批准执行该操作——则返回一个批准链接
• 代理将该链接转发给其人类用户以进行授权
这创建了一个用户参与的升级模型,而不是盲目的凭证注入。
在安全性方面:
• 代理可以在不接触凭证的情况下发出请求(防止提示注入泄露)
• 凭证不能被重放到任意端点——它们绑定于发放提供者
• 每个代理机器通过SSH密钥对和状态指纹进行身份验证(密钥不能在其他地方重用,立即撤销)
• 代理可以根据需要将受限凭证委托给沙箱子代理
• 用户通过浏览器中的FaceID/TouchID批准新权限
• 每个请求都有完整的审计记录,并可以在代理、子代理或范围级别进行细粒度撤销
即使私钥被盗,权限也可以立即撤销,并且令牌是短期有效的。
我目前支持跨6,754个API的委托,但核心思想并不是数量——而是通过人类批准进行受控委托(+任何可以通过curl访问的API都是兼容的)。
你觉得怎么样?
我非常希望能得到以下方面的反馈:
– 这是否符合你对代理的威胁模型
– 用户参与的升级是否感觉实用
– 你今天是如何处理凭证安全的
欢迎提出技术问题。
我是一名独立开发者,已经编写代码26年,最近主要从事计算几何和CAD软件的咨询工作。一两个月前,我观看了一段关于使用AI代理作为简历助手的YouTube视频,觉得这个主意很有趣。更重要的是,这听起来像是我可以快速学习并构建的东西。
与此同时,我的长期客户,一家制作SolidWorks插件的小公司,需要一种更好的方式来处理技术支持。他们只有三个人,没有支持团队或IT团队。因此,我为他们构建了一个聊天机器人:使用Flask作为后端,接入Anthropic API,并建立了一个手工整理的知识库,内容包括他们的帮助文件、我从他们代码中提取的可能错误信息列表,以及他们培训视频的文字记录。
这个聊天机器人运行得相当不错,令老板印象深刻,这时我意识到:每个小型软件公司都有这个确切的问题。他们太小,无法使用Zendesk,太忙,无法重复回答相同的问题,而且对于通用解决方案来说,他们的需求又太小众。
于是我将其转变为一个平台。你只需提供你的文档——无论它看起来如何——我会为你构建知识库,在recursive.support的子域上部署一个代理,然后你只需用一个iframe标签将其嵌入到你的网站上。无需JavaScript SDK,也无需后端集成。
我最感兴趣的技术部分是自我改进循环。代理会生成报告,回顾其对话,识别知识空缺和趋势,并提出具体的知识库编辑建议,以差异的形式呈现,供业务所有者逐一批准或拒绝。它有时甚至会建议修复和增强功能,我会将这些反馈整合回产品中,以使其变得更好。目标是代理能够随着时间的推移显著改善,而无需所有者手动整理任何内容。
目前有五个代理在运行:原始客户的技术支持、我维护的一个开源项目(neat-python)的文档代理、ask1787.com的创始文件问答、recursive.support的访客代理(自我使用),以及一个回归到最初视频的AI简历代理。
我在大约九个小时内完成了ask1787.com的构思到上线,这可能是目前该平台功能的最佳演示。
技术栈:Python、SQLite、ChromaDB、Anthropic API(Claude Haiku & Sonnet)、DigitalOcean云主机。每个客户都有一个独立的部署。
我很乐意回答关于架构、自我改进循环或在兼顾每周50小时客户工作的同时,作为副项目构建SaaS产品的经验方面的问题。
在实际业务方面,我有一个付费客户——最初引发这一切的客户。他们的合同覆盖了整个平台的大部分托管费用,这意味着我可以对增长保持耐心,而不是急于求成。
温馨提示:产品已经上线,但仍处于早期阶段。目前我的流量主要来自于询问代理如何为他们制作一个热门动漫女友的人,所以显然还有一些产品市场匹配的工作需要完成。