Developer接入与参考
数字分身与你的电脑
数字分身是代表你的那个智能体,下文简称分身。分身能用你名下的每一台电脑,读写文件、跑命令、把文件发给你。每台电脑上的本机策略决定分身能做什么。
说明
前提:要能运行 aidc(Node.js 18 以上)。你要用自己的账号登录(aidc login),并且至少是一家组织的 member。电脑要是 macOS(Apple 芯片)或 Windows x64。
快速上手
这一节用两条命令,让分身用上这台 Mac。开始前,先装好 aidc 并登录,见接上一台 Mac。
$ aidc twin bind zhang-san-twin
已绑定:张三的分身(zhang-san-twin)是你的数字分身。你名下每一台登记过的电脑它都能用(每台本机策略再收);aidc twin 查看。
$ aidc node setup --full --yes --stay-awake
1/4 装 AIDH 运行时(约 120 MB,sha256 校验)…
下载 AIDH 运行时 0.21.3-2:100%
2/4 登记这台电脑…
4/4 起后台 worker…
这台电脑已接上:zhang-san-mbp(demo-zhang-san-mbp-k3f9)
AIDH 运行时:刚装好 0.21.3-2
登记:刚登记(demo-zhang-san-mbp-k3f9 → Demo Company)
worker:0.8.0 已在后台运行(LaunchAgent ai.aidc.cli-node,登录即起):demo-zhang-san-mbp-k3f9 → https://www.ai-dc.ai
本机策略:全权(与你本人同权:任何文件、经你的 shell 跑任何命令)· read、write、exec · 先问我:不问(刚改)
睡眠:插着电时不睡(caffeinate -s;用电池、合上盖子照常睡)· aidc node up --allow-sleep 收回
数字分身:张三的分身(zhang-san-twin) · 分身 zhang-san-twin 能用:read、write、exec
…
--full --yes 给分身全权,见选择权限。要限定目录时,改用 --allow 和 --scopes。
绑定数字分身
用 aidc twin bind <智能体> 把一个智能体绑成你的数字分身。分身是组织共享池里的一个智能体,代表你。
能绑的智能体要同时满足三条:
- 在花名册里是私有的。
- 主人是你。
- 没有共享给任何组、全员、链接或其他人。
部门和公共智能体不能绑。一个人只绑定一个分身,一个智能体只属于一个人。
还没有合适的智能体时,运行 aidc twin create。平台在组织的共享池里替你建一个私有的分身,主人是你,并直接绑好。名字缺省是「<你的名字>的分身」,用 --name 改。这条命令要组织开通。已经绑了别的智能体当分身时,先运行 aidc twin unbind。
已经有分身时再绑一个,新的会换掉原来那个。aidc twin unbind 解绑,分身立即不能再用你的电脑。
绑定后,分身能用你名下每一台登记过的电脑,不用一台一台授权。每台电脑上的本机策略再收一道。
分身共享给别人以后,就不能再用你的电脑。平台每次使用时都再判一次。
绑定后,运行 aidc twin 查看分身,以及每台电脑它能不能用。● 表示在线,○ 表示不在线。不在线的电脑权限不变,重新在线后分身就能用。
$ aidc twin
我的数字分身:张三的分身(zhang-san-twin)
我名下的电脑(2 台):
● zhang-san-mbp(demo-zhang-san-mbp-k3f9):分身 zhang-san-twin 能用:read、write、exec
○ zhang-san-pc(demo-zhang-san-pc-7m2q):分身 zhang-san-twin 能用:read、write、exec
接上一台 Mac
这一节装好 aidc、登录,并把这台 Mac 接上。
安装脚本不需要 sudo。
curl -fsSL https://www.ai-dc.ai/developer/cli/install.sh | sh
aidc login
只登录 aidc 不会把电脑接上。登录只让这台电脑拿到你账号的 Key。还没接上时,aidc login 成功后会提示运行 aidc node setup。这样设计是因为登录过的电脑不一定是你的。
aidc node setup 的用法:
aidc node setup [--full --yes | --allow <目录>… --scopes read,write,exec] [--stay-awake] [--name <显示名>]
下面这条命令给分身全权,并让插着电的 Mac 不睡:
aidc node setup --full --yes --stay-awake
限定目录时,改用 --allow <目录>… 和 --scopes read,write,exec,见选择权限。各参数的默认值见参考 · 账号与环境。
aidc node setup 依次做这几件事:
- 装 AIDH 运行时。已经装好就跳过。
- 登记这台电脑。已经登记过就跳过,在用的 Node Key 不变。
- 设本机策略。只在带了策略参数时才改。
- 在后台起 worker。
- 显示分身能不能用这台电脑。
动手之前,它先检查参数和登录。全权没加 --yes 时,它只说明风险,不做任何改动。没登录时,它提示先运行 aidc login。
同一台电脑重装、重新登记,还是同一条记录。
后台的 worker 只向外连接,电脑不开入站端口。macOS 上它是 LaunchAgent ai.aidc.cli-node,你登录这台 Mac 时自动起来。每次运行 aidc node up,都先从平台取最新的 worker。
接好以后,运行 aidc node status 查看这台电脑的状态。
$ aidc node status
demo-zhang-san-mbp-k3f9 → https://www.ai-dc.ai(中枢眼里:在线)
worker:在跑
本机策略:全权(与你本人同权:任何文件、经你的 shell 跑任何命令)· read、write、exec · 先问我:不问
睡眠:插着电时不睡(caffeinate -s;用电池、合上盖子照常睡)· aidc node up --allow-sleep 收回
数字分身:张三的分身(zhang-san-twin) · 分身 zhang-san-twin 能用:read、write、exec
更新 aidc,运行 aidc update。
接上一台 Windows 电脑
这一节装好 aidc、登录,并把这台 Windows 电脑接上。
先装 Node.js 18 以上。然后下载单文件 https://www.ai-dc.ai/developer/cli/aidc.mjs,用 node aidc.mjs … 运行它。
node aidc.mjs login
node aidc.mjs node setup --full --yes
worker 装成计划任务 ai.aidc.cli-node,以你自己的身份运行。它不需要管理员权限,也不开窗口。全权时,命令经 PowerShell 运行。
单文件的 aidc 不能用 aidc update 更新。要更新,重新下载 aidc.mjs。
选择权限
这一节决定分身在这台电脑上能做什么。本机策略缺省什么都不许。
限定目录(缺省)
aidc node policy --allow <目录>… --scopes read,write,exec [--exec ls,git…|none] [--ask write,exec|none]
| 参数 | 做什么 |
|---|---|
--allow <目录>… |
分身能使用的目录。不能设成整个家目录或根目录 |
--scopes read,write,exec |
允许的事:读、写、跑命令 |
--exec ls,git…|none |
允许运行的程序。命令不经 shell,只能跑这里列出的程序 |
--ask write,exec|none |
先在电脑上弹窗问你的操作,60 秒没点就拒绝。缺省问写文件和跑命令 |
允许的目录之外一律拒绝。软链接指到外面,也拒绝。
「先问我」的弹窗只在 macOS 上有。
全权
aidc node policy --full --yes
全权时,分身在这台电脑上与你本人同权:
- 能读写任何文件。
- 命令经你的登录 shell 运行,管道、重定向和任何程序都能用。
- 能做你登录过的 aidc、浏览器、SSH 密钥能做的事。
全权默认不弹窗问你。
重要
只在你信任这个分身、它的机器人只对你开放私聊时,才打开全权。
收回全权,运行 aidc node policy --scoped。原来允许的目录和程序照旧。
两档都适用
节点目录 ~/.aidc/node 存着 Node Key 和本机策略。任何时候,分身的文件工具都不能碰它。
分身的每一步操作都记在这台电脑上的审计日志里:~/.aidc/node/logs/device-audit.log。
出门也能用
这一节让插着电的电脑不睡。电脑醒着,分身在你出门时才能用它。
电脑睡着、关机或断网时,分身用不了它。worker 只向外连接,平台没有办法叫醒它。
在 Mac 上,aidc node setup 和 aidc node up 都能带 --stay-awake。它让插着电的 Mac 不睡(caffeinate -s)。用电池或合上盖子时,Mac 照常睡。只需设一次,重启后仍然有效。
运行 aidc node up --allow-sleep 收回这个设置。运行 aidc node down 停 worker 时,这个设置也一起收回。
aidc node status 的「睡眠」一行显示这台 Mac 空闲多久睡,以及插电不睡开没开。
在 Windows 上,aidc 不改电源设置。要插电不睡,在 Windows 的电源设置里,把接通电源时的睡眠设成「从不」。
电脑重启以后,你登录一次,worker 才起来。锁屏不影响。
分身能做什么
分身用下面 8 个工具操作你的电脑。
| 工具 | 做什么 |
|---|---|
whoami |
现查自己是谁的分身、在哪跑、能用哪几台电脑 |
list_devices |
列出你名下的电脑,以及在不在线、能做什么 |
list_dir |
列一个目录,一次最多 500 项 |
read_file |
读文本文件,一次最多 256 KB |
write_file |
写文本文件,最大 1 MB |
send_file |
把电脑上的任何文件发给对方,或拿到分身那边处理。最大 200 MB |
put_file |
把分身那边的文件存到你的电脑上。最大 200 MB |
run_command |
跑命令。缺省 120 秒,最长 200 秒 |
read_file 只读文本文件。二进制文件(PDF、图片、Office、压缩包……)用 send_file。
在企业微信、钉钉里,20 MB 以内的文件,对方收到的是文件本身。更大的文件,对方收到下载链接。下载链接凭链接就能下载,7 天后打不开。
put_file 的上级目录不存在时,会自动建好。
run_command 超时,连它起的子进程一起停掉。输出超过 64 KB 时,保留开头和结尾。时间更长的任务,放到后台运行,再看日志。
分身做不到的事:看屏幕、点鼠标、敲键盘。也做不到要人当场输入的交互式命令。例如要输密码的 sudo、vim,或要按 y 确认的安装程序。能用参数代替交互的命令(比如 -y),照常能跑。
谁能让分身用电脑
平台每一轮都判断是谁在跟分身说话,再决定能不能用你的电脑。
| 谁在跟分身说话 | 分身能不能用你的电脑 |
|---|---|
| 网页工作台、AIDC Desktop、Agent API 的个人 Key、Engine 试运行 | 能用。平台认得出是你 |
| 企业微信、钉钉的私聊 | 缺省能用。平台认不出是谁 |
| 群聊 | 不能用。群里谁都能 @ 它 |
| 平台认得出是别人在跟你的分身说话 | 不能用 |
企业微信、钉钉认不出是谁,所以要让分身的机器人只对你开放私聊。
调整与收回
用 aidc node grant 和 aidc node revoke,一台一台地调整分身能用的电脑。
aidc node grant --scopes read:这台电脑对分身只保留读。aidc node grant --only-me:只在你本人跟分身说话时,分身才能用这台电脑。aidc node revoke:这台电脑不给分身用,立即生效。aidc node grant:不带参数时,恢复缺省的全开。aidc node down:停 worker。登录这台电脑时,worker 也不会自动起来。
恢复一台被排除的电脑后,在这台电脑上再运行一次 aidc node up。
企业微信、钉钉认不出人,所以 --only-me 在那里不可用。
命令行
下表列出本页涉及的命令。
| 命令 | 做什么 |
|---|---|
aidc twin |
显示你的分身,以及每台电脑它能不能用 |
aidc twin create |
平台替你建一个数字分身并绑好。要组织开通 |
aidc twin bind <智能体> |
绑定数字分身。已有分身时,换成新的 |
aidc twin unbind |
解绑。分身立即不能再用你的电脑 |
aidc node setup |
一条命令接上这台电脑 |
aidc node join |
只登记这台电脑,不起 worker |
aidc node policy |
设本机策略 |
aidc node up |
起 worker。每次运行都先取最新的 worker |
aidc node down |
停 worker |
aidc node status |
显示这台电脑的状态 |
aidc node list |
列出你名下所有电脑 |
aidc node grant |
调整这台电脑对分身的用法;不带参数则恢复全开 |
aidc node revoke |
这台电脑不给分身用,立即生效 |
每条命令的参数与默认值,见参考 · 账号与环境。
API
调用下表的端点,可以查看、绑定和设置分身与电脑。
| 方法 | 路径 | 做什么 |
|---|---|---|
GET |
/api/v1/twin |
查看数字分身,以及名下每台电脑它能不能用 |
POST |
/api/v1/twin |
建数字分身并绑好(aidc twin create 用它) |
PUT |
/api/v1/twin |
绑定数字分身。一个人一个,换绑即换掉原来那个 |
DELETE |
/api/v1/twin |
解绑 |
GET |
/api/v1/devices |
查看名下的电脑:在不在线,分身能不能用 |
POST |
/api/v1/devices |
登记这台电脑(aidc node join 用它) |
POST |
/api/v1/devices/grants |
调整这台电脑对分身的用法:收窄、只在本人说话时可用,或恢复 |
POST |
/api/v1/devices/grants/revoke |
这台电脑不给分身用 |
POST |
/api/v1/devices/mcp |
设备 MCP,智能体那一侧的工具(只认平台发给智能体的设备令牌) |
绑定、登记和单台设置只认账号的开发者 Key(aidc-dk-…)。Key 所属的账号要是 developer 或 member。
限制
这一节列出分身各项操作的上限。
| 项目 | 上限 |
|---|---|
| 列目录 | 500 项 |
| 读文本 | 256 KB |
| 写文本 | 1 MB |
| 收发文件 | 200 MB |
| 企业微信、钉钉里直接收到的文件 | 20 MB |
| 单条命令 | 缺省 120 秒,最长 200 秒 |
| 命令输出 | 64 KB,超过时留开头和结尾 |
| 下载链接 | 7 天 |
| 支持的电脑 | macOS(Apple 芯片)、Windows x64 |
Linux 和 Intel 芯片的 Mac 都不支持。它们没有 AIDH 运行时。
常见错误
遇到下表的现象,按「怎么办」处理。
| 现象 | 原因 | 怎么办 |
|---|---|---|
aidc twin 里电脑显示 ○ |
电脑睡着、关机、断网,或 worker 没在跑 | 叫醒或打开电脑;在那台电脑上运行 aidc node up |
aidc node up 报 worker_not_ready,最近的错误是 401 |
这台电脑在别处重新登记过,这里的 Node Key 失效了 | 运行 aidc node join,再运行 aidc node up |
aidc node setup 报 unsupported_platform |
这台电脑是 Linux 或 Intel 芯片的 Mac | 换一台 macOS(Apple 芯片)或 Windows x64 的电脑 |
aidc node join 报「先装 AIDH」 |
本机还没有 AIDH 运行时 | 运行 aidc aidh install,或直接用 aidc node setup |
| 分身在群聊里说不能用电脑 | 群聊里分身不动你的电脑 | 改在私聊里跟它说 |
设了 --only-me 后,企业微信里分身用不了这台电脑 |
企业微信认不出是你 | 运行 aidc node grant 恢复缺省,或在网页工作台里跟分身说 |
| 下载链接打开时说「已经失效」 | 链接发出超过 7 天 | 让分身再发一次 |
下一步
- 参考 · 账号与环境:每条命令的参数与默认值
- 智能体接入:智能体怎么登录、拿凭证、调工具
- 安装 aidc:安装脚本与本机要求
本页由 developer/docs/devices.md 生成 · Markdown 原文 · llms.txt