Repository navigation
0.1.1
0.1.1
English
Security and correctness
- Keep MCP environment credentials off the JSON CLI, tmux launcher and runtime process arguments. Secret-bearing CLI input uses
--mcp-servers-file PATHor-for stdin; launcher delivery uses a private, single-use socket. Launch ownership is checked against the atomic pane ID/PID before credentials are sent, and failed cleanup never targets a replacement session. - Preserve complete native text and nested tool input/output through history loading, durable live events, final results and ACP replay. Bounded query summaries remain explicitly separate. Unsupported JSON payloads fail safely instead of being silently truncated or altered.
- Keep repeated requests idempotent after asynchronous native-history binding, including reopened controllers and existing stored requests. Changed caller payloads still conflict; uncertain delivery never authorizes replay.
- Enforce the stable ACP v1 stdio MCP baseline before serving. Claude, Codex and OpenCode can serve ACP; Cursor and Pi remain available through the SDK/JSON CLI but are refused by the production ACP entry. Missing distribution metadata now reports the canonical package version.
Installation and tools
- Correct clean
history/ACP installs by explicitly supplying SessKit's fixed wheel; a local uv source setting does not become wheel metadata. Core remains standard-library only. - Ship the companion
agent-session-controlSkill, including its operational MCP reference, in the wheel and sdist. Assessment prompts and grading answers stay outside installed Skill resources. Guidance covers selected-venv bootstrap, exact identities, safe MCP input, timeout handling and owned-session cleanup. - Correct executable examples and make failed or unconfirmed smoke-test cleanup retain recovery state rather than report success.
- Add macOS/Linux CI for Python 3.10, 3.12 and 3.14, strict diagnostics, isolated installation checks and an explicit no-credential mode. The default local gate still includes live tests. Trusted Publisher jobs transfer the exact validated artifacts into a separate publishing job without rebuilding there.
Upgrade
Run inside a compatible Python 3.10–3.14 virtual environment:
VERSION=0.1.1
BASE=https://github.com/x0c/agent-session-control/releases/download/v${VERSION}
WHEEL=${BASE}/agent_session_control-${VERSION}-py3-none-any.whl
SESSKIT=https://github.com/x0c/sesskit/releases/download/v0.2.21/sesskit-0.2.21-py3-none-any.whl
python -m pip install "sesskit @ ${SESSKIT}" "agent-session-control[history,acp] @ ${WHEEL}"
agent-session-control version --jsonLimits
- The default terminal backend supports macOS/Linux with tmux. Windows/WSL are not supported.
- Native turns require runtime login/quota and can spend model quota. Completion of a turn is not semantic task acceptance.
- MCP fixture execution is headless evidence, not hosted-TUI delivery. Cursor/Pi refuse per-session MCP; OpenCode needs a launcher-owned server.
- Fresh Skill sessions verified explicit loading, selected-venv bootstrap, safe previews and the offline-history boundary. Implicit selection was inconsistent; no improved trigger-rate claim is made.
- GitHub Release and PyPI are published with identical wheel/sdist hashes. Clean public-download and PyPI-index installs passed. Core-only PyPI install:
python -m pip install agent-session-control==0.1.1; history/ACP still need the fixed SessKit wheel shown above.
简体中文
安全与正确性
- MCP 环境凭据不再进入 JSON CLI、tmux 启动器及运行时的进程参数。含密钥配置通过
--mcp-servers-file PATH或标准输入-传入;启动器使用私有、一次性的 socket 交付。发送凭据前,对照创建时原子返回的 pane ID/PID 核对归属;失败清理不会操作替换后的会话。 - 历史加载、持久化实时事件、最终结果和 ACP 重放保留完整原生文本及嵌套工具输入/输出。受限摘要与完整交付明确分开;无法表示为 JSON 的内容会安全报错,不再静默截断或改写。
- 原生历史异步绑定后,重复请求仍保持幂等,包括重新打开控制器及已有持久化请求。调用方改变请求内容仍会冲突;投递不确定不构成重放许可。
- ACP 服务启动前强制检查稳定 v1 的 stdio MCP 基线。Claude、Codex、OpenCode 可以提供 ACP;Cursor、Pi 仍可通过 SDK/JSON CLI 控制,但生产 ACP 入口会明确拒绝。缺少发行包元数据时,也会报告当前包版本。
安装与工具
- 修复干净环境中的
history/ACP 安装:显式提供固定版本的 SessKit wheel;本地 uv 源设置不会成为 wheel 元数据。核心仍只依赖标准库。 - wheel 和 sdist 随附
agent-session-controlSkill 及 MCP 操作参考;验收题目和评分答案不进入安装后的 Skill 资源。指南覆盖指定虚拟环境安装、精确标识、安全 MCP 输入、超时处理和自有会话清理。 - 修正可执行示例;冒烟测试在清理失败或无法确认时保留恢复状态,不再误报成功。
- 新增 macOS/Linux 上 Python 3.10、3.12、3.14 的 CI、严格诊断、隔离安装验证及明确的无凭据模式。默认本地闸门仍包含真实运行测试。Trusted Publisher 将已验证的原始产物交给独立发布任务,不在发布任务内重建。
升级
在兼容 Python 3.10–3.14 的虚拟环境中执行:
VERSION=0.1.1
BASE=https://github.com/x0c/agent-session-control/releases/download/v${VERSION}
WHEEL=${BASE}/agent_session_control-${VERSION}-py3-none-any.whl
SESSKIT=https://github.com/x0c/sesskit/releases/download/v0.2.21/sesskit-0.2.21-py3-none-any.whl
python -m pip install "sesskit @ ${SESSKIT}" "agent-session-control[history,acp] @ ${WHEEL}"
agent-session-control version --json限制
- 默认终端后端支持 macOS/Linux,需要 tmux;不支持 Windows/WSL。
- 原生回合需要运行时登录及可用配额,可能消耗模型额度。回合结束不等于任务语义验收通过。
- MCP 夹具执行属于无界面运行证据,不代表托管 TUI 已交付。Cursor/Pi 拒绝按会话配置 MCP;OpenCode 需要启动方自有 server。
- 全新 Skill 会话已验证显式加载、指定虚拟环境安装、安全预演及离线历史解析边界。隐式选择并不稳定,不宣称触发率提高。
- GitHub Release 与 PyPI 均已发布,wheel/sdist 的哈希完全一致。公开下载及 PyPI 索引的干净安装均已验证。仅核心安装可用
python -m pip install agent-session-control==0.1.1;history/ACP 仍需同时安装上文的固定 SessKit wheel。