personal-bot 0.2.1 → 0.2.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 CHANGED
@@ -74,33 +74,35 @@ Describe the task directly: organize project materials, compare research finding
74
74
  | `/reload` | Pi's native command to reload extensions and resources |
75
75
 
76
76
  - **Native tools:** Use CLI commands through Bash with their current help. Keep concise provider guides and evidence references. Configure MCP for the current project by default: run `pi mcp add --local <server> ...` from the workspace root to write `.pi/mcp.json`, then inspect the configuration source with `/mcp`. Change user-level configuration only when cross-project use is explicitly requested. No Personal Bot registration, parameter binding, or permission table is needed. See the [connection skill](resources/skills/provider-connections/SKILL.md).
77
- - **Research and analysis:** Ask the assistant to synthesize evidence, explain conflicts, check calculations and definitions, or identify assumptions to validate first. It uses the [research evidence](resources/skills/research-evidence/SKILL.md) and [analysis validation](resources/skills/analysis-validation/SKILL.md) skills as needed, with conclusions and limitations tied to the task.
77
+ - **Research and analysis:** Ask the assistant to synthesize evidence, explain conflicts, check calculations and definitions, or identify assumptions to validate first.
78
78
  - **Independent sub-sessions:** Personal Bot supports tmux and independent Pi sessions; install tmux on the system to use them. `pbot_agent start` returns immediately; without a message, prompts, or files it creates an idle process without calling a model. Task completion produces a notification. Options cover models, directories, files, tools, and resources. Operations include send, follow-up, rename, status, read, stop, and explicit resume; there is no foreground/background flag or wait operation. `/pbot agents` shows active agents and can open their TUI. Main-session reload preserves running agents; exit or session switching stops them and retains history. Sub-sessions use native CLI/MCP within their delegated scope. See [specialist collaboration](docs/agent-collaboration.md).
79
79
  - **Teams:** `pbot_team` groups existing agents for `roundRobin` discussion or `parallel` rounds. Members exchange original messages through `pbot_team_message`; ordinary posts do not wake models. A running team reserves its members. Pause and drain in-flight work before private messages; reload pauses teams without replaying requests. The first release uses fixed membership and bounded rounds, not dynamic ask/reply wake-ups. See [specialist collaboration](docs/agent-collaboration.md).
80
80
  - **Scheduled and durable tasks:** The main session uses optional Task Conductor directly through native MCP, its `using-task-conductor` skill, and actual tool contracts. Without it, ordinary Personal Bot features still work, but scheduling is unavailable. Personal Bot adds no durable task scheduler or forwarding layer. Query and stop external tasks separately from sub-sessions. Cancelling the current run does not stop future recurrences, and closing Pi does not imply that external tasks stopped.
81
81
  - **Python:** All workspaces share one dedicated venv for the current user. Loading Personal Bot creates or updates it with locked dependencies and activates it in the current Pi process. Main and specialist sessions use `python` or `python3` through Bash. Failures are reported; fix the cause and retry with `/pbot python setup`. System Python, external terminals, existing scripts, and historical results are not changed. Shared dependency updates affect other workspaces, so stop relevant scripts before changing plugin versions or retrying setup. See the [Python guide](python/README.md) and [computation reference](resources/references/compute.md).
82
- - **Material maintenance:** Ask to organize project materials, reproduce a report using its previous definitions, or review delivery and close a task. The [project maintenance skill](resources/skills/project-maintenance/SKILL.md) updates the current task and affected materials within your requested scope. Current guidance is consolidated by topic; conclusions, conditions, task definitions, historical evidence, and important decisions remain traceable. Cleanup removes unnecessary temporary outputs within scope, not formal materials, history, or backups.
82
+ - **Material maintenance:** Ask to organize project materials, reproduce a report using its previous definitions, or review delivery and close a task. The [project maintenance skill](resources/skills/project-maintenance/SKILL.md) updates the current task and affected materials within your requested scope. Current guidance is consolidated by topic, with reusable methods and analysis definitions extracted from project conclusions. Sources and important decisions remain traceable. Cleanup removes unnecessary temporary outputs within scope, not formal materials, history, or backups.
83
83
 
84
84
  Main and child transcripts use Pi's native session storage. Use `pi --resume` to select a chat explicitly; `pi --continue` may select the most recently active child. Enter managed children through `/pbot agents`; stopped children reopen their saved session idle, without calling a model. Use `pbot_agent resume` to restart with a new instruction. Never open a second writer for a running child's session file. Do not resend a potentially side-effecting operation merely because a session resumed.
85
85
 
86
- Personal Bot maintains no separate provider-call ledger or result wrapper. Native tools own their results and large-output handling; save formal evidence with the task. If an outcome is unclear, query native status first. Complete result retention is not guaranteed after a process crash.
86
+ Personal Bot maintains no separate provider-call ledger or result wrapper. Native tools own their results and large-output handling; project conclusions cite relevant sources and results. If an outcome is unclear, query native status first. Complete result retention is not guaranteed after a process crash.
87
87
 
88
88
  ## Workspace materials
89
89
 
90
90
  | Location | Purpose |
91
91
  | --- | --- |
92
92
  | `AGENTS.md` | Material navigation and working agreements |
93
- | `areas/`, `projects/` | Long-term goals, task definitions, conclusions, and evidence |
94
- | `knowledge/` | Reusable knowledge |
93
+ | `areas/`, `projects/` | Long-term goals, task definitions, conclusions, and deliverables |
94
+ | `knowledge/` | Reusable concepts, methods, and analysis definitions |
95
95
  | `providers/` | Provider guides, coverage gaps, and validation evidence |
96
- | `scratch/` | Temporary calculations and reproducible outputs |
96
+ | `scratch/` | Temporary scripts, query and calculation data, downloads, and runtime environments |
97
97
  | `agents/`, `.agents/skills/` | Workspace additions to coordinator/general-purpose roles and workspace skills |
98
98
 
99
+ Fetch data that can be queried again when needed, using the recorded definitions.
100
+
99
101
  Personal Bot stores no private activation state in the workspace. Pi owns its configuration; reload when required by Pi. Stop the old instance before copying a workspace. Concurrent writes from multiple machines to a synchronized directory are not supported. See [file storage](docs/file-storage.md) for storage and copying boundaries.
100
102
 
101
103
  ## Updates and historical data
102
104
 
103
- Current release: **0.2.1**. Personal Bot maintains no workspace format, initialization state, or workspace upgrade mechanism. Update the plugin through Pi package management. For a local installation, update the source, run `npm ci --ignore-scripts` if dependencies changed, then reload or restart Pi.
105
+ Current release: **0.2.2**. Personal Bot maintains no workspace format, initialization state, or workspace upgrade mechanism. Update the plugin through Pi package management. For a local installation, update the source, run `npm ci --ignore-scripts` if dependencies changed, then reload or restart Pi.
104
106
 
105
107
  Stop active sub-sessions before changing versions. Sub-session compatibility follows the minor version before 1.0 and the major version from 1.0 onward. Sessions from another compatibility line cannot be resumed directly.
106
108
 
package/README.zh-CN.md CHANGED
@@ -72,33 +72,35 @@ pi install --local npm:task-conductor-plugin
72
72
  | `/reload` | Pi 原生命令,重载插件与资源 |
73
73
 
74
74
  - **原生工具**:CLI 通过 Bash 使用原生命令与当前 help,手册只保留当前使用所需的信息和证据引用;MCP 默认只接入当前项目,从工作区根目录执行 `pi mcp add --local <server> ...`,保存到 `.pi/mcp.json`,通过 `/mcp` 核对配置来源。只有明确要求跨项目使用时才修改用户级配置。不需要 Personal Bot 注册、参数绑定或权限表。方法见[接入技能](resources/skills/provider-connections/SKILL.md)。
75
- - **研究与分析**:可要求“综合这些资料并说明证据冲突”“核验这份分析的口径与计算”或“找出先要验证的关键假设”。助手按需使用[研究证据技能](resources/skills/research-evidence/SKILL.md)和[分析核验技能](resources/skills/analysis-validation/SKILL.md),依据本次用途判断结论与限制。
75
+ - **研究与分析**:可要求“综合这些资料并说明证据冲突”“核验这份分析的口径与计算”或“找出先要验证的关键假设”。
76
76
  - **独立子会话**:包内提供 tmux 与独立 Pi 会话,需系统安装 tmux。`pbot_agent start` 立即返回;省略 message/prompts/files 时只创建待命进程,不调用模型。工作完成后自动通知。支持模型/目录/文件/工具与资源选项、send、follow-up、rename、status、read、stop 和显式 resume,没有前后台参数或 wait。`/pbot agents` 展示正在工作的 agent,可进入子 TUI。主 reload 保持运行,退出或切换会话停止并保留历史。子会话也使用原生 CLI/MCP,按委派范围工作。详见[专家协作](docs/agent-collaboration.md)。
77
77
  - **团队协作**:`pbot_team` 将已有 agent 组成固定团队,支持 roundRobin 轮流讨论和 parallel 并行轮次。成员通过 `pbot_team_message` 直接交换原文,普通 post 不唤醒模型。运行中的团队占用成员;先暂停并收尾,再切换私人工作。reload 暂停团队,不重放旧请求。首版不包含动态 ask/返回唤醒,详见[专家协作](docs/agent-collaboration.md)。
78
78
  - **周期与持久任务**:主会话通过原生 MCP 直接使用可选的 Task Conductor,处理周期、重复流程和 DAG;使用其 `using-task-conductor` 技能与实际工具契约。安装与接入见[可选安装引导](#可选安装-task-conductor)。缺失不影响普通 pbot 功能,但不能执行调度。pbot 不另建持久任务调度器或转发层。外部任务与子会话分别查询和停止,取消本轮不等于停止未来周期,关闭 Pi 也不代表外部任务已停止。
79
79
  - **Python 环境**:所有工作区共用当前用户的独立 venv。Personal Bot 加载后自动创建环境或安装锁定依赖,成功后在当前 Pi 进程激活;主会话与专家通过 Bash 使用 `python` 或 `python3`。环境异常时提醒,修复后用 `/pbot python setup` 重试。系统 Python、外部终端、已有脚本和历史结果不变。共享依赖更新会影响其他工作区;更换插件版本或手工重试前应停止相关脚本。详见 [Python 说明](python/README.md)与[计算参考](resources/references/compute.md)。
80
- - **资料维护**:可要求“整理当前项目资料”“按上次口径重做报告”或“检查交付并结项”。助手按[项目整理与维护技能](resources/skills/project-maintenance/SKILL.md)更新当前任务及实际受影响的资料;整体整理按用户指定范围进行。当前说明按主题合并更新,保留结论、条件和任务定义;历史证据与重要决策保持可追溯。整理或结项时归集成果并清理范围内无用的临时产物,保留正式资料、历史记录与备份。
80
+ - **资料维护**:可要求“整理当前项目资料”“按上次口径重做报告”或“检查交付并结项”。助手按[项目整理与维护技能](resources/skills/project-maintenance/SKILL.md)更新当前任务及实际受影响的资料;整体整理按用户指定范围进行。当前说明按主题合并更新,从项目结论中提炼可复用的方法与口径;来源与重要决策保持可追溯。整理或结项时归集成果并清理范围内无用的临时产物,保留正式资料、历史记录与备份。
81
81
 
82
82
  主会话和子会话对话都使用 Pi 原生存储。聊天恢复可用 `pi --resume` 明确选择;`pi --continue` 可能选中最近活跃的子会话。受管子会话可从 `/pbot agents` 进入,已停止时加载原会话并待命,不调用模型;`pbot_agent resume` 用于携新要求继续工作。运行中不要另开进程写同一会话文件;不要因恢复而重发可能已产生副作用的操作。
83
83
 
84
- 不维护独立 provider 调用账本或结果包装。工具结果及大结果处理由原生工具负责,正式证据按任务保存。结果不明时先查询原生状态;进程崩溃后不保证保存完整结果。
84
+ 不维护独立 provider 调用账本或结果包装。工具结果及大结果处理由原生工具负责,项目结论引用相关来源与结果。结果不明时先查询原生状态;进程崩溃后不保证保存完整结果。
85
85
 
86
86
  ## 工作区资料
87
87
 
88
88
  | 位置 | 用途 |
89
89
  | --- | --- |
90
90
  | `AGENTS.md` | 资料导航与工作约定 |
91
- | `areas/`、`projects/` | 长期目标、任务定义、结论与证据 |
92
- | `knowledge/` | 可复用知识 |
91
+ | `areas/`、`projects/` | 长期目标、任务定义、结论与交付物 |
92
+ | `knowledge/` | 可复用的概念、方法与口径 |
93
93
  | `providers/` | 提供方手册、覆盖缺口与验证依据 |
94
- | `scratch/` | 临时计算与可重建产物 |
94
+ | `scratch/` | 临时脚本、查询与计算数据、下载及运行环境 |
95
95
  | `agents/`、`.agents/skills/` | coordinator/general-purpose 职责补充与工作区技能 |
96
96
 
97
+ 可再次查询的数据在使用时按保存的口径获取。
98
+
97
99
  Personal Bot 不在工作区内保存私有启用状态。Pi 配置仍由 Pi 管理,配置变更后按原生要求执行 `/reload`。复制工作区前停止旧实例;不支持多机同时写入同步目录。存储布局与复制边界见[文件存储](docs/file-storage.md)。
98
100
 
99
101
  ## 更新与历史数据
100
102
 
101
- 当前版本为 **0.2.1**。不维护工作区格式、初始化状态或升级机制。插件更新使用 Pi 原生包管理;本地安装则更新来源源码,依赖变化后执行 `npm ci --ignore-scripts`,再重载或重启 Pi。更换版本前先停止活动子会话;不同兼容线的子会话不能直接恢复。
103
+ 当前版本为 **0.2.2**。不维护工作区格式、初始化状态或升级机制。插件更新使用 Pi 原生包管理;本地安装则更新来源源码,依赖变化后执行 `npm ci --ignore-scripts`,再重载或重启 Pi。更换版本前先停止活动子会话;不同兼容线的子会话不能直接恢复。
102
104
 
103
105
  子会话 JSONL 由 Pi 保存在原生 sessions 目录或原生配置指定的位置;`pbot/subagents/` 只保存控制记录与会话引用,团队公共记录保存在 `pbot/teams/`。0.2.0 不兼容旧会话位置,不迁移或删除 0.1.x 历史;旧记录不进入当前列表或后台调度。先在旧版停止活动成员,更新后重新创建 agent。共享 Python 环境使用用户级 `pbot/python/.venv`,具体系统路径见 [Python 说明](python/README.md)。不自动导入其他应用的会话、配置或环境,也不修改其数据。MCP 连接与 CLI 环境按原生方式显式配置;用户资料、历史证据和备份原样保留。
104
106
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  | 位置 | 内容与所有者 |
6
6
  | --- | --- |
7
- | 工作区 AGENTS.md、areas/、projects/、knowledge/ 等 | 用户资料、任务定义与证据 |
7
+ | 工作区 AGENTS.md、areas/、projects/、knowledge/ 等 | 用户资料、任务定义、方法、结论与交付物 |
8
8
  | 工作区 providers/<id>/GUIDE.md | 提供方使用说明 |
9
9
  | 工作区 .pi/settings.json、.pi/mcp.json | Pi 原生项目配置 |
10
10
  | Pi 原生 sessions/ 或原生配置指定的目录 | 主会话与子会话的 JSONL 对话,由 Pi 管理 |
@@ -60,7 +60,7 @@ Pi 原生配置决定扩展加载范围,启动目录作为工作区根目录
60
60
 
61
61
  主会话通过 before_agent_start 增加提示词 section,同时保留 Pi 原生 AGENTS.md 加载。资源在使用时读取,缺失时报错;提示词更新后通过 /reload 或重启加载。
62
62
 
63
- 公共约定负责工作区与执行边界,角色负责职责与验收,技能提供专业方法与必要的本地操作约定,工具定义参数与结果语义。委派资料修改依据原任务授权及明确的文件责任,诊断环境问题不要求再次授权。工具按 action 校验必填与允许字段,返回具体参数错误;status 不读取报告正文。附件组装由 integrations/pi/agent-input 保留绝对来源及 Pi 原生读取结果。工作区资料保存目标、偏好、任务定义和证据,布局见[文件存储](file-storage.md)。
63
+ 公共约定负责工作区与执行边界,角色负责职责与验收,技能提供专业方法与必要的本地操作约定,工具定义参数与结果语义。委派资料修改依据原任务授权及明确的文件责任,诊断环境问题不要求再次授权。工具按 action 校验必填与允许字段,返回具体参数错误;status 不读取报告正文。附件组装由 integrations/pi/agent-input 保留绝对来源及 Pi 原生读取结果。资料保存由模型按公共约定与维护技能处理,沉淀方法、口径与结论,可再次查询的数据按需获取。布局见[文件存储](file-storage.md)。
64
64
 
65
65
  ## 原生子会话存储
66
66
 
@@ -65,6 +65,6 @@ Node 测试不下载第三方 Python 依赖;原生库集成验证见 [Python
65
65
  | npm 分发 | 全新依赖安装、Pi 安装加载、OIDC 发布与公开 registry |
66
66
  | 平台与存储 | macOS 整体验收、断电持久性与文件系统差异 |
67
67
 
68
- 研究与资料方法使用真实任务资料验收,重点检查来源追溯、口径一致、缺失数据处理、历史前提复核、产物引用和结项依据。探索任务应区分实验失败与假设被否定。
68
+ 研究与资料方法使用真实任务资料验收,重点检查来源追溯、口径一致、缺失数据处理、历史前提复核、产物引用和结项依据。知识沉淀需检查是否提炼方法与口径,以及后续任务能否据此重新取数。探索任务应区分实验失败与假设被否定。
69
69
 
70
70
  记录验收环境、实际结果、证据位置与剩余缺口。连接可用、资源可见或格式正确只证明相应技术环节,不代表模型完成了业务任务。
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "personal-bot",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "personal-bot",
9
- "version": "0.2.1",
9
+ "version": "0.2.2",
10
10
  "dependencies": {
11
11
  "ajv": "8.17.1",
12
12
  "ajv-formats": "3.0.1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "personal-bot",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/realqiyan/personal-bot.git"
@@ -11,9 +11,9 @@
11
11
 
12
12
  ## 委派与验收
13
13
 
14
- 默认由专家交回报告和必要产物引用,由主会话整合正式资料。原任务已授权资料修改时,可在委派中明确专家的修改范围,无须用户另行指定由专家执行;多个协作者写入时划分文件责任。需要复现时保存必要源码、输入、参数和结果,临时产物放入 scratch。
14
+ 默认由专家交回报告和必要产物引用,由主会话整合正式资料。原任务已授权资料修改时,可在委派中明确专家的修改范围,无须用户另行指定由专家执行;多个协作者写入时划分文件责任。
15
15
 
16
- 收到结果后,按本次完成条件核对报告与实际产物。汇总数值前核对对象、时期、单位、指标定义和来源;范围不同的结果分别解释,重复转述不算独立证据。证据判断使用 research-evidence,数据与计算核验使用 analysis-validation。
16
+ 收到结果后,按本次完成条件核对报告与实际产物。汇总数值前核对对象、时期、单位、指标定义和来源;范围不同的结果分别解释,重复转述不算独立证据。
17
17
 
18
18
  失败、中断或取消后,判断已完成部分与后续条件,不自动重跑。人工子会话输入不扩大主会话原任务授权。委派不扩大原用户授权;需要用户决定的业务交回主会话说明。
19
19
 
@@ -35,4 +35,4 @@
35
35
 
36
36
  及时保存有依据的阶段结论、可复用知识、已确认决策,以及交接所需或用户要求的成果,无须再次询问。普通问答、零散想法和原始输出不逐轮存档。
37
37
 
38
- 资料放入所属项目或长期事务,附来源、时间和适用条件;跨任务知识引用原证据。新结果、纠正或状态变化需要同步,或用户要求整理、复用任务定义、结项时,使用 project-maintenance。发现其他未完成事项不构成开展新任务的授权。
38
+ 新结果、纠正或状态变化需要同步,或用户要求整理、复用任务定义、结项时,使用 project-maintenance。发现其他未完成事项不构成开展新任务的授权。
@@ -2,7 +2,7 @@
2
2
 
3
3
  完成本次委派范围内的研究、分析、资料查找、计算或独立复核,按任务选择技能。
4
4
 
5
- 从委派引用及工作区入口查找依据。按交付需要说明结论、关键依据、来源时点、适用范围、限制及实际产物路径;数值注明影响理解的对象、期间、单位与计算口径。需要复现时保存并引用必要源码、输入、参数和结果。说明实际完成的检查,关键事实不足时明确无法确认。
5
+ 从委派引用及工作区入口查找依据。按交付需要说明结论、关键依据、来源时点、适用范围、限制及实际产物路径;数值注明影响理解的对象、期间、单位与计算口径。说明实际完成的检查,关键事实不足时明确无法确认。
6
6
 
7
7
  独立复核时,核验方案参数、前置条件、实际后果和用户约束,独立查询关键事实,报告通过、拒绝或无法确认及其依据。研究与复核只使用明确的查询接口和计算,不执行业务变更;复核结论不授予执行许可。
8
8
 
@@ -1,6 +1,6 @@
1
1
  # 工作区
2
2
 
3
- 协助用户学习、推进项目、开展研究与支持决策,保存可复用的资料与结论。投资是按需开展的专业领域。
3
+ 协助用户学习、推进项目、开展研究与支持决策,沉淀可复用的知识、方法与结论。投资是按需开展的专业领域。
4
4
 
5
5
  环境信息见 `pbot_environment`:`workspaceRoot` 是工作区根目录,`cwd` 是当前执行目录,`resourceRoot` 是包内资料根目录,`python` 是共享计算环境状态。下文资料路径相对工作区根目录;包内路径相对 `resourceRoot`。执行命令和文件工具时按实际工作目录解析路径。
6
6
 
@@ -19,13 +19,15 @@
19
19
  | --- | --- |
20
20
  | `AGENTS.md` | 资料导航与已确认的工作区约定 |
21
21
  | `areas/<领域>/` | 长期目标、约束、决策与复盘;个人组合信息 |
22
- | `projects/<名称>/` | 任务结论、必要数据与复现代码;项目依赖和测试 |
23
- | `knowledge/<主题>/` | 可跨任务使用的知识与方法 |
22
+ | `projects/<名称>/` | 任务定义、结论与交付物;源码、依赖和测试 |
23
+ | `knowledge/<主题>/` | 可跨任务复用的概念、方法与口径 |
24
24
  | `providers/` | `AGENTS.md` 导航与各 `<id>/GUIDE.md` 能力手册 |
25
- | `scratch/` | 临时脚本、下载、中间数据与运行环境 |
25
+ | `scratch/` | 临时脚本、查询与计算数据、下载及运行环境 |
26
26
  | `agents/` | `coordinator.md` 与 `general-purpose.md` 的职责补充 |
27
27
  | `.agents/skills/` | 工作区自有专业方法 |
28
28
 
29
+ 可再次查询的数据在使用时按口径获取。结论注明来源、时点与适用条件。
30
+
29
31
  保存前搜索同主题正文,优先更新原文,其他位置用引用连接。整理、修正或结项使用 project-maintenance 技能,遵守本角色的资料修改权限。
30
32
 
31
33
  ## 调用与计算
@@ -37,7 +37,7 @@ cd "/项目根目录" && python scripts/analyze.py --window 20
37
37
 
38
38
  环境中只有 python3 命令时,将示例中的 python 换成 python3。包内相对导入通常使用模块入口,例如在项目根目录执行 `python -m analysis.main --window 20`。普通脚本导入同目录模块与 `-m` 的包导入遵循 Python 原生规则;不要为绕过错误随意改 sys.path。相对数据路径取决于工作目录或脚本自己的路径处理,应先核对约定。临时计算也可使用 `python -c` 或标准输入。
39
39
 
40
- 按脚本或项目约定提供输入、参数和结果位置,使用实际 Bash 工具的超时与取消能力。需要复用的研究保存源码、参数、必要输入、数据来源、时间、单位和结果引用;正式产物归关联项目或长期事务,临时产物使用 scratch。保留已有研究证据,不为整理资料自动重算。
40
+ 按脚本或项目约定提供输入、参数和结果位置,使用实际 Bash 工具的超时与取消能力。
41
41
 
42
42
  Python 具有宿主文件和网络权限,不是沙箱;不得超出本次任务授权执行业务变更或改写历史记录。取消不回滚已发生的副作用。
43
43
 
@@ -92,6 +92,6 @@ print(json.dumps({"sma20": [float(x) if np.isfinite(x) else None for x in sma]},
92
92
  - 显式确定资金、手续费、价差、成交时点与仓位假设,不把库默认值当作投资规则。
93
93
  - 原生 Backtest 不自动提供 A 股 T+1、整手买入、涨跌停或交易日历约束。研究需要这些规则时,必须明确建模并验证;无法表达时说明限制,不能直接声称结果适用于该市场。
94
94
  - 按研究问题决定是否划分样本内/样本外及如何暖机,不默认套用固定回测流程。避免未来数据泄漏。
95
- - 原生结果可能包含 Series、DataFrame、时间和非有限值;按需要提取统计与交易记录,再转为可保存的数据,保留数据来源、参数及库版本。
95
+ - 按交付需要提取统计或交易记录,并说明参数与库版本。导出时处理原生结果中的 Series、DataFrame、时间和非有限值。
96
96
 
97
97
  环境与许可信息见 [Python 说明](../../python/README.md)。
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: project-maintenance
3
- description: 维护项目结论、证据与可复用任务定义。用于资料更新、按既有口径复用任务、成果整理和项目结项。
3
+ description: 维护项目结论、分析口径与可复用任务定义。用于资料更新、按既有口径复用任务、成果整理和项目结项。
4
4
  ---
5
5
 
6
6
  # 项目整理与维护
7
7
 
8
- 让资料呈现当前结论、适用条件、必要证据和真正未决的问题。重要结论或决策变化保留原因与原依据。
8
+ 让资料呈现当前结论、适用条件、分析口径和未决问题。重要结论或决策变化保留原因与原依据。
9
9
 
10
10
  根据本次变化更新当前任务、所属正文及实际受影响的引用。整体整理按用户指定范围进行。
11
11
 
@@ -17,7 +17,7 @@ description: 维护项目结论、证据与可复用任务定义。用于资料
17
17
 
18
18
  历史证据与重要决策保留原有来源、时点、适用条件及必要理由,当前说明通过引用追溯。用户偏好与约束按其确认范围记录,推断与已确认约定分开。
19
19
 
20
- 有跨任务价值的知识提炼到 knowledge/ 并引用项目证据,保留复用所需的条件。知识按主题命名,需要保留历史的研究和决策按日期与主题命名。
20
+ 从项目结论中提炼可跨任务复用的概念、方法与口径,写入 knowledge/,说明适用条件并引用来源。知识按主题命名,需要保留历史的研究和决策按日期与主题命名。
21
21
 
22
22
  尊重根 AGENTS.md 已有的导航格式和工作区约定,只更新受本次变化影响的入口,不为统一样式重排。新建导航时可用 text 目录树,展开到有资料的主题或项目目录并简注用途,也可按已有习惯使用链接列表;任务状态沿用现有标记。结论和未决事项留在正文,导航引用对应资料。
23
23
 
@@ -25,24 +25,18 @@ description: 维护项目结论、证据与可复用任务定义。用于资料
25
25
 
26
26
  需要跨会话继续或重复执行的任务,在所属项目或长期事务中保存交付用途、必要证据、可接受限制和完成条件。目标变化时同步受影响的交付条件。
27
27
 
28
- 重复分析或报告的定义按需包含指标公式与分母、数据来源、对象与筛选范围、期间与时区、分组与比较基准、输入和执行入口、产物位置及核验条件。单次输入与结果作为有时点的证据引用,与可复用定义分开。
28
+ 重复分析或报告的定义按需包含数据来源与查询方式、对象与筛选范围、期间与时区、单位、指标公式与分母、分组与比较基准、执行入口及核验条件。单次报告引用所用定义。
29
29
 
30
- 按上次口径重做时,读取已有定义,沿用已确认选择,并核对来源、版本与关键前提是否仍适用。更新报告使用本次期间与数据;复现历史结果使用指定输入。口径变化说明对可比性的影响,验证状态随新的验证证据更新。数值与计算核验见 [analysis-validation 技能](../analysis-validation/SKILL.md)。
30
+ 按上次口径重做时,读取已有定义,沿用已确认选择,并核对来源、版本与关键前提是否仍适用。更新报告使用本次期间与数据;复现历史结果使用指定输入。口径变化说明对可比性的影响,验证状态随新的验证证据更新。
31
31
 
32
32
  ## 成果归集与清理
33
33
 
34
- 用户要求整理或结项时,检查本次范围内的项目目录及 scratch/ 等临时产物位置。将有用信息并入正文,将必要证据与复现资料保存到对应 projects/<名称>/。
34
+ 用户要求整理或结项时,检查本次范围内的项目目录及 scratch/ 等临时产物位置。将结论与方法并入所属正文,将交付物与可复用源码归入对应项目,更新来源引用与执行入口。
35
35
 
36
- 长期保留支撑结论的最小充分资料:
37
-
38
- - 无法可靠恢复的输入快照、来源与数据口径。按能否再次取得同一份输入判断保存价值,而非来源是否仍可访问。
39
- - 复现所需的源码、命令、参数、必要环境说明及结果引用;数据注明对象、时点与单位。
40
- - 用户要求的最终成果与明细。
41
-
42
- 完成归集并更新引用和复现路径后,清理已被吸收或不再需要、且不承担证据作用的临时产物。仍在使用、跨项目共享或归属与价值不明的文件暂留。清理仅限本次范围内的临时产物;正式资料、历史交易记录与备份保留,历史记录不改写。
36
+ 归集后清理本次范围内已被正文吸收或不再需要的临时文件。正式资料、历史记录与备份保持原样。
43
37
 
44
38
  ## 项目结项
45
39
 
46
- 以已确认的目标和交付条件判断完成状态,核对必要成果、证据与复现入口确实可用。满足本次用途即可结项,已知限制留在正文;可选深化与必需工作分开。
40
+ 以已确认的目标和交付条件判断完成状态,核对交付物、来源引用与执行入口确实可用。满足本次用途即可结项,已知限制留在正文;可选深化与必需工作分开。
47
41
 
48
42
  交付条件尚未满足时,记录具体缺口及其影响。完成状态、正文与证据一致后,同步项目入口和相关导航。
@@ -5,9 +5,9 @@
5
5
  ```text
6
6
  ./
7
7
  ├── areas/ # 长期目标、约束、建议、决策与复盘
8
- ├── projects/ # 任务结论、必要数据与复现代码
9
- ├── knowledge/ # 可复用知识、方法与参考资料
8
+ ├── projects/ # 任务定义、结论、交付物与源码
9
+ ├── knowledge/ # 可复用的概念、方法与口径
10
10
  ├── providers/ # 能力提供方导航与手册
11
- ├── scratch/ # 临时文件、运行环境与计算产物
11
+ ├── scratch/ # 临时脚本、查询与计算数据、下载及运行环境
12
12
  └── agents/ # coordinator.md 与 general-purpose.md 的职责补充
13
13
  ```
@@ -1,48 +0,0 @@
1
- ---
2
- name: analysis-validation
3
- description: 核验数据分析、计算结果和统计结论是否足以支持本次用途。用于交付前检查、数值差异排查、跨来源比较和分析复核,重点检查完整性、口径与推断依据。
4
- ---
5
-
6
- # 分析核验
7
-
8
- 围绕本次要支持的结论,优先核验足以改变判断的数据和计算。检查范围随结论风险和已发现的问题确定。
9
-
10
- ## 确定核验依据
11
-
12
- 读取已有结论及其实际数据、公式、源码和参数,确认对象范围、样本单位、比较基准和关键假设。缺少原始数据或计算入口时,区分能验证的部分与只能检查说明的部分。
13
-
14
- ## 数据完整性与含义
15
-
16
- - 核对筛选、分页、截断及对象和期间覆盖。总量以已确认的覆盖范围为限;空结果能否支持“不存在”的判断,取决于查询覆盖。
17
- - 区分已确认零值、缺失、未查询、不可用和查询失败,按字段定义解释空值与零。
18
- - 汇总与明细不符时,先对齐期间、范围与定义。只有范围一致且明细完整时,明细重算才可验证汇总;冲突无法解释时保留两者与影响。
19
- - 按样本单位检查缺失、重复和关联前后的数量,区分同一对象的不同观测与重复计数。
20
-
21
- 根据来源定义、时间语义和指标性质判断字段值是否异常,修正需有依据。
22
-
23
- ## 口径与计算
24
-
25
- 按任务选择能暴露错误的检查:
26
-
27
- | 对象 | 检查方法 |
28
- | --- | --- |
29
- | 比例与平均数 | 核对分子分母对应的对象与期间;分母为零时说明不可计算;分组平均按适当权重合并 |
30
- | 分项与总数 | 确认可加性,核对合计与差异;重叠分类、不同币种和非加性指标不能直接求和 |
31
- | 时间比较 | 对齐期间长度、完整程度与时区;区分数据发生时间和当时实际可获得时间 |
32
- | 单位与市场口径 | 核对币种、数量单位、复权和费用假设;转换需有依据,不隐含换算或市场规则 |
33
- | 关键计算 | 独立复算影响结论的值,或抽查原始记录与边界;只重跑同一段源码不能排除同一逻辑错误 |
34
- | 图表 | 核对图表与底层数据、标注、尺度及比较范围,避免显示方式改变读者判断 |
35
-
36
- 输入或口径变化时,说明对可比性和结论的影响。复算依据保留实际命令、参数、必要输入与结果引用。
37
-
38
- ## 推断与适用限制
39
-
40
- 结论涉及样本推广、原因解释或预测时,检查样本选择与排除条件、样本量、幸存者偏差、替代解释和不确定性。多次比较、试验或参数筛选需结合完整选择过程评估结果。
41
-
42
- 时间序列或预测研究需要核对信息在当时是否可知、训练与评估是否泄漏。样本外检验、成本和成交约束按研究用途确定;条件未验证时限制结论范围,不把库默认值当成实际市场条件。
43
-
44
- 若主要问题是来源冲突或证据不足,使用 [research-evidence 技能](../research-evidence/SKILL.md) 处理相应判断。
45
-
46
- ## 交付核验结论
47
-
48
- 说明实际核验范围、发现的问题及其对结论的影响,判断结果足以支持本次用途、带限制可用,还是需要修正。指出关键缺口、适用条件与尚未核验的部分;修正后复查受影响结论。
@@ -1,33 +0,0 @@
1
- ---
2
- name: research-evidence
3
- description: 判断多来源证据能支持哪些研究结论。用于证据综合、来源冲突、方案比较和关键假设验证。
4
- ---
5
-
6
- # 研究证据与判断
7
-
8
- 围绕本次问题形成可追溯的结论,说明证据支持到哪里、哪些条件会改变判断。
9
-
10
- ## 选择证据
11
-
12
- 明确要支持的主张、对象和时间范围,从已有证据中识别会影响判断的缺口,再补充检索。
13
-
14
- 按主张选择来源:当前状态需要足够新的直接观测;历史事实需要对应时期的记录;规则需要适用版本;原因解释需要能区分替代解释的证据;方案比较需要一致的条件与评价依据。
15
-
16
- 需要选择探索性研究方向、安排关键实验,或判断受阻研究是否应继续时,读[关键假设验证](references/hypothesis-checks.md)。
17
-
18
- ## 核对证据与结论
19
-
20
- - 追溯关键主张的原始来源,读取支持该主张的上下文。转述、摘要和引用链中的多个页面不算多份独立证据;新增独立观测与重复转述分开判断。
21
- - 对关键证据保留定位信息、适用版本或时间、对象范围。区分事件发生时间、数据所属期间与取得时间;只记录影响本次使用的项。
22
- - 将观测与推断分开,说明从证据到结论所依赖的假设。
23
- - 检查可能推翻关键结论的证据与替代解释。找不到反证不等于已证实,尤其是在覆盖不足或查询失败时。
24
- - 来源冲突时,核对是否为不同版本、时期、样本或定义。能解释的差异分别说明;无法解释的冲突保留在结论中,不静默选一方或按来源数量表决。
25
- - 检索无结果时,核对名称、别名、筛选范围和来源是否可访问。只有查询覆盖足以支持时,才能作出不存在或未发生的判断。
26
-
27
- ## 综合与交付
28
-
29
- 按问题组织结论,关键结论附近给出来源或产物引用。说明支持及反对依据、重要假设、未决冲突和适用限制,用证据充分性解释置信程度。
30
-
31
- 以本次交付用途判断证据是否足够。关键缺口阻止结论时,说明缺什么、影响哪部分及如何核实;条件化结论明确其待验证前提。
32
-
33
- 涉及数值、数据比较或统计推断时,按需使用 [analysis-validation 技能](../analysis-validation/SKILL.md)。
@@ -1,33 +0,0 @@
1
- # 关键假设验证
2
-
3
- 用于探索性研究的选题、实验安排和受阻后的方向判断,尽早取得能改变决策的证据。
4
-
5
- ## 找出决定方向的假设
6
-
7
- 从目标和已有证据识别:哪些条件必须成立,结论才有意义;哪项不成立会改变方案;哪些检验依赖其他条件先成立。
8
-
9
- 区分研究假设与方法前提。例如,策略是否具有样本外效果是研究假设;数据是否覆盖所需时期、能否按实际可知时间构造输入,是方法前提。
10
-
11
- 对影响决策的假设,梳理现有支持与反对证据、尚不确定的条件、失败后果、可用检验及其成本。
12
-
13
- ## 选择最有用的下一次检验
14
-
15
- 优先选择不同结果会改变后续决策、能较早取得证据且成本适当的检验。必要时先核实数据与方法前提,再投入更大规模的实验。
16
-
17
- 最小检验可以使用已有数据、较小样本或较简单的方法,但要说明它能够排除什么、仍不能证明什么。
18
-
19
- 执行前明确与本次判断有关的内容:
20
-
21
- - 要区分的假设或替代解释,以及可观测结果。
22
- - 所需数据与资源、方法、比较基准和主要限制。
23
- - 哪些结果支持继续,哪些要求修改或停止,哪些仍无法区分假设。
24
-
25
- 判据来自目标、领域依据或用户约束。看到结果后修改判据时,记录修改原因,并区分探索所得的解释与按原判据得到的结果。
26
-
27
- ## 根据结果调整
28
-
29
- 先判断检验是否有效执行。数据缺失、程序失败或方法不适用不等于研究假设被否定;代理指标改善也不自动证明最终目标达成。
30
-
31
- 有效结果削弱关键假设时,比较继续排查、修改方法、缩小问题或停止该方向的价值。结果仍不确定时,根据下一项证据区分解释的能力决定是否继续。
32
-
33
- 保留支撑方向判断的假设、判据、实际观测和产物引用。复用结果时保留检验条件与适用范围。