
Daemons by Charlie Labs
Charlie Labs 的 Daemons 是始终在线、主动的 AI 流程,它们在简单的 Markdown 文件中定义,全天候跨 Slack、Linear 和 GitHub 等工具工作,以使工程工作流井然有序、得到维护并以明确的边界执行。
https://charlielabs.ai/?ref=producthunt&utm_source=aipure

产品信息
更新于:2026年06月18日
什么是 Daemons by Charlie Labs
Charlie Labs 的 Daemons 是一种用于持续工程“角色自动化”的产品类别:您无需为一次性任务提示代理,而是定义一次守护程序,它会在后台持续处理重复的运营工作。每个守护程序都通过存储在您的存储库中的可移植 DAEMON.md 文件进行配置,该文件描述了守护程序的职责(目的)、它监视的事件(例如,PR 打开、问题创建)、它应该运行的例程(例如,改进 PR 描述、分类错误、标记问题)以及它明确不允许做的事情(拒绝规则)。目标是通过将问题、PR、文档、依赖项和卫生循环保持在一致的“干净下一个状态”来减少快速发展的开发和代理生成输出所造成的运营阻力。
Daemons by Charlie Labs 的主要功能
Charlie Labs 的守护程序是始终在线、主动的 AI 流程,它们跨 GitHub、Linear 和 Slack 等工具运行,无需提示即可保持工程卫生和操作循环的顺畅。团队将每个守护程序定义为 Markdown “角色”(它监视什么、它做什么、它不能做什么以及可选的计划/限制),通过明确的护栏、速率限制和升级/审批边界实现可预测的自主性。守护程序专注于持久的维护工作——组织问题/PR、防止文档/依赖项中的偏差以及跟踪重复信号——同时随着时间的推移积累团队和存储库特定的上下文,以提高准确性和实用性。
主动、24/7 自动化: 守护程序根据事件(例如,PR 打开、标签添加)和/或计划(cron 扫描)自发启动工作,因此日常维护持续进行,无需有人记住提示代理。
基于角色的 Markdown 配置: 每个守护程序都通过一个带有 frontmatter(名称、目的、监视、例程、拒绝、计划)的便携式 .md 文件以及指定其行为方式的策略/格式部分进行定义——“角色,而非任务。”
通过拒绝规则和批准进行防护: 明确的拒绝列表限制了操作(例如,不合并 PR、不修改源/配置、不更改人工设置的优先级),从而保持行为可预测并降低风险。
具有每次激活限制的速率限制: “限制”部分限制了守护程序每次运行可以完成的工作量(例如,仅处理触发问题;在一次扫描中最多标记 20 个问题),以避免使审阅者和工作流不堪重负。
跨工具跟进(GitHub/Linear/Slack): 守护程序将传入信号转化为持久的结果——问题更新、PR/CI 卫生、分类评论、升级——跨工程工作实际发生的系统。
复合组织记忆和约定: 随着时间的推移,守护程序会建立更丰富的团队偏好模型(标签方案、所有权、升级模式),从而提高一致性并减少重复的协调。
Daemons by Charlie Labs 的使用场景
错误分类和优先级排序(SaaS/产品团队): 当创建/标记 Linear 错误时,错误分类守护程序可以确保完整性,使用影响信号(例如 Sentry 上下文)设置优先级,通过 CODEOWNERS 分配,并请求/记录根本原因证据——而无需更改人类已设置的字段。
问题标签卫生(任何使用 Linear 的团队): 问题标签守护程序可以在创建时和通过每日扫描添加定义标签组中缺失的标签,同时仅限于添加性更改(从不删除或覆盖现有标签)。
PR 准备情况和审阅者上下文(软件工程): PR 助手守护程序可以监视 PR 打开/同步事件,以建议 PR 描述改进,标记缺失的上下文,并保持审阅效率——同时禁止合并或推送到受保护的分支。
PR 审阅线程正确性分类(高流量存储库): PR 审阅分类守护程序可以在提交审阅/评论时唤醒,并为每个线程生成明确的决策(有效/无效/不确定),处理重复/冲突,并使用 GitHub 线程操作安全地解决已修复的反馈。
文档/运行手册偏差预防(平台/运维): “图书管理员”式守护程序可以随着系统变化持续检查过时的文档/运行手册,提示更新或打开可审阅的更改提案,从而防止入职和事件响应退化。
依赖项和维护循环(注重安全/合规的组织): 代码库维护者守护程序可以在严格的边界和针对风险更改的升级点内,保持重复维护的可见性和进展(补丁、依赖项新鲜度、CI 中断跟进)。
优点
始终在线的维护减少了操作阻力,并防止问题/PR/文档中的偏差,而无需依赖人工记忆。
清晰、可审计的护栏(拒绝规则、限制、审批边界)使自主性更可预测且更安全地采用。
基于 Markdown 的角色规范易于版本控制、审阅和跨存储库/团队共享。
跨工具覆盖(GitHub/Linear/Slack)支持工作实际发生时的端到端跟进。
缺点
需要周密的前期策略设计(监视/例程/拒绝/限制),以避免嘈杂或范围不当的自动化。
阻止风险操作(例如,不更改代码/合并)的护栏可能会限制那些希望完全自动化修复的团队的实用性。
有效性取决于集成质量和团队在工具(标签、所有权规则、优先级约定)方面的一致性。
如何使用 Daemons by Charlie Labs
1. 选择一个要自动化的重复角色: 选择一个持续的职责(一个角色),而不是一次性任务——例如,PR 卫生、错误分类、问题标记、依赖维护或文档维护。
2. 在您的存储库中创建守护程序定义文件: 添加一个 Markdown 文件(通常存储在 `.agents/daemons/<daemon-name>/DAEMON.md`),它将定义守护程序的行为。
3. 使用 Frontmatter 定义守护程序: 在文件顶部,添加 `---` 围起来的 Frontmatter 字段,声明守护程序是什么:`name`、`purpose`、`watch` 触发器、`routines`、`deny` 规则,以及可选的 `schedule` (cron)。
4. 指定守护程序监视的内容(基于事件的激活): 列出应该唤醒守护程序的事件(例如,“当拉取请求打开/同步时”、“当使用错误标签创建 Linear 问题时”、“当添加标签时”)。
5. 指定守护程序执行的操作(例程): 列举守护程序激活时应执行的可重复操作(例如,建议 PR 描述改进、根据 Sentry 影响设置优先级、通过 CODEOWNERS 分配、添加缺失上下文、发布带有证据的 RCA 评论)。
6. 使用拒绝规则设置硬性边界: 明确列出守护程序绝不能执行的操作(例如,不要合并 PR、不要打开 PR、不要修改源/配置、不要创建/删除 Linear 问题、不要添加/删除标签、不要覆盖人工设置的优先级)。
7. 添加定期扫描的计划(可选): 如果您希望守护程序捕获遗漏的工作,请添加 `schedule: "<cron>"`(例如,每晚)。这支持混合操作:事件驱动 + 定期清理。
8. 在 Frontmatter 下方编写操作策略: 在 Markdown 正文中,定义它应该如何表现(例如,“只填写缺失的内容”、“专注于简短、可操作的反馈”、升级/批准预期以及任何团队约定)。
9. 定义输出格式以保持一致性: 为守护程序的响应指定一个稳定的结构(例如,“1. 发现 2. 建议的编辑 3. 给作者的问题”),以便审阅者可以快速扫描结果。
10. 添加限制以防止过载: 包含一个 `Limits` 部分,以限制每次激活的工作量(例如,在事件触发器上只处理触发项;在每日扫描上最多处理 N 个项),这样它就不会让审阅者不知所措。
11. 从一个已知的良好模板开始(推荐): 复制并改编一个示例,例如 `pr-helper`(PR 准备情况)或 `issue-labeler`(仅限附加标签)。保持第一个版本狭窄且安全。
12. 通过 Charlie 将其连接到您的工作流工具: 确保 Charlie 已为您的组织和存储库安装/授权,以便它可以根据您的守护程序的 `watch` 和 `schedule` 设置在 GitHub/Linear/Slack 中运行。
13. 触发守护程序并审查其输出: 创建相关事件(打开/同步 PR、创建带标签的 Linear 问题等)或等待计划运行。审查守护程序的评论/更新,并确认它遵守了拒绝规则和策略。
14. 安全迭代并逐步扩大范围: 调整守护程序文件以完善行为(策略、例程、限制)。仅在结果始终值得信赖后才扩大范围;小的编辑会在未来的激活中复合。
Daemons by Charlie Labs 常见问题
守护程序是始终在线的AI进程,它们在Slack、Linear和GitHub等工具中主动工作。它们24/7运行,无需明确提示,并通过您的仓库中的简单Markdown文件进行定义。











