关于 ae-things
ae-things 是一项通过 ae-cli 管理指定 TE 空间中 Thing 的技能,涵盖创建、进度更新、会话关联和文件附件。它规定了授权、去重和回读验证流程。
主要功能
- 01创建和更新 Thing
- 02查找成员并去重
- 03将会话关联到 Thing
- 04发布并附加交付文件
- 05通过回读验证变更
适用场景
- 01将承诺转为可跟踪的 Thing
- 02记录已授权工作的进度
- 03将会话绑定到主 Thing
- 04附加并核验交付文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thinkingaiagenticengine/ ae-cli --skill ae-things安装后在 Claude Code 中输入/ae-things确认已加载。
附带文件references/cli.md
详细介绍
工作区事项
使用 ae-cli things 管理明确指定的当前 TE 空间中的事项。请先阅读 CLI 参考。绝不要猜测 ID 或自动选择其他空间。回复及面向用户的事项内容使用用户的语言;命令、标志和字段标识符保持不变。
何时创建事项
主动判断是否应创建事项;不要等待用户明确提出「帮我创建一个事项」之类的请求。 对个人空间和共享空间应用相同规则。
出现以下任一信号时,直接创建事项,无需事先询问:
- 任务明确指出由谁做什么,例如「让 A 调查 X,让 B 调查 Y」。
- 交付物附带了要推进的意图,例如「产出最终提案」「按此节奏推进」或「安排这项工作」。
- 对话中包含承诺、待办事项、后续步骤、里程碑或分阶段计划。
- 用户重述已达成的决定,并指向后续执行。
以下情况不要创建事项:
- 信息查询、概念说明或闲聊。
- 仍在比较选项、讨论是假设性的,或用户明确表示暂不做决定。
- 去重后发现已有等效事项:指出该事项,而不是创建重复项。
- 用户已表示不要创建事项。
如果不确定,请在回复中列出拟创建的事项(标题、负责人和描述大纲),并询问一次以确认。仅仅将任务整理成列表而不采取行动是不够的。
创建流程
- 确认已绑定明确指定的 AgentSpace。若未绑定,不要创建事项。
- 使用
members将对话中提到的姓名映射到成员 ID。若只有一个匹配项,将其用作--assignee-id。若没有匹配项或有多个匹配项,则省略负责人(服务端默认分配给当前用户),并在回复中说明尚未解决的分配问题。 - 使用
list --query或options --query去重。 - 为每个事项运行
create:以交付物命名,而不要重复用户的原话;描述目标和验收标准,并加入--command-id以支持幂等重试。 - 需要时,使用
conversation bind绑定主要事项,或使用link-conversation添加普通引用。 - 报告已创建事项的编号、标题和负责人,包括仍待确认的分配。
粒度: 每个有独立交付内容和负责人、可单独交付的单元创建一个事项。事项没有子事项或分组;不要构建层级结构。例如,「A、B 和 C 各自调查一个领域,然后合并结果形成最终提案」对应四个事项,而不是一个,也不是每句话一个。
授权边界
可自主创建新事项,并为刚创建的事项添加第一条记录。
对于用户授权你推进或完成的事项,直接自动追加或更新相关进展,并自动附上这项工作涉及的交付文件。按下文所述完成发布和回读。个人空间和共享空间均遵循相同规则;发布仍需要 --confirm-share。获准为某个事项交付工作,即表示获准将这些交付文件分享至该事项所在的空间。
对现有事项进行其他更改、重新分配、归档或恢复、解除绑定以及永久删除,仍须获得明确授权。历史绑定本身不构成授权。不要自动发送消息或创建计划任务。
交付附件工作流
追加或更新进度时,请检查本次工作中实际交付的每个文件:
- 使用
asset available检查空间文件,并查看所有分页结果。已注册的文件通过 assetId 链接,未注册的文件通过返回的相对路径链接。 - 对尚未添加到空间的新文件,使用
asset publish:对于本次运行中尚未注册的输出,使用--conversation-id --run-id --source-path;对于现有产物,使用--artifact-id/--file-token。每个文件使用独立的 commandId,并在重试时保持不变。 linked:false表示文件已发布但尚未链接。使用返回的 assetId 执行asset link,完成链接,无需再次复制。只发布本次工作的交付文件,不要发布临时文件或整个对话目录。- 使用
asset list --id回读并确认每个附件都存在且 availability=available,然后回读进度条目。只有两项检查都成功后,才能报告“进度和附件已更新”。失败时,请区分已发布的文件、已链接的文件和待恢复的工作。
附件请使用这些文件链接 API。指向本地路径的文本链接不能代替附件,仅复制文件也不算完成交付。完整参数请参阅 CLI 参考。
当前对话绑定与执行快照
使用本次运行冻结的绑定声明确定默认 Thing。在执行、审查、总结或更新该 Thing 之前,使用声明中的 readCommand 读取执行快照;普通聊天无需读取。运行期间切换绑定或解除绑定会立即更改对话关联,但当前运行(包括等待、恢复和重试)仍使用其原始快照。如果运行开始时没有 Thing,则仍然没有默认 Thing。只有新 Run 才会使用最新绑定。如果用户明确指定了其他 Thing,请在权限允许的范围内读取并操作该 Thing;不要将对话的最新关联与本次运行的快照混淆。
当用户明确要求将当前对话绑定到某个 Thing 时,请唯一确定目标,执行 conversation bind,然后使用 conversation primary 验证。如果名称无法唯一确定目标,请向用户询问。成功后,说明绑定已保存,Thing 上下文将从下一次运行开始生效。解除绑定也必须通过回读验证。普通的 link-conversation 引用不能替代主 Thing 绑定。请准确报告 API 失败,不要绕过权限。
context --id <thing-id> --run-id <run-id> 会返回执行获准时捕获的业务文本和版本。当需要当前事实或写入所用的版本时,请额外显式读取实时上下文,不带 --run-id,并区分采集时间与快照版本。如果快照读取失败,请披露缺失的信息,不要根据标题猜测,也不要自动回退到实时数据。请参阅执行快照与实时上下文。
- 字段包括标题、描述、标签、状态、负责人和协作者。状态为 open/paused/done;归档和恢复是单独的操作。创建时必须提供描述。创建时省略负责人会默认设为当前用户;显式传入 null 会被拒绝。
- 使用 members/options 查询成员和 Thing 候选项。创建、编辑和协作者管理均遵循服务端权限。更改前先读取最新版本。发生 409 后,应比较更改,而不是只替换版本号。
- 条目使用 url/note/progress。未指定类型时,服务端会将单个 HTTP(S) URL 存为链接,其他内容存为笔记。使用 entry append --type progress 追加进度。使用 entry update 和 expected-updated-at 编辑条目;标题、类型或正文可以分别更改。--clear-title 会清除标题。
- 使用 from-message 将对话消息转换为 Things,并提供已验证的 conversation-id/message-id 值和已确认的正文文本。应用上述创建信号,无需用户明确说出此命令。先在对话中将推断出的内容作为提案展示。不要使用已移除的持久化变更草稿命令。
- 使用 conversation primary/bind/unbind 设置主 Thing,使用 link-conversation 添加普通引用,使用 conversations 查询关联。链接不会更改对话隐私或权限。
- 将阶段性可交付成果记录为进度条目。交接时使用笔记,说明已完成的工作、证据和后续步骤。负责人和协作者是仅有的与人员相关的协作关系;无需单独执行认领步骤。
- 使用 asset available/list/link/unlink/publish 管理文件,并遵循上述授权边界和可交付成果附件工作流。取消链接不会删除文件。
- 永久删除前,先读取最新版本,说明删除不可撤销,以及哪些对话/文件会保留,然后在获得明确确认后使用 delete --confirm-delete --yes。遇到活动运行冲突时应等待;不要自动终止运行。
- 对明确授权的更改直接执行,无需再次询问相同权限。
ae-cli things create --agent-space-id <space-id> --title 'API acceptance' --description 'Verify permissions and data consistency' --format json
ae-cli things entry append --agent-space-id <space-id> --id <thing-id> --type progress --content 'Completed API integration checks' --format json
使用 ae-things-review 进行审查,使用 ae-things-progress 生成定期摘要。两者都会综合已完整收集的事实,同时披露尚未读取的文件、截断情况和非事务性收集的限制。
使用 things conversations 列出已关联的对话,使用 things conversation get 读取单个对话。请从工作区 UI 开始新对话;Things CLI 仅用于管理 Thing 链接和主 Thing 绑定。