mcpField
H
hire-ai-employee

hire-ai-employee

github.com/dozaldevsAgent 工作流012 次安装今天更新
代码仓库

关于 hire-ai-employee

通过与平台的 Hiring Dozal 对话来创建 AI 员工的技能。它引导用户说明需求并作出选择,展示草稿供确认后再完成聘用。

主要功能

  1. 01创建设置对话
  2. 02收集需求和选择
  3. 03展示完成的员工草稿
  4. 04经人工确认后聘用
  5. 05重启或丢弃设置对话

适用场景

  1. 01配置新的 AI 员工
  2. 02指定运行时间和结果去向
  3. 03选择运行是否需要审批
  4. 04继续或放弃未完成的设置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dozaldevs/dozaldevs-skills --skill hire-ai-employee

安装后在 Claude Code 中输入/hire-ai-employee确认已加载。

详细介绍

聘用 AI 员工

通过与 Hiring Dozal 聊天,即平台自带的设置助手,来设置一名新的 AI 员工(Dozal)。它会提出问题、查找信息(连接了哪些应用、你指的是哪个 Slack 频道),展示一个已完成的 Dozal,然后由你聘用它。

前提条件:先加载 operate-ai-employees。它会安装 dozaldevs CLI 并说明密钥。聊天需要 Admin 级别或更高级别的密钥;较低级别的密钥会返回 403 FORBIDDEN。

概念和响应格式:../operate-ai-employees/references/customer-api.md。如需查看某条命令的参数,请运行 dozaldevs <command> --help。此技能只介绍聊天的行为。

聊天的工作方式

聊天在服务器上进行。打开一次聊天后,每次发送一条消息。每次发送都会立即返回 202,回复则稍后写入(首次需要启动机器时,最长约需 1 分半钟)。因此,每轮流程都是:发送、等待、读取。

  1. 打开。 保存聊天 ID。
CHAT=$(dozaldevs start-hiring-chat --data kind=create --field conversation.id)
  1. 发送。 先读取当前的 turn_seq,并在发送消息时一并传回。
SEQ=$(dozaldevs get-hiring-chat "$CHAT" --field turn_seq)
dozaldevs send-hiring-message "$CHAT" --data message="$MESSAGE" --data turn_seq:="$SEQ"
  1. 等待。 运行此命令;只要输出 true,就再次运行。轮次结束时命令会立即停止,或者在 80 秒后停止。turn_seq 增加 1 即表示该轮成功。如果没有增加,最后一条 messages 记录中的 error:true 会说明原因。
dozaldevs get-hiring-chat "$CHAT" --while turn_in_progress=true --every 3 --timeout 80 --field turn_in_progress
  1. 读取。 运行 dozaldevs get-hiring-chat "$CHAT"。向用户展示 messages 中新增的助手记录,以及 open_questions 中的每条记录。
  2. 回答。 使用当前的 turn_seq 发送下一条消息。按钮选择放在 answers 中,以问题的 id 为键:--data answers.q1.option=approval_on,或者在允许输入文字时使用 --data answers.q2.text="..."。如果只按按钮,message 可以为空。
dozaldevs send-hiring-message "$CHAT" --data message="" --data turn_seq:="$SEQ" --data answers.q1.option="$OPTION"
  1. 准备就绪后停止: presented 为 true,open_questions 为空,并且 draft 已设置。

首次消息写得具体而详细(说明运行时机、产出内容、结果去向以及涉及哪些应用),通常就能直接得到已完成的 Dozal。“给我做个机器人”总会引发提问。继续对话,直到一切准备就绪;最常见的错误就是在第一个问题后停止。

平台会提出的三个问题

这些问题带有 protocol 字段,必须通过按钮回答。输入文字不会改变它们。

protocol它在询问什么选项值
approval“每次发送前都先给你看结果,还是直接发送?”approval_on(先给我看),approval_off(直接发送)
schedule应用无法立即发布新内容,因此 Dozal 会每 15 分钟检查一次。schedule_ok、schedule_talk
changes_each_run用户每次都提供这个值,还是应该始终保持相同?each_time、always_same

用通俗的说法转述每个问题,并提交用户自己的选择。绝不要替用户按下“直接发送”,即使这样可以更快完成。

发送被拒绝时

代码处理方法
409 TURN_IN_PROGRESS等待当前轮次结束,然后再发送。
409 DRAFT_CONTINUED_ELSEWHERE有人已继续推进此聊天。重新读取内容,展示发生的变更;如果消息仍然合适,就使用新的 turn_seq 重发一次。
503 HIRING_BUSY暂时没有可用的设置机器。等待一分钟后再发送。
409 CONTEXT_FULL聊天内容太长。重新开始(见下文),在同一草稿上开启新的聊天。
409 CONVERSATION_CLOSED此聊天已结束(details.closed_reason)。请新开一个聊天。
503 HIRING_UNAVAILABLE当前无法通过聊天进行设置。告知用户,稍后再试。
dozaldevs restart-hiring-chat "$CHAT"

聘用 Dozal

向用户展示 draft 中的英文摘要(名称、功能、运行时间、结果去向,以及发送前是否会征求确认),并请对方确认。用户回答“是”后,发送聊天当前的 turn_seq(按步骤 2 中所述读取):

dozaldevs hire-from-hiring-chat "$CHAT" --data turn_seq:="$SEQ"

200 表示已上线,聊天也会关闭。拒绝时会以普通文字说明原因(例如,如果某个应用仍需连接,会返回 400 MISSING_CONNECTION)。告知用户需要解决的问题,然后继续聊天或重新聘用。如果缺少的是连接,启动后会返回一个只有真人才能打开的链接(参见 operate-ai-employees)。

若要放弃此次设置:

dozaldevs discard-hiring-chat "$CHAT"

已聘用的 Dozal 的 ID 是聊天中的 archetype_id。它的 slug 是用于运行它的稳定名称:

DOZAL=$(dozaldevs get-hiring-chat "$CHAT" --field archetype_id)
dozaldevs list-dozals --id "$DOZAL" --field items[0].slug

聘用后

告知用户它已上线,并询问是否要运行:“已经设置好了!要我现在运行一次,让你看看它的功能吗?”然后加载 run-ai-employee。

评论

支持 Markdown