@siming-org/opencode-plugin 0.1.16 → 0.1.17
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 +2 -2
- package/dist/task-discipline-prompt.d.ts +1 -0
- package/dist/task-discipline-prompt.d.ts.map +1 -1
- package/dist/task-discipline-prompt.js +13 -4
- package/dist/task-discipline-prompt.js.map +1 -1
- package/dist/todo/prompt.d.ts +1 -1
- package/dist/todo/prompt.d.ts.map +1 -1
- package/dist/todo/prompt.js +2 -2
- package/dist/todo/task-planning-skill.js +3 -2
- package/dist/todo/task-planning-skill.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ opencode plugin update # 升级
|
|
|
20
20
|
| 工具 `siming_cli` | 以子进程执行任意 siming CLI 命令(仅限接入与诊断;任务生命周期操作一律走 MCP 三件套 siming_task / siming_template / siming_auth;日常运维请走终端) |
|
|
21
21
|
| 技能 | `siming-guide` 接入引导 + `task-planning` 任务清单规划(固定常驻)+ server 侧全局/项目技能自动同步 |
|
|
22
22
|
| 子代理 | server 侧 agent 自动同步为 subagent(模型置空继承主会话当前模型;任务依据限于项目代码,过程产物读取与命令执行由主会话完成) |
|
|
23
|
-
| 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject
|
|
23
|
+
| 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject`)的**主会话**,向系统指令追加任务纪律提示词(插件内常量,无网络拉取;**先识别意图:仅开发/调研类型建任务;非开发调整默认不建任务,涉及源代码或生产资产文本时走「简短计划 → 用户确认 → 执行 → 补验证」轻量路径**;子代理/辅助请求/未接入工作区不注入;判定复用 worktree 桥语义,T202610150001;旧宿主缺 session 域自动跳过并由激活自检上报) |
|
|
24
24
|
| todo 维护提醒 | 所有工作区**主会话**生效(不要求接入 siming):todo 系统提示词 + `task-planning` 技能 + 每 N 次 LLM 请求尾部一行「自动提醒」注入,推动及时维护 todos(详见下节;宿主需开启 `experimental.todo`,未开启则三件套整体不生效) |
|
|
25
25
|
|
|
26
26
|
## todo 维护提醒(todoNudge)
|
|
@@ -73,7 +73,7 @@ opencode plugin update # 升级
|
|
|
73
73
|
|
|
74
74
|
## 常驻与上下文占用
|
|
75
75
|
|
|
76
|
-
全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.
|
|
76
|
+
全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.6-0.9K token,T202610290001 意图分流文案后按实测校正)。插件不内置任何 permissions 规则;如需收窄 `siming_cli` 可达面,可自配 deny 规则引用其锚点 `siming-setup`(options.permission 声明值),例如在 opencode 权限配置中 deny `siming-setup`。
|
|
77
77
|
|
|
78
78
|
## 旧产物同名处理
|
|
79
79
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* 任务纪律提示词(T202610160002 用户裁定:插件内常量·短提示;T202610200001 补全
|
|
3
3
|
* 使用引导与异常推进原则——任务读取/推进骨架、工具边界与异常处理;
|
|
4
4
|
* T202610220001 默认约束面收敛为开发流程与调研流程,其他工作默认不走 siming,业务特定流程需项目提示词声明;
|
|
5
|
+
* T202610290001 改为先识别意图再路由:仅开发/调研类型建任务,非开发调整默认不建任务、涉及源代码或生产资产文本时走轻量路径;
|
|
5
6
|
* 不做服务端动态拉取)。
|
|
6
7
|
* 外层判定:register/task-discipline.ts——仅已接入 siming 工作区的主会话注入。
|
|
7
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-discipline-prompt.d.ts","sourceRoot":"","sources":["../src/task-discipline-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"task-discipline-prompt.d.ts","sourceRoot":"","sources":["../src/task-discipline-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,QAmB2B,CAAC"}
|
|
@@ -2,13 +2,22 @@
|
|
|
2
2
|
* 任务纪律提示词(T202610160002 用户裁定:插件内常量·短提示;T202610200001 补全
|
|
3
3
|
* 使用引导与异常推进原则——任务读取/推进骨架、工具边界与异常处理;
|
|
4
4
|
* T202610220001 默认约束面收敛为开发流程与调研流程,其他工作默认不走 siming,业务特定流程需项目提示词声明;
|
|
5
|
+
* T202610290001 改为先识别意图再路由:仅开发/调研类型建任务,非开发调整默认不建任务、涉及源代码或生产资产文本时走轻量路径;
|
|
5
6
|
* 不做服务端动态拉取)。
|
|
6
7
|
* 外层判定:register/task-discipline.ts——仅已接入 siming 工作区的主会话注入。
|
|
7
8
|
*/
|
|
8
|
-
export const TASK_DISCIPLINE_PROMPT = '[siming 任务纪律]
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
9
|
+
export const TASK_DISCIPLINE_PROMPT = '[siming 任务纪律] 动手前先识别意图,按「是否改变产品行为或交付契约」判断,不以是否碰代码为判据:\n' +
|
|
10
|
+
'① 开发类型(新功能/需求变更、缺陷修复、界面或交互调整、安全修复、接口契约或数据迁移、跨模块或架构级重构、' +
|
|
11
|
+
'性能优化、测试补充或修正且改变验证契约、依赖/构建/CI 升级、流程规则或门禁语义变更):' +
|
|
12
|
+
'先经项目的任务创建入口(通常是 task-create skill)建立任务,再按任务节点提示词推进;' +
|
|
13
|
+
'不得无任务状态直接动手,不得跳步或事后补办归档。\n' +
|
|
14
|
+
'② 调研类型:按项目调研流程建立任务,产出调研报告。\n' +
|
|
15
|
+
'③ 非开发调整(文档/注释、局部重构/改名/格式化、提示词或流程资产的措辞整理且不改变约束语义、' +
|
|
16
|
+
'配置值调整且不改变产品行为、一次性排查或调试、代码走读与答疑):默认不建 siming 任务;' +
|
|
17
|
+
'涉及源代码或生产资产文本改动时,先给出简短计划(改动点+验证方式)并经用户确认,' +
|
|
18
|
+
'改后补充测试或其他可核查的验证,不得静默扩大范围。\n' +
|
|
19
|
+
'清单项与主判据冲突时以主判据为准。判不准或同时含多类意图时先问用户;多意图按风险最高的一类处理。' +
|
|
20
|
+
'其他业务的特定流程若也要求走 siming,由该业务在自己的项目提示词中声明。\n\n' +
|
|
12
21
|
'已进入 siming 流程的工作,任务状态、节点提示词与归档要求一律以 siming 平台为唯一权威:新会话或上下文丢失时,先用 siming_task 查询当前任务' +
|
|
13
22
|
'(没有才新建),再用 context 读取需求、节点提示词、所需技能与记录;同一会话内 advance/approve 的响应已含下一节点' +
|
|
14
23
|
'完整资料包,无需重读 context。每个节点完成时先按节点要求写入记录再推进;完成判定以节点提示词为准。\n\n' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-discipline-prompt.js","sourceRoot":"","sources":["../src/task-discipline-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"task-discipline-prompt.js","sourceRoot":"","sources":["../src/task-discipline-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,yDAAyD;IACzD,wDAAwD;IACxD,+CAA+C;IAC/C,qDAAqD;IACrD,4BAA4B;IAC5B,8BAA8B;IAC9B,kDAAkD;IAClD,iDAAiD;IACjD,0CAA0C;IAC1C,6BAA6B;IAC7B,kDAAkD;IAClD,6CAA6C;IAC7C,qFAAqF;IACrF,uEAAuE;IACvE,2DAA2D;IAC3D,2FAA2F;IAC3F,2EAA2E;IAC3E,2BAA2B;IAC3B,4DAA4D,CAAC"}
|
package/dist/todo/prompt.d.ts
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* - DEFAULT_NUDGE_TEXT:尾部注入的默认提醒文案(PRD §8.3 逐字,含「非用户输入」标识)。
|
|
5
5
|
* 常量只承载 todo 规则本身,不提及 todoNudge 配置(PRD 规则 14 尾款)。
|
|
6
6
|
*/
|
|
7
|
-
export declare const TODO_SYSTEM_PROMPT = "## \u4EFB\u52A1\u6E05\u5355\uFF08todos\uFF09\n\n\u76F8\u5BF9\u590D\u6742\u7684\u4EFB\u52A1\
|
|
7
|
+
export declare const TODO_SYSTEM_PROMPT = "## \u4EFB\u52A1\u6E05\u5355\uFF08todos\uFF09\n\n\u76F8\u5BF9\u590D\u6742\u7684\u4EFB\u52A1\u5FC5\u987B\u5148\u7528 todowrite \u5EFA\u6E05\u5355\u3002\u5224\u636E\u662F\u5B8C\u6210\u5B83\u9700\u8981\u7684\u72EC\u7ACB\u6B65\u9AA4\u6570\uFF0C\u4E0D\u662F\u8BF7\u6C42\u7684\u8BF4\u6CD5\uFF1A\u9884\u8BA1 3 \u6B65\u4EE5\u4E0A\u3001\u6D89\u53CA\u591A\u4E2A\u6587\u4EF6\u6216\u547D\u4EE4\u3001\u9700\u8981\u591A\u65B9\u9762\u8C03\u67E5\u6838\u5BF9\u3001\u6216\u6709\u5148\u540E\u4F9D\u8D56\u7684\uFF0C\u54EA\u6015\u53EA\u662F\u4E00\u53E5\u300C\u770B\u770B/\u67E5\u67E5/\u5206\u6790\u4E00\u4E0B\u300D\uFF0C\u4E5F\u5148\u5EFA\u6E05\u5355\uFF1B\u53EA\u6709\u4E00\u6B65\u5C31\u80FD\u7ED9\u51FA\u7B54\u6848\u7684\u7B80\u5355\u95EE\u7B54\u3001\u5355\u6B65\u64CD\u4F5C\u4E0D\u5EFA\u3002\n\n- \u62C6\u5206\uFF1A\u600E\u4E48\u62C6\u7531\u4F60\u6309\u4EFB\u52A1\u5B9E\u9645\u5185\u5BB9\u51B3\u5B9A\uFF1B\u4E00\u6761\u5BF9\u5E94\u4E00\u4E2A\u80FD\u72EC\u7ACB\u63A8\u8FDB\u3001\u80FD\u770B\u51FA\u662F\u5426\u5B8C\u6210\u7684\u6B65\u9AA4\u3002\u7C92\u5EA6\u8981\u5408\u9002\uFF0C\u4E0D\u80FD\u7C97\u5230\u300C\u6574\u4E2A\u529F\u80FD\u300D\u6216\u300C\u6574\u4E2A DAG \u8282\u70B9\u300D\u4E00\u6761\u3002\n- siming \u6D41\u7A0B\u4EFB\u52A1\uFF1A\u53EA\u62C6\u5F53\u524D DAG \u8282\u70B9\u5185\u90E8\u7684\u6B65\u9AA4\uFF0C\u6700\u5C11 3 \u9879\u3001\u4E0D\u8BBE\u4E0A\u9650\uFF08\u6309\u8282\u70B9\u5B9E\u9645\u590D\u6742\u5EA6\u8BC4\u4F30\uFF0C\u8BE5\u591A\u5C11\u5C31\u591A\u5C11\uFF09\uFF1B\u4E0D\u8981\u628A\u591A\u4E2A\u8282\u70B9\u5408\u5E76\u8FDB\u540C\u4E00\u5F20\u6E05\u5355\u3002\n- \u72B6\u6001\uFF1A\u5F00\u59CB\u505A\u65F6\u6807 in_progress\uFF0C\u9636\u6BB5\u6027\u5B8C\u6210\u540E\u6807 completed\uFF1B\u66F4\u65B0\u4FDD\u6301\u76F8\u5BF9\u53CA\u65F6\u3002\n- \u63A8\u8FDB\uFF1A\u4E32\u884C\u3001\u5E76\u884C\u3001\u8DF3\u7740\u505A\u90FD\u7531\u4F60\u51B3\u5B9A\uFF0C\u4E0D\u8981\u6C42\u6309\u6E05\u5355\u987A\u5E8F\u63A8\u8FDB\uFF1B\u540C\u65F6\u5728\u8FDB\u884C\u7684\u6761\u76EE\u6570\u91CF\u4E0D\u505A\u9650\u5236\u3002\n- \u7EF4\u62A4\uFF1A\u53D1\u73B0\u65B0\u6B65\u9AA4\u968F\u65F6\u8FFD\u52A0\uFF1B\u6267\u884C\u4E2D\u53D1\u73B0\u4EFB\u52A1\u6BD4\u9884\u60F3\u590D\u6742\uFF08\u6B65\u9AA4\u591A\u3001\u8981\u591A\u7EBF\u6838\u5BF9\uFF09\u65F6\u7ACB\u5373\u8865\u5EFA\u6E05\u5355\uFF0C\u4E0D\u7B49\u63D0\u9192\uFF1B\u653E\u5F03\u7684\u9879\u6807 cancelled \u5E76\u5199\u539F\u56E0\uFF1B\u65E7\u6E05\u5355\u5B8C\u6210\u3001\u5207\u6362\u4EFB\u52A1\u6216\u5207\u6362\u8282\u70B9\u65F6\u6574\u5F20\u66FF\u6362\uFF0C\u4E0D\u590D\u7528\u65E7\u6761\u76EE\u3002\n- \u6536\u5C3E\uFF1A\u7ED9\u6700\u7EC8\u7B54\u590D\u524D\u987A\u624B\u6838\u5BF9\u6E05\u5355\uFF0C\u72B6\u6001\u4E0E\u5B9E\u9645\u8FDB\u5EA6\u4E00\u81F4\u5373\u53EF\uFF0C\u4E0D\u5FC5\u4E3A\u4E86\u6E05\u96F6\u800C\u6539\u72B6\u6001\u3002";
|
|
8
8
|
export declare const DEFAULT_NUDGE_TEXT = "[todo-nudge \u81EA\u52A8\u63D0\u9192\uFF0C\u975E\u7528\u6237\u8F93\u5165] \u590D\u6742\u4EFB\u52A1\u5EFA\u8BAE\u7528 todos \u8DDF\u8E2A\uFF1B\u5B50\u9879\u5B8C\u6210\u540E\u987A\u624B\u66F4\u65B0\u72B6\u6001\u3002";
|
|
9
9
|
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/todo/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/todo/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,gvFASW,CAAC;AAE3C,eAAO,MAAM,kBAAkB,0NAA0D,CAAC"}
|
package/dist/todo/prompt.js
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export const TODO_SYSTEM_PROMPT = `## 任务清单(todos)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
相对复杂的任务必须先用 todowrite 建清单。判据是完成它需要的独立步骤数,不是请求的说法:预计 3 步以上、涉及多个文件或命令、需要多方面调查核对、或有先后依赖的,哪怕只是一句「看看/查查/分析一下」,也先建清单;只有一步就能给出答案的简单问答、单步操作不建。
|
|
10
10
|
|
|
11
11
|
- 拆分:怎么拆由你按任务实际内容决定;一条对应一个能独立推进、能看出是否完成的步骤。粒度要合适,不能粗到「整个功能」或「整个 DAG 节点」一条。
|
|
12
12
|
- siming 流程任务:只拆当前 DAG 节点内部的步骤,最少 3 项、不设上限(按节点实际复杂度评估,该多少就多少);不要把多个节点合并进同一张清单。
|
|
13
13
|
- 状态:开始做时标 in_progress,阶段性完成后标 completed;更新保持相对及时。
|
|
14
14
|
- 推进:串行、并行、跳着做都由你决定,不要求按清单顺序推进;同时在进行的条目数量不做限制。
|
|
15
|
-
-
|
|
15
|
+
- 维护:发现新步骤随时追加;执行中发现任务比预想复杂(步骤多、要多线核对)时立即补建清单,不等提醒;放弃的项标 cancelled 并写原因;旧清单完成、切换任务或切换节点时整张替换,不复用旧条目。
|
|
16
16
|
- 收尾:给最终答复前顺手核对清单,状态与实际进度一致即可,不必为了清零而改状态。`;
|
|
17
17
|
export const DEFAULT_NUDGE_TEXT = '[todo-nudge 自动提醒,非用户输入] 复杂任务建议用 todos 跟踪;子项完成后顺手更新状态。';
|
|
18
18
|
//# sourceMappingURL=prompt.js.map
|
|
@@ -13,11 +13,11 @@ const TASK_PLANNING_CONTENT = `# task-planning
|
|
|
13
13
|
|
|
14
14
|
## 何时使用
|
|
15
15
|
|
|
16
|
-
- 任务预计 3
|
|
16
|
+
- 任务预计 3 步以上,或涉及多个文件、多个命令、多方面调查核对、有先后依赖;
|
|
17
17
|
- 用户要求「先规划再执行」;
|
|
18
18
|
- 长任务执行中需要让进度对用户可见。
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
判据是完成它需要的独立步骤数,不是请求的说法:一句「看看/查查/分析一下」只要答案需要多步调查取证,同样先建;只有一步就能给出答案的简单问答、单步操作不建。
|
|
21
21
|
|
|
22
22
|
## 建清单
|
|
23
23
|
|
|
@@ -34,6 +34,7 @@ const TASK_PLANNING_CONTENT = `# task-planning
|
|
|
34
34
|
- 开始做时标 in_progress,阶段性完成后标 completed;更新保持相对及时。
|
|
35
35
|
- 推进顺序(串行、并行、跳着做)由你决定;同时在进行的条目数量不做限制。
|
|
36
36
|
- 执行中发现新步骤 → 追加;原步骤不再需要 → 标 cancelled 并写原因。
|
|
37
|
+
- 执行中发现任务比预想复杂(步骤多、要多线核对)→ 立即补建清单,不等提醒。
|
|
37
38
|
- 已完成项可以保留作为进度记录,不必为了整洁删除。
|
|
38
39
|
|
|
39
40
|
## 边界与切换
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-planning-skill.js","sourceRoot":"","sources":["../../src/todo/task-planning-skill.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,qFAAqF;QACvF,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAE,wBAAwB,CAAC;QAChE,OAAO,EAAE,qBAAqB;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"task-planning-skill.js","sourceRoot":"","sources":["../../src/todo/task-planning-skill.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,qFAAqF;QACvF,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAE,wBAAwB,CAAC;QAChE,OAAO,EAAE,qBAAqB;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA8CR,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siming-org/opencode-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "opencode v2 plugin for siming: registers MCP task tools (siming_*), onboarding guide skill, siming_cli/siming_refresh tools, and global+project skills/subagents pulled live from the siming server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"jsonc-parser": "^3.3.1",
|
|
17
17
|
"zod": "^4.4.3",
|
|
18
|
-
"@siming-org/cli": "0.8.
|
|
18
|
+
"@siming-org/cli": "0.8.18"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@opencode-ai/plugin": "^1.18.35",
|