ai-project-manage-cli 6.0.30 → 6.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -238,6 +238,10 @@ var requestConfig = {
238
238
  method: "PUT",
239
239
  path: "/cli/messages/content"
240
240
  }),
241
+ setMessageError: defineEndpoint({
242
+ method: "PUT",
243
+ path: "/cli/messages/error"
244
+ }),
241
245
  upsertCursorMessageLog: defineEndpoint({
242
246
  method: "PUT",
243
247
  path: "/cli/cursor-message-logs"
@@ -512,7 +516,7 @@ function formatSessionMessagesXml(sessionId, messages) {
512
516
  lines.push(
513
517
  ` <message id="${escapeXmlAttr(message.id)}" name="${escapeXmlAttr(
514
518
  message.name
515
- )}" expert="${escapeXmlAttr(message.expert)}"${roundAttr}>`,
519
+ )}" agent="${escapeXmlAttr(message.oxcAgent)}"${roundAttr}>`,
516
520
  ` <content>${wrapCdata(message.content)}</content>`,
517
521
  " </message>"
518
522
  );
@@ -641,7 +645,7 @@ async function runPull(sessionId, apmRoot) {
641
645
  rule: "./RULE.md",
642
646
  members: members.map((m) => ({
643
647
  name: m.displayName,
644
- expert: m.expert,
648
+ oxcAgent: m.oxcAgent,
645
649
  description: m.description ?? ""
646
650
  })),
647
651
  attachments: attachments.map((a) => ({ name: a.name }))
@@ -1496,10 +1500,10 @@ async function updateMessageStatus(cfg, messageId, status) {
1496
1500
  await api.cli.updateMessageStatus({ id: messageId, status });
1497
1501
  console.log(`[apm] \u5DF2\u66F4\u65B0\u6D88\u606F\u72B6\u6001: ${messageId} \u2192 ${status}`);
1498
1502
  }
1499
- async function appendMessageContent(cfg, messageId, content) {
1503
+ async function setMessageError(cfg, messageId, error) {
1500
1504
  const api = createApmApiClient(cfg);
1501
- await api.cli.appendMessageContent({ id: messageId, content });
1502
- console.log(`[apm] \u5DF2\u8FFD\u52A0\u6D88\u606F\u5185\u5BB9: ${messageId}`);
1505
+ await api.cli.setMessageError({ id: messageId, error });
1506
+ console.log(`[apm] \u5DF2\u8BBE\u7F6E\u6D88\u606F\u9519\u8BEF: ${messageId}`);
1503
1507
  }
1504
1508
  var SHUTDOWN_DRAIN_MS = 3e3;
1505
1509
  async function handleInboundMessage(cfg, raw, signal) {
@@ -1559,11 +1563,10 @@ async function handleInboundMessage(cfg, raw, signal) {
1559
1563
  err instanceof Error ? err.message : err
1560
1564
  );
1561
1565
  try {
1562
- await appendMessageContent(
1566
+ await setMessageError(
1563
1567
  cfg,
1564
1568
  messageId,
1565
- `\u5904\u7406\u6D88\u606F\u5931\u8D25: ${err instanceof Error ? err.message : String(err)}
1566
- `
1569
+ err instanceof Error ? err.message : String(err)
1567
1570
  );
1568
1571
  await updateMessageStatus(cfg, messageId, "FAILED");
1569
1572
  } catch (statusErr) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-project-manage-cli",
3
- "version": "6.0.30",
3
+ "version": "6.0.32",
4
4
  "description": "命令行工具:后续用于调用平台后端 API 完成运维与自动化操作",
5
5
  "type": "module",
6
6
  "private": false,
@@ -3,7 +3,7 @@
3
3
  ### 工作流程
4
4
 
5
5
  1. 读取 `.apm/sessions/<会话ID>/session.yaml`,必要时读取`messages.xml` 了解当前会话状态与历史消息
6
- 2. 根据你的名字从 `session.yaml` 的 `members` 中找到你对应的 **description**(专家描述,非人设提示词)
6
+ 2. 根据你的名字从 `session.yaml` 的 `members` 中找到你对应的 **description**(智能体描述,非人设提示词)
7
7
  3. 根据角色描述完成用户指定的任务
8
8
  4. 任务有阶段行进展或者任务完成后必须回复消息(具体见规则 `reply.md`)
9
9
  5. 写工作日志(具体见规则 `write_doc.md`)
@@ -3,7 +3,7 @@
3
3
  ### 步骤 1:确认身份
4
4
 
5
5
  1. 用 **Read** 工具阅读 `.apm/sessions/<会话ID>/session.yaml`
6
- 2. 从 `members` 中找到与**当前角色**对应的 `name` 和 `expert`(以 session.yaml 为准,不要猜)
6
+ 2. 从 `members` 中找到与**当前角色**对应的 `name` 和 `agent`(以 session.yaml 为准,不要猜)
7
7
  3. 若无法确定自己的 `name`,停止流程并在回复中说明
8
8
 
9
9
  ### 步骤 2:提取本人发言
@@ -39,19 +39,19 @@
39
39
 
40
40
  在草稿文件**最顶部**写入元数据块(格式见 recap-template.md),包含:
41
41
 
42
- - `skill_name`:建议 `recap-<expert-key>-<topic-slug>`(英文小写、连字符;topic 取自任务主题,非 sessionId)
42
+ - `skill_name`:建议 `recap-<agent-key>-<topic-slug>`(英文小写、连字符;topic 取自任务主题,非 sessionId)
43
43
  - `skill_description`:第三人称,说明适用场景与触发词,便于下次任务时被发现
44
44
  - `merge_strategy`:同业务域已有 Skill 时填 `upsert`,全新领域填 `create`
45
45
 
46
- **expert-key 参考**(按 session.yaml 的 expert 映射):
46
+ **agent-key 参考**(按 session.yaml 的 agent 映射):
47
47
 
48
- | expert | expert-key |
49
- | ---------- | ---------- |
50
- | 产品经理 | pm |
51
- | 前端工程师 | frontend |
52
- | 后端工程师 | backend |
53
- | 全栈工程师 | fullstack |
54
- | 项目经理 | pm-lead |
48
+ | agent | agent-key |
49
+ | ---------- | --------- |
50
+ | 产品经理 | pm |
51
+ | 前端工程师 | frontend |
52
+ | 后端工程师 | backend |
53
+ | 全栈工程师 | fullstack |
54
+ | 项目经理 | pm-lead |
55
55
 
56
56
  ### 步骤 6:回复消息
57
57
 
@@ -8,9 +8,9 @@
8
8
 
9
9
  ```markdown
10
10
  ---
11
- skill_name: recap-<expert-key>-<topic-slug>
11
+ skill_name: recap-<agent-key>-<topic-slug>
12
12
  skill_description: <第三人称描述:谁在什么业务域的经验;什么需求场景下应阅读本技能。含 2~4 个触发关键词。>
13
- expert: <session.yaml 中的 expert,如「后端工程师」>
13
+ agent: <session.yaml 中的 agent,如「后端工程师」>
14
14
  member: <session.yaml 中的 name,如「医务小朱」>
15
15
  source_session: <会话 ID>
16
16
  merge_strategy: upsert
@@ -82,7 +82,7 @@ generated_at: <YYYY-MM-DD>
82
82
  ## 来源
83
83
 
84
84
  - 会话:<source_session>
85
- - 角色:<member>(<expert>)
85
+ - 角色:<member>(<agent>)
86
86
  - 生成:<generated_at>
87
87
  ```
88
88