ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何配置Deep Code CLI任务完成自动发Slack/飞书:notify通知脚本编写实操教程

如何配置Deep Code CLI任务完成自动发Slack/飞书:notify通知脚本编写实操教程 如何配置Deep Code CLI任务完成自动发Slack/飞书notify通知脚本编写实操教程【免费下载链接】deepcode-cliDeep Code 是专为 deepseek-v4 模型优化的终端 AI 编码助手支持深度思考、推理强度控制以及 Agent Skills。项目地址: https://gitcode.com/gh_mirrors/de/deepcode-cliDeep Code CLI 是一款专为 deepseek-v4 模型优化的终端 AI 编码助手支持深度思考与 Agent Skills。它的notify 任务完成通知机制可以让 AI 每完成一轮任务后自动执行你指定的脚本把结果推送到 Slack、飞书、企业微信或系统弹窗——你只需配置一个脚本路径就能实现任务跑完消息自动到。notify 通知机制的工作原理 Deep Code 的 notify 机制非常简单你在 settings.json 中配置notify字段指向一个可执行脚本的完整路径。每当 AI 助手完成一轮应答无论成功或失败Deep Code 就会以独立子进程的方式运行这个脚本并通过环境变量把任务上下文注入给它。核心逻辑可以在源码中看到session.ts 中会在会话状态变为completed或failed时触发通知实际执行由 notify.ts 中的launchNotifyScript完成。 通知脚本是尽力而为的即使脚本执行失败也不会影响 Deep Code 主流程你可以放心折腾。脚本可用的 5 个环境变量Deep Code 会自动向脚本注入以下环境变量这是编写通知脚本的关键环境变量说明STATUS会话状态completed或failedFAIL_REASON失败原因仅失败时注入DURATION会话耗时秒BODY最后一条 AI 回复的文本内容TITLE会话标题对应/resume列表中的标题也就是说你的脚本不需要解析任何输出、读取任何日志直接读环境变量就能拿到全部任务信息。快速配置三步搞定 notify第一步编写通知脚本把脚本放在~/.deepcode/目录下例如~/.deepcode/notify.sh。下面是一个发飞书/Slack Webhook 的最小可用版本#!/bin/bash WEBHOOK_URL${WEBHOOK_URL:-} TITLE${TITLE:-Untitled} STATUS${STATUS:-completed} DURATION${DURATION:-0} curl -s -X POST $WEBHOOK_URL \ -H Content-Type: application/json \ -d {\text\: \Deep Code ${STATUS} · ${TITLE} · 耗时 ${DURATION}s\}第二步赋予执行权限chmod x ~/.deepcode/notify.sh小提示即使忘了加执行权限Deep Code 也会自动回退到/bin/sh方式执行脚本见 notify.ts但加上权限更稳妥。第三步在 settings.json 中配置编辑~/.deepcode/settings.json用户级或项目根目录.deepcode/settings.json项目级添加notify字段{ env: { WEBHOOK_URL: 你的飞书或Slack机器人Webhook地址 }, notify: /home/you/.deepcode/notify.sh }注意env中的变量会一并注入脚本执行环境——所以Webhook 地址不用硬编码在脚本里放在env中更安全、更好管理。Slack 通知脚本实操 在你的 Slack 工作区创建一个自定义集成启用Incoming Webhooks得到你的 Webhook 地址脚本内容如下自动附带当前目录与 Git 分支信息#!/usr/bin/env bash SLACK_WEBHOOK_URL${SLACK_WEBHOOK_URL:-} CURRENT_DIR$(pwd) BRANCH$(git branch --show-current 2/dev/null) curl -X POST $SLACK_WEBHOOK_URL \ -H Content-type: application/json \ --data {\text\: \✅ Deep Code 任务已完成 · ${BRANCH} · 耗时 ${DURATION}s\}在settings.json的env中配置SLACK_WEBHOOK_URL: 你的Webhook地址再指向脚本即可。飞书 / 企业微信通知用 node 安全构建 JSON如果消息内容包含中文、引号等特殊字符直接拼 JSON 容易出错。推荐用node构建 payload自动转义配合飞书的卡片消息格式效果最好#!/bin/bash WEBHOOK_URL${WEBHOOK_URL:-} PAYLOAD$(node -e process.stdout.write(JSON.stringify({ msg_type: interactive, card: { header: { title: { tag: plain_text, content: Deep Code: process.env.TITLE } }, elements: [{ tag: markdown, content: (process.env.BODY || ).slice(0, 2000) }] } }))) curl -s -X POST $WEBHOOK_URL \ -H Content-Type: application/json \ -d $PAYLOAD这套模式同样适用于企业微信等 Webhook 类通知渠道只需按对方文档调整 JSON 格式。排查通知不生效的 3 个常见原因 路径必须是完整绝对路径notify字段写/home/you/.deepcode/notify.sh不要写相对路径脚本无权限执行chmod x脚本首行记得写#!/bin/bashWebhook 地址放错了地方确认放在settings.json的env对象内而不是当作脚本参数另外配置优先级为系统环境变量NOTIFY 项目级 settings.json 用户级 settings.json见 settings.ts。如果你想只在某个项目启用通知把配置写到项目根目录的.deepcode/settings.json即可。更多玩法 终端原生通知iTerm2 / Windows Terminal 用户可以用 OSC 9 转义序列弹窗零依赖macOS / Linux 系统通知分别用osascript和notify-send两条命令搞定任意语言脚本Python、Node.js 均可只要脚本可执行就能通过环境变量拿到全部任务上下文完整示例含 macOS、Linux、Windows 各平台脚本收录在官方文档 docs/notify.md 中配置字段的详细说明见 docs/configuration.md。总结Deep Code CLI 的 notify 通知脚本编写其实就三件事读环境变量、发 Webhook、配 settings.json。配置一次后每一次 AI 任务的完成状态都会自动推送到你的 Slack 或飞书让异步的 AI 编程真正跑起来就有人接。【免费下载链接】deepcode-cliDeep Code 是专为 deepseek-v4 模型优化的终端 AI 编码助手支持深度思考、推理强度控制以及 Agent Skills。项目地址: https://gitcode.com/gh_mirrors/de/deepcode-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表