npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@guandata/decidex

v0.5.0

Published

CLI for building and operating Decidex ontologies, agents, skills, sessions, and evaluations.

Downloads

794

Readme

Decidex CLI

基于 Decidex 0.0.8 HTTP API 的零依赖 Node.js CLI(CLI 版本 0.5.0)。要求 Node.js 22+。

适配基线:tag 0.0.8 / b5cbd94c0,2026-11-13。按实际部署的 release 契约执行,保留 0.0.5 调度兼容。

npm install -g @guandata/[email protected]
decidex version --json          # 本地 CLI 版本
decidex server version          # 目标服务端版本与 commit
decidex server check auth whoami
decidex auth login --base-url https://decidex.example.com
decidex auth status
decidex context show

auth login 会打开一个 CLI 专用 Chrome Profile;在浏览器完成密码、企业 OIDC 或 Galaxy OIDC 登录后,CLI 通过 Chrome DevTools 读取 HttpOnly decidex_session 并保存到 ~/.config/decidex/config.json(权限 0600)。后续登录会复用这个专用 Profile。

也可以从浏览器开发者工具复制 Cookie header,通过 stdin 导入,避免把凭据写进 shell history:

pbpaste | decidex auth import --base-url https://decidex.example.com

版本检查与兼容规则

decidex server version --json
decidex version --server --json       # 同上
decidex server check                  # 列出已声明的兼容规则
decidex server check auth whoami      # 检查指定命令,低于最低版本时退出码为 1
decidex auth whoami                   # 服务端 >= 0.0.5,返回已验证的用户/组织身份

版本来自已登录目标的 GET /api/app-version,每次 CLI 进程重新读取,不持久缓存。version 查询即使遇到 dev 等版本也会显示原值和 comparable=false;需要版本决策的命令遇到无法比较的版本、认证失败或版本查询失败会明确报错,不猜测版本或在写入失败后重试另一种协议。

server check 对没有版本规则的命令返回 supported=null、reason=no_version_rule,表示尚未声明版本边界,不能据此断言目标支持。0.0.8 是本次适配基线,不是所有命令的首次发布版本。SemVer 比较支持 v 前缀、预发布和构建信息;例如 0.0.8-rc.1 低于正式 0.0.8。

已核实的版本差异:

| 命令 | 目标 < 0.0.5 | 目标 >= 0.0.5 | | --- | --- | --- | | auth whoami | 提示最低版本,停止执行 | /api/auth/context | | auth status / auth login 的登录验证 | 原有 Agent 列表验证,legacy=true,用户/组织身份未验证 | /api/auth/context,返回已验证身份 | | context show | 本地上下文,organizationIdVerified=false | 读取服务端身份;可在没有活动组织时使用 |

常用命令的兼容规则在 src/compatibility.js,操作目录的路由版本在 src/api-catalog.json。后续添加命令时,可依据实际 release tag 声明:

"example create": { minVersion: "0.0.8" },
"example get": {
  protocol: "v2",
  legacy: { before: "0.0.8", protocol: "v1" },
},

声明规则后,主入口会在命令分发前自动检查最低版本。需要 legacy 协议时,命令处理函数再调用 commandCompatibility(command, values),根据返回的 protocol 选择相应请求实现(同一进程复用版本查询)。auth login 在获得登录态后执行版本选择。新增协议需同时补边界版本测试。上面 example 仅演示规则,未对现有命令附加虚构的 0.0.8 限制。

Agent

创建 agent.json:

{
  "name": "经营分析助手",
  "description": "回答经营问题",
  "instructions": "优先基于已绑定的业务本体回答。",
  "openingMessage": "想分析什么?",
  "presetQuestions": ["本月收入如何?"]
}

创建后,把响应里的 agent.id 写回文件顶层即可执行更新。apply 使用服务端 PUT 契约:保留完整配置文件,尤其是 name、description、instructions;更新时省略后两项会被服务端置空。CLI 拒绝未知顶层字段,防止拼写错误被服务端静默忽略:

decidex agent apply agent.json
decidex agent export AGENT_ID agent.zip
decidex agent import agent.zip
decidex agent publish AGENT_ID --email [email protected]
decidex agent publications AGENT_ID
decidex agent use-scope AGENT_ID OWNER          # 或 SPECIFIC_USERS / ORGANIZATION
decidex agent delete AGENT_ID

agent.json 也可以直接声明本体、BI 资产、Skill、默认模型和推理强度:

{
  "name": "经营分析助手",
  "instructions": "优先基于已绑定的业务本体回答。",
  "bizOntologyBindings": [{ "networkId": "NETWORK_ID", "versionId": "VERSION_ID" }],
  "contextReferences": [],
  "pluginSelection": { "enabledPluginIdentities": ["personal:ORG_ID:SKILL_ID"] },
  "sessionDefaultModelCatalogEntryId": "MODEL_ENTRY_ID",
  "sessionDefaultReasoningEffort": "medium"
}

每个 Agent 最多绑定一个业务本体;versionId 可以使用固定版本 ID 或 latest。contextReferences 的 BI 资产需要保留来源环境(guandataEnvRef 或有效的 guandataBaseUrl);也可按服务端契约传钉钉/飞书文档引用。builtInInstructions 仅支持更新已有 Agent。

服务端 >= 0.0.7 可配置 biUserPropertiesEnabled(创建默认 false)和 biUserPropertyKeys(默认 [])。Key 最多 20 项,每项去空白后 1..200 字符,去重保序;可选 Key 通过 decidex platform call personal-agents.bi-user-property-options.list --agent-id AGENT_ID 查询,实际可用性取决于维护者的 BI 身份和属性目录。旧服务端使用这些字段会在写入前被 CLI 拒绝。

上传参考文件和执行冒烟问题:

decidex agent file add AGENT_ID references/*.md
decidex agent file list AGENT_ID
decidex agent models AGENT_ID
decidex agent run AGENT_ID --message "分析销售" --model-entry-id MODEL_ENTRY_ID --reasoning-effort high --attach sales.csv --wait
decidex agent run AGENT_ID --message "分析本月销售异常" --wait
decidex agent run AGENT_ID --input smoke.md --wait --follow --output smoke-result.json
printf '%s' '分析本月销售异常' | decidex agent run AGENT_ID --input - --wait

--attach FILE 可重复传入,也可仅发送附件。--context-references FILE 和 --conversation-references FILE 分别接收服务端定义的引用数组 JSON。--reasoning-effort null 表示使用模型默认值;具体模型支持的推理档位以 agent models 返回的目录为准,CLI 不推断所有模型都支持所有档位。

绑定知识库中已有文档(不等同于 Agent 参考文件上传):

decidex agent knowledge list AGENT_ID --query 销售
decidex agent knowledge list AGENT_ID --cursor NEXT_CURSOR
decidex agent knowledge add AGENT_ID DOCUMENT_ID
decidex agent knowledge remove AGENT_ID DOCUMENT_ID

--follow 只把状态和工作轨迹写入 stderr;最终 JSON 仍可稳定写入文件:

{
  "schemaVersion": 1,
  "sessionId": "SESSION_ID",
  "runId": "RUN_ID",
  "status": "SUCCEEDED",
  "error": null,
  "answer": "销售异常主要来自转化率下降。",
  "artifacts": [
    { "name": "结果.xlsx", "path": "artifacts/结果.xlsx", "sizeBytes": 39775 }
  ],
  "startedAt": "2026-09-02T01:00:00.000Z",
  "finishedAt": "2026-09-02T01:02:00.000Z",
  "durationMs": 120000
}

运行后可以直接列出、批量下载产物并诊断 Run:

decidex session list --status running
decidex session list --pinned-session-id SESSION_ID --pinned-agent-id AGENT_ID
decidex session view SESSION_ID
decidex session send SESSION_ID --message "继续拆解渠道" --wait --follow
decidex session stop SESSION_ID
decidex session rename SESSION_ID "渠道分析"
decidex session model SESSION_ID MODEL_ENTRY_ID
decidex session fork SESSION_ID RUN_ID
decidex session delete SESSION_ID
decidex session artifacts list SESSION_ID
decidex session artifacts download SESSION_ID --all --dir ./artifacts
decidex session files list SESSION_ID --scope analysis
decidex session files download SESSION_ID --scope analysis --suffix .boe --all --dir ./evidence
decidex run diagnose RUN_ID --session-id SESSION_ID --json

session list 的两个 --pinned-*-id 参数可重复,要求服务端 >= 0.0.7;只用于历史列表保留指定条目,不修改平台的置顶状态。

session rename 的标题不能为空,最多 24 个字符。

会话列表按页返回;--cursor 接收 nextCursor 原值,--agent-id 查询指定 Agent 的历史页。--status 只过滤当前页,completed 表示非 RUNNING(含 ERROR),空页仍可能有下一页。--query 不可与 --cursor / --agent-id 同用。session view --before OLDER_CURSOR 读取更早消息,--since LIVE_CURSOR 读取增量;两者互斥。

session send 同样支持附件、引用数组和推理档位。切换模型需先执行 session model,不能把模型参数混入续问接口。

decidex session queue list SESSION_ID
decidex session queue edit SESSION_ID DRAFT_ID --message "修改后的问题"
decidex session queue delete SESSION_ID DRAFT_ID
decidex session queue continue SESSION_ID --wait --follow

queue continue 启动队首消息,可等待该 Run;不会等待整个队列清空。

session send --wait 要求消息立即启动;会话正忙时服务端会在入队前返回冲突,避免 CLI 假失败后重试造成重复入队。不带 --wait 时结果可能是 kind=direct 或 kind=queued。

session files --scope analysis 列出 workspace/analysis/ 下的全部分析文件,包含 .boe;--suffix 按文件后缀过滤且不区分大小写。下载默认拒绝覆盖已有文件,也拒绝通过符号链接写出目标目录;确认覆盖普通文件时加 --overwrite。run diagnose 未显式传 --session-id 时会使用最近 50 条本地 Run 映射;若本地配置不可写,远端 Run 仍会继续,CLI 会先输出 Session/Run ID,之后可用显式 ID 恢复诊断。当前后端未向用户 API 暴露 Runner 的 Pod termination reason 和资源指标,结果会将这两项标记为 not_exposed。

Skill

decidex skill list --origin all                # 默认 personal;可选 builtin
decidex skill references SKILL_ID
decidex skill upload skill.zip
decidex skill update SKILL_ID skill.zip
decidex skill download SKILL_ID skill.zip
decidex skill delete SKILL_ID

skill update 默认先读取线上 fingerprint,再进行整包更新,检测读取后的并发修改。已有快照时可显式传 --fingerprint SHA256,防止覆盖快照之后的修改。

逐文件编辑必须使用读取时的 fingerprint;files get 的结果还包含 truncated、editable,截断或不可编辑的文件应改用下载整包等方式处理:

decidex skill files list SKILL_ID
decidex skill files get SKILL_ID SKILL.md
decidex skill files put SKILL_ID SKILL.md ./SKILL.md --fingerprint sha256:...
decidex skill credentials status SKILL_ID
pbpaste | decidex skill credentials set SKILL_ID API_KEY
decidex skill credentials delete SKILL_ID API_KEY

凭证值只通过 stdin 传入,CLI 不在输出中回显;状态接口只返回声明和已配置的变量名。写操作、整包下载和凭证操作针对 personal Skill;builtin 支持列表和文件读取。

Evaluation

评测案例文件可以是数组,也可以使用 { "cases": [...] }:

{
  "cases": [
    {
      "task": "本月销售下滑来自流量、转化率还是客单价?",
      "criteria": [
        { "text": "给出时间范围与指标证据。", "weight": 2, "veto": true },
        { "text": "说明拆解过程;证据不足时降低结论强度。", "weight": 1, "veto": false }
      ]
    }
  ]
}

先查看差异,再同步:

decidex eval cases plan AGENT_ID cases.json
decidex eval cases apply AGENT_ID cases.json

# 显式删除线上文件中不存在的案例
decidex eval cases plan AGENT_ID cases.json --prune
decidex eval cases apply AGENT_ID cases.json --prune

旧版 rubric 输入已过期,需显式改成 criteria。每个案例 1–50 条评分项,text 最多 2000 字符,weight 默认为 1 且必须为正整数,veto 默认为 false。可选 tagIds:省略时保留已有标签,传 [] 清空;标签 ID 必须属于当前 Agent。

decidex eval tags list AGENT_ID
decidex eval tags create AGENT_ID 冒烟
decidex eval tags rename AGENT_ID TAG_ID 回归
decidex eval tags delete AGENT_ID TAG_ID

同步以 task 原文为稳定键;本地或线上存在重复 task 时会停止。apply 先新增和更新,最后才执行 --prune 删除。评分文本不变时保留现有条目 ID;导出文件省略评分条目 ID,便于新建案例。跨 Agent 迁移时需自行映射或移除 tagIds。当前后端没有案例版本号或幂等键:同一个 Agent 的评测案例只能由一个写入者同步,禁止并发执行 apply/--prune。

评测运行文件复用服务端契约:

{
  "caseIds": ["CASE_ID"],
  "targetModelSelection": { "modelEntryId": "MODEL_ENTRY_ID", "reasoningEffort": "medium" },
  "judgeModelSelection": { "modelEntryId": "MODEL_ENTRY_ID", "reasoningEffort": "medium" }
}
decidex eval run AGENT_ID eval-run.json --cases all --wait --output eval-result.json
decidex eval stop AGENT_ID RUN_ID

CLI 按服务端 0.0.5 / 0.0.6 tag 的共同契约校验该文件:只接受 caseIds、targetModelSelection 和 judgeModelSelection。使用 --cases all 时由 CLI 获取并覆盖 caseIds;Agent 没有评测案例时会在本地停止。

查询、接管或批量监控已经启动的评测:

decidex eval runs list AGENT_ID
decidex eval runs get AGENT_ID RUN_ID
decidex eval runs wait AGENT_ID RUN_ID --follow --output result.json
decidex eval runs watch evaluation-runs.json --parallel 3 --follow --output summary.json
decidex eval files download AGENT_ID RUN_ID --scope analysis --suffix .boe --all --dir ./evidence

evaluation-runs.json:

{
  "runs": [
    { "label": "A/S07", "agentId": "AGENT_ID", "runId": "RUN_ID" },
    { "label": "B/S07", "agentId": "AGENT_ID", "runId": "RUN_ID" }
  ]
}

watch 只在状态或计数变化时向 stderr 输出进度,最终 JSON 保留每个 Run 的完整 Case 结果;任一 Run 失败、停止或监控出错时退出码为 1。

eval files download 按 Case 分目录下载评测会话文件;用 --scope analysis --suffix .boe 可只下载证据链。该命令要求服务端评测详情返回 targetSessionId;旧版服务端会给出明确升级提示。

专家协作与后台改进(服务端 >= 0.0.8)

普通 Personal Agent 人工 normal 会话空闲且无排队消息时,可显式开启专家协作。先检查 available;平台功能开关或 Runtime 不满足要求时,服务端会拒绝,不会自动开启配置:

decidex session collaboration status SESSION_ID
decidex session collaboration activate SESSION_ID --accept-governance-notice
decidex session collaboration stop SESSION_ID --epoch 1
decidex session collaboration download SESSION_ID shared/result.txt ./result.txt

专家以会话所有者的身份和权限运行,可能增加模型消耗,专家管理者可审查收到及共享的材料。--epoch 必须取最新 status 返回的 work.epoch,不要固定照抄示例。材料路径取状态返回的 shared/... 或 deliveries/...;不传 Runtime 工作区路径。专家任务详情可用 task SESSION_ID TASK_ID 查询。

显式继续已停止的工作使用 continue SESSION_ID --submission-id UUID;同一次操作保留相同 UUID,响应不确定时先查状态,不自动重新触发。session send 原有的普通回复或排队返回不能替代协作交付确认。

后台改进开关独立于 Agent JSON,需要编辑权限:

decidex agent improvement get AGENT_ID
decidex agent improvement enable AGENT_ID
decidex agent improvement disable AGENT_ID

开启后处理新的反馈,不回放关闭期间的历史反馈;生成的修改仍须审查。personal-agents.self-evolution.knowledge-changes.list 读取待确认知识修改,self-evolutions.list 查询改进记录。0.0.8 已移除旧 self-evolutions.create 和 self-evolution.sources.list,旧 memory-suggestions 的确认/拒绝入口迁移到 self-evolution.knowledge-changes;停止改进接口改为 204 空响应。

定时任务

创建文件 automation.json:

{
  "personalAgentId": "AGENT_ID",
  "name": "每周销售分析",
  "instructions": "分析上周销售并给出证据。",
  "schedule": { "kind": "WEEKLY", "weekday": 1, "timeOfDayMinutes": 600 }
}
decidex automation list
decidex automation apply automation.json
decidex automation run AUTOMATION_ID --wait --follow --output result.json
decidex automation runs AUTOMATION_ID --cursor NEXT_CURSOR
decidex automation delete AUTOMATION_ID

文件包含 id 时用 PATCH 更新;服务端 >= 0.0.7 可只传 { "id": "...", "status": "PAUSED" } 暂停,改为 ACTIVE 恢复。目标 0.0.5/0.0.6 更新时必须附上原 schedule,CLI 会阻止省略计划的写入,避免服务端应用默认计划。暂停状态不能手动运行;单次调度完成后由服务端写入 FINISHED,不能手动设置、恢复或再次运行。

服务端 >= 0.0.6 支持以下调度:

| schedule 示例 | 含义 | | --- | --- | | { "kind": "DAILY", "timeOfDayMinutes": 600 } | 每天 10:00 | | { "kind": "WEEKLY", "weekdays": [3, 5], "timeOfDayMinutes": 600 } | 每周三、五 10:00,周日为 0 | | { "kind": "MONTHLY", "monthDays": [1, 15], "timeOfDayMinutes": 600 } | 每月 1 日、15 日 10:00;短月不存在的日期跳过 | | { "kind": "INTERVAL", "intervalMinutes": 60 } | 每隔 60 分钟,范围 5..2147483647 分钟 | | { "kind": "ONCE", "runOnceAt": "2099-01-01T10:00:00+08:00" } | 固定时间执行一次,保存时必须晚于当前时间 |

timeOfDayMinutes 范围 0..1439,缺省 540(09:00);周期调度按服务端时区执行。ONCE 建议显式填写时区。

CLI 根据目标版本选择协议:0.0.6 的旧 weekday 转为 weekdays,旧 HOURLY 转为 INTERVAL(60);目标 0.0.5 保留原协议,单元素 weekdays 可转换为 weekday,多元素及新调度模式在写入前拒绝。server check automation apply 查看所选协议。

服务端 >= 0.0.7 可在 imPush.channels[]、emailPush 内设置 biGroupIds;用 decidex platform call personal-agent-automations.bi-groups.list 读取目录。IM 用户组目标仍需指定 channel 和 botId,邮件即使仅选组也需传 recipientUserIds: []。组成员在每次执行时按当时目录解析,保存成功不代表实际送达。

文件还可按服务端契约配置 imPush、emailPush;更新时省略保留原配置,null 清空。手动 run --wait 等待分析 Run,不代表通知已送达;送达结果查看 automation runs。服务端 0.0.5 的启动接口会同步等待执行结果,--wait --timeout 覆盖该请求及后续读取的总时间。客户端超时不会取消服务端执行;应先查 automation runs,不要直接重试触发。

任务中心

行动任务

Agent 配置中设置 actionSuggestionsEnabled: true,运行产生行动建议后再创建任务:

decidex action-task suggestions SESSION_ID --run-id RUN_ID
decidex action-task members SESSION_ID --query 张
decidex session view SESSION_ID     # 读取回答的消息 ID
decidex action-task create SESSION_ID action-task.json
decidex action-task list --status PENDING
decidex action-task get TASK_ID
decidex action-task adopt TASK_ID --version 0
decidex action-task complete TASK_ID --version 1

action-task.json 使用回答消息 ID、建议 ID 和分配信息:

{
  "messageId": "ASSISTANT_MESSAGE_ID",
  "suggestionId": "SUGGESTION_ID",
  "draft": { "title": "核查异常", "description": "核实异常原因并记录结果", "assigneeIds": ["USER_ID"] }
}

--run-id 从当前会话窗口查找回答;较早的回答用 session view --before CURSOR 找到消息后传 --message-id。采纳后可完成或取消,待处理时可拒绝;服务端 >= 0.0.7 也允许直接完成待处理任务,complete --note 可附完成说明。reject、cancel 必须传 --note 理由。每次操作使用 get 返回的当前 task.version;409 表示任务已变化,应重新确认,不自动重试。平台没有行动任务删除接口。

服务端 >= 0.0.7 可读取分发选项、显式分发任务和下载事件证据附件:

decidex action-task dispatch-info TASK_ID
decidex action-task dispatch TASK_ID dispatch.json
decidex action-task attachment TASK_ID EVENT_ID 0 evidence.bin

分发文件包含 botId、recipientIds、idempotencyKey,可选 createNativeTask(默认 true;只推消息时设为 false);所选渠道要求的授权信息以 dispatch-info 返回为准。分发会发送真实通知,同一次分发应保留同一幂等键,响应不确定时先查分发状态,不自动重发。附件的 EVENT_ID 来自 get 返回的事件,序号从 0 开始;只有已有渠道证据才能下载,材料失效或上游不可用会保留服务端错误。

指标追踪

追踪任务从会话内已有的候选与 BOE 证据链创建;这里的路径是远端会话路径:

decidex tracking preview SESSION_ID --candidate-path workspace/analysis/decision-tracking/turn.json --boe-path workspace/analysis/biz-ontology-evidence/turn.boe
decidex tracking create SESSION_ID --candidate-path workspace/analysis/decision-tracking/turn.json --boe-path workspace/analysis/biz-ontology-evidence/turn.boe --wait
decidex tracking list --filter due
decidex tracking get TASK_ID
decidex tracking review TASK_ID --wait
decidex tracking report TASK_ID report.html

create 使用服务端校验后的候选和 evidenceVersion,证据变化时保留 409。相同来源重复创建返回原任务;lookup 可按会话和两个路径查找。初始报告异步生成,用 wait TASK_ID 继续等待;失败后可显式 retry TASK_ID --wait;已有初始报告时返回原结果,不重复启动。

支持 rename TASK_ID 标题、pause/resume/close/delete TASK_ID、reviews TASK_ID --cursor CURSOR。schedule TASK_ID schedule.json 接收 { "reviewFrequency": "WEEKLY", "nextReviewAt": "2026-11-12T01:00:00.000Z" },频率也可为 MONTHLY、QUARTERLY。初始报告完成后才能暂停、恢复、结束或复核。

review --data FILE 可指定 { "requestedReviewWindow": { "startDate": "2026-10-01", "endDate": "2026-10-31", "grain": "month" } }。--wait 等待报告或明确失败,不把已入队的复核占位记录当作完成。成功生成报告时退出码为 0,DATA_NOT_READY 等业务结果及原因保留原值;后台生成失败且无报告时退出码为 1。report --initial 下载初始报告,--review-id ID 下载指定复核报告。

--timeout 覆盖请求和等待的总时间,默认 600 秒。客户端超时不会取消后台任务;先用 get / reviews 查状态,避免重复发起复核。

平台操作目录

除常用专用命令外,platform 按真实路由注册操作,覆盖知识库、权限与成员、记忆、连接器、消息渠道、运营统计及平台管理等 API:

decidex platform list --query knowledge-library
decidex platform show knowledge-library.folders.documents.create
decidex platform call knowledge-library.folders.list
decidex platform call knowledge-library.folders.documents.create --folder-id FOLDER_ID --file files=./reference.pdf
decidex platform call knowledge-library.documents.original.list --document-id DOCUMENT_ID --output original.pdf
decidex platform call action-tasks.list --query-param status=all --query-param q=异常
decidex platform coverage

show 显示方法、路径、必填路径参数和最低版本。调用支持 --data JSON文件、可重复的 --query-param KEY=VALUE、--file FIELD=FILE / --field KEY=VALUE;原始二进制用 --body-file FILE,下载用 --output FILE。--dry-run 只检查和展示请求,不联网。

版本边界来自 release tag 中的路由存在性,不等于该版本所有业务字段均兼容;字段与权限仍以服务端契约为准。仅在 main 存在的操作默认拒绝,确认目标已部署后才能显式 --allow-unreleased,不猜测未来版本号。inputHints 是路由文件线索,不是完整请求 schema。

当前目录覆盖 469/469 个纳入范围的操作,全部存在于 0.0.8 tag。全部 584 个路由操作中另有 115 个运行时、服务令牌、公开分享、回调、流式或代理协议,未纳入浏览器登录态 CLI;按全部路由计为 80.3%。这表示操作入口覆盖,不是逐接口业务验证或真实冒烟覆盖。详见 覆盖审计。

组织

decidex org use ORGANIZATION_ID

Galaxy 模式的组织由 BI 租户登录态决定,服务端会拒绝手动切换。

业务本体

本体构建复用 Decidex 的完整导出/导入契约,避免 CLI 重复维护对象、属性、关系、行动、风险等子资源 schema:

decidex ontology versions list ONTOLOGY_ID
decidex ontology versions get ONTOLOGY_ID VERSION_ID
decidex ontology versions create ONTOLOGY_ID --description "调整前快照"
decidex ontology export ONTOLOGY_ID ontology.json
decidex ontology plan ontology.json --name 新本体
decidex ontology apply ontology.json --name 新本体

# 覆盖已有本体:plan 默认不写入,apply 会先由服务端预检并创建备份版本
decidex ontology plan ontology.json --network-id ONTOLOGY_ID
decidex ontology apply ontology.json --network-id ONTOLOGY_ID

覆盖已有本体时不能同时传 --name(旧用法会被静默忽略,现会明确报错);重命名需单独调用本体更新接口。

未封装的接口可直接调用:

decidex api GET /api/personal-agents
decidex api PATCH /api/auth/active-organization --data organization.json

CI 中可使用 DECIDEX_BASE_URL 和 DECIDEX_SESSION,无需写本地配置。非本机 HTTP 地址默认被拒绝,确有可信内网明文部署时需设置 DECIDEX_ALLOW_INSECURE_HTTP=1。

DECIDEX_BASE_URL 与 DECIDEX_SESSION 必须成对提供。CLI 不会把配置文件中保存的 Cookie 复用到另一个 --base-url;切换环境时请重新执行 auth login/auth import。

当前边界

  • 常用命令已包含任务中心行动任务和指标追踪;其余纳入范围的 API 可通过有版本约束的 platform call 调用。
  • 当前上传与下载会整包载入内存,适合常规场景包和产物;超大文件需要后续增加流式传输。
  • 组织列表当前没有普通用户 GET 接口;已验证身份由 /api/auth/context 提供。评测案例并发版本控制、Runner Pod/OOM/资源诊断、长期机器凭据仍缺少本 CLI 可用的契约。
  • 权限、知识库、记忆、连接器、消息渠道、运营及平台管理多数使用操作目录,尚未提供与页面流程等价的专用命令。内部 Runner、服务令牌、分享/认证回调、SSE 和代理不在本次范围内。
  • 已在 decidex.guandata.com 的准确 0.0.5 与 0.0.6 tag commit 上完成下述真实冒烟;目标部署存在定制或与 tag 不一致时,版本号不能独自证明每项能力可用。

维护与验证

npm test
npm pack --dry-run
# 更新 API 目录:必须指定已核对的源码 commit 和适配 tag
python3 scripts/sync-api-catalog.py --repo /path/to/decidex --ref COMMIT --baseline 0.0.8
npm install -g .       # 更新本机 decidex;不发布到 npm

测试覆盖版本比较与最低版本/legacy 边界、HTTP 方法/路径/请求体、评测幂等同步与无效输入拒绝、附件与队列、凭证和 fingerprint 冲突,以及既有下载安全与超时行为。

2026-11-04 真实环境冒烟

目标 https://decidex.guandata.com 返回 0.0.5 / 3e0ad67d9aa087b92cf6e60f9d501657ac4a625f。CLI 0.2.1 使用独立配置和临时私有资源验证,保留原默认环境配置。

  • 通过目标版本/身份检查、Skill 文件与凭证、评测案例与标签、真实评测(PASSED)、知识文档绑定、本体版本与导入覆盖。
  • 通过附件与历史会话引用、模型/推理参数、续问/改名/分叉/增量读取、历史游标、诊断,以及真实队列编辑/删除/停止/继续;忙时 --wait 拒绝后未额外入队。
  • 通过定时任务创建/暂停/恢复/手动运行/历史查询。发现并修复启动 HTTP 请求不受 --wait --timeout 约束的问题:真实 1 秒超时测试按时退出,历史仅新增一次执行,随后成功完成。
  • 补充会话标题最多 24 字符、暂停任务不可手动运行的用法说明。两次暂时网络失败经状态回读及显式幂等重试恢复,未确定网络根因,也未增加写请求自动重试。
  • 临时 Agent、普通会话、Skill、凭证、案例/标签、定时任务、知识文档/文件夹和本体均已通过产品接口清理并核验;评测审计及软删除记录遵循服务端保留策略。本地回归 17 项通过。

边界:0.0.4 legacy/低版本拒绝仍由本地测试验证;未验证非空 BI 资产引用、外部通知、大文件、超过 20 轮窗口的历史读取。分析文件下载返回空列表,本次不据此声称验证了 BOE/产物文件内容传输。

0.3.0 / 2026-11-05

新增任务中心行动任务与指标追踪命令,以及按源码/tag 生成的平台操作目录。真实 0.0.5 环境完成任务生命周期、报告、版本限制和多种传输验证;修复异步复核提前结束和业务结果被误判为执行失败的问题。25 项本地回归通过。详细验证记录保存在代码仓库;API 入口覆盖与未验证范围见 覆盖审计。

2026-11-06 / 服务端 0.0.6 适配

适配 tag 0.0.6 / 73901fa03,CLI 0.3.0 在此补充 0.0.6 适配。新增多星期、月度、固定间隔和单次调度,保留 0.0.5 legacy 协议并拒绝不兼容写入;操作目录更新为已发布的 444 项,新增 BI 用户同步入口。机器人成员候选需传 botId,可用机器人支持 purpose=push|channel、transport=STREAM|WEBHOOK;使用授权支持成员或 BI 组。在线文档不支持下载或替换上传原件。权限与业务字段仍以目标服务端为准。

2026-11-11 / 服务端 0.0.7 适配

CLI 0.4.0 适配 tag 0.0.7 / cfdf08dba:新增 Agent BI 用户属性、历史会话保留参数、行动任务分发与证据附件下载,定时推送支持 BI 用户组。新增字段按 0.0.7 版本预检;旧版定时任务更新必须显式带计划,防止计划被重置。平台目录更新为 461 项,新增统一权限、渠道回调配置和推送管理入口,移除已废弃的渠道绑定成员接口;外部事件回调仍不作为普通管理 API。

2026-11-13 / 服务端 0.0.8 适配

CLI 0.5.0 适配 0.0.8 / b5cbd94c0:新增专家协作状态、开启/继续/停止、任务详情与材料下载,增加后台改进开关。新命令在目标低于 0.0.8 时停止。目录更新为 469 项,补入企微证据存储配置及知识修改新入口,移除已退休的手动自进化与旧记忆建议操作。服务令牌与内部协作协议继续排除,不借用用户登录态调用。