@margay/ccl-core 1.5.0-alpha.0 → 1.5.1-alpha.2
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/README.md +1 -1
- package/dist/cli.js +95197 -74935
- package/dist/sdk/background.d.ts +48 -0
- package/dist/sdk/background.js +87 -0
- package/dist/sdk/backgroundRunTypes.d.ts +101 -0
- package/dist/sdk/backgroundRunTypes.js +1 -0
- package/dist/sdk/commandAdapter.d.ts +77 -0
- package/dist/sdk/commandAdapter.js +180 -0
- package/dist/sdk/commandProcess.d.ts +27 -0
- package/dist/sdk/commandProcess.js +130 -0
- package/dist/sdk/executionGuidance.d.ts +7 -0
- package/dist/sdk/executionGuidance.js +37 -0
- package/dist/sdk/index.d.ts +16 -1
- package/dist/sdk/index.js +10 -0
- package/dist/sdk/inputProvenance.d.ts +13 -0
- package/dist/sdk/inputProvenance.js +26 -0
- package/dist/sdk/mcpServer.d.ts +9 -5
- package/dist/sdk/mcpServer.js +51 -9
- package/dist/sdk/operations/command.d.ts +24 -0
- package/dist/sdk/operations/command.js +48 -0
- package/dist/sdk/operations/host.d.ts +3 -0
- package/dist/sdk/operations/host.js +376 -0
- package/dist/sdk/operations/json.d.ts +6 -0
- package/dist/sdk/operations/json.js +24 -0
- package/dist/sdk/operations/reference.d.ts +15 -0
- package/dist/sdk/operations/reference.js +19 -0
- package/dist/sdk/operations/store.d.ts +26 -0
- package/dist/sdk/operations/store.js +300 -0
- package/dist/sdk/operations/types.d.ts +171 -0
- package/dist/sdk/operations/types.js +8 -0
- package/dist/sdk/pendingApprovalIdentity.d.ts +35 -0
- package/dist/sdk/pendingApprovalIdentity.js +27 -0
- package/dist/sdk/permissionDelegation.d.ts +19 -0
- package/dist/sdk/permissionDelegation.js +11 -0
- package/dist/sdk/query.d.ts +4 -2
- package/dist/sdk/query.js +236 -56
- package/dist/sdk/queryInput.js +7 -0
- package/dist/sdk/queryLifecycle.d.ts +19 -0
- package/dist/sdk/queryLifecycle.js +93 -0
- package/dist/sdk/queryLifecycleTypes.d.ts +160 -0
- package/dist/sdk/queryLifecycleTypes.js +47 -0
- package/dist/sdk/runtimeResources.d.ts +197 -0
- package/dist/sdk/runtimeResources.js +36 -0
- package/dist/sdk/scheduledOccurrenceTypes.d.ts +103 -0
- package/dist/sdk/scheduledOccurrenceTypes.js +12 -0
- package/dist/sdk/session.d.ts +4 -3
- package/dist/sdk/session.js +19 -14
- package/dist/sdk/types.d.ts +21 -2
- package/docs/README.md +5 -0
- package/docs/background-runs.md +229 -0
- package/docs/ccl-duo-agent.md +1 -4
- package/docs/ccl-ide-usage.md +7 -70
- package/docs/cli-installation.md +37 -0
- package/docs/command-tool-recovery.md +62 -0
- package/docs/dev-quickstart.md +29 -7
- package/docs/error-recovery-usage.md +30 -2
- package/docs/features/business-facts.md +2 -4
- package/docs/hook-input-provenance.md +120 -0
- package/docs/index.md +30 -96
- package/docs/local-analytics-quickstart.md +11 -28
- package/docs/mcp-tool-recovery.md +82 -0
- package/docs/operations-client-integration.md +1 -7
- package/docs/peer-development-review.md +0 -1
- package/docs/releases/1.5.0-alpha.3.md +17 -0
- package/docs/releases/1.5.0-alpha.4.md +16 -0
- package/docs/releases/1.5.0-alpha.5.md +26 -0
- package/docs/releases/1.5.0-alpha.6.md +15 -0
- package/docs/releases/1.5.1-alpha.1.md +11 -0
- package/docs/releases/1.5.1-alpha.2.md +17 -0
- package/docs/releases/1.5.1-alpha.md +22 -0
- package/docs/runtime-resources.md +137 -0
- package/docs/self-hosted-product-events.md +6 -35
- package/docs/shared-skill-resources.md +50 -0
- package/examples/background-runs/agents/background-reviewer.md +6 -0
- package/examples/background-runs/agents/background-worker.md +6 -0
- package/examples/background-runs/worker-reviewer.mjs +42 -0
- package/examples/command-recovery/durable-server.mjs +44 -0
- package/examples/command-recovery/receipt-command.mjs +40 -0
- package/examples/runtime-resources/catalog.ts +68 -0
- package/package.json +25 -14
- package/sdk/API.md +236 -1
- package/sdk/README.md +6 -0
- package/docs/agent-owned-error-recovery-ux-2026-10-04.md +0 -146
- package/docs/analytics-capabilities-2026-10-08.md +0 -223
- package/docs/releases/1.4.5-rc.1.md +0 -39
- package/docs/releases/1.4.5-rc.10.md +0 -50
- package/docs/releases/1.4.5-rc.2.md +0 -26
- package/docs/releases/1.4.5-rc.3.md +0 -9
- package/docs/releases/1.4.5-rc.6.md +0 -11
- package/docs/releases/1.4.5-rc.7.md +0 -14
- package/docs/releases/1.4.5-rc.8.md +0 -18
- package/docs/releases/1.4.5-rc.9.md +0 -22
- package/docs/releases/1.4.6-beta.0.md +0 -54
- package/docs/releases/1.5.0-alpha.0.md +0 -44
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
# Margay 埋点、功能开关、分析与 A/B:当前能力报告
|
|
2
|
-
|
|
3
|
-
日期:2026-10-08。依据当前源码、保留实例配置、真实执行记录及 Lisa R16 收口意见编写。报告描述的是本机已交付版本,不把开源平台菜单、方案目标或测试夹具视为已经接入真实业务。
|
|
4
|
-
|
|
5
|
-
已安装版本的基线结论:已经具备本地事件上传、平台查看、受限四类分析查询、一个实际功能的本地/远端控制,以及数字员工查询—授权灰度—报告基础链。A/B 的平台操作、统计和分组接缝有真实验证,但尚未把真实业务功能接成完整实验闭环。平台品牌改造、中文及多语言目前只是建议,尚未实施。
|
|
6
|
-
|
|
7
|
-
## 开发版进展与安装版的区别
|
|
8
|
-
|
|
9
|
-
以下原表描述已安装的本机基线,安装入口与保留服务本轮未升级。2026-10-08 后续开发工作树已经补齐通用 features 命令、report 第二消费门、真实 control/compact 布局、会话成功/失败/取消/缺失终态及独立 Python 接入样例,并在隔离服务读回真实 CLI 事件、漏斗/留存/路径和原生实验计数。两个独立项目用同一服务源码、不同注册配置验证了数据隔离。
|
|
10
|
-
|
|
11
|
-
尚不能说整个新版本已投产:独立网关工作树已修复小样本 significant:null,开发构建真实 CLI 查询已通过,但保留运行实例仍是旧版本;新目录尚未部署到保留网关,完整产品 SDK 与生产接入也未交付。操作与限制以 [开发版接入规范](operations-client-integration.md) 和 [本地使用说明](local-analytics-quickstart.md) 为准。
|
|
12
|
-
|
|
13
|
-
## 先看这张表:现在看到什么、控制什么、还缺什么
|
|
14
|
-
|
|
15
|
-
**现在能看的主要是本地验收数据,以及测试账号通过真实CLI产生的使用事件。日常用户、付费转化和业务成果还没有接入。**
|
|
16
|
-
|
|
17
|
-
| 事情 | 现在能看到什么 | 现在能控制什么 | 目前还不行/需要补做 |
|
|
18
|
-
| --- | --- | --- | --- |
|
|
19
|
-
| 埋点 | 网页中查看已接入测试账号的会话启动、分析曝光/调用/完成,事件时间、版本、平台、查询结果和耗时档位 | 本地采集开启/关闭、查看待发、尝试上传;关闭会清本地积压 | 升级后日常使用不会自动变成平台数据;要接真实账号、明确采集策略与业务事件。没有对话/工具内容采集 |
|
|
20
|
-
| 功能开关 | 查看分析查询当前允许/拒绝,以及来源和原因;网页看对应旗标配置 | 本地关闭分析查询,或服从远端;远端投放和权限控制已登记的分析查询 | 不能通过一个旗标控制所有CLI功能、模型或收费规则;其他功能需要逐一登记和接入 |
|
|
21
|
-
| 漏斗/留存/路径 | 查看、编辑、保存合成数据分析;验证过改变窗口、留存阈值、路径终点的实际结果 | 人工在界面改分析定义;CLI按结构JSON查已登记范围 | 当前不能直接回答真实激活/业务留存;CLI查询白名单还不含已上传的session_started和feature_*,需扩展范围并验口径 |
|
|
22
|
-
| A/B | 看已有合成实验的组别、样本、转换与平台统计结果;可操作实验草案和生命周期 | 人工在平台配置实验、启动/暂停/结束及调整已登记投放;分组与曝光基础机制经过独立验证 | 当前真实CLI业务没有A/B分支;不能自动比较模型效果、自动选赢家、自动扩量或止损 |
|
|
23
|
-
| 数字员工 | 看一次真实SDK查询、授权灰度和报告的运行结果 | 在明确的本地策略内查询、读旗标、调单条灰度比例、保存证据报告 | 没有定时报表/持续巡检,没有自动实验创建和完整运营闭环;日常聊天没有直接的员工操作入口 |
|
|
24
|
-
| 界面 | 当前PostHog英文页面、事件/分析/实验/开关入口 | 使用已有原生界面及路径辅助界面 | Margay品牌、中文、多语言和统一运营首页尚未改造 |
|
|
25
|
-
|
|
26
|
-
### 为实际日常使用优先补什么
|
|
27
|
-
|
|
28
|
-
1. **把日常身份和上传接通。** 明确本地试用账号或未来正式环境的账号范围与采集授权;不能把测试账号名单直接当生产接入方案。先验证一条新产生的事件能从CLI到平台读回。
|
|
29
|
-
2. **把“看使用情况”的口径接通。** 给session/功能事件明确查询数据范围,扩展受控接口白名单,建立最小使用量/查询成功率报表。目前网页可看这些事件,CLI/员工尚只能查登记的合成分析数据。
|
|
30
|
-
3. **要控制哪个实际功能,就接哪个。** 现在只能完整控制分析查询。模型选择、新工具或其他功能,需要独立的登记、业务消费点和失败默认行为验证。
|
|
31
|
-
4. **要做真实A/B,先选一个具体实验。** 接入真实A/B执行分支、稳定分组、实际曝光、业务结果事件和统计判据;现有合成实验不能替代这一步。
|
|
32
|
-
|
|
33
|
-
以上是从当前本地验证能力走向实际使用需要补的接入工作,不表示本轮已经接入日常或生产用户。多语言/品牌属于单独产品改造;定时运营、自动胜者/回滚、完整员工平台等,按真实需求再做。本报告只盘点,没有自动开启采集、修改会员规则或启动上述开发。
|
|
34
|
-
|
|
35
|
-
## 1. 当前交付和入口
|
|
36
|
-
|
|
37
|
-
| 项目 | 当前状态与入口 |
|
|
38
|
-
| --- | --- |
|
|
39
|
-
| 本机 CLI | `ccl` 已升级;构建标识 `analytics-20261008-9ea10889`,版本号仍为1.4.5-rc.3;`margay` 保持旧入口 |
|
|
40
|
-
| 平台网页 | [PostHog 登录](http://localhost:19800/login),已在可见 Chrome 中登录并验证刷新后仍有效;使用本机隔离平台账号 |
|
|
41
|
-
| 埋点查看 | 网页 Activity,筛选事件;图表在 Product analytics,实验在 Experiments,开关在 Feature flags |
|
|
42
|
-
| 路径终点编辑 | [本地路径辅助界面](http://127.0.0.1:19801),仅补原生界面缺失的终点编辑/保存 |
|
|
43
|
-
| CLI 分析网关 | 本地19803端口;只接纳已登记的合成测试账号,不是生产网关 |
|
|
44
|
-
| 日常使用说明 | [埋点、统计与开关指南](local-analytics-quickstart.md);[查询定义与协议](self-hosted-product-events.md) |
|
|
45
|
-
| 数字员工 | 相邻网关工作区独立入口,默认不运行;没有常驻调度或嵌入日常聊天 |
|
|
46
|
-
|
|
47
|
-
升级 `ccl` 没有自动开启采集,也没有切换用户原来的登录/网关。平台管理账号、CLI 网站账号、模型调用凭据是不同用途的身份;能聊天不代表已能上传或查询本地分析。现有统计包含合成夹具及真实 CLI 在合成账号下产生的事件,不是实际客户运营数据。
|
|
48
|
-
|
|
49
|
-
本文使用三种状态:**已验证**指对应入口和行为有真实证据;**基础已实现**指有代码、部分测试或独立接缝验证,但没有接成当前业务全链;**尚未交付**指当前不可作为产品能力承诺。
|
|
50
|
-
|
|
51
|
-
## 2. 埋点:目前采什么、能看什么
|
|
52
|
-
|
|
53
|
-
### 已接入的事件
|
|
54
|
-
|
|
55
|
-
| 事件 | 实际触发位置 | 可以观察 | 不能据此推断 |
|
|
56
|
-
| --- | --- | --- | --- |
|
|
57
|
-
| `session_started` | 真实 CLI 对话会话启动,且采集和身份条件满足时 | 已采集会话启动次数、时间及版本/平台分布;在平台按匿名主体去重观察已采集使用人数 | 模型成功、任务完成、付费激活;启动之后模型仍可能失败 |
|
|
58
|
-
| `feature_exposed` | `analytics.query` 得到允许决策并开始实际查询流程 | 分析功能实际进入次数、关联决策 | 查询开关状态不算曝光;当前布尔门曝光也不等于实验分组曝光 |
|
|
59
|
-
| `feature_invoked` | 同一次分析查询实际发起 | 调用次数,结合 invocationId 关联完成事件 | 所有 CLI 工具、功能、模型均已自动埋点 |
|
|
60
|
-
| `feature_completed` | 分析查询成功、失败或可观察到取消 | 分析查询结果分类,以及分桶耗时 | 全部会话任务成功率;进程骤死未必有完成事件 |
|
|
61
|
-
|
|
62
|
-
共同字段为事件ID、时间、会话ID、CLI版本、操作系统;功能事件另有功能键、决策或调用ID,完成事件有结果和耗时档位。当前完成逻辑实际发出 succeeded/failed/cancelled;契约虽有 incomplete 枚举,但尚未提供骤死后的自动补全机制。
|
|
63
|
-
|
|
64
|
-
不采集对话正文、模型回答、工具参数、文件路径、邮箱、凭据或任意附加属性。服务端按项目和环境生成匿名主体标识;不承诺跨产品/跨环境自动归并用户。事件发生时的会员状态标为 unknown,不能拿它直接做可靠的付费/免费人群归因。
|
|
65
|
-
|
|
66
|
-
### 上传和可靠性
|
|
67
|
-
|
|
68
|
-
| 能力 | 当前结论 |
|
|
69
|
-
| --- | --- |
|
|
70
|
-
| 开关和检查 | `ccl analytics enable/disable/status/flush`;默认关闭;显式隐私环境变量优先 |
|
|
71
|
-
| 身份条件 | 必须有正确网站账号,且服务端允许采集;手工/环境模型凭据不借用网站身份 |
|
|
72
|
-
| 上传链 | CLI本地持久队列 → 认证网关SQLite队列 → PostHog → 原生查询读回,已验证 |
|
|
73
|
-
| 网络和进程故障 | 超时/503保留待发;重开进程可重投;丢ACK保留事件ID;网关入队和下游响应丢失分别有故障证据 |
|
|
74
|
-
| 重复事件 | 稳定ID、服务端去重及当前原生查询配置避免已验证场景重复计数;不承诺底层永无重复行或所有外部系统exactly-once |
|
|
75
|
-
| 队列上限 | 本地最多1000事件 / 1MiB / 24小时,单批50事件 / 64KiB;过期、溢出和永久拒绝会丢弃并分类记录,并非无限保留 |
|
|
76
|
-
| CLI稳定性 | 异步最佳努力上传;请求硬截止3秒;普通会话退出最多等待1秒;真实模型在上传stall/503等场景仍成功退出 |
|
|
77
|
-
| 禁用与账号切换 | 禁用清本地待发;注销和账号绑定变化清旧队列,避免串号;不保留多个账号的离线积压,也不删除平台历史 |
|
|
78
|
-
|
|
79
|
-
`flush=accepted` 只说明网关持久接收,不能解释成平台报表已刷新;`retry` 是留队重试,`rejected` 是永久拒绝,`disabled` 是当前不上传,`idle` 是没有待发。开启后还需实际操作、身份与服务端配置都满足,才会看到事件。
|
|
80
|
-
|
|
81
|
-
## 3. 功能开关:能控制到什么程度
|
|
82
|
-
|
|
83
|
-
| 能力 | 状态 | 当前实际范围 |
|
|
84
|
-
| --- | --- | --- |
|
|
85
|
-
| 本地关闭/服从远端 | 已验证 | `ccl analytics gate off/auto`,只控制 `analytics.query`,不关闭正常聊天 |
|
|
86
|
-
| 查看生效来源 | 已验证 | `ccl analytics gate status` 显示 enabled/source/reason;auto实时查询,off无需联网;检查本身不产生使用事件 |
|
|
87
|
-
| 远端允许/拒绝及灰度 | 已验证 | 已登记平台旗标控制分析查询;原生百分比变更和独立读回已验证 |
|
|
88
|
-
| 权益裁决 | 已验证 | 主库账号状态、会员生效/到期、登记最低等级,不能相信客户端自报tier;查询前后均重新检查 |
|
|
89
|
-
| 紧急关闭 | 基础已实现且接缝验证 | 持久emergency deny、版本冲突检查及审计;会阻止实际分析操作。尚无面向操作者的统一紧急开关UI/API |
|
|
90
|
-
| 按属性选择人群 | 基础已实现 | 网关可提供会员等级、用户类型、版本、平台、项目、环境给平台;不能据此声称所有定向组合已经验收 |
|
|
91
|
-
| 离线允许缓存 | 尚未交付 | 当前分析查询需要新鲜决策;不可用则拒绝分析,不影响旧CLI主流程 |
|
|
92
|
-
| 任意功能的一键接入 | 尚未交付 | 不是在平台新建一个开关,就能控制任意CLI功能;还需要网关登记、业务消费和验证 |
|
|
93
|
-
|
|
94
|
-
当前保留实例**只有一个正式登记的功能键**:`analytics.query`,对应 PostHog 旗标 `ccl-runtime-ba2997c30177-analysis`(ID 10),是布尔门。测试最低会员等级为1,不代表已改变生产会员规则或已有免费功能。
|
|
95
|
-
|
|
96
|
-
生效关系:本地 off 直接关闭;本地 auto 还必须满足服务端账号、权限、紧急策略和投放规则。平台开启不能授予商业权限。本地设置属于当前CLI配置目录,跨账号保持;账号切换或开关在请求中改变会拒绝旧结果。旧 capability/default 没有全量迁移到新控制系统。
|
|
97
|
-
|
|
98
|
-
## 4. 分析:平台界面和 CLI 接口分别能做什么
|
|
99
|
-
|
|
100
|
-
平台界面可编辑和保存分析;CLI/数字员工走有白名单和固定数据范围的结构查询。它们不是相同权限的两个通用查询入口。
|
|
101
|
-
|
|
102
|
-
| 分析 | 当前可表达的定义 | 已验证的具体行为 | 仍有限制 |
|
|
103
|
-
| --- | --- | --- | --- |
|
|
104
|
-
| 漏斗 | 开始/完成等2–20步事件、日期、转换窗口、顺序;接口可表达登记属性过滤/分组 | 原生编辑/保存/重载;同一10人合成数据,5分钟窗口4人完成,30分钟6人完成;CLI实际查询匹配 | 顺序模式、所有过滤及breakdown组合没有逐项真实平台验收 |
|
|
105
|
-
| 留存 | 起始事件、返回事件、Hour/Day/Week/Month、2–30间隔、首次/重复留存、最少发生次数 | 原生界面和CLI;阈值1时10/4/0,阈值2时10/0/0 | 全部时间粒度、分组和复杂人群未完整验收;没有定义真实用户激活口径 |
|
|
106
|
-
| 路径 | 起点、终点、2–20步、排除事件、登记过滤条件,返回边及权重 | 原生路径和辅助终点界面;终点修改、另存新分析、重载和独立读回;CLI路径/终点两组合 | 当前结构查询仅custom_event;终点辅助工具仅本地单操作员范围;不是完整多租户编辑器 |
|
|
107
|
-
| A/B统计 | 查询明确登记的实验ID及已保存的metricId | 原生图表与CLI都读回control 504人/109转换、test 496人/294转换,并可显示平台返回的区间等字段 | 这些是1000人合成夹具;返回字段存在不代表已完成因果、样本成熟度及显著性准入 |
|
|
108
|
-
| 事件趋势/仪表盘 | 可从平台已有入口查看事件、手工组织图表 | 平台界面与已有验收数据可查看 | 自有CLI目前没有通用Trends/SQL/仪表盘管理命令;未交付真实运营看板模板 |
|
|
109
|
-
|
|
110
|
-
**特别需要区分“埋点已上传”和“CLI能查询这些埋点”。** 当前19803查询配置只登记8个 `ccl_admit_*` 合成事件、`scenario` 属性、实验1,并强制限制 `ccl_fixture` 数据范围。因此:
|
|
111
|
-
|
|
112
|
-
- `session_started` 和 `feature_*` 已能上传到平台并在网页查看,但当前CLI四类查询不能直接查询它们;不是改一个JSON事件名就能绕过白名单。
|
|
113
|
-
- 若要用CLI/员工分析这些使用事件,需要先扩展服务端登记和数据范围,并为真实分析口径补验证;本报告没有擅自修改运行配置。
|
|
114
|
-
- 已执行的七组查询是两个漏斗、两个留存、两个路径和一个A/B。schema支持更多参数,并不等于“所有自由配置均已验证”。
|
|
115
|
-
|
|
116
|
-
非实验查询最多366天,拒绝任意SQL、任意URL、跨项目和直接个人查询;当前服务实例最多4个在途查询,不是按用户的完整限流体系。输出是聚合结果及定义摘要,不返回原始用户明细。质量仍明确为 `watermark: unverified`、`causality: not_established`。
|
|
117
|
-
|
|
118
|
-
## 5. A/B 测试:已有什么,还缺哪一段
|
|
119
|
-
|
|
120
|
-
| 环节 | 当前能力和证据 | 是否已接真实CLI业务实验 |
|
|
121
|
-
| --- | --- | --- |
|
|
122
|
-
| 建立实验 | 原生界面创建/编辑草案、设置40%流量、调整主指标窗口、添加secondary指标、保存重载,逐步独立读回 | 平台操作已验证;不是ccl实验创建命令 |
|
|
123
|
-
| 生命周期 | 启动、暂停、结束为Inconclusive;结束后对应测试旗标关闭 | 已验证平台操作,不自动选赢家 |
|
|
124
|
-
| 稳定分组 | 网关支持variant门、服务端主体分组、持久assignment和签名票据,防客户端篡改桶 | 在独立本地接缝中验证;当前保留CLI只消费boolean门,没有实际A/B功能分支 |
|
|
125
|
-
| 真实曝光计数 | 自定义feature_exposed与可信variant关联;按主体/功能/实验版本首次持久接收去重 | 40个合成会员测试分为26/14,重复80次曝光仍只有40份逻辑曝光;不是40个真实客户 |
|
|
126
|
-
| 结果查看 | 指定实验和指标查询、平台显示样本/转换及部分统计字段 | 已验证另一份1000人统计夹具;不能与40人曝光验证拼成同一个完整实验 |
|
|
127
|
-
| 业务结果归因 | 需要真实业务成功事件、分组和曝光/转换窗口一致 | 尚未接入具体CLI业务目标 |
|
|
128
|
-
| 自动实验决策 | 胜者判断、样本比例异常、最小样本/观察窗、护栏和自动回滚 | 尚未交付 |
|
|
129
|
-
|
|
130
|
-
百分比灰度回答“让多少符合条件的人能用”,A/B回答“随机使用不同方案后,哪一种改善了事先定义的结果”。已有灰度开关不等于已有完整A/B。
|
|
131
|
-
|
|
132
|
-
例如“比较两个模型谁更好”:现阶段不能只在PostHog里新建实验就开始。还需在真实模型选择处消费variant,稳定绑定账号/实验版本,实际使用后发曝光,定义质量/成本/耗时指标并接入结果事件,验证归因和统计判据。当前不会自动改变用户模型或现有路由。
|
|
133
|
-
|
|
134
|
-
## 6. 数字员工:基础链已跑通
|
|
135
|
-
|
|
136
|
-
| 工具/能力 | 当前作用 | 边界 |
|
|
137
|
-
| --- | --- | --- |
|
|
138
|
-
| catalog | 获取宿主允许的分析目录与动作范围 | 不是任意项目发现或数据库浏览 |
|
|
139
|
-
| query | 通过受控网关提交四类结构查询并保存证据ID | 真实agent用两个漏斗查询验证;其余类型有网关/CLI证据,未做全套agent行为矩阵 |
|
|
140
|
-
| get_flag | 读取登记旗标的启停、版本和比例 | 私有policy限制资源 |
|
|
141
|
-
| set_rollout | 对已授权、单条条件的旗标调整比例,检查版本,写后独立读回 | 不创建新旗标,不任意改人群/启停;实测预授权上限10%、执行5% |
|
|
142
|
-
| save_report | 保存本任务查询/动作证据及摘要 | 保存宿主报告,不等于保存PostHog insight、PDF或自动群发 |
|
|
143
|
-
| 执行保护 | 持久任务/动作、租约隔离、版本冲突、撤权检查、未知结果不盲重写 | unknown自动对账、无人值守调度、完整沙箱/审批管理未交付 |
|
|
144
|
-
|
|
145
|
-
实际SDK/CLI/模型已完成“目录→两个漏斗→读旗标→5%灰度→独立验证→保存报告”,最新CLI产物也复验通过。测试旗标随后关闭。默认不运行,不新增运营后台,不自动扩大业务权限。
|
|
146
|
-
|
|
147
|
-
## 7. 现在可以做的事与下一步条件
|
|
148
|
-
|
|
149
|
-
| 目标/问题 | 当前是否可做 | 需要补什么 |
|
|
150
|
-
| --- | --- | --- |
|
|
151
|
-
| 查看已采集会话和分析功能使用事件 | 可以,在平台网页查看本地已接入账号的数据 | 日常真实账号尚未接入;不能当作全部用户统计 |
|
|
152
|
-
| 临时关闭当前本机配置的分析查询 | 可以,用该配置下gate off | 只针对分析查询,不影响聊天;平台远端不能覆盖本地off |
|
|
153
|
-
| 远端控制分析查询和测试灰度 | 可以,登记旗标与权威网关配合 | 仅本地测试范围;其他功能需逐项接入 |
|
|
154
|
-
| 自由调整已登记合成数据的漏斗/留存/路径 | 可以,通过平台或受限结构接口 | 扩展事件/属性/人群后补对应组合验证 |
|
|
155
|
-
| 查看实验组转换差异、演示实验生命周期 | 可以,使用已有合成实验或明确授权的本地实验 | 不能据此发布真实业务赢家 |
|
|
156
|
-
| 让员工比较两份分析并执行受限灰度、留报告 | 基础场景可以 | 需要有效私有运行配置和明确授权;不是面向所有用户的产品入口 |
|
|
157
|
-
| 回答“付费转化/激活/业务留存是否提升” | 当前不能可靠回答 | 定义业务事件和分母,接入真实获授权数据,处理质量与权限 |
|
|
158
|
-
| 自动创建实验、按效果扩大灰度或自动止损 | 当前不能承诺 | 真实需求、业务分支、归因、统计护栏和未知结果恢复 |
|
|
159
|
-
| Margay Logo、统一界面、中英切换 | 尚未实施 | 前端定制/国际化方案与对应界面验收;不要与本次既有能力混同 |
|
|
160
|
-
|
|
161
|
-
建议下一步先挑一个真实问题,例如“多少使用者进入分析查询、其中多少成功”。确定数据范围和口径,再开放对应事件的受控查询,做一个人能复核的看板/报告。出现真实比较目标后,再接一个具体业务A/B;出现重复运营需求后,再增加员工调度和动作。品牌与多语言可以单独规划,不需要为此重写分析引擎。
|
|
162
|
-
|
|
163
|
-
## 8. 核验依据和已知限制
|
|
164
|
-
|
|
165
|
-
本报告重读了CLI的 `clientEventContract.ts`、`clientEventClient.ts`、`clientEventRuntime.ts`、`analysisClient.ts`、`analysisContract.ts`,以及网关 `client-features/{service,runtime,store}.ts`、`client-analysis/query.ts`、`client-operations/backend.ts`;只读取保留实例非敏感的登记配置。R15已评审的10份功能/构建输入摘要仍匹配;本次是能力盘点,没有重跑产品全量测试或修改开关/运行配置。
|
|
166
|
-
|
|
167
|
-
协作仓库 `ccl/docs/feature-gate-evidence-2026-10-08/` 中的证据索引:
|
|
168
|
-
|
|
169
|
-
| 记录 | 支撑结论 |
|
|
170
|
-
| --- | --- |
|
|
171
|
-
| `s0-r7-implementation.md`、Lisa R7 | 平台UI保存/重载、路径终点、实验生命周期、有限进程恢复 |
|
|
172
|
-
| `s0-r8-joint-ack.md`、R10上传记录 | 两段ACK边界、实际session上传和队列去重 |
|
|
173
|
-
| `s0-r11-feature-authority.md`、Lisa R11 | 权威裁决、分组票据、独立实验曝光接缝 |
|
|
174
|
-
| `s0-r12-main-analysis.md`、R13查询记录 | 真正main、四类受控接口、七组合及CLI生命周期 |
|
|
175
|
-
| `s0-r14-sdk-employee.md`、Lisa R14 | 真实SDK员工、授权灰度、报告和持久保护 |
|
|
176
|
-
| `s0-r15-cli-controls.md`、Lisa R15 | 本地/远端开关、上传硬截止、真实普通CLI故障隔离 |
|
|
177
|
-
| `lisa-s0-review-r16.md` | 按用户最新有限范围完成整体交付核对 |
|
|
178
|
-
|
|
179
|
-
本机安装证据在协作仓库 `.dual-agent/ccl-local-upgrade-20261008/attempt2/result.json`,可见浏览器登录证据在 `.dual-agent/posthog-login-20261008/visible/result.json`。详细剩余工作见协作仓库 `docs/feature-gate-gap-and-upgrades-2026-10-08.md`。
|
|
180
|
-
|
|
181
|
-
全仓仍有已记录的既有类型诊断,未宣称全仓全绿;全部TUI/跨平台、所有统计维度、真实生产数据治理和生产容量均未完成验收。没有替换生产服务、接入生产客户数据或交付完整运营自治。
|
|
182
|
-
|
|
183
|
-
## 9. 开发如何拆为 CLI 与云端两条线
|
|
184
|
-
|
|
185
|
-
可以拆开推进。目标应是:**一般新增功能只改CLI业务消费点,云端做功能/事件登记和规则配置;只有出现新协议或新服务端业务,才需要两端改代码。** 当前还没有完全达到这个状态。此处“云端”包含Margay网关和PostHog;现在它们实际部署在本机隔离环境,不代表已经有生产云服务。
|
|
186
|
-
|
|
187
|
-
### 哪些现在只需登记,哪些仍需代码
|
|
188
|
-
|
|
189
|
-
| 变化 | 当前CLI侧 | 当前网关/PostHog侧 | 通用底座完成后的目标 |
|
|
190
|
-
| --- | --- | --- | --- |
|
|
191
|
-
| 已登记功能调开关/灰度比例 | 不改代码,下次决策读取规则 | 平台调整规则,通常不改业务代码;网关仍检查权限 | 保持配置操作 |
|
|
192
|
-
| 新增功能,复用feature_exposed/invoked/completed | 增加实际功能消费点与埋点;当前查询专用封装需要提取成通用客户端 | 两份功能登记需一致:事件允许的featureKey,以及功能决策的类型/原生旗标/权限映射;通用接口通常不用新写一套 | 发布登记配置+CLI接入,不为每个功能发一版网关 |
|
|
193
|
-
| 新增事件名或字段,例如task_completed/cost | 修改当前严格事件契约和生产逻辑 | 当前网关事件契约也需同步改动,否则会拒绝;PostHog采集核心通常无需修改 | 版本化事件目录/字段schema驱动校验,受控发布登记;不允许任意属性直接上传 |
|
|
194
|
-
| 新增统计看板 | 无需修改CLI,前提是所需数据已采集 | 平台编辑图表;CLI/员工受控查询还需登记事件、属性和数据范围 | 查询授权目录可配置,常规看板不改网关代码 |
|
|
195
|
-
| 为已有客户端行为增加A/B | 实现真实A/B分支、取variant、正确时机曝光和结果事件 | 登记变体、版本、实验、权限和指标;已有分组服务可复用 | 首次能力接入要开发,以后调整分流和实验参数配置化 |
|
|
196
|
-
| 新增付费服务、额度扣减或敏感云端动作 | 接客户端入口及展示 | 实际业务服务必须重新鉴权/计费/校验,不能只信客户端功能门 | 这类业务代码仍需要服务端实现,不以通用埋点替代 |
|
|
197
|
-
|
|
198
|
-
**当前登记不是热更新产品能力。** `client-analytics/runtime.ts` 在启动时读取本地配置,而且把 `allowedSubjects` 和 `registeredFeatures` 写入队列绑定。直接追加名单/功能后复用原队列会报“binding changed; explicit migration required”。因此现在不能承诺“加一行配置就能无中断接新功能”;需要先提供区分身份边界与可演进目录的配置更新/迁移机制,不能删除绑定检查或丢队列绕过去。
|
|
199
|
-
|
|
200
|
-
### CLI线的职责
|
|
201
|
-
|
|
202
|
-
- 把查询专用逻辑整理为通用功能门和生命周期埋点接口,供具体功能调用;普通使用事件与A/B曝光语义分清楚。
|
|
203
|
-
- 每个功能登记默认行为、失败处理、本地覆盖及是否涉及服务端权益;逐一接入真实业务点,保持聊天稳定。
|
|
204
|
-
- 按目录采集字段,保留队列/重试/禁用/账号隔离;补真实任务结果指标时验证它确实代表目标,而非单纯“发起了调用”。
|
|
205
|
-
- A/B只有执行了对应变体才记录曝光;旧客户端不认识新门/字段时有明确兼容策略。
|
|
206
|
-
|
|
207
|
-
### 云端线的职责
|
|
208
|
-
|
|
209
|
-
- 把local-admission测试入口发展为真正可部署的认证、项目/环境隔离和采集授权服务;当前代码明确拒绝production,不能只改环境标识当作投产。
|
|
210
|
-
- 做功能目录、事件schema目录和查询授权目录的受控发布,支持版本、更新、回退及审计;常规新增登记不再强制网关发版。
|
|
211
|
-
- 复用已有接收/持久化/投递/分组逻辑,补真实用户准入、限流、数据保留/删除、监控及故障运维;接口只认可登记字段,不信客户端自报权限或实验桶。
|
|
212
|
-
- PostHog负责存储、分析、实验配置和可视化。常规接入新featureKey/事件,不需要修改PostHog引擎;品牌和多语言是独立的前端改造,不应阻塞事件协议解耦。
|
|
213
|
-
- 涉及商业权益和实际云端操作,在对应业务服务执行权威校验;后台开关只是其中一个输入。
|
|
214
|
-
|
|
215
|
-
### 两条线的最小共同约定与交付顺序
|
|
216
|
-
|
|
217
|
-
先共同确定功能key、事件名/字段及schema版本、身份/项目/环境、默认与本地优先级、真实曝光时机、持久接收语义及未知字段处理。建议维护一份可版本化契约,生成/验证两端类型,避免继续人工复制事件schema。
|
|
218
|
-
|
|
219
|
-
随后并行:CLI做通用接入层与首批具体功能;云端做目录发布、真实准入和配置演进。用一个已登记功能做联合验收:开启→真实执行→平台查到事件;远端关闭及权限撤销→实际业务拒绝;平台故障→CLI既有主流程不受扰;目录更新与旧客户端/旧队列兼容。
|
|
220
|
-
|
|
221
|
-
再用“增加第二个同类功能”验收解耦成果:允许新增CLI消费点和发布目录配置,但不得为此修改/重新发布网关业务代码或PostHog源码;旧待发事件继续投递、新事件能查询,开关仍按权限生效。只有这个检查通过,才能说云端底座已能独立支撑后续CLI扩展。
|
|
222
|
-
|
|
223
|
-
这是一条后续实施建议,本次没有开始生产迁移或新增功能接入。
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.1 候选版本
|
|
2
|
-
|
|
3
|
-
日期:2026-10-04。基线为本机升级前安装的 `1.4.5-rc.0` 对应提交 `0bfcecf2`。此候选保留该基线的输出截断分阶段恢复、Skill 加载和收件箱串行处理;整合网关输出能力契约、错误提示与 agent 自主恢复边界。
|
|
4
|
-
|
|
5
|
-
## 用户可见变化
|
|
6
|
-
|
|
7
|
-
- 读取网关 `X-Effective-Max-Output-Tokens` 和能力版本,按请求模型记录实际 deployment 上限。默认预算、环境变量预算和后续请求遵循已观察上限;真实响应缺头或头值非法时清除旧值,没有响应头对象时保留原状态。首请求不能预知服务端上限。
|
|
8
|
-
- 最终请求仍经过 rc.0 的 RequestBudget 校验。`extra-body` 改写模型或预算也不能绕过最终模型的上限;非法预算继续拒绝。自动 thinking 从限制后的预算派生,自动派生的原生模型 thinking 算术冲突可局部修正;显式 thinking 冲突通过交互确认后,才可在当前任务轮次关闭 thinking 重试。拒绝、取消或无交互返回 `needs_user`,不静默改写持久配置。提示显示 thinking 与实际输出预算,并保留配置调整及 `/compact` 等替代建议。
|
|
9
|
-
- 保留 `CCL_MAX_OUTPUT_TOKENS` 优先于 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`。现有分阶段截断恢复在扩大预算前重新读取最新网关上限,保留工具副作用与恢复次数保护,不恢复旧分支的固定 64K 重试流程。
|
|
10
|
-
- 公共 system prompt 要求主 agent 根据证据判断恢复风险:短时低风险且已授权的修复可执行并验证;耗时、效果不确定、明显影响质量或体验、权限/删除等敏感修复先征求同意,AskUser 可用时使用现有交互工具。
|
|
11
|
-
- thinking-history 关闭 reasoning、二次输出预算升级及 reactive compact 在原执行点增加同意门禁,保留共享恢复额度与已执行工具结果。配置中的备用模型/endpoint 链保持已有授权语义,不自动发明备用模型。
|
|
12
|
-
- 持续连接故障、账户额度或认证阻塞向用户提供所需帮助,并通过 `blocked_external` 交给 SDK/父任务;父任务不误报完成,不新增外部消息发送。输出 token 到限不归类为余额耗尽。
|
|
13
|
-
- 权限、限流、拒答和 TLS 错误提示移除不适用的 Claude/Anthropic 品牌引导及站点链接。
|
|
14
|
-
|
|
15
|
-
## 兼容与交付
|
|
16
|
-
|
|
17
|
-
包名仍是 `@margay/ccl-core`,命令仍是 `margay`,SDK 导出、依赖版本和发布文件白名单沿用 rc.0。无数据迁移。版本清单、锁文件根版本、CLI 内嵌版本与冒烟断言同步为 `1.4.5-rc.1`。
|
|
18
|
-
|
|
19
|
-
本次候选在独立 worktree 构建和打包。打包 CLI 的版本、帮助入口与字节哈希由本次执行核验;本地回归覆盖网关响应解析、最终 HTTP 预算、缺头恢复、extra-body、thinking 冲突和既有工具/Skill/compact 截断恢复。原开发分支的 R9 C9 真实 fallback 是历史证据,不表述为本次 rc.1 工件已再次运行真实网关联调。执行明细保存在该 worktree 的 `.dual-agent/test-evidence/release-1.4.5-rc.1/`。
|
|
20
|
-
|
|
21
|
-
候选准备阶段未切换本机入口;后续本地升级已完成,见下节。网关配置未改动,npm 发布与 Git 推送均未执行。
|
|
22
|
-
|
|
23
|
-
后续 thinking 冲突 UX 修正的源码回归、真实 WezTerm 中打包 CLI 的六组拒绝/恢复用例及更新后的包保存在 `.dual-agent/test-evidence/thinking-budget-ux/`。这六组验证使用本地 HTTP 夹具与 `--print`,不宣称交互 REPL 或真实供应商验证;旧发布目录的哈希只对应修正前候选。
|
|
24
|
-
|
|
25
|
-
agent-owned-error-recovery 的分步提交、独立评审及证据边界见 [实施方案](../agent-owned-error-recovery-ux-2026-10-04.md)。整体实现 R2–R5 已获 Lisa CONSENSUS;前三个切片已提交,最终 AskUser 指令、真实模型验收与 fallback 回归为 `3435cc1e`,文档为 `58d31b9e`;Lisa R6 已复核分步提交范围并确认实现任务完成。此前候选包不包含全部更新,不作为最终发布工件。Context collapse 与媒体恢复在当前版本均未启用,不声明具备对应能力;真实模型的有限样例也不构成对任意修复判断的保证。
|
|
26
|
-
|
|
27
|
-
## 最终工件与本地双入口升级
|
|
28
|
-
|
|
29
|
-
2026-10-04,基于 `58d31b9e` 打包最终候选,保留原安装后更新本机 `ccl` 和 `margay`。两处既有 ccl launcher(App 与本地 PATH)以及 margay 入口均指向同一候选,版本实测为 `1.4.5-rc.1 (Margay)`。npm 包本身仍只声明 `margay` bin;此次另外维护了本机已有的 ccl launcher。
|
|
30
|
-
|
|
31
|
-
- 已审 CLI SHA256:`08ec32446aa805fe7c3706d07fdc6f0eee4c2d9d171fc6dc6ebdb48fa03d710d`。
|
|
32
|
-
- 最终本地 tgz SHA256:`20654c14978e9016503d3e1386b7269efe151407e006269e43a6190d487e3dfe`。
|
|
33
|
-
- 安装后 36 个包文件与 tar 逐字节一致;Node 22/23 下版本、帮助及相关依赖加载通过。
|
|
34
|
-
- WezTerm 六个已安装入口场景覆盖批准、取消、账户额度和网络阻塞,均通过。使用本地 HTTP 夹具,不改称真实供应商验证;真实模型判断三例沿用前述实现验收证据。
|
|
35
|
-
- 三处入口经过两次完整 rc.1 → rc.0 → rc.1 回滚循环;Lisa R7 独立核验后确认本地升级完成。
|
|
36
|
-
|
|
37
|
-
本机候选目录中的 `LOCAL-UPGRADE.md` 与 `local-install-receipt.json` 记录安装及回滚。需回退时,在该目录运行 `python3 switch-entrypoints.py rollback`;脚本校验入口是否仍为已记录状态,恢复原文件或符号链接,并验证旧版本。原 App payload 与全局 npm rc.0 包树保留,故全局 npm 元数据可能仍显示 rc.0;运行版本以实际命令入口为准。
|
|
38
|
-
|
|
39
|
-
此次是本机安装,不是 npm/网站发布。后续产品文档同步不重建或替换以上已验收工件;源码的打包清单补入恢复指南、此版本说明与实施记录,供以后打包时携带,不改变上述已安装包的 36 文件收据。用户操作说明见 [恢复指南](../error-recovery-usage.md);本地安装证据位于 `.dual-agent/test-evidence/local-upgrade-1.4.5-rc.1/`。
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.10
|
|
2
|
-
|
|
3
|
-
本版本包含双命令入口和 Mac Phase B 稳定性修复。包同时注册 `ccl` 和
|
|
4
|
-
`margay`,两个命令指向同一份运行程序,功能、参数和版本相同。
|
|
5
|
-
CLI 与 SDK 随同一个 `@margay/ccl-core` 包交付。
|
|
6
|
-
|
|
7
|
-
## 相对 rc.9 的更新
|
|
8
|
-
|
|
9
|
-
- 网关请求区分连接、等待响应和流式读取阶段,阶段期限共用请求总期限。
|
|
10
|
-
CLI/SDK 可选择接收等待进度;通知异常不阻塞请求,不混入模型上下文。
|
|
11
|
-
- 无头执行的一次输入只返回一个终态。任务失败后,旧后台通知不会重新唤起模型、
|
|
12
|
-
执行工具或重复返回结果;取消及 SDK 关闭会清理所属后台任务。
|
|
13
|
-
- 自动继续与压缩累计使用剩余任务预算,避免重置额度后不断运行。
|
|
14
|
-
- 修复 CI 网关凭据识别、Duo 超时后的恢复,以及进程内/独立进程 Swarm 的失败通知。
|
|
15
|
-
- 保留 rc.9 的输出预算、慢请求等待和有界断流恢复;已完成工具结果继续保留。
|
|
16
|
-
- 将外部运行依赖 `undici` 固定为本候选验证过的 `8.0.2`,避免全新 npm 安装
|
|
17
|
-
自动选择不同版本。Node 声明要求调整为 `>=22.19.0`,与该依赖声明一致;
|
|
18
|
-
原先的 Node 20 支持声明不再适用。
|
|
19
|
-
|
|
20
|
-
## 安装与升级
|
|
21
|
-
|
|
22
|
-
全局安装后核对两个入口:
|
|
23
|
-
|
|
24
|
-
```sh
|
|
25
|
-
npm install --global @margay/ccl-core@1.4.5-rc.10
|
|
26
|
-
ccl --version
|
|
27
|
-
margay --version
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
两者应输出 `1.4.5-rc.10 (Margay)`。不带 `--global` 的安装只更新项目依赖,
|
|
31
|
-
可通过 `./node_modules/.bin/ccl` 或 `./node_modules/.bin/margay` 使用。
|
|
32
|
-
|
|
33
|
-
旧的自定义启动脚本、alias 或 PATH 排序可能继续选择旧版本。若安装报告
|
|
34
|
-
`EEXIST` 或运行版本不一致,按[安装与升级说明](../cli-installation.md)检查并
|
|
35
|
-
备份迁移对应入口。npm 全局安装不会替换 Margay Desktop 内嵌的运行包。
|
|
36
|
-
|
|
37
|
-
## 验证与已知边界
|
|
38
|
-
|
|
39
|
-
Phase B 候选已在 Mac 验证 Node/Bun 下 CLI、SDK 的成功、超时、取消和后续输入,
|
|
40
|
-
以及 TUI、Duo、Swarm 和 Margay.app 私有副本的消费链路。CLI 构建 SHA256:
|
|
41
|
-
`92a070720228fe35b80608e751fb59ea0116ac7c9e9115c009da98e1063a39df`。
|
|
42
|
-
包的安装检查另外验证 POSIX 全新全局/项目安装、rc.9 升级、双入口、旧脚本冲突和 PATH 遮挡。
|
|
43
|
-
|
|
44
|
-
- 本版不包含“轮次耗尽返回退出码 2,由上层自动续接”的新方案;到上限仍报告
|
|
45
|
-
`error_max_turns`。真实视频验证的首个 48 轮调用失败,另一次明确输入才完成交付。
|
|
46
|
-
- DeepSeek thinking 400 的根因及针对性修复尚未收口;不能承诺本版消除该错误,
|
|
47
|
-
也不能仅凭 `blocked_external` 认定连接/超时问题已修复。
|
|
48
|
-
- Windows 实机未验证;全仓 typecheck 的 11 条既有诊断未解决。
|
|
49
|
-
- 获批 reactive compact 与 taskBudget 组合在当前公开入口不可达,仅作源码核对。
|
|
50
|
-
运营接口 401 及 shell 失败文案与 `is_error:false` 不一致的线索仍待定位。
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.2 本机候选版本
|
|
2
|
-
|
|
3
|
-
基于本机已安装的 1.4.5-rc.1 源码及其交付文档(37b7a13b),整合网页登录与共用模型额度功能。保留 rc.1 的输出预算约束、恢复前征求同意、外部阻塞报告和收件箱串行处理。
|
|
4
|
-
|
|
5
|
-
新增独立的 `margay login`、`margay account status`、`margay logout`,以及 TUI `/login`、`/logout` 和兼容的 `/gateway` 入口。`auth login/status/logout` 统一管理 Margay 账号。网页登录凭据存放在系统凭据库,本地配置只保留凭据引用。已保存账号在模型请求边界验证;显式网关环境配置仍优先。
|
|
6
|
-
|
|
7
|
-
官网与正式网关组合:
|
|
8
|
-
|
|
9
|
-
```sh
|
|
10
|
-
margay login --website https://margay-ai.com --gateway https://api.talkit.dev
|
|
11
|
-
margay account status
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
账号功能在原开发分支已实测网页登录、独立进程读取以及一次真实模型调用,230 tokens 与账号额度扣减一致。rc.2 合并到既有发布基线后的构建和定向回归单独验证,不能把原开发分支的真实调用称为 rc.2 工件的再次调用。
|
|
15
|
-
|
|
16
|
-
本次范围为生成候选包并升级本机 `ccl`、`margay` 三处既有入口,保留 rc.1 安装和入口备份供回退。npm 公共发布不在本次操作中。跨平台原生凭据库及完整正式账号验收尚未完成,CLI 估算费用与后台费用口径仍待核对。
|
|
17
|
-
|
|
18
|
-
## 登录入口替换(R22 正式审核通过)
|
|
19
|
-
|
|
20
|
-
`/login`、`margay login`、`margay account login`、`margay auth login` 统一登录 Margay 官网账号;新用户默认连接 `https://api.talkit.dev`。首次引导不再启动 Anthropic OAuth 或其网络预检。取消/失败保留原账号,`/logout` 只退出本机 Margay 账号并说明环境覆盖仍可能生效。
|
|
21
|
-
|
|
22
|
-
兼容变化:`auth login --claudeai/--console/--sso` 不再支持;`setup-token` 返回迁移提示和非零退出码。状态默认 JSON 不变,支持 `--json`/`--text`。手动 `/gateway login URL KEY` 继续可用。`/upgrade`、`/extra-usage` 提示到 Margay 官网管理额度会员,不执行订单或付款。
|
|
23
|
-
|
|
24
|
-
范围例外:Teleport 的错误恢复仍依赖 Claude 登录;本次未改变高级模型 provider 路由或删除其历史凭据。新的账号概览、用量和账单页面仍在设计阶段。
|
|
25
|
-
|
|
26
|
-
验证:340 项定向回归、7 项预检、5 项构建 CLI 检查通过;隔离 WezTerm + Chrome + 本地服务验证首启、授权、取消、重启状态和退出。当前 Lisa 席位 R22 正式 PASS。
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.3 本机候选版本
|
|
2
|
-
|
|
3
|
-
支持保存多个网关的登录态,每个网关保留一个账号;同一账号可分别登录多个网关。新增 `ccl account list`、`ccl account switch URL`,TUI 可用 `/gateway list`、`/gateway switch URL`。使用 `ccl login --gateway URL --force` 更换指定网关的账号,使用 `ccl logout --gateway URL` 仅退出指定网关。
|
|
4
|
-
|
|
5
|
-
旧配置兼容读取;首次修改时备份并迁移到 schema 4。升级安装本身不修改账号配置或系统凭据库。切换会验证目标网站账号;手动密钥配置离线切换并标记未验证。切换后重置模型路由和相关缓存,防止旧请求影响新账号。
|
|
6
|
-
|
|
7
|
-
功能源码经 Lisa 独立评审及双方收口。262 项定向测试通过;隔离 WezTerm、Chrome、双网关用例验证登录、切换、重启和退出,并验证模型请求只发往目标网关。模型响应为测试服务的 402,不能视为真实推理成功。
|
|
8
|
-
|
|
9
|
-
本版本只升级本机 ccl/margay 三处既有入口,不发布 npm。安装记录绑定源码提交和工件哈希;保留 rc.2 安装、旧入口与配置备份,验证入口回退后再启用 rc.3。跨平台凭据库与真实模型推理未在本次升级重新验证。
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.6 本地候选
|
|
2
|
-
|
|
3
|
-
本版本尚未发布 npm,仅用于本机试用。
|
|
4
|
-
|
|
5
|
-
- 修复新一轮请求继承旧静默时间,以及合法前台模型/工具执行被 watchdog 误判的问题(CCL #34)。
|
|
6
|
-
- Duo 执行失败后暂停任务并保留材料;正常回复和旧轮晚到错误不会误暂停新任务(Margay #15)。
|
|
7
|
-
- `/duo status` 与支持的完整进度问句只读查看,不再让审核材料过期;混合修改要求仍计入需求变更(Margay #16)。
|
|
8
|
-
- 修复带引号的模型参数,依据可信网关目录解析别名,启动前检查审核 agent 定义(Margay #17)。
|
|
9
|
-
- 保留 rc.5 的 CCL/SDK 身份及通用搜索提示词修正,明确指定 Claude 的查询仍保留该范围。
|
|
10
|
-
|
|
11
|
-
四项 issue 修复经本 session RLL R1 PASS、R2 CONSENSUS。整合后19文件115项回归通过,构建及功能门检查通过。Margay #11/#13 仍待事故证据;真实云端双模型全流程和 headed GUI 未验收;完整 typecheck 仍有已记录的11条基线诊断。本版本不要求部署网关,不改用户账号和网关配置。此前运营候选的发布前风险记录仍适用,本地安装不代表生产发布准入。
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.7(本机候选)
|
|
2
|
-
|
|
3
|
-
本版本接入 #33 业务运行事实记录、查询和增量导出,供 FDE 消费。延续 rc.6 客户端修复;仅本机试用,尚未推送或发布 npm。
|
|
4
|
-
|
|
5
|
-
- CLI `--business-context`、交互 `/business bind` 和 SDK `businessContext` 显式启用记录;未绑定不采集,禁持久化设置优先。
|
|
6
|
-
- 记录真实运行、工具请求与结果、取消及加载版本。未知工具及执行前取消也保留记录,不虚构工具已开始执行或业务已确认成功。
|
|
7
|
-
- `business status/list/show/note/export` 提供本地查询、声明补记与增量导出。导出生成 batch.json、context.json、manifest.json;来源缺失明确 partial,不确认游标;原文默认不导出。
|
|
8
|
-
- 不要求新增网关或云端服务,不以账号升级为前置;FDE 跨来源分析在消费端进行。
|
|
9
|
-
|
|
10
|
-
首次试用请重启 CCL,再执行 `/business bind --project ccl-issue33-trial --task first-run --employee owner`。旧版本可保留回退,新增账本不会被软件回退删除。
|
|
11
|
-
|
|
12
|
-
业务实现已有 RLL R5 CODE PASS / R6 CONSENSUS;rc.7 是版本调整后重新构建的产物,安装检查单独记录。用户实际试用及公开发布仍待后续决定。当前验证平台为 macOS/arm64;完整 typecheck 存在此前记录的 11 条基线错误,不能称全量检查通过。
|
|
13
|
-
|
|
14
|
-
完整说明见 [业务事实使用指南](../features/business-facts.md)。
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.8
|
|
2
|
-
|
|
3
|
-
延续 rc.7 的业务运行事实记录与 rc.6 修复,新增以下客户端改动。本版本为预发布版本,不要求部署网关。
|
|
4
|
-
|
|
5
|
-
- 网关 deadline 错误保留真实失败原因,不再误判为用户取消。
|
|
6
|
-
- 普通布局支持拖选文字、双击选词后自动复制;在 `/config` 搜索 `copy`,使用 **Copy selected text automatically**。它与 `/copy` 整段回复设置独立。
|
|
7
|
-
- macOS、Windows、Linux/WSL 按当前环境选择剪贴板工具,区分本地工具成功、tmux/OSC52 请求未确认和复制失败。
|
|
8
|
-
- 剪贴板写入进程超过 2 秒即结束等待;即使终止失败也不无限等待。旧进程未确认退出时,后续复制立即提示不可用,退出后自动恢复,避免旧内容覆盖新选区。
|
|
9
|
-
- 修复软换行夹入布局空格、普通布局链接点击及相关交互恢复问题。
|
|
10
|
-
- 复制结果在普通布局显示完整一行;回看历史时在底部显示约 4 秒。原生工具和 tmux 未成功且文字超过 OSC52 的 100,000 UTF-8 字节上限时明确提示保存文件,不静默截断文字。
|
|
11
|
-
|
|
12
|
-
此前实现已有 RLL 审核与隔离验证;本次版本构建和安装单独核验,不将旧审核冒称对新产物哈希的审核。Windows/Linux 真实桌面、系统粘贴和物理鼠标仍待验收。WezTerm 20240203 不经 tmux 的私有光标查询不支持时会降级,不能宣称自动复制可用。
|
|
13
|
-
|
|
14
|
-
本机旧 rc.7 保留回退。已运行进程需重启才加载 rc.8;不自动重启当前会话、不修改账号/网关配置。完整 typecheck 的 11 条既有诊断仍未解决。
|
|
15
|
-
|
|
16
|
-
已知问题:使用网站账号时,运营接口(例如 `/client/features`、`/client/events`)返回 401,仍可能误清除当前网关的登录态,即使模型服务认证有效。此问题尚未修复;出现后需要重新登录。不代表所有网关都会触发此问题。
|
|
17
|
-
|
|
18
|
-
使用说明:[选中文字自动复制](../features/copy-on-select.md)、[业务运行事实](../features/business-facts.md)。
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# 1.4.5-rc.9
|
|
2
|
-
|
|
3
|
-
本版本修复无头 `-p` 和 SDK 等入口的默认输出预算被功能门错误压到 8000 tokens,
|
|
4
|
-
并调整慢网关响应的客户端等待策略。无需同时部署网关。
|
|
5
|
-
|
|
6
|
-
- 移除非预期的默认 8K 压缩,按模型、显式环境设置和已知网关限制计算预算。
|
|
7
|
-
非 Anthropic 默认路径恢复到 32000;不是所有模型一律 32K,也不绕过服务端限制。
|
|
8
|
-
- 保留 `CCL_MAX_OUTPUT_TOKENS` 优先于兼容变量 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`。
|
|
9
|
-
预算是每次响应上限;大型任务可以多轮完成,截断恢复仍有界。
|
|
10
|
-
- 网关请求建立期限默认 300 秒,支持 `CCL_GATEWAY_REQUEST_TIMEOUT_MS`。
|
|
11
|
-
超时报错包含客户端阶段、期限和 trace;不误认为用户取消,不新增自动重试。
|
|
12
|
-
- 流式空闲策略直接依据实际路由选择默认值,保留显式覆盖与 ping 防挂死保护。
|
|
13
|
-
- 响应流意外断开时,进入现有有界恢复流程:未执行的半截响应可自动重试一次,
|
|
14
|
-
已完成工具结果保留,结果不明的操作不盲目重放。诊断保留网关请求 ID 和底层原因。
|
|
15
|
-
- 收到 `message_stop` 即结束该轮读取,不再因随后连接关闭而把完整响应误报为失败。
|
|
16
|
-
自动恢复用尽时,CLI/SDK 明确返回失败与已保留工作的说明。
|
|
17
|
-
|
|
18
|
-
安装:`npm install -g @margay/ccl-core@1.4.5-rc.9`。
|
|
19
|
-
SDK/Margay 若使用内嵌或固定路径的 CLI,也需更新对应运行包;仅更新另一个全局入口不会替换内嵌版本。
|
|
20
|
-
|
|
21
|
-
本版本沿用 rc.8 的其它功能。客户端提高等待期限不能消除网关自己的超时,
|
|
22
|
-
也不能保证所有慢请求最终成功。已有环境变量在进程启动时继承,更新后需重启会话。
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# 1.4.6-beta.0
|
|
2
|
-
|
|
3
|
-
本版将已在本机完成验证和独立审核的修复发布到 npm。基线为
|
|
4
|
-
`1.4.5-rc.10`,实现与本地候选 `1.4.5-rc.10.local-issues-38-42.1`
|
|
5
|
-
一致;本次只调整发布版本、重新构建并补充版本说明。
|
|
6
|
-
|
|
7
|
-
## 相对 npm rc.10 的变化
|
|
8
|
-
|
|
9
|
-
- #22:失败的 Bash 命令保留 stdout/stderr,较长的错误输出明确标记截断。
|
|
10
|
-
- #35:显式 thinking 设置通过 CLI、SDK 正确传给兼容 Messages 网关;
|
|
11
|
-
原生模型继续遵循各自能力适配。
|
|
12
|
-
- #36:bare 模式显式请求 Write 等不可用工具时,在请求模型前明确报错,
|
|
13
|
-
避免静默过滤。bare 默认仍为 Bash、Read、Edit。
|
|
14
|
-
- #38:SDK 支持异步输入序列,逐轮返回结果,正确处理输入结束、取消和关闭。
|
|
15
|
-
- #39:中文等不依赖空格分词的请求可以进入已有相关记忆选择流程。
|
|
16
|
-
- #40:新增 SDK Session/Turn 接口,支持常驻进程、排队输入、优先纠正和逐轮取消。
|
|
17
|
-
- #41:新增 ContextCheckpoint,支持保存、压缩请求中的历史工具结果及恢复原证据。
|
|
18
|
-
- #42:新增独立 daemon 执行持久任务,记录执行与本地结果交付,避免交付重试重复执行。
|
|
19
|
-
- GLM 服务端工具历史切换到其他模型时,转换已完成且配对明确的扩展结果;
|
|
20
|
-
保留原始会话记录和普通客户端工具调用。
|
|
21
|
-
- 保留已验证的流式工具调用、压缩恢复和会话并发写入修复,以及 rc.10 的
|
|
22
|
-
请求期限、取消、后台任务清理和唯一终态处理。
|
|
23
|
-
|
|
24
|
-
## 安装与兼容
|
|
25
|
-
|
|
26
|
-
```sh
|
|
27
|
-
npm install --global @margay/ccl-core@1.4.6-beta.0
|
|
28
|
-
ccl --version
|
|
29
|
-
margay --version
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Node 要求仍为 `>=22.19.0`。CLI 和 SDK 随同一个包发布。
|
|
33
|
-
全局升级不会替换 Margay Desktop 内置的运行包;桌面端需单独更新其依赖和构建。
|
|
34
|
-
本版不自动安装系统启动服务、不自动重启已有会话,也不迁移用户数据。
|
|
35
|
-
|
|
36
|
-
目标 npm 标签:`latest` 指向本版,`next` 与 `stable` 指向 `1.4.5-rc.10`。
|
|
37
|
-
`rc` 标签保持原值。
|
|
38
|
-
|
|
39
|
-
## 验证与仍需处理的问题
|
|
40
|
-
|
|
41
|
-
核心实现的独立审核和执行证据见仓库中的
|
|
42
|
-
`docs/issues-22-35-36-fix-2026-10-18.md` 与
|
|
43
|
-
`docs/issues-38-42-fix-2026-10-19.md`。本次发布的构建、安装及协议验证记录
|
|
44
|
-
保存在 `.rll/records/release-1.4.6-beta.0/`,发布包与验证包使用同一份 tarball。
|
|
45
|
-
|
|
46
|
-
- 此版仍有 AI 指令审核发现的定时语义问题:相对时间、精确时刻和未来开始可能
|
|
47
|
-
生成不符合要求的计划;“关闭终端继续运行”也可能只保存任务而未启动 daemon。
|
|
48
|
-
- HTTP 400/401 的部分具体原因展示和父子任务重复错误恢复用例仍有既有失败。
|
|
49
|
-
- 任务达到配置的轮次上限仍会失败,不保证自动续接;提高输出预算不突破模型或网关上限。
|
|
50
|
-
- 检查点验证证明保存/恢复可用,不代表性能或 token 成本改善。
|
|
51
|
-
- 全仓类型检查存在 11 条已记录的基线错误;Windows 实机未验证。
|
|
52
|
-
|
|
53
|
-
需要回退时可安装 `@margay/ccl-core@1.4.5-rc.10`。回退不会撤销已经执行的任务或文件写入;
|
|
54
|
-
依赖本版新 SDK 接口的宿主应同步回退其调用代码。
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# 1.5.0-alpha.0
|
|
2
|
-
|
|
3
|
-
本版基于 `1.4.6-beta.0`,交付 AI 指令综合升级。原方案 F1–F14 的修复、真实端到端验证和六原则复核已完成,原协议 Lisa 在 R10 总复核通过。此版为 alpha 预览,不将办公生成的失败样本或既有类型诊断宣称为通过。
|
|
4
|
-
|
|
5
|
-
## 主要变化
|
|
6
|
-
|
|
7
|
-
- 主助手、子助手的能力说明与实际工具解析共用来源。bare 无 Agent 时可直接工作;零工具角色不再被描述成全工具。内置技能和常规提示不强制调用不存在的工具。
|
|
8
|
-
- 技能目录按完整条目分页,保留中文用途与近邻排除;宿主维护真实加载状态,文件里的标签不再被视为授权凭据。
|
|
9
|
-
- 执行型子助手保留项目约束;审查允许必要的隔离测试产物。配置使用真实路径 owner;Git 写操作按依赖顺序执行;旧 auto/smart 不再用短词覆盖上下文分类。
|
|
10
|
-
- 定时任务支持一次性、固定间隔和带时区的日历计划,包含未来起点与显式时间容差。新建精确任务默认不主动提前或错峰。
|
|
11
|
-
- 明确后台任务接通 daemon 的启动、调度锁和真实就绪检查;保存、执行、权限等待和投递状态分别呈现。关闭创建终端后,结果可从新入口取回。
|
|
12
|
-
- SDK 增加生命周期事件,修复用户输入与自主后台结果并发时的挂起和归属。包内 `examples/assistant/` 提供连续会话、进度、权限恢复和 Office 独立验证的参考宿主。
|
|
13
|
-
- 统一记忆选择 JSON 合同,避免整理 worker 重复检索。视觉输出预算受实际模型能力约束,预算耗尽或截断明确失败;主动取消不再误报缺少正常答案。
|
|
14
|
-
- Office 渲染只清理自己登记且未被修改的过期页面,避免短版文档混入旧尾页。
|
|
15
|
-
|
|
16
|
-
## 安装
|
|
17
|
-
|
|
18
|
-
```sh
|
|
19
|
-
npm install --global @margay/ccl-core@1.5.0-alpha.0
|
|
20
|
-
ccl --version
|
|
21
|
-
margay --version
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
两个入口均应输出 `1.5.0-alpha.0 (Margay)`。Node 要求仍为 `>=22.19.0`。预览标签为 `alpha`;`latest`、`next`、`stable`、`rc` 保持原值。
|
|
25
|
-
|
|
26
|
-
此包同时提供 CLI 与 SDK,不会更新 Margay Desktop 内置依赖,也不会自动重启已有进程或安装系统开机服务。若 PATH 前面存在旧包装脚本,用 `type -a ccl margay` 与 `"$(npm prefix -g)/bin/ccl" --version` 核对实际入口。
|
|
27
|
-
|
|
28
|
-
Office 参考流程的制作/渲染依赖及宿主与助手分工见包内 `examples/assistant/README.md` 和 `office/workflow.md`;发布包不自动安装 LibreOffice 或 Python 制作依赖。
|
|
29
|
-
|
|
30
|
-
## 调度兼容与回退
|
|
31
|
-
|
|
32
|
-
旧 cron 定义保持原有读取语义,不在读取时静默迁移。首次向已有旧格式文件写入版本 1 计划前,保存原字节到 `.ccl/scheduled_tasks.json.pre-v1.backup`。
|
|
33
|
-
|
|
34
|
-
旧版本不能完整理解新建的 once/interval 计划。回退前先停止本项目的新调度 owner,导出新任务与执行结果,再恢复旧格式备份;没有旧文件时保留导出并移开新格式文件。之后才安装旧版本。不要同时运行新旧调度 owner;回退程序不会撤销已经执行的业务写入。详见 [调度与 daemon 说明](../context-checkpoints-and-daemon.md)。
|
|
35
|
-
|
|
36
|
-
## 验证与结果
|
|
37
|
-
|
|
38
|
-
实现过程通过分片回归、原版反例、公开 CLI/SDK 合同、真实 WezTerm 模型行为、安装包验证及 R1–R10 协议 Lisa 审核。真实后台测试确认创建终端退出后读取库存,未提前访问,新入口取回正确结果。公开参考宿主验证十轮同 PID、排队/steer/取消、断线不重放、权限 pending 后恢复以及错误制品拒绝。
|
|
39
|
-
|
|
40
|
-
180 次短答和 30 个 Office 长任务的固定版本比较均保留失败及修复成本。Office 最终 29/30 合格,8/30 零修复,后者全部来自常驻会话的后续复用;候选 CLI/SDK 中位耗时增加,不能声称全面提速。这些性能包在比较开始时冻结,早于后续修复,不是本 alpha 最终包的性能成绩。
|
|
41
|
-
|
|
42
|
-
已知边界:全仓类型检查仍有与基线相同的 11 条诊断;有头十图测试包含记录在案的人工介入;Windows 实机未在本次验证。按需 schema 子树的实验没有改变产品默认配置。AI 生成内容仍需事实和全页审阅,文件存在或模型自报不是交付通过。
|
|
43
|
-
|
|
44
|
-
仓库内 [完整报告](../ai-instructions-upgrade-final-review-2026-10-20.md)、[网页信息图](../ai-upgrade-explained-2026-10-20.html) 保留修复、证据和审核关系。原始运行证据保留于执行机 `.rll/records/ai-upgrade/`;本版打包、安装与发布回执保留于 `.rll/records/release-1.5.0-alpha.0/`,本地原始证据不随 npm 包分发。
|