@coreyuan/vector-mind 1.0.19 → 1.0.30
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 +40 -1
- package/dist/builtin-conventions.d.ts +6 -0
- package/dist/builtin-conventions.js +93 -0
- package/dist/builtin-conventions.js.map +1 -0
- package/dist/builtin-instructions.d.ts +4 -0
- package/dist/builtin-instructions.js +5 -0
- package/dist/builtin-instructions.js.map +1 -0
- package/dist/builtin-policy.d.ts +7 -0
- package/dist/builtin-policy.js +24 -0
- package/dist/builtin-policy.js.map +1 -0
- package/dist/index.js +1291 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,6 +31,7 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
|
|
|
31
31
|
6) **需要按语义找上下文/代码/文档时**:AI 调用 `semantic_search(query, ...)`(不要靠猜)
|
|
32
32
|
|
|
33
33
|
> 本 MCP Server 会在初始化时下发 `instructions`,提示 AI 按以上流程调用工具(避免盲猜)。
|
|
34
|
+
> 这些 `instructions` 是**随包内置**的:只要用户安装并连接这个 MCP,就会自动拿到这层基础提示词;**不需要**他们再去写本地 config / policy 文件。
|
|
34
35
|
|
|
35
36
|
## MCP Tools
|
|
36
37
|
|
|
@@ -54,6 +55,19 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
|
|
|
54
55
|
- 入参:`{ key: string, content: string, tags?: string[] }`
|
|
55
56
|
- 用途:保存/更新“项目约定/规范”(框架选型、build 命令、产物路径、命名规则等),并在新会话通过 `bootstrap_context/get_brain_dump` 自动带出(仅 preview)
|
|
56
57
|
|
|
58
|
+
> 区分:
|
|
59
|
+
> - **内置全局规则**:写在 MCP 包源码里,会通过 `instructions` + `bootstrap_context/get_brain_dump` 自动下发给所有安装者
|
|
60
|
+
> - **项目级规则**:通过 `upsert_convention` 保存,只对当前 `project_root` 生效
|
|
61
|
+
>
|
|
62
|
+
> 当前包内置的全局规则包括:
|
|
63
|
+
> - 写操作规则只在代码开发、文件创建、修改、删除、移动等场景中生效,不干扰模型的分析、决策、实现路径与普通非写操作流程
|
|
64
|
+
> - 所有代码或文件改动仅允许在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求
|
|
65
|
+
> - 修改文件前必须先取得独占签出;若环境没有真实签出/签入工具,也必须按当前会话内的独占声明与释放执行,不得虚构工具调用
|
|
66
|
+
> - 同一文件同一时刻只允许一个活跃线程持有签出;其他线程必须等待该文件签入后才能继续,等待期间每 10 秒检查一次状态,且不得处理其他任务或其他文件
|
|
67
|
+
> - 多文件任务必须先声明全部目标文件集合,并按固定顺序依次签出;未签出的文件不得开始改动
|
|
68
|
+
> - 文件签出超过 10 分钟且当前没有其他活跃线程仍在处理时,必须先确认该文件没有明显未完成编辑痕迹;确认后才可签入,否则保留签出并报告原因
|
|
69
|
+
> - 若无法确认已满足规则,必须停止写入并报告,不得绕过
|
|
70
|
+
|
|
57
71
|
### `sync_change_intent`
|
|
58
72
|
- 入参:`{ intent: string, files?: string[], affected_files?: string[] }`
|
|
59
73
|
- 用途:把“这次改动的意图摘要”写入 `change_logs`,并与当前激活需求关联
|
|
@@ -70,11 +84,27 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
|
|
|
70
84
|
- 说明:
|
|
71
85
|
- 为避免某些客户端(如 Claude Code)因 tool output 过大报错,`pending_changes` 默认会分页返回;可用 `pending_offset/pending_limit` 翻页。
|
|
72
86
|
- 默认输出为 **compact**(返回 preview,不返回大段全文);需要全文时:优先用 `read_memory_item` 按需取(分段),而不是在这里打开 `include_content`
|
|
87
|
+
- `conventions` 会先返回**包内置的全局规则**,再补充当前项目自己保存的 convention
|
|
73
88
|
|
|
74
89
|
### `get_pending_changes`
|
|
75
90
|
- 入参:`{ offset?: number, limit?: number }`
|
|
76
91
|
- 用途:返回本地“已发生变更但尚未被 sync_change_intent 确认”的文件列表(便于 AI 不漏同步)
|
|
77
92
|
|
|
93
|
+
### `grep`
|
|
94
|
+
- 入参:`{ query: string, mode?: "regex"|"literal", smart_case?: boolean, case_sensitive?: boolean, literal_hint?: string, kinds?: string[], include_paths?: string[], exclude_paths?: string[], max_results?: number, max_candidates?: number }`
|
|
95
|
+
- 用途:对已索引的 `code_chunk/doc_chunk` 做快速匹配,返回精确 `file_path + line + col`,用于替代 `rg -n ...` / `Select-String`(不必扫全盘文件,更快也更稳定)
|
|
96
|
+
- 说明:
|
|
97
|
+
- 默认 `mode="regex"`(更接近 ripgrep 行为);如果你要纯文本查找,传 `mode="literal"`
|
|
98
|
+
- 默认 `smart_case=true`:未显式传 `case_sensitive` 时,“包含大写则大小写敏感,否则不敏感”(类似 `rg -S`)
|
|
99
|
+
- 如果正则几乎没有字面量(例如 `\\d+`),请传 `literal_hint` 或用 `include_paths` 缩小范围,否则会拒绝执行以避免全库扫描
|
|
100
|
+
|
|
101
|
+
### `read_file_lines`
|
|
102
|
+
- 入参:`{ path: string, from_line?: number, to_line?: number, total_count?: number, max_lines?: number, max_chars?: number }`
|
|
103
|
+
- 用途:按行读取文件片段(带硬限制避免 tokens 爆炸),用于替代 `Get-Content -TotalCount ...` / `head`
|
|
104
|
+
- 说明:
|
|
105
|
+
- `path` 可以是相对 `project_root` 的路径,也可以是 `project_root` 下的绝对路径(越界会报错)
|
|
106
|
+
- 如果不传 `to_line`,会使用 `total_count`(默认 200)从 `from_line` 起读取
|
|
107
|
+
|
|
78
108
|
### `query_codebase`
|
|
79
109
|
- 入参:`{ query: string }`
|
|
80
110
|
- 用途:按名称/签名模糊搜索 `symbols`,返回匹配的 `file_path` 与 `signature`
|
|
@@ -92,10 +122,15 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
|
|
|
92
122
|
- 入参:`{ query: string, top_k?: number, kinds?: string[], include_content?: boolean, preview_chars?: number, content_max_chars?: number }`
|
|
93
123
|
- 用途:对本地记忆库进行检索(覆盖需求/意图/笔记/项目总结/代码 chunk/文档 chunk)。如启用 embeddings,会优先走向量相似度;否则使用本地 FTS/LIKE。
|
|
94
124
|
|
|
125
|
+
### `prune_index`
|
|
126
|
+
- 入参:`{ dry_run?: boolean, prune_ignored_paths?: boolean, prune_minified_bundles?: boolean, max_files?: number, vacuum?: boolean }`
|
|
127
|
+
- 用途:清理历史上误索引/噪音的 `code_chunk/doc_chunk` 与 `symbols`(例如构建产物目录、新增忽略规则后遗留内容)。默认 `dry_run=true` 只统计,不实际删除。
|
|
128
|
+
|
|
95
129
|
## 本地数据与监听
|
|
96
130
|
|
|
97
131
|
- 数据库:默认使用 MCP `roots/list` 提供的 workspace root(否则回退到 `process.cwd()`,也可用 `VECTORMIND_ROOT` 强制指定)创建 `.vectormind/vectormind.db`(默认已在 `.gitignore` 中忽略整个 `.vectormind/` 目录)
|
|
98
|
-
- 监听范围:默认监听 workspace root(同上)下文件变动(默认忽略 `.git/`、`node_modules/`(含子目录)、`.vs/`、`bin/`、`obj/`、`dist/`、`build/`、`out
|
|
132
|
+
- 监听范围:默认监听 workspace root(同上)下文件变动(默认忽略 `.git/`、`node_modules/`(含子目录)、`.vs/`、`bin/`、`obj/`、`dist/`、`build/`、`out/`、`artifacts/`、`buildFiles/`、以及 `.turbo/`、`.nx/`、`.cache/`、`.parcel-cache/` 等常见噪音目录/产物)
|
|
133
|
+
- 自动清理:启动时会自动删除“已忽略目录”与常见噪音文件名(如 lockfile、`.min.js/.bundle.js/.chunk.js`)下历史遗留的 `code_chunk/doc_chunk` 与 `symbols`,避免数据库持续膨胀影响召回效果。
|
|
99
134
|
- 符号抽取:目前为轻量正则抽取(非 AST 解析),支持常见语言如 TS/JS、Python、Go、Rust、C/C++
|
|
100
135
|
- 检索:默认使用本地 SQLite FTS(无需模型);当你设置 `VECTORMIND_EMBEDDINGS=on` 才会启用向量化(`@xenova/transformers`),并优先用向量相似度做语义召回(首次启用可能下载模型权重,向量与数据都在本地)
|
|
101
136
|
|
|
@@ -111,6 +146,10 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
|
|
|
111
146
|
- `VECTORMIND_PENDING_TTL_DAYS=30`:pending 记录的自动过期天数(默认 30;设为 0 表示不过期)
|
|
112
147
|
- `VECTORMIND_PENDING_MAX=5000`:pending 表最大条目数(默认 5000;超过后会删除最旧记录以避免无限膨胀)
|
|
113
148
|
- `VECTORMIND_PENDING_PRUNE_EVERY=500`:每累计多少条 pending 事件触发一次 prune(默认 500;越小越及时但更频繁做清理)
|
|
149
|
+
- `VECTORMIND_INDEX_MAX_CODE_BYTES=400000`:单文件最大索引字节数(代码类,默认 400KB;超过会跳过索引,避免 bundle/产物膨胀)
|
|
150
|
+
- `VECTORMIND_INDEX_MAX_DOC_BYTES=600000`:单文件最大索引字节数(文档/配置类,默认 600KB;超过会跳过索引)
|
|
151
|
+
- `VECTORMIND_INDEX_SKIP_MINIFIED=1`:跳过疑似 minified/bundle 的 JS/CSS(默认开启;能显著减少构建产物噪音)
|
|
152
|
+
- `VECTORMIND_INDEX_AUTO_PRUNE_IGNORED=1`:启动时自动清理“已被忽略目录”下历史遗留的 chunk/symbol 索引(默认开启)
|
|
114
153
|
- `VECTORMIND_EMBEDDINGS=on|off`:是否启用向量化(默认 `off`;开启后会启动本地 embedding 模型,`semantic_search` 优先走向量相似度;关闭则走本地 FTS/LIKE,不会生成向量/启动模型)
|
|
115
154
|
- `VECTORMIND_EMBED_FILES=all|changed|none`:控制是否向量化“代码/文档 chunk”(默认 `all`;`none` 只影响 chunk,仍会向量化需求/意图/笔记/总结;`changed` 仅在 change/manual 时向量化 chunk)
|
|
116
155
|
- `VECTORMIND_EMBED_MODEL=...`:指定 embedding 模型(默认 `Xenova/all-MiniLM-L6-v2`)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export const BUILTIN_CONVENTIONS = [
|
|
2
|
+
{
|
|
3
|
+
key: "builtin:branch_write_boundary",
|
|
4
|
+
content: "以下规则仅在代码开发、文件创建、文件修改、文件删除、文件移动等写操作任务中生效;不限制模型的分析、决策、实现路径与普通非写操作流程。所有代码或文件改动仅允许在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求。",
|
|
5
|
+
tags: ["builtin", "branch", "write-boundary"],
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
key: "builtin:file_checkout_protocol",
|
|
9
|
+
content: "活跃线程仅指当前会话内的 agent 与 sub-agent。修改任何文件前,必须先取得该文件的独占签出;若当前环境没有真实签出/签入工具,也必须按当前会话内的独占声明与释放执行,不得虚构工具调用。",
|
|
10
|
+
tags: ["builtin", "checkout", "checkin", "locking"],
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
key: "builtin:same_file_waiting_rule",
|
|
14
|
+
content: "同一文件同一时刻只允许一个活跃线程持有签出;其他线程必须等待该文件签入后才能继续,且等待期间每 10 秒检查一次状态,不得处理其他任务或其他文件。",
|
|
15
|
+
tags: ["builtin", "checkout", "contention", "wait"],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: "builtin:multi_file_and_stale_checkout",
|
|
19
|
+
content: "多文件任务必须先声明全部目标文件集合,并按固定顺序依次签出;未签出的文件不得开始改动。文件签出超过 10 分钟且当前没有其他活跃线程仍在处理时,必须先确认该文件没有明显未完成编辑痕迹;确认后才可签入,否则保留签出并报告原因。若无法确认已满足规则,必须停止写入并报告,不得绕过。",
|
|
20
|
+
tags: ["builtin", "checkout", "ordering", "timeout", "recovery"],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "builtin:plan_lite_trigger_scope",
|
|
24
|
+
content: "以下规则仅在分析、排查、开发、调试、重构、文件修改、方案设计等多步骤任务型请求中生效;纯闲聊、单步问答、纯解释任务可不触发。该机制只管理外显任务列表与状态同步,不要求展开内部推理,不得干扰模型原本的分析、判断与决策能力。",
|
|
25
|
+
tags: ["builtin", "plan-lite", "scope", "non-interference"],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "builtin:plan_lite_clarification_gate",
|
|
29
|
+
content: "如果需求含糊、范围未定、缺少关键条件、需要确认,或存在两个及以上合理方向,必须先进入澄清模式,把“澄清需求与确认方向”列为第一项,并明确列出待确认点或可选方案。在用户确认前,不得开始正式执行,不得把未确认内容写成既定计划。",
|
|
30
|
+
tags: ["builtin", "plan-lite", "clarification", "gate"],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
key: "builtin:plan_lite_task_list_format",
|
|
34
|
+
content: "对触发 plan-lite 的请求,该会话的首条实质性回复必须先给出轻量执行列表。正式执行列表仅可在目标、范围、关键取舍和必要前置条件明确后创建,并应保持轻量,通常 3 至 7 项,清晰表达任务项、状态与下一步。",
|
|
35
|
+
tags: ["builtin", "plan-lite", "task-list", "format"],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: "builtin:plan_lite_host_and_update_rule",
|
|
39
|
+
content: "若宿主提供原生计划/任务列表工具,应优先同步到该工具;若无,则至少以精简文本列表展示。执行列表仅在任务状态变化、范围变化、任务项变化或用户要求时更新,不得每轮机械重复,也不得为了展示计划而制造冗长流程。",
|
|
40
|
+
tags: ["builtin", "plan-lite", "host", "update"],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: "builtin:destructive_operation_scope",
|
|
44
|
+
content: "当任务涉及 rebuild、regenerate、reset、overwrite、replace、force sync、覆盖式发布、批量删除/移动,或其他可能导致现有文件、配置、产物、代码改动被替换、清空、回退、删除或丢失的动作时,必须进入破坏性操作保护流程。该规则只约束外部风险检查与确认顺序,不要求展开内部推理。",
|
|
45
|
+
tags: ["builtin", "destructive", "scope", "non-interference"],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "builtin:destructive_impact_scan",
|
|
49
|
+
content: "执行破坏性操作前,必须先识别并明确说明受影响的文件、目录、模块、产物或配置范围,以及哪些内容会被重写、覆盖、替换、重置或删除。若影响范围无法说明清楚,则不得执行。",
|
|
50
|
+
tags: ["builtin", "destructive", "impact-scan", "preflight"],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "builtin:destructive_change_risk_gate",
|
|
54
|
+
content: "在破坏性操作前,必须先检查受影响范围内是否存在未提交、未同步、未合并、未保全或当前会话尚未完成的改动。若发现风险,必须立即停止,明确列出受影响范围、风险来源与可能后果,并给出“保留并合并 / 先提交或同步 / 先备份后覆盖 / 明确放弃后继续”等处理选项;在用户确认前,不得执行。",
|
|
55
|
+
tags: ["builtin", "destructive", "risk", "confirmation"],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: "builtin:destructive_uncertain_block",
|
|
59
|
+
content: "如果当前环境、工具能力或上下文不足以可靠确认是否存在将被覆盖的已有改动,则默认视为不安全。此时必须停止执行,并明确报告“无法确认安全,禁止继续破坏性操作”,不得基于猜测直接重建、重置、覆盖或替换。",
|
|
60
|
+
tags: ["builtin", "destructive", "uncertain", "block"],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "builtin:destructive_plan_lite_integration",
|
|
64
|
+
content: "若任务同时触发 Plan-Lite,则在正式执行列表中,破坏性操作前必须显式加入风险检查或确认步骤;若涉及 central、runtime、bundle、config、生成产物或发布产物的重建、重挂载、重新分发或覆盖替换,必须先确认目标范围内不存在尚未提交、尚未同步、尚未合并或尚未保全的改动,否则不得继续。",
|
|
65
|
+
tags: ["builtin", "destructive", "plan-lite", "integration"],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: "builtin:architecture_boundary_first",
|
|
69
|
+
content: "在项目搭建、功能实现、模块扩展、重构、文件新增或修改前,必须先判断需求所属边界,并让目录结构、模块划分、文件归属、命名方式和依赖方向与该边界一致。常见边界包括接口层、应用层、领域层、基础设施层、共享层、配置层、脚本层和测试层。",
|
|
70
|
+
tags: ["builtin", "architecture", "boundary", "classification"],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: "builtin:architecture_single_responsibility",
|
|
74
|
+
content: "单个模块和单个文件必须尽量只承担一种主职责。不得把路由、业务规则、数据访问、状态管理、渲染、工具函数、配置装配等多类职责混写在同一文件中;若职责已经混杂,必须优先拆分。",
|
|
75
|
+
tags: ["builtin", "architecture", "single-responsibility", "modularity"],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: "builtin:architecture_reuse_without_over_abstraction",
|
|
79
|
+
content: "新增代码时必须优先复用现有稳定模块;若直接复用会造成边界污染、命名失真、职责混乱或耦合升高,则应新增更清晰的抽象。公共能力应沉淀到共享层,但不得为了未来假设而过度抽象。",
|
|
80
|
+
tags: ["builtin", "architecture", "reuse", "abstraction"],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
key: "builtin:architecture_dependency_discipline",
|
|
84
|
+
content: "依赖方向必须稳定且可解释:接口层可依赖应用层,应用层可依赖领域层和抽象,基础设施层实现应用层或领域层定义的接口;领域层不得依赖 UI、路由、框架细节、数据库实现或临时脚本;共享层不得反向依赖具体业务模块;禁止循环依赖、跨层穿透和隐式双向耦合。",
|
|
85
|
+
tags: ["builtin", "architecture", "dependencies", "layering"],
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
key: "builtin:architecture_operability_and_guardrails",
|
|
89
|
+
content: "默认优先采用模块化单体、清晰分层、可逆决策和渐进演进。关键路径实现必须预留错误处理、超时控制、重试边界、幂等设计、降级或熔断扩展点、配置隔离、日志与监控挂点以及可测试性。若出现巨型文件、巨型模块、重复堆叠、职责失焦、难以定位、难以测试或难以后续演进,必须先调整结构再继续。",
|
|
90
|
+
tags: ["builtin", "architecture", "reliability", "maintainability"],
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
//# sourceMappingURL=builtin-conventions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-conventions.js","sourceRoot":"","sources":["../src/builtin-conventions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const BUILTIN_WRITE_POLICY_INSTRUCTIONS = "\u4EE5\u4E0B\u89C4\u5219\u4EC5\u5728\u4EE3\u7801\u5F00\u53D1\u3001\u6587\u4EF6\u521B\u5EFA\u3001\u6587\u4EF6\u4FEE\u6539\u3001\u6587\u4EF6\u5220\u9664\u3001\u6587\u4EF6\u79FB\u52A8\u7B49\u5199\u64CD\u4F5C\u4EFB\u52A1\u4E2D\u751F\u6548\uFF1B\u4E0D\u9650\u5236\u6A21\u578B\u7684\u5206\u6790\u3001\u51B3\u7B56\u3001\u5B9E\u73B0\u8DEF\u5F84\u4E0E\u666E\u901A\u975E\u5199\u64CD\u4F5C\u6D41\u7A0B\u3002\u6D3B\u8DC3\u7EBF\u7A0B\u4EC5\u6307\u5F53\u524D\u4F1A\u8BDD\u5185\u7684 agent \u4E0E sub-agent\u3002\u6240\u6709\u4EE3\u7801\u6216\u6587\u4EF6\u6539\u52A8\u4EC5\u5141\u8BB8\u5728\u5F53\u524D\u6D3B\u8DC3\u5206\u652F\u4E2D\u8FDB\u884C\uFF1B\u7981\u6B62\u521B\u5EFA\u3001\u5207\u6362\u6216\u4F7F\u7528\u4E34\u65F6\u5206\u652F\u3001\u4E34\u65F6\u5B50\u5206\u652F\uFF0C\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u3002\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\u524D\uFF0C\u5FC5\u987B\u5148\u53D6\u5F97\u8BE5\u6587\u4EF6\u7684\u72EC\u5360\u7B7E\u51FA\uFF1B\u82E5\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u771F\u5B9E\u7B7E\u51FA/\u7B7E\u5165\u5DE5\u5177\uFF0C\u4E5F\u5FC5\u987B\u6309\u5F53\u524D\u4F1A\u8BDD\u5185\u7684\u72EC\u5360\u58F0\u660E\u4E0E\u91CA\u653E\u6267\u884C\uFF0C\u4E0D\u5F97\u865A\u6784\u5DE5\u5177\u8C03\u7528\u3002\u540C\u4E00\u6587\u4EF6\u540C\u4E00\u65F6\u523B\u53EA\u5141\u8BB8\u4E00\u4E2A\u6D3B\u8DC3\u7EBF\u7A0B\u6301\u6709\u7B7E\u51FA\uFF1B\u5176\u4ED6\u7EBF\u7A0B\u5FC5\u987B\u7B49\u5F85\u8BE5\u6587\u4EF6\u7B7E\u5165\u540E\u624D\u80FD\u7EE7\u7EED\uFF0C\u4E14\u7B49\u5F85\u671F\u95F4\u6BCF 10 \u79D2\u68C0\u67E5\u4E00\u6B21\u72B6\u6001\uFF0C\u4E0D\u5F97\u5904\u7406\u5176\u4ED6\u4EFB\u52A1\u6216\u5176\u4ED6\u6587\u4EF6\u3002\u591A\u6587\u4EF6\u4EFB\u52A1\u5FC5\u987B\u5148\u58F0\u660E\u5168\u90E8\u76EE\u6807\u6587\u4EF6\u96C6\u5408\uFF0C\u5E76\u6309\u56FA\u5B9A\u987A\u5E8F\u4F9D\u6B21\u7B7E\u51FA\uFF1B\u672A\u7B7E\u51FA\u7684\u6587\u4EF6\u4E0D\u5F97\u5F00\u59CB\u6539\u52A8\u3002\u6587\u4EF6\u7B7E\u51FA\u8D85\u8FC7 10 \u5206\u949F\u4E14\u5F53\u524D\u6CA1\u6709\u5176\u4ED6\u6D3B\u8DC3\u7EBF\u7A0B\u4ECD\u5728\u5904\u7406\u65F6\uFF0C\u5FC5\u987B\u5148\u786E\u8BA4\u8BE5\u6587\u4EF6\u6CA1\u6709\u660E\u663E\u672A\u5B8C\u6210\u7F16\u8F91\u75D5\u8FF9\uFF1B\u786E\u8BA4\u540E\u624D\u53EF\u7B7E\u5165\uFF0C\u5426\u5219\u4FDD\u7559\u7B7E\u51FA\u5E76\u62A5\u544A\u539F\u56E0\u3002\u82E5\u65E0\u6CD5\u786E\u8BA4\u5DF2\u6EE1\u8DB3\u4E0A\u8FF0\u4EFB\u4E00\u89C4\u5219\uFF0C\u5FC5\u987B\u505C\u6B62\u5199\u5165\u5E76\u62A5\u544A\uFF0C\u4E0D\u5F97\u7ED5\u8FC7\u3002";
|
|
2
|
+
export declare const BUILTIN_PLAN_LITE_INSTRUCTIONS = "\u4EE5\u4E0B\u89C4\u5219\u4EC5\u5728\u5206\u6790\u3001\u6392\u67E5\u3001\u5F00\u53D1\u3001\u8C03\u8BD5\u3001\u91CD\u6784\u3001\u6587\u4EF6\u4FEE\u6539\u3001\u65B9\u6848\u8BBE\u8BA1\u7B49\u591A\u6B65\u9AA4\u4EFB\u52A1\u578B\u8BF7\u6C42\u4E2D\u751F\u6548\uFF1B\u4E0D\u9650\u5236\u6A21\u578B\u5185\u90E8\u63A8\u7406\uFF0C\u53EA\u7EA6\u675F\u5916\u663E\u4EFB\u52A1\u7BA1\u7406\u4E0E\u6267\u884C\u524D\u6F84\u6E05\u3002\u5BF9\u8FD9\u7C7B\u8BF7\u6C42\uFF0C\u8BE5\u4F1A\u8BDD\u7684\u9996\u6761\u5B9E\u8D28\u6027\u56DE\u590D\u5FC5\u987B\u5148\u7ED9\u51FA\u8F7B\u91CF\u6267\u884C\u5217\u8868\uFF1B\u82E5\u5BBF\u4E3B\u63D0\u4F9B\u539F\u751F\u8BA1\u5212/\u4EFB\u52A1\u5217\u8868\u5DE5\u5177\uFF0C\u5219\u4F18\u5148\u540C\u6B65\u5230\u8BE5\u5DE5\u5177\uFF0C\u5426\u5219\u81F3\u5C11\u4EE5\u7CBE\u7B80\u6587\u672C\u5217\u8868\u5C55\u793A\u3002\u82E5\u9700\u6C42\u5B58\u5728\u542B\u7CCA\u3001\u7F3A\u5C11\u5173\u952E\u6761\u4EF6\u3001\u9700\u8981\u786E\u8BA4\uFF0C\u6216\u5B58\u5728\u4E24\u4E2A\u53CA\u4EE5\u4E0A\u5408\u7406\u65B9\u5411\uFF0C\u5219\u5FC5\u987B\u5148\u8FDB\u5165\u6F84\u6E05\u6A21\u5F0F\uFF0C\u628A\u201C\u6F84\u6E05\u9700\u6C42\u4E0E\u786E\u8BA4\u65B9\u5411\u201D\u5217\u4E3A\u7B2C\u4E00\u9879\uFF0C\u5E76\u5728\u6B63\u6587\u660E\u786E\u5217\u51FA\u5F85\u786E\u8BA4\u70B9\uFF1B\u5728\u7528\u6237\u786E\u8BA4\u524D\uFF0C\u4E0D\u5F97\u5F00\u59CB\u6B63\u5F0F\u6267\u884C\uFF0C\u4E0D\u5F97\u628A\u672A\u786E\u8BA4\u5185\u5BB9\u5199\u6210\u65E2\u5B9A\u8BA1\u5212\u3002\u53EA\u6709\u5728\u76EE\u6807\u3001\u8303\u56F4\u3001\u5173\u952E\u53D6\u820D\u548C\u5FC5\u8981\u524D\u7F6E\u6761\u4EF6\u660E\u786E\u540E\uFF0C\u624D\u53EF\u8F6C\u4E3A\u6B63\u5F0F\u6267\u884C\u5217\u8868\u5E76\u5F00\u59CB\u5B9E\u65BD\u3002\u6267\u884C\u5217\u8868\u5FC5\u987B\u4FDD\u6301\u8F7B\u91CF\uFF0C\u901A\u5E38 3 \u81F3 7 \u9879\uFF1B\u4EC5\u5728\u4EFB\u52A1\u72B6\u6001\u53D8\u5316\u3001\u8303\u56F4\u53D8\u5316\u3001\u4EFB\u52A1\u9879\u53D8\u5316\u6216\u7528\u6237\u8981\u6C42\u65F6\u66F4\u65B0\uFF0C\u4E0D\u5F97\u4E3A\u4E86\u5C55\u793A\u8BA1\u5212\u800C\u5236\u9020\u5197\u957F\u6D41\u7A0B\u3002";
|
|
3
|
+
export declare const BUILTIN_DESTRUCTIVE_OPERATION_GUARD_INSTRUCTIONS = "\u4EE5\u4E0B\u89C4\u5219\u4EC5\u5728 rebuild\u3001regenerate\u3001reset\u3001overwrite\u3001replace\u3001force sync\u3001\u8986\u76D6\u5F0F\u53D1\u5E03\u3001\u6279\u91CF\u5220\u9664/\u79FB\u52A8\uFF0C\u6216\u4EFB\u4F55\u53EF\u80FD\u5BFC\u81F4\u73B0\u6709\u6587\u4EF6\u3001\u914D\u7F6E\u3001\u4EA7\u7269\u3001\u4EE3\u7801\u6539\u52A8\u88AB\u66FF\u6362\u3001\u6E05\u7A7A\u3001\u56DE\u9000\u3001\u5220\u9664\u6216\u4E22\u5931\u7684\u7834\u574F\u6027\u64CD\u4F5C\u4E2D\u751F\u6548\uFF1B\u4E0D\u9650\u5236\u6A21\u578B\u5185\u90E8\u63A8\u7406\uFF0C\u53EA\u7EA6\u675F\u5916\u90E8\u6267\u884C\u987A\u5E8F\u4E0E\u98CE\u9669\u786E\u8BA4\u3002\u6267\u884C\u4EFB\u4F55\u7834\u574F\u6027\u64CD\u4F5C\u524D\uFF0C\u5FC5\u987B\u5148\u8BC6\u522B\u53D7\u5F71\u54CD\u7684\u6587\u4EF6\u3001\u76EE\u5F55\u3001\u6A21\u5757\u6216\u4EA7\u7269\u8303\u56F4\uFF0C\u5E76\u68C0\u67E5\u8BE5\u8303\u56F4\u5185\u662F\u5426\u5B58\u5728\u672A\u63D0\u4EA4\u3001\u672A\u540C\u6B65\u3001\u672A\u5408\u5E76\u3001\u672A\u4FDD\u5168\u6216\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5B8C\u6210\u7684\u6539\u52A8\uFF1B\u82E5\u5B58\u5728\u98CE\u9669\uFF0C\u5FC5\u987B\u5148\u505C\u6B62\u5E76\u660E\u786E\u62A5\u544A\u53D7\u5F71\u54CD\u8303\u56F4\u3001\u98CE\u9669\u70B9\u4E0E\u53EF\u80FD\u540E\u679C\uFF0C\u7ED9\u51FA\u201C\u4FDD\u7559\u5E76\u5408\u5E76 / \u5148\u63D0\u4EA4\u6216\u540C\u6B65 / \u5148\u5907\u4EFD\u540E\u8986\u76D6 / \u660E\u786E\u653E\u5F03\u540E\u7EE7\u7EED\u201D\u7B49\u5904\u7406\u9009\u9879\uFF0C\u5728\u7528\u6237\u786E\u8BA4\u524D\u4E0D\u5F97\u6267\u884C\u3002\u82E5\u5F53\u524D\u73AF\u5883\u65E0\u6CD5\u53EF\u9760\u786E\u8BA4\u662F\u5426\u5B58\u5728\u5C06\u88AB\u8986\u76D6\u7684\u5DF2\u6709\u6539\u52A8\uFF0C\u4E5F\u5FC5\u987B\u505C\u6B62\u6267\u884C\u5E76\u62A5\u544A\u201C\u65E0\u6CD5\u786E\u8BA4\u5B89\u5168\uFF0C\u7981\u6B62\u7EE7\u7EED\u7834\u574F\u6027\u64CD\u4F5C\u201D\uFF0C\u4E0D\u5F97\u57FA\u4E8E\u731C\u6D4B\u76F4\u63A5\u91CD\u5EFA\u3001\u8986\u76D6\u6216\u91CD\u7F6E\u3002";
|
|
4
|
+
export declare const BUILTIN_ARCHITECTURE_AND_CODE_ORGANIZATION_INSTRUCTIONS = "\u4EE5\u4E0B\u89C4\u5219\u4EC5\u5728\u9879\u76EE\u642D\u5EFA\u3001\u67B6\u6784\u8BBE\u8BA1\u3001\u529F\u80FD\u5B9E\u73B0\u3001\u6A21\u5757\u6269\u5C55\u3001\u91CD\u6784\u3001\u6587\u4EF6\u65B0\u589E\u6216\u4FEE\u6539\u7B49\u5DE5\u7A0B\u4EFB\u52A1\u4E2D\u751F\u6548\uFF1B\u4E0D\u9650\u5236\u6A21\u578B\u5185\u90E8\u63A8\u7406\uFF0C\u53EA\u7EA6\u675F\u67B6\u6784\u4E0E\u4EE3\u7801\u7EC4\u7EC7\u3002\u5F00\u59CB\u5B9E\u73B0\u524D\uFF0C\u5FC5\u987B\u5148\u5224\u65AD\u5F53\u524D\u9700\u6C42\u6240\u5C5E\u8FB9\u754C\uFF0C\u5E76\u8BA9\u76EE\u5F55\u7ED3\u6784\u3001\u6A21\u5757\u5212\u5206\u3001\u6587\u4EF6\u5F52\u5C5E\u3001\u547D\u540D\u65B9\u5F0F\u548C\u4F9D\u8D56\u65B9\u5411\u4E0E\u8BE5\u8FB9\u754C\u4E00\u81F4\uFF1B\u5E38\u89C1\u8FB9\u754C\u5305\u62EC\u63A5\u53E3\u5C42\u3001\u5E94\u7528\u5C42\u3001\u9886\u57DF\u5C42\u3001\u57FA\u7840\u8BBE\u65BD\u5C42\u3001\u5171\u4EAB\u5C42\u3001\u914D\u7F6E\u5C42\u3001\u811A\u672C\u5C42\u548C\u6D4B\u8BD5\u5C42\u3002\u65B0\u589E\u4EE3\u7801\u65F6\u5FC5\u987B\u4F18\u5148\u590D\u7528\u73B0\u6709\u7A33\u5B9A\u6A21\u5757\uFF1B\u53EA\u6709\u5F53\u76F4\u63A5\u590D\u7528\u4F1A\u9020\u6210\u8FB9\u754C\u6C61\u67D3\u3001\u804C\u8D23\u6DF7\u4E71\u3001\u8026\u5408\u5347\u9AD8\u6216\u9519\u8BEF\u62BD\u8C61\u65F6\uFF0C\u624D\u5141\u8BB8\u65B0\u589E\u62BD\u8C61\u3001\u6A21\u5757\u6216\u76EE\u5F55\u3002\u516C\u5171\u80FD\u529B\u5E94\u6C89\u6DC0\u4E3A\u53EF\u590D\u7528\u7EC4\u4EF6\u3001\u670D\u52A1\u3001\u5DE5\u5177\u6216\u5E93\uFF0C\u4F46\u4E0D\u5F97\u4E3A\u4E86\u590D\u7528\u800C\u8FC7\u5EA6\u62BD\u8C61\u3002\u5355\u4E2A\u6587\u4EF6\u548C\u5355\u4E2A\u6A21\u5757\u5FC5\u987B\u4FDD\u6301\u5355\u4E00\u4E3B\u804C\u8D23\uFF1B\u82E5\u4E00\u4E2A\u6587\u4EF6\u540C\u65F6\u627F\u62C5\u8DEF\u7531\u3001\u63A7\u5236\u3001\u4E1A\u52A1\u89C4\u5219\u3001\u6570\u636E\u8BBF\u95EE\u3001\u72B6\u6001\u7BA1\u7406\u3001\u89C6\u56FE\u6E32\u67D3\u3001\u5DE5\u5177\u51FD\u6570\u6216\u914D\u7F6E\u88C5\u914D\u7B49\u591A\u7C7B\u804C\u8D23\uFF0C\u5FC5\u987B\u62C6\u5206\u3002\u4F9D\u8D56\u65B9\u5411\u5FC5\u987B\u7A33\u5B9A\uFF1A\u63A5\u53E3\u5C42\u53EF\u4F9D\u8D56\u5E94\u7528\u5C42\uFF0C\u5E94\u7528\u5C42\u53EF\u4F9D\u8D56\u9886\u57DF\u5C42\u4E0E\u62BD\u8C61\uFF0C\u57FA\u7840\u8BBE\u65BD\u5C42\u8D1F\u8D23\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u53CD\u5411\u8BA9\u9886\u57DF\u5C42\u4F9D\u8D56 UI\u3001\u8DEF\u7531\u3001\u6846\u67B6\u7EC6\u8282\u3001\u6570\u636E\u5E93\u5B9E\u73B0\u6216\u4E34\u65F6\u811A\u672C\uFF1B\u5171\u4EAB\u5C42\u4E0D\u5F97\u4F9D\u8D56\u5177\u4F53\u4E1A\u52A1\u6A21\u5757\uFF1B\u7981\u6B62\u5FAA\u73AF\u4F9D\u8D56\u3001\u8DE8\u5C42\u7A7F\u900F\u548C\u5171\u4EAB\u6CE5\u7403\u3002\u9ED8\u8BA4\u4F18\u5148\u91C7\u7528\u6A21\u5757\u5316\u5355\u4F53\u3001\u6E05\u6670\u5206\u5C42\u3001\u53EF\u9006\u8BBE\u8BA1\u548C\u6E10\u8FDB\u6F14\u8FDB\uFF0C\u9664\u975E\u5DF2\u6709\u5145\u5206\u8BC1\u636E\u8BC1\u660E\u5FC5\u987B\u91C7\u7528\u66F4\u9AD8\u590D\u6742\u5EA6\u65B9\u6848\u3002\u5173\u952E\u5B9E\u73B0\u5FC5\u987B\u540C\u65F6\u8003\u8651\u53EF\u6D4B\u8BD5\u6027\u3001\u9519\u8BEF\u5904\u7406\u3001\u914D\u7F6E\u9694\u79BB\u3001\u65E5\u5FD7\u4E0E\u76D1\u63A7\u6269\u5C55\u70B9\uFF0C\u4EE5\u53CA\u8D85\u65F6\u3001\u91CD\u8BD5\u3001\u5E42\u7B49\u3001\u964D\u7EA7\u3001\u7194\u65AD\u7B49\u9AD8\u53EF\u7528\u57FA\u7840\u80FD\u529B\u3002\u82E5\u5F53\u524D\u5B9E\u73B0\u4F1A\u5BFC\u81F4\u5DE8\u578B\u6587\u4EF6\u3001\u5DE8\u578B\u6A21\u5757\u3001\u91CD\u590D\u5806\u53E0\u3001\u804C\u8D23\u5931\u7126\u3001\u96BE\u4EE5\u5B9A\u4F4D\u3001\u96BE\u4EE5\u6D4B\u8BD5\u6216\u96BE\u4EE5\u540E\u7EED\u6F14\u8FDB\uFF0C\u5FC5\u987B\u5148\u8C03\u6574\u7ED3\u6784\u540E\u518D\u7EE7\u7EED\u7F16\u7801\u3002\u82E5\u65E0\u6CD5\u540C\u65F6\u6EE1\u8DB3\u590D\u7528\u6027\u3001\u6E05\u6670\u6027\u548C\u4EA4\u4ED8\u901F\u5EA6\uFF0C\u4F18\u5148\u4FDD\u8BC1\u8FB9\u754C\u6E05\u6670\u3001\u804C\u8D23\u5355\u4E00\u3001\u4F9D\u8D56\u53EF\u63A7\u548C\u540E\u7EED\u53EF\u91CD\u6784\u6027\uFF0C\u5E76\u660E\u786E\u8BF4\u660E\u53D6\u820D\u3002";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const BUILTIN_WRITE_POLICY_INSTRUCTIONS = "以下规则仅在代码开发、文件创建、文件修改、文件删除、文件移动等写操作任务中生效;不限制模型的分析、决策、实现路径与普通非写操作流程。活跃线程仅指当前会话内的 agent 与 sub-agent。所有代码或文件改动仅允许在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求。修改任何文件前,必须先取得该文件的独占签出;若当前环境没有真实签出/签入工具,也必须按当前会话内的独占声明与释放执行,不得虚构工具调用。同一文件同一时刻只允许一个活跃线程持有签出;其他线程必须等待该文件签入后才能继续,且等待期间每 10 秒检查一次状态,不得处理其他任务或其他文件。多文件任务必须先声明全部目标文件集合,并按固定顺序依次签出;未签出的文件不得开始改动。文件签出超过 10 分钟且当前没有其他活跃线程仍在处理时,必须先确认该文件没有明显未完成编辑痕迹;确认后才可签入,否则保留签出并报告原因。若无法确认已满足上述任一规则,必须停止写入并报告,不得绕过。";
|
|
2
|
+
export const BUILTIN_PLAN_LITE_INSTRUCTIONS = "以下规则仅在分析、排查、开发、调试、重构、文件修改、方案设计等多步骤任务型请求中生效;不限制模型内部推理,只约束外显任务管理与执行前澄清。对这类请求,该会话的首条实质性回复必须先给出轻量执行列表;若宿主提供原生计划/任务列表工具,则优先同步到该工具,否则至少以精简文本列表展示。若需求存在含糊、缺少关键条件、需要确认,或存在两个及以上合理方向,则必须先进入澄清模式,把“澄清需求与确认方向”列为第一项,并在正文明确列出待确认点;在用户确认前,不得开始正式执行,不得把未确认内容写成既定计划。只有在目标、范围、关键取舍和必要前置条件明确后,才可转为正式执行列表并开始实施。执行列表必须保持轻量,通常 3 至 7 项;仅在任务状态变化、范围变化、任务项变化或用户要求时更新,不得为了展示计划而制造冗长流程。";
|
|
3
|
+
export const BUILTIN_DESTRUCTIVE_OPERATION_GUARD_INSTRUCTIONS = "以下规则仅在 rebuild、regenerate、reset、overwrite、replace、force sync、覆盖式发布、批量删除/移动,或任何可能导致现有文件、配置、产物、代码改动被替换、清空、回退、删除或丢失的破坏性操作中生效;不限制模型内部推理,只约束外部执行顺序与风险确认。执行任何破坏性操作前,必须先识别受影响的文件、目录、模块或产物范围,并检查该范围内是否存在未提交、未同步、未合并、未保全或当前会话尚未完成的改动;若存在风险,必须先停止并明确报告受影响范围、风险点与可能后果,给出“保留并合并 / 先提交或同步 / 先备份后覆盖 / 明确放弃后继续”等处理选项,在用户确认前不得执行。若当前环境无法可靠确认是否存在将被覆盖的已有改动,也必须停止执行并报告“无法确认安全,禁止继续破坏性操作”,不得基于猜测直接重建、覆盖或重置。";
|
|
4
|
+
export const BUILTIN_ARCHITECTURE_AND_CODE_ORGANIZATION_INSTRUCTIONS = "以下规则仅在项目搭建、架构设计、功能实现、模块扩展、重构、文件新增或修改等工程任务中生效;不限制模型内部推理,只约束架构与代码组织。开始实现前,必须先判断当前需求所属边界,并让目录结构、模块划分、文件归属、命名方式和依赖方向与该边界一致;常见边界包括接口层、应用层、领域层、基础设施层、共享层、配置层、脚本层和测试层。新增代码时必须优先复用现有稳定模块;只有当直接复用会造成边界污染、职责混乱、耦合升高或错误抽象时,才允许新增抽象、模块或目录。公共能力应沉淀为可复用组件、服务、工具或库,但不得为了复用而过度抽象。单个文件和单个模块必须保持单一主职责;若一个文件同时承担路由、控制、业务规则、数据访问、状态管理、视图渲染、工具函数或配置装配等多类职责,必须拆分。依赖方向必须稳定:接口层可依赖应用层,应用层可依赖领域层与抽象,基础设施层负责实现,不得反向让领域层依赖 UI、路由、框架细节、数据库实现或临时脚本;共享层不得依赖具体业务模块;禁止循环依赖、跨层穿透和共享泥球。默认优先采用模块化单体、清晰分层、可逆设计和渐进演进,除非已有充分证据证明必须采用更高复杂度方案。关键实现必须同时考虑可测试性、错误处理、配置隔离、日志与监控扩展点,以及超时、重试、幂等、降级、熔断等高可用基础能力。若当前实现会导致巨型文件、巨型模块、重复堆叠、职责失焦、难以定位、难以测试或难以后续演进,必须先调整结构后再继续编码。若无法同时满足复用性、清晰性和交付速度,优先保证边界清晰、职责单一、依赖可控和后续可重构性,并明确说明取舍。";
|
|
5
|
+
//# sourceMappingURL=builtin-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-instructions.js","sourceRoot":"","sources":["../src/builtin-instructions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAC5C,mbAAmb,CAAC;AAEtb,MAAM,CAAC,MAAM,8BAA8B,GACzC,iWAAiW,CAAC;AAEpW,MAAM,CAAC,MAAM,gDAAgD,GAC3D,0XAA0X,CAAC;AAE7X,MAAM,CAAC,MAAM,uDAAuD,GAClE,opBAAopB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type BuiltinConventionSpec = {
|
|
2
|
+
key: string;
|
|
3
|
+
content: string;
|
|
4
|
+
tags?: string[];
|
|
5
|
+
};
|
|
6
|
+
export declare const BUILTIN_WRITE_POLICY_INSTRUCTIONS = "\u4EE5\u4E0B\u89C4\u5219\u4EC5\u5728\u4EE3\u7801\u5F00\u53D1\u3001\u6587\u4EF6\u521B\u5EFA\u3001\u6587\u4EF6\u4FEE\u6539\u3001\u6587\u4EF6\u5220\u9664\u3001\u6587\u4EF6\u79FB\u52A8\u7B49\u5199\u64CD\u4F5C\u4EFB\u52A1\u4E2D\u751F\u6548\uFF1B\u4E0D\u9650\u5236\u6A21\u578B\u7684\u5206\u6790\u3001\u51B3\u7B56\u3001\u5B9E\u73B0\u8DEF\u5F84\u4E0E\u666E\u901A\u975E\u5199\u64CD\u4F5C\u6D41\u7A0B\u3002\u6D3B\u8DC3\u7EBF\u7A0B\u4EC5\u6307\u5F53\u524D\u4F1A\u8BDD\u5185\u7684 agent \u4E0E sub-agent\u3002\u6240\u6709\u4EE3\u7801\u6216\u6587\u4EF6\u6539\u52A8\u4EC5\u5141\u8BB8\u5728\u5F53\u524D\u6D3B\u8DC3\u5206\u652F\u4E2D\u8FDB\u884C\uFF1B\u7981\u6B62\u521B\u5EFA\u3001\u5207\u6362\u6216\u4F7F\u7528\u4E34\u65F6\u5206\u652F\u3001\u4E34\u65F6\u5B50\u5206\u652F\uFF0C\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u3002\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\u524D\uFF0C\u5FC5\u987B\u5148\u53D6\u5F97\u8BE5\u6587\u4EF6\u7684\u72EC\u5360\u7B7E\u51FA\uFF1B\u82E5\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u771F\u5B9E\u7B7E\u51FA/\u7B7E\u5165\u5DE5\u5177\uFF0C\u4E5F\u5FC5\u987B\u6309\u5F53\u524D\u4F1A\u8BDD\u5185\u7684\u72EC\u5360\u58F0\u660E\u4E0E\u91CA\u653E\u6267\u884C\uFF0C\u4E0D\u5F97\u865A\u6784\u5DE5\u5177\u8C03\u7528\u3002\u540C\u4E00\u6587\u4EF6\u540C\u4E00\u65F6\u523B\u53EA\u5141\u8BB8\u4E00\u4E2A\u6D3B\u8DC3\u7EBF\u7A0B\u6301\u6709\u7B7E\u51FA\uFF1B\u5176\u4ED6\u7EBF\u7A0B\u5FC5\u987B\u7B49\u5F85\u8BE5\u6587\u4EF6\u7B7E\u5165\u540E\u624D\u80FD\u7EE7\u7EED\uFF0C\u4E14\u7B49\u5F85\u671F\u95F4\u6BCF 10 \u79D2\u68C0\u67E5\u4E00\u6B21\u72B6\u6001\uFF0C\u4E0D\u5F97\u5904\u7406\u5176\u4ED6\u4EFB\u52A1\u6216\u5176\u4ED6\u6587\u4EF6\u3002\u591A\u6587\u4EF6\u4EFB\u52A1\u5FC5\u987B\u5148\u58F0\u660E\u5168\u90E8\u76EE\u6807\u6587\u4EF6\u96C6\u5408\uFF0C\u5E76\u6309\u56FA\u5B9A\u987A\u5E8F\u4F9D\u6B21\u7B7E\u51FA\uFF1B\u672A\u7B7E\u51FA\u7684\u6587\u4EF6\u4E0D\u5F97\u5F00\u59CB\u6539\u52A8\u3002\u6587\u4EF6\u7B7E\u51FA\u8D85\u8FC7 10 \u5206\u949F\u4E14\u5F53\u524D\u6CA1\u6709\u5176\u4ED6\u6D3B\u8DC3\u7EBF\u7A0B\u4ECD\u5728\u5904\u7406\u65F6\uFF0C\u5FC5\u987B\u5148\u786E\u8BA4\u8BE5\u6587\u4EF6\u6CA1\u6709\u660E\u663E\u672A\u5B8C\u6210\u7F16\u8F91\u75D5\u8FF9\uFF1B\u786E\u8BA4\u540E\u624D\u53EF\u7B7E\u5165\uFF0C\u5426\u5219\u4FDD\u7559\u7B7E\u51FA\u5E76\u62A5\u544A\u539F\u56E0\u3002\u82E5\u65E0\u6CD5\u786E\u8BA4\u5DF2\u6EE1\u8DB3\u4E0A\u8FF0\u4EFB\u4E00\u89C4\u5219\uFF0C\u5FC5\u987B\u505C\u6B62\u5199\u5165\u5E76\u62A5\u544A\uFF0C\u4E0D\u5F97\u7ED5\u8FC7\u3002";
|
|
7
|
+
export declare const BUILTIN_CONVENTIONS: BuiltinConventionSpec[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const BUILTIN_WRITE_POLICY_INSTRUCTIONS = "以下规则仅在代码开发、文件创建、文件修改、文件删除、文件移动等写操作任务中生效;不限制模型的分析、决策、实现路径与普通非写操作流程。活跃线程仅指当前会话内的 agent 与 sub-agent。所有代码或文件改动仅允许在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求。修改任何文件前,必须先取得该文件的独占签出;若当前环境没有真实签出/签入工具,也必须按当前会话内的独占声明与释放执行,不得虚构工具调用。同一文件同一时刻只允许一个活跃线程持有签出;其他线程必须等待该文件签入后才能继续,且等待期间每 10 秒检查一次状态,不得处理其他任务或其他文件。多文件任务必须先声明全部目标文件集合,并按固定顺序依次签出;未签出的文件不得开始改动。文件签出超过 10 分钟且当前没有其他活跃线程仍在处理时,必须先确认该文件没有明显未完成编辑痕迹;确认后才可签入,否则保留签出并报告原因。若无法确认已满足上述任一规则,必须停止写入并报告,不得绕过。";
|
|
2
|
+
export const BUILTIN_CONVENTIONS = [
|
|
3
|
+
{
|
|
4
|
+
key: "builtin:branch_write_boundary",
|
|
5
|
+
content: "以下规则仅在代码开发、文件创建、文件修改、文件删除、文件移动等写操作任务中生效;不限制模型的分析、决策、实现路径与普通非写操作流程。所有代码或文件改动仅允许在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求。",
|
|
6
|
+
tags: ["builtin", "branch", "write-boundary"],
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
key: "builtin:file_checkout_protocol",
|
|
10
|
+
content: "活跃线程仅指当前会话内的 agent 与 sub-agent。修改任何文件前,必须先取得该文件的独占签出;若当前环境没有真实签出/签入工具,也必须按当前会话内的独占声明与释放执行,不得虚构工具调用。",
|
|
11
|
+
tags: ["builtin", "checkout", "checkin", "locking"],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: "builtin:same_file_waiting_rule",
|
|
15
|
+
content: "同一文件同一时刻只允许一个活跃线程持有签出;其他线程必须等待该文件签入后才能继续,且等待期间每 10 秒检查一次状态,不得处理其他任务或其他文件。",
|
|
16
|
+
tags: ["builtin", "checkout", "contention", "wait"],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "builtin:multi_file_and_stale_checkout",
|
|
20
|
+
content: "多文件任务必须先声明全部目标文件集合,并按固定顺序依次签出;未签出的文件不得开始改动。文件签出超过 10 分钟且当前没有其他活跃线程仍在处理时,必须先确认该文件没有明显未完成编辑痕迹;确认后才可签入,否则保留签出并报告原因。若无法确认已满足规则,必须停止写入并报告,不得绕过。",
|
|
21
|
+
tags: ["builtin", "checkout", "ordering", "timeout", "recovery"],
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=builtin-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-policy.js","sourceRoot":"","sources":["../src/builtin-policy.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iCAAiC,GAC5C,mbAAmb,CAAC;AAEtb,MAAM,CAAC,MAAM,mBAAmB,GAA4B;IAC1D;QACE,GAAG,EAAE,+BAA+B;QACpC,OAAO,EACL,yHAAyH;QAC3H,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;KAC9C;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,OAAO,EACL,qGAAqG;QACvG,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KACpD;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,OAAO,EACL,2EAA2E;QAC7E,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;KACpD;IACD;QACE,GAAG,EAAE,uCAAuC;QAC5C,OAAO,EACL,4IAA4I;QAC9I,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;KACjE;CACF,CAAC"}
|