1作者: indybonez3 个月前原帖
一个 VS Code 扩展,提供一个 MCP(模型上下文协议)服务器,使得像 Claude Code 和 Claude Desktop 这样的 AI 代理能够控制 VS Code 的调试器。该扩展与语言无关,适用于任何调试适配器(如 Node.js、Python、C++、Go、Rust、Java 等)。
2作者: maupr923 个月前原帖
跟进我三天前的帖子。AgentLint 的规则数量从 10 条增加到 42 条,分布在 7 个包中。 自上次更新以来的一些有趣的技术细节: **堆栈自动检测**:AgentLint 会检查项目文件(如 pyproject.toml、package.json、框架依赖)并激活相关的规则包。Python 包会捕捉裸露的异常、危险的子进程调用和 SQL 注入模式。前端包检查可访问性(如替代文本、表单标签、标题层级)。当其依赖项存在时,React 和 SEO 包会被激活。无需配置——如果想要覆盖,可以放置 agentlint.yml 文件。 **所有 17 个钩子事件**:Claude Code 暴露了比大多数人意识到的更多生命周期钩子:PreToolUse、PostToolUse、Stop、UserPromptSubmit、SubagentStop、Notification、SessionEnd 以及其他 10 个。AgentLint 现在可以处理所有这些事件。其中一个有趣的事件是 UserPromptSubmit——您可以在代理执行之前验证用户的请求。 **文件内容缓存以进行差异比较**:PreToolUse 在进行编辑/写入之前缓存文件内容。PostToolUse 接收“之前”的快照,以便基于差异的规则可以正常工作(例如,检测错误处理何时从文件中移除)。 **二进制解析问题**:Claude Code 通过 /bin/sh 以最小的 PATH 运行钩子。在 macOS 上,pip 将 console_scripts 安装到 /Library/Frameworks/Python.framework/Versions/3.13/bin,但该路径不在 PATH 中。shutil.which() 会失败。解决方案是一个 5 步探测链:PATH → ~/.local/bin (pipx) → uv 工具目录 → sysconfig.get_path("scripts") → python -m fallback。sysconfig 调用是关键——它准确返回 pip 放置二进制文件的位置。同时还必须添加 __main__.py,因为没有它,python -m fallback 会出现问题。 **质量包(始终激活)**:验证提交信息是否符合传统提交格式。检测无效的导入。当 try/except 或 .catch 块完全被移除时发出警告(不是重构——是移除)。在会话结束时注入自我审查提示。跟踪整个会话的令牌预算。 **741 个测试,覆盖率 96%**:仍然支持 Python 3.11 及以上,且仅依赖 click 和 pyyaml。 **自定义规则 API 没有变化**:只需子类化 Rule,实施 evaluate(),并放置一个 .py 文件。但引擎现在提供了更丰富的上下文:文件差异、提示内容、子代理输出、通知元数据。 [https://github.com/mauhpr/agentlint](https://github.com/mauhpr/agentlint)
1作者: tstockham3 个月前原帖
我创建Engram是因为我的AI编码代理(Claude Code)在会话之间没有记忆。每个新会话都是从零开始。我不得不不断重新解释相同的项目背景、决策和偏好。 Engram是一个为AI代理设计的持久记忆系统。它作为MCP服务器与Claude Code、Cursor或任何兼容MCP的客户端一起运行。只需一个命令即可设置: ``` npm install -g engram-sdk engram init ``` 之后,您的代理可以在会话之间记住信息。它存储事实、决策、偏好和修正,并在相关时回忆起正确的信息。 Engram与向量数据库或平面MEMORY.md文件的不同之处在于: - **整合性。** 原始对话片段会自动提炼成结构化知识,类似于人类记忆的工作方式(从情节记忆到语义记忆)。 - **矛盾检测。** 当新事实与旧事实冲突时,Engram会检测到这一点并取代旧记忆。没有过时的数据。 - **扩散激活。** 回忆不仅仅是进行向量搜索。它通过实体和主题的连接遍历记忆图,呈现出您没有明确要求的相关背景。 - **ask()而非原始回忆。** `vault.ask()`不会返回一堆记忆对象,而是合成一个带有置信信号的答案。代理获得的是直接答案,而不是一堆需要解释的结果。 - **checkpoint()。** 在上下文压缩或会话结束之前,代理将其工作记忆保存到保险库中。上下文窗口是最准确的真相来源,也是最不稳定的。检查点功能可以保留它。 在LOCOMO基准测试(长对话记忆,来自Snap Research)中:Engram在9/10次对话中得分84.5%,而Mem0的已发布得分为66.9%,使用的令牌数量比完整上下文注入少30倍。完整的10/10重新评估正在进行中。 整个系统是用TypeScript编写的,核心部分没有外部依赖,存储和向量搜索使用SQLite和sqlite-vec。采用AGPL-3.0许可证。 GitHub: [https://github.com/tstockham96/engram](https://github.com/tstockham96/engram) 网站: [https://engram.fyi](https://engram.fyi) npm: [https://www.npmjs.com/package/engram-sdk](https://www.npmjs.com/package/engram-sdk)
1作者: MauricioML3 个月前原帖
嗨,HN, 我做一些零售套利,但因为错过了大量90%折扣的漏洞而感到非常沮丧。等到有人在Slickdeals或DealNews上发布交易时,库存已经被机器人清空了。 我决定自己解决这个问题,创建了Sniper Syndicate。这是一个自定义的Python Telegram机器人,实时抓取RSS源和Reddit的信息。与其仅仅转发链接,我编写了一些正则表达式逻辑,实际从原始HTML中提取并计算折扣,过滤掉任何低于20%的真实折扣,以及抽奖或“重新上架”的垃圾信息。 这个工具在我自己的采购中运作得非常顺利(当找到匹配时会立即通知我),所以我最近通过Whop将访问权限打包发布:<a href="https://whop.com/snyper-sindicate/sniper-syndicate-membership/" rel="nofollow">https://whop.com/snyper-sindicate/sniper-syndicate-membership...</a> 我仍在改进机器人在大规模使用时如何处理速率限制,使用aiohttp,因此我很想听听你们对抓取逻辑的看法,或者有什么想法可以让价格过滤器更好!