@xdxer/dingtalk-agent 0.1.5-beta.5 → 0.1.5-beta.7

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.
Files changed (131) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.en.md +6 -6
  3. package/README.md +6 -6
  4. package/dist/bin/dingtalk-agent.js +406 -139
  5. package/dist/bin/dingtalk-agent.js.map +1 -1
  6. package/dist/src/actions.js +3 -2
  7. package/dist/src/actions.js.map +1 -1
  8. package/dist/src/agent-audit.js +29 -25
  9. package/dist/src/agent-audit.js.map +1 -1
  10. package/dist/src/agent-definition.js +7 -3
  11. package/dist/src/agent-definition.js.map +1 -1
  12. package/dist/src/agent-enhance.js +2 -2
  13. package/dist/src/agent-enhance.js.map +1 -1
  14. package/dist/src/agent-platform.js +2 -2
  15. package/dist/src/agent-platform.js.map +1 -1
  16. package/dist/src/development-workspace.js +14 -9
  17. package/dist/src/development-workspace.js.map +1 -1
  18. package/dist/src/doctor.js +58 -7
  19. package/dist/src/doctor.js.map +1 -1
  20. package/dist/src/dws.js +2 -1
  21. package/dist/src/dws.js.map +1 -1
  22. package/dist/src/init.js +2 -1
  23. package/dist/src/init.js.map +1 -1
  24. package/dist/src/map.js +157 -0
  25. package/dist/src/map.js.map +1 -0
  26. package/dist/src/opencode-evals.js +6 -6
  27. package/dist/src/opencode-evals.js.map +1 -1
  28. package/dist/src/opencode-provider.js +2 -2
  29. package/dist/src/opencode-provider.js.map +1 -1
  30. package/dist/src/opencode-workspace.js +3 -3
  31. package/dist/src/opencode-workspace.js.map +1 -1
  32. package/dist/src/personal-event-evals.js +4 -2
  33. package/dist/src/personal-event-evals.js.map +1 -1
  34. package/dist/src/remote-semantic-state-live-evals.js +5 -4
  35. package/dist/src/remote-semantic-state-live-evals.js.map +1 -1
  36. package/dist/src/remote-state-evals.js +2 -2
  37. package/dist/src/remote-state-evals.js.map +1 -1
  38. package/dist/src/robot-evals.js +3 -3
  39. package/dist/src/robot-evals.js.map +1 -1
  40. package/dist/src/schedule-plan.js +1 -1
  41. package/dist/src/schedule-plan.js.map +1 -1
  42. package/dist/src/sessions.js +1 -1
  43. package/dist/src/sessions.js.map +1 -1
  44. package/dist/src/skill-manager.js +74 -13
  45. package/dist/src/skill-manager.js.map +1 -1
  46. package/dist/src/tui.js +369 -0
  47. package/dist/src/tui.js.map +1 -0
  48. package/dist/src/upgrade.js +113 -33
  49. package/dist/src/upgrade.js.map +1 -1
  50. package/dist/src/waits.js +2 -1
  51. package/dist/src/waits.js.map +1 -1
  52. package/dist/src/workspace.js +2 -2
  53. package/dist/src/workspace.js.map +1 -1
  54. package/docs/ARCHITECTURE.md +9 -9
  55. package/docs/INSTALLATION.md +6 -6
  56. package/docs/SELF-TEST.md +3 -3
  57. package/docs/schemas/project.schema.json +2 -2
  58. package/examples/agents/README.md +1 -1
  59. package/examples/agents/fde-coach/agent/AGENTS.md +1 -1
  60. package/examples/agents/release-manager/agent/AGENTS.md +1 -1
  61. package/lab/agent-eval/catalog.json +5 -5
  62. package/lab/agent-eval/classic-failures.json +4 -4
  63. package/lab/agent-eval/completion-gate-regression.json +9 -9
  64. package/lab/agent-eval/personal-event-live.example.json +3 -3
  65. package/lab/agent-eval/remote-semantic-state-live.example.json +1 -1
  66. package/lab/agent-eval/workspace/opencode.json +2 -2
  67. package/lab/project-workspace/multica-readonly.fixture.json +2 -2
  68. package/lab/project-workspace/opencode-provider-suite.json +2 -2
  69. package/lab/project-workspace/project.fixture.json +1 -1
  70. package/lab/robot-eval/suite.json +1 -1
  71. package/lab/robot-eval/workspace/AGENTS.md +1 -1
  72. package/lab/robot-eval/workspace/opencode.json +2 -2
  73. package/lab/schemas/personal-event-eval.schema.json +1 -1
  74. package/package.json +8 -8
  75. package/skills/README.md +10 -7
  76. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/SKILL.md +8 -8
  77. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/AGENTS.template.md +1 -1
  78. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/hosts/opencode/opencode.template.json +2 -2
  79. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/evals/evals.json +3 -3
  80. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/host-loading-contract.md +1 -1
  81. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/hosts/claude-code.md +1 -1
  82. package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/hosts/opencode.md +2 -2
  83. package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/SKILL.md +2 -2
  84. package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/assets/eval-catalog.template.json +1 -1
  85. package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/evals/evals.json +1 -1
  86. package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/eval-topology.md +3 -3
  87. package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/interactive-debug-channels.md +1 -1
  88. package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/SKILL.md +2 -2
  89. package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/event-to-behavior.md +1 -1
  90. package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/COMPLETENESS.md +1 -1
  91. package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/SKILL.md +2 -2
  92. package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/config-binding.md +1 -1
  93. package/skills/platforms/deap/PLATFORM.md +1 -1
  94. package/skills/platforms/multica-dingtalk/PLATFORM.md +4 -4
  95. package/skills/platforms/multica-dingtalk/{dingtalk-agent-deploy-multica → dta-deploy-multica}/SKILL.md +3 -3
  96. package/skills/platforms/multica-dingtalk/{multica-external → dta-ops-multica}/SKILL.md +5 -5
  97. package/skills/platforms/multica-dingtalk/{multica-external → dta-ops-multica}/scripts/bootstrap.sh +2 -2
  98. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/REPOSITORY.template.md +0 -0
  99. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/agent.bindings.dingtalk-doc.template.json +0 -0
  100. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/agent.bindings.local.template.json +0 -0
  101. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/assets/role-skill.template.md +0 -0
  102. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/agent-definition-contract.md +0 -0
  103. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/drive-and-schedules.md +0 -0
  104. /package/skills/core/{dingtalk-agent-compose → dta-agent-compose}/references/storage-routing.md +0 -0
  105. /package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/evidence-contract.md +0 -0
  106. /package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/failure-to-case.md +0 -0
  107. /package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/local-connector-smoke.md +0 -0
  108. /package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/scenario-taxonomy.md +0 -0
  109. /package/skills/core/{dingtalk-agent-eval → dta-agent-eval}/references/storage-modes.md +0 -0
  110. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/assets/memory-candidate-proposal.json +0 -0
  111. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/assets/task-checkpoint.json +0 -0
  112. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/action-contract.md +0 -0
  113. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/memory-and-evolution.md +0 -0
  114. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/perception-and-gates.md +0 -0
  115. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/risk-authority-and-privacy.md +0 -0
  116. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/runtime-modes.md +0 -0
  117. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/task-lifecycle.md +0 -0
  118. /package/skills/core/{dingtalk-basic-behavior → dta-basic-behavior}/references/truth-and-recovery.md +0 -0
  119. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/adapters.md +0 -0
  120. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/assembly-guidance.md +0 -0
  121. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/binding.md +0 -0
  122. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/cold-start.md +0 -0
  123. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/consent-and-visibility.md +0 -0
  124. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/consolidation.md +0 -0
  125. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/event-ingest.md +0 -0
  126. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/guided-setup.md +0 -0
  127. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/model.md +0 -0
  128. /package/skills/core/{dingtalk-people-group-memory → dta-people-group-memory}/references/storage-port.md +0 -0
  129. /package/skills/platforms/multica-dingtalk/{dingtalk-agent-deploy-multica → dta-deploy-multica}/references/multica-deployment-contract.md +0 -0
  130. /package/skills/platforms/multica-dingtalk/{dingtalk-agent-deploy-multica → dta-deploy-multica}/references/promotion-observation-contract.md +0 -0
  131. /package/skills/platforms/multica-dingtalk/{multica-external → dta-ops-multica}/scripts/multica_ext.py +0 -0
@@ -1,6 +1,6 @@
1
1
  # <Agent 名称>
2
2
 
3
- > 在分析、回复或调用任何岗位能力前,必须先通过 Host 原生 Skill 工具加载 `dingtalk-basic-behavior`;没有本次任务的成功加载证据时不继续。随后再按需加载 Role Skills:<Role Skill names>。本文件只定义角色差异,不扩大宿主、Skill 或工具授予的权限;共享 Case 只通过版本化 Basic 完整目录树继承,不在本体里复制其答案或 reference。
3
+ > 在分析、回复或调用任何岗位能力前,必须先通过 Host 原生 Skill 工具加载 `dta-basic-behavior`;没有本次任务的成功加载证据时不继续。随后再按需加载 Role Skills:<Role Skill names>。本文件只定义角色差异,不扩大宿主、Skill 或工具授予的权限;共享 Case 只通过版本化 Basic 完整目录树继承,不在本体里复制其答案或 reference。
4
4
 
5
5
  ## 定义
6
6
 
@@ -2,11 +2,11 @@
2
2
  "$schema": "https://opencode.ai/config.json",
3
3
  "instructions": [
4
4
  "agent/AGENTS.md",
5
- "agent/skills/dingtalk-basic-behavior/SKILL.md"
5
+ "agent/skills/dta-basic-behavior/SKILL.md"
6
6
  ],
7
7
  "permission": {
8
8
  "skill": {
9
- "dingtalk-basic-behavior": "allow",
9
+ "dta-basic-behavior": "allow",
10
10
  "<role-skill-name>": "allow"
11
11
  }
12
12
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "skill_name": "dingtalk-agent-compose",
2
+ "skill_name": "dta-agent-compose",
3
3
  "evals": [
4
4
  {
5
5
  "id": 1,
@@ -106,10 +106,10 @@
106
106
  {
107
107
  "id": 10,
108
108
  "prompt": "机器人已经绑好了,Agent 也装配完了。接下来我怎么测它?",
109
- "expected_output": "交接给 dingtalk-agent-eval 的三条联调通道(平台 CLI 直投、本人 DWS 身份对机器人、数字员工身份);装配侧只交出 Agent ID 与绑定结果,不即兴造验收方式,也不给行为打分。",
109
+ "expected_output": "交接给 dta-agent-eval 的三条联调通道(平台 CLI 直投、本人 DWS 身份对机器人、数字员工身份);装配侧只交出 Agent ID 与绑定结果,不即兴造验收方式,也不给行为打分。",
110
110
  "files": [],
111
111
  "expectations": [
112
- "把测试交接给 dingtalk-agent-eval,而不是在装配流程里自造验收标准",
112
+ "把测试交接给 dta-agent-eval,而不是在装配流程里自造验收标准",
113
113
  "给出通道顺序:先用不碰钉钉的 CLI 直投,再走真实钉钉往返",
114
114
  "说明回复读起来对不等于 Skill 已加载,须用执行轨迹核对"
115
115
  ]
@@ -19,7 +19,7 @@ Agent Definition 由 manifest 精确指定。根 `AGENTS.md` 若存在,只是
19
19
 
20
20
  ### 2. Basic Skill 的正文是每 Session 唯一的 resolved 强制指令,不是「可发现」
21
21
 
22
- `dingtalk-basic-behavior` 必须无条件进入每个 Session 的 resolved 指令集,且在 resolved 结果中只命中一次。目录存在、Skill 名可枚举、模型说得出 Skill 名,都不是加载证据——那是可发现,不是已加载。多个等价路径要去重成唯一规范值;glob/extglob 只有在可证明不命中受管本体与 Basic 及其 alias 时才保留,无法证明时阻塞并要求收窄。
22
+ `dta-basic-behavior` 必须无条件进入每个 Session 的 resolved 指令集,且在 resolved 结果中只命中一次。目录存在、Skill 名可枚举、模型说得出 Skill 名,都不是加载证据——那是可发现,不是已加载。多个等价路径要去重成唯一规范值;glob/extglob 只有在可证明不命中受管本体与 Basic 及其 alias 时才保留,无法证明时阻塞并要求收窄。
23
23
 
24
24
  ### 3. 临时 Basic exposure 必须整树物化,tree hash 与发布源一致
25
25
 
@@ -23,7 +23,7 @@ CLAUDE.md -> agent/AGENTS.md(符号链接) 同一份文件,两个 Host
23
23
 
24
24
  ```text
25
25
  agent/skills/<name>/ Git / managed platform 的唯一 Skill 发布源
26
- <dta 临时工作区>/.claude/skills/dingtalk-basic-behavior/ Claude Code 必需 Basic exposure
26
+ <dta 临时工作区>/.claude/skills/dta-basic-behavior/ Claude Code 必需 Basic exposure
27
27
  <dta 临时工作区>/.claude/skills/<role>/SKILL.md Role Skill exposure
28
28
  ```
29
29
 
@@ -25,11 +25,11 @@ agent/skills/<name>/SKILL.md Git / managed platform 的唯一 Skill
25
25
  "$schema": "https://opencode.ai/config.json",
26
26
  "instructions": [
27
27
  "agent/AGENTS.md",
28
- "agent/skills/dingtalk-basic-behavior/SKILL.md"
28
+ "agent/skills/dta-basic-behavior/SKILL.md"
29
29
  ],
30
30
  "permission": {
31
31
  "skill": {
32
- "dingtalk-basic-behavior": "allow"
32
+ "dta-basic-behavior": "allow"
33
33
  }
34
34
  }
35
35
  }
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: dingtalk-agent-eval
2
+ name: dta-agent-eval
3
3
  description: 当用户要设计、运行、审计或扩展 dingtalk-agent/数字员工评测时使用,尤其是 OpenCode/DeepSeek、专用机器人、Agent Workspace、AGENTS.md + Skills、本地或钉钉文档状态、文件与产物断言、历史事故回归和 Live 晋级门禁。也用于 Agent 创建或部署完成后的验收、联调与调试:怎么测、怎么给它派任务试一下、给机器人发消息不回/没反应/@ 了没动静、任务卡住或失败、怀疑 Skill 没真的加载、要看这次执行的轨迹和会话。负责把场景归类、证明 Basic Skill 真实加载、采集多证据面并给出可复验结论;不负责事件触发器或生产业务写入。
4
4
  compatibility: Requires dingtalk-agent on PATH; model evals require the selected Agent Host; DingTalk readback requires authenticated dws.
5
5
  metadata:
6
- version: "0.7.3"
6
+ version: "0.8.0"
7
7
  ---
8
8
 
9
9
  # 评测一个真正能工作的 Agent
@@ -12,7 +12,7 @@
12
12
  "caseRefs": [
13
13
  { "suite": "path/to/suite.json", "ids": ["basic-skill-load"] }
14
14
  ],
15
- "sourceRefs": ["skills/core/dingtalk-agent-compose/references/hosts/opencode.md"]
15
+ "sourceRefs": ["skills/core/dta-agent-compose/references/hosts/opencode.md"]
16
16
  }
17
17
  ]
18
18
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "skill_name": "dingtalk-agent-eval",
2
+ "skill_name": "dta-agent-eval",
3
3
  "evals": [
4
4
  {
5
5
  "id": 1,
@@ -4,9 +4,9 @@
4
4
 
5
5
  | 组件 | 评测中的职责 | 不能替代 |
6
6
  |---|---|---|
7
- | `dingtalk-agent-compose` | 组装本体、Role Skills、存储路由,并生成 Host 加载合同 | 不给被测行为打分 |
8
- | `dingtalk-basic-behavior` | 所有钉钉员工共享的社会与安全协议 | 不证明自己已被 Host 加载 |
9
- | `dingtalk-agent-eval` | 选场景、固定变量、采集证据、执行门禁、沉淀事故 | 不监听事件、不接管生产写入 |
7
+ | `dta-agent-compose` | 组装本体、Role Skills、存储路由,并生成 Host 加载合同 | 不给被测行为打分 |
8
+ | `dta-basic-behavior` | 所有钉钉员工共享的社会与安全协议 | 不证明自己已被 Host 加载 |
9
+ | `dta-agent-eval` | 选场景、固定变量、采集证据、执行门禁、沉淀事故 | 不监听事件、不接管生产写入 |
10
10
  | Agent Host / OpenCode | 运行模型与 Workspace,输出回复或产物 | 不提供 dta 的身份/目标权威 |
11
11
  | Managed Agent Platform | 托管 runtime、承接直投任务、持久化可回读的执行轨迹 | 不判定门禁,也不使轨迹等同于平台送达 |
12
12
  | dta Kernel | 冻结 Definition、Session/Run、预算、Gate 与 Receipt | 不复制 DWS 产品能力 |
@@ -17,7 +17,7 @@
17
17
  以 Multica 为例;其它托管平台按 `dta agent-platform list` 的注册表替换等价命令,通道语义不变。
18
18
 
19
19
  ```bash
20
- PY=".agents/skills/multica-external/scripts/multica_ext.py"
20
+ PY=".agents/skills/dta-ops-multica/scripts/multica_ext.py"
21
21
  PROF="--profile <name> --workspace <id>" # 绝不使用默认配置:那可能直连生产
22
22
 
23
23
  # Agent Project 内的首选受控路径:默认 plan 零远端调用,执行时创建单个 Issue 并落脱敏 evidence
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: dingtalk-basic-behavior
2
+ name: dta-basic-behavior
3
3
  description: 当 Agent 作为钉钉里的真实员工处理消息、@、单聊、群聊、任务、确认、记忆或协作事项时使用;即使当前目录没有初始化 Workspace、没有 CONTEXT.md,也先用本 Skill 判断响应资格、意图、作用域、风险、授权、隐私与完成状态。Prepared Run 中只通过 dingtalk-agent 原子动作,普通会话的钉钉产品操作按需使用 dws。
4
4
  compatibility: Requires dingtalk-agent on PATH; DingTalk side effects require dws.
5
5
  metadata:
6
- version: "0.12.0"
6
+ version: "0.13.0"
7
7
  ---
8
8
 
9
9
  # 钉钉数字员工基础行为
@@ -21,7 +21,7 @@
21
21
  - **超时不是失败,是「本拍到此为止」。** 重活本来就设计成分多拍跑完;记 degraded、保留水位、下一拍接着跑,不要为了「一次跑完」加超时或循环重试。
22
22
  - **无事发生就静默。** 没有到期事项、没有异常、没有计划变化时不产出任何外发,也不向任何人报告「我跑过了」。
23
23
 
24
- 驱动的分类学与装配侧判据见 `dingtalk-agent-compose` 的 `references/drive-and-schedules.md`;具体平台提供什么能力见该平台的 `PLATFORM.md`。
24
+ 驱动的分类学与装配侧判据见 `dta-agent-compose` 的 `references/drive-and-schedules.md`;具体平台提供什么能力见该平台的 `PLATFORM.md`。
25
25
 
26
26
  ## Session / Run / Continuation
27
27
 
@@ -31,6 +31,6 @@
31
31
  1. **打通 Agent 自主触发**(真实对话里自建档/探落点/确认/拒答/提议,替换"人扮 Agent + autobuild.py")。解锁最多:B 首次绑定 partial→done、三场景运行时读写从"脚本驱动"升到"Agent 驱动"。**是不是产品的分水岭。**
32
32
  2. **compose 实现 §五 粘合 gate**(memref 合法/运行时身份可回读/seed==memory 一致/registry baseId 可回读/多 Agent memref 碰撞)。解锁:A、C 配置粘合 partial→done,把配错从运行期提前到装配期。
33
33
  3. **registry base 加 typed 绑定槽 + 实现 locator 回填闭环**。解锁:B 配置粘合 missing→partial/done(自建节点下 Session 找得回)、C 隔离/共享有可校验载体。
34
- 4. **补行为层回归到 `dingtalk-agent-eval`**(未绑定零写、audience 拒答、知情提议)。解锁:三场景运行时读写的行为侧。
34
+ 4. **补行为层回归到 `dta-agent-eval`**(未绑定零写、audience 拒答、知情提议)。解锁:三场景运行时读写的行为侧。
35
35
  5. **实现 Boot 期 boundIdentity 漂移检测 + per-subject 单写者租约**。解锁:C 首次绑定/多写者仲裁/部署身份漂移感知。
36
36
  6. **实现 consolidation 全套 + local-md 适配器 + --chaos 档**。解锁:三场景长期维护 missing→partial/done。
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: dingtalk-people-group-memory
2
+ name: dta-people-group-memory
3
3
  description: 让办公 Agent 认识「人」和「会话(群/单聊)」并记住交互。需要判断某位同事是谁、在做什么、怎么和他协作、我们之前聊过什么,或需要判断某个群是干什么的、在推什么、谁说了算、这事在哪讨论过、我该不该在这儿说话时使用;用户要求「记住这个人/沉淀一下这次聊天/以后记得我的偏好」时也使用。未绑定存储前完全惰性,不写任何东西。
4
4
  compatibility: Storage-agnostic. Ships with a DingTalk-document adapter and a local-Markdown adapter; the model and ingest layers never touch a specific medium. Binding happens on demand under the runtime identity.
5
5
  metadata:
6
- version: "0.2.0"
6
+ version: "0.3.0"
7
7
  ---
8
8
 
9
9
  # 认识人 · 认识会话 · 记住交互
@@ -79,7 +79,7 @@ Session context.memory = 绑定档案节点 (dingtalk-doc 拉成只
79
79
 
80
80
  ## 五、dta 装配时该做的粘合检查(compose 侧)
81
81
 
82
- 装配 / 改造带本 Skill 的 Agent 时,`dingtalk-agent-compose` 应校验这条粘合是否接通(目前是 prose,见"完成度"):
82
+ 装配 / 改造带本 Skill 的 Agent 时,`dta-agent-compose` 应校验这条粘合是否接通(目前是 prose,见"完成度"):
83
83
 
84
84
  1. `agent.bindings.json#memory` 或 `DTA_MEMORY_STORAGE` 是否为合法 `dingtalk-doc:` / `aitable:` provider ref。
85
85
  2. 该 ref 指向的节点是否 `doc info` 可回读(用**运行时身份**,不是开发者身份)。
@@ -21,7 +21,7 @@
21
21
 
22
22
  ## 驱动能力:未知,且不能假定
23
23
 
24
- 装配侧可以声明一个数字员工需要哪些常驻节律(见 core 技能 `dingtalk-agent-compose` 的 `references/drive-and-schedules.md`),但**DEAP 是否提供 schedule 能力、是否允许 Agent 自主排程,目前都未确认**。
24
+ 装配侧可以声明一个数字员工需要哪些常驻节律(见 core 技能 `dta-agent-compose` 的 `references/drive-and-schedules.md`),但**DEAP 是否提供 schedule 能力、是否允许 Agent 自主排程,目前都未确认**。
25
25
 
26
26
  **平台之间驱动能力不同是常态**:不得把 Multica 的 autopilot 语义(5 段 cron、`run_only`、迟到 5 分钟跳过)转述成 DEAP 的行为,也不得因为 Agent 在 Multica 上跑通了节律就认为迁到 DEAP 后节律仍然成立。平台未开放期间,任何节律相关命令与 DEAP 上的其它平台命令一样 fail-closed;需要的节律记为**缺口**,不静默降级成“那就不定时了”。
27
27
 
@@ -6,8 +6,8 @@ Multica 是钉钉 FDE fork 的托管 Agent 平台:把一个 dingtalk-agent 数
6
6
 
7
7
  | 角色 | 技能包 | 用途 |
8
8
  |---|---|---|
9
- | deploy | `dingtalk-agent-deploy-multica` | 经 dta 稳定 CLI(`deploy`/`promote`/`observe`)把 Agent Project 受控部署、晋级、观测回流到 Multica Workspace。只编排 CLI,不直接写 Multica,不持有凭据。 |
10
- | ops | `multica-external` | 平台运维执行体(纯 HTTPS,`python3 scripts/multica_ext.py <命令>`):workspace/runtime/agent 供给、skill push/pull、钉钉机器人与账号绑定、`chat-send --wait` 免钉钉测试通道、`task-trace` 观测、autopilot 调度、`agent-check` 体检。 |
9
+ | deploy | `dta-deploy-multica` | 经 dta 稳定 CLI(`deploy`/`promote`/`observe`)把 Agent Project 受控部署、晋级、观测回流到 Multica Workspace。只编排 CLI,不直接写 Multica,不持有凭据。 |
10
+ | ops | `dta-ops-multica` | 平台运维执行体(纯 HTTPS,`python3 scripts/multica_ext.py <命令>`):workspace/runtime/agent 供给、skill push/pull、钉钉机器人与账号绑定、`chat-send --wait` 免钉钉测试通道、`task-trace` 观测、autopilot 调度、`agent-check` 体检。 |
11
11
 
12
12
  ## 完整交付链
13
13
 
@@ -15,7 +15,7 @@ Multica 是钉钉 FDE fork 的托管 Agent 平台:把一个 dingtalk-agent 数
15
15
 
16
16
  ## 驱动能力:这个平台能提供什么节律
17
17
 
18
- 装配侧的节律声明(见 core 技能 `dingtalk-agent-compose` 的 `references/drive-and-schedules.md`)到这里被兑现。Multica 的实现是 **autopilot**:
18
+ 装配侧的节律声明(见 core 技能 `dta-agent-compose` 的 `references/drive-and-schedules.md`)到这里被兑现。Multica 的实现是 **autopilot**:
19
19
 
20
20
  | 装配侧概念 | Multica 实现 | 命令 |
21
21
  |---|---|---|
@@ -56,7 +56,7 @@ Multica 是钉钉 FDE fork 的托管 Agent 平台:把一个 dingtalk-agent 数
56
56
 
57
57
  两条通道(对应 eval 技能的通道 A 与 B;通道 C 数字员工身份仍在开发中),按顺序用:先用 `dta workspace run <multica-workspace> --prompt-file <只读问题> --execute --yes --json` 创建受控 Issue 并保存脱敏 evidence;需要直接定位平台时再用 `chat-send --wait` 或 `issue-create --assignee-agent`。Issue 存在但没有 task 是平台唤醒失败,不是 Agent 回答失败。再走 DWS 对话验证真实钉钉链路——`dws chat bot find --query <机器人名> --format json` 取机器人的 openDingTalkId → `dws chat message send --open-dingtalk-id <odid> --text '[DTA-DEBUG-<ID>] ...' --uuid <UUID> --yes --format json`(真实外发:只对专用测试机器人)→ `dws chat message list-direct --open-dingtalk-id <odid> --time <发送前时刻> --forward=true --format json` 独立回读。
58
58
 
59
- 机器人给出岗位实质回复且未 @ 时保持沉默,只说明链路贯通且行为像;要证明基础行为真的加载,用 `task-trace` 看本次 Run 的轨迹。IM 回归至少覆盖同会话 continuation、引用、缺失附件、真实文件元数据、文档链接与只读业务问题;文件名可见不等于正文可读,回答必须与 trace 中实际取得的层级一致。通道选路、失败归因与证据要求见 `dingtalk-agent-eval` 技能的 `references/interactive-debug-channels.md`;被测对象尚未部署时改走同技能的 `references/local-connector-smoke.md`。
59
+ 机器人给出岗位实质回复且未 @ 时保持沉默,只说明链路贯通且行为像;要证明基础行为真的加载,用 `task-trace` 看本次 Run 的轨迹。IM 回归至少覆盖同会话 continuation、引用、缺失附件、真实文件元数据、文档链接与只读业务问题;文件名可见不等于正文可读,回答必须与 trace 中实际取得的层级一致。通道选路、失败归因与证据要求见 `dta-agent-eval` 技能的 `references/interactive-debug-channels.md`;被测对象尚未部署时改走同技能的 `references/local-connector-smoke.md`。
60
60
 
61
61
  `multica chat history/thread` 只覆盖已配置的 Multica chat-channel integration,不能假定钉钉机器人安装一定接入该通道;返回 `No chat channel integration is configured` 时,不得据此判断钉钉会话没有历史、附件或引用。真实钉钉 IM 缺字段时按 Basic Behavior 的语义合同走 DWS 原始消息回读;平台层只负责保证任务中可调用当前 DWS 身份,不把 Multica CLI 写进共享 Basic。
62
62
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: dingtalk-agent-deploy-multica
2
+ name: dta-deploy-multica
3
3
  description: 当开发者要把 dingtalk-agent Agent Project 部署、更新、检查、恢复或 retire 到 Multica Workspace,或把通过指定 Eval gate 的本地版本晋级、把脱敏反馈转成待评审 Eval candidate 时使用。只编排 dta 的稳定 deploy/promote/observe CLI,不直接调用 Multica 写命令,不创建 Trigger,不热改 Agent 本体或 Skill,也不替用户登录或持有凭据。
4
4
  compatibility: Requires dingtalk-agent and an authenticated Multica CLI profile for live apply/status readback.
5
5
  metadata:
6
- version: "0.3.3"
6
+ version: "0.4.0"
7
7
  ---
8
8
 
9
9
  # 部署 dingtalk-agent 到 Multica
@@ -54,7 +54,7 @@ create / update / noop / rollback / retire 动作
54
54
  - 不直接执行 `multica agent|skill ...` 写命令绕过 `dta deploy`。
55
55
  - 不把 `--yes` 当成登录、改 scope、新增权限或确认新 plan。
56
56
  - 不因模型回复正确而跳过 task status、tool trace 和远端内容 hash。
57
- - 不创建机器人、Webhook、Autopilot、定时器或其他事件 Trigger。**deploy 也不会修改或删除已有的**——节律是独立于交付的生产对象,重新部署不重置它、不停用它,也不会因为 Skill 改了就自动改作用域提示词。改节律走 ops 技能 `multica-external` 的 `autopilot-*`,由 operator 决定。
57
+ - 不创建机器人、Webhook、Autopilot、定时器或其他事件 Trigger。**deploy 也不会修改或删除已有的**——节律是独立于交付的生产对象,重新部署不重置它、不停用它,也不会因为 Skill 改了就自动改作用域提示词。改节律走 ops 技能 `dta-ops-multica` 的 `autopilot-*`,由 operator 决定。
58
58
  - 不因为部署成功就宣称这个数字员工"已经在自己干活了"。`deploy` 只保证本体与 Skill 到位;**没有 schedule 的 Agent 只会被 @ 唤醒**。交付一个需要常驻节律的员工时,必须单独确认 `autopilot-list` 里真有对应节律且 `status=active`,否则如实报告这是缺口。
59
59
  - 不把 token、Secret、邮箱、Server URL、Agent instructions 或 Skill 正文写入提交的 Receipt/日志。
60
60
  - 不把线上消息、生产原始数据或 Observation 直接写回 AGENTS.md、Prompt、Skill 或 Eval suite。
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: multica-external
2
+ name: dta-ops-multica
3
3
  description: External Python wrapper defining the full developer chain for delivering an agent on the Multica (DingTalk-FDE fork) platform — workspace bootstrap, runtime/agent provisioning, skill assembly (push/pull), DingTalk robot & account binding, execution-trace observability, cron scheduling (autopilot), and health checks. Use when provisioning, operating, debugging, or observing a Multica-managed agent from the command line with only an endpoint and a token.
4
4
  metadata:
5
- version: "0.1.0"
5
+ version: "0.2.0"
6
6
  ---
7
7
 
8
8
  # Multica FDE External Skill
@@ -39,7 +39,7 @@ The token is a `mul_` personal access token or login JWT; mint PATs with
39
39
  `POST /api/tokens`.
40
40
 
41
41
  ```bash
42
- PY=".agents/skills/multica-external/scripts/multica_ext.py"
42
+ PY=".agents/skills/dta-ops-multica/scripts/multica_ext.py"
43
43
  python3 $PY --help
44
44
  python3 $PY whoami --profile pre-fde
45
45
  ```
@@ -215,7 +215,7 @@ smoke-test a freshly provisioned agent before binding any channel.
215
215
  has **no** download command; `skill-pull` (this script) is the downlink:
216
216
  it writes `SKILL.md` + files into a local directory, byte-identical to
217
217
  what was pushed. An external orchestrator can therefore
218
- `skill-pull --skill multica-external --dest <dir>` and execute the
218
+ `skill-pull --skill dta-ops-multica --dest <dir>` and execute the
219
219
  scripts it receives.
220
220
 
221
221
  ## Command → API map
@@ -278,7 +278,7 @@ MULTICA_SERVER_URL=... MULTICA_TOKEN=... MULTICA_WORKSPACE_ID=... \
278
278
  Both paths produce a byte-identical copy of what `skill-push` uploaded, and
279
279
  bootstrap.sh ships inside the bundle, so a pulled copy can bootstrap the
280
280
  next machine. After bootstrap, stay current with
281
- `python3 scripts/multica_ext.py skill-pull --skill multica-external --dest . --force`.
281
+ `python3 scripts/multica_ext.py skill-pull --skill dta-ops-multica --dest . --force`.
282
282
 
283
283
  Equivalent one-liner where bootstrap.sh is unavailable:
284
284
 
@@ -1,5 +1,5 @@
1
1
  #!/bin/sh
2
- # Bootstrap: fetch the multica-external skill from a Multica workspace
2
+ # Bootstrap: fetch the dta-ops-multica skill from a Multica workspace
3
3
  # onto this machine. Solves the chicken-and-egg problem (skill-pull lives
4
4
  # inside the skill) using only tools already present: the multica CLI, or
5
5
  # curl with endpoint+token. python3 is required either way (the skill's
@@ -15,7 +15,7 @@
15
15
  # intranet/pre endpoints (the Go CLI needs proxies unset by the caller).
16
16
  set -eu
17
17
 
18
- SKILL_NAME="multica-external"
18
+ SKILL_NAME="dta-ops-multica"
19
19
  DEST=""
20
20
  PROFILE=""
21
21
  WS_ID=""