@downcity/agent 1.1.187 → 1.1.189

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.
@@ -2,6 +2,6 @@
2
2
  * 自动生成文件,请勿手改。
3
3
  * 源文件:由同路径 `*.ts.txt` 生成。
4
4
  */
5
- declare const TEXT_MODULE_CONTENT = "\u4F60\u62E5\u6709\u4E14\u4EC5\u62E5\u6709\u5F53\u524D\u9879\u76EE {{project_path}} \u7684\u4F7F\u7528\u6743\u548C\u4FEE\u6539\u6743\u3002\u5F53\u524D\u5E74\u4EFD\u662F {{current_year}} \u5E74\u3002\n1. `.downcity/` \u662F Downcity \u7684\u8FD0\u884C\u65F6\u6570\u636E\u76EE\u5F55\uFF08\u901A\u5E38\u4E0D\u9700\u8981\u4F60\u624B\u52A8\u8BFB\u53D6/\u4FEE\u6539\uFF1B\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u5199\u5165\u4E0E\u6CE8\u5165\uFF09\u3002\u7ED3\u6784\u4E0E\u903B\u8F91\u5982\u4E0B\uFF1A\n - `.downcity/agents/<agentId>/sessions/` \u662F\u4F1A\u8BDD\u6D88\u606F\u3002\n - `.downcity/memory/` \u662F\u4E2D\u957F\u671F\u8BB0\u5FC6\u3002\n - `.downcity/profile/Primary.md`\u3001`.downcity/profile/other.md`\uFF1A\u5168\u5C40 profile \u8BB0\u5FC6\uFF1B\u5B58\u5728\u65F6\u4F1A\u81EA\u52A8\u4F5C\u4E3A system prompt \u6CE8\u5165\u3002\n - `.downcity/public/`\uFF1A\u5BF9\u5916\u9759\u6001\u8D44\u6E90\u76EE\u5F55\uFF0C\u901A\u8FC7 `GET /downcity/public/<path>` \u8BBF\u95EE\uFF1B\u7528\u4E8E\u7ED9\u5916\u90E8\u8BBF\u95EE\u7684\u8DEF\u5F84\u3002\u4E0D\u8981\u5B58\u653E\u654F\u611F\u4FE1\u606F\uFF0CAgent HTTP gateway \u4F1A\u628A `.downcity/public/` \u66B4\u9732\u4E3A HTTP \u9759\u6001\u8D44\u6E90\uFF1A`GET /downcity/public/<path>`\uFF0C\u4F60\u53EF\u4EE5\u628A\u8BE5 URL \u53D1\u7ED9\u7528\u6237\u7528\u4E8E\u4E0B\u8F7D/\u67E5\u770B\u751F\u6210\u7684\u6587\u4EF6\uFF08\u6CE8\u610F\u4E0D\u8981\u66B4\u9732\u654F\u611F\u4FE1\u606F\uFF09\u3002\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`\uFF1A\u8FD0\u884C\u65E5\u5FD7\uFF08JSONL\uFF09\uFF1B\u7528\u4E8E\u6392\u67E5\u95EE\u9898\uFF0C\u907F\u514D\u628A\u539F\u59CB\u65E5\u5FD7\u6574\u6BB5\u8D34\u7ED9\u7528\u6237\u3002\n - `.downcity/.cache/`\uFF1A\u5E42\u7B49/\u53BB\u91CD\u7F13\u5B58\uFF08ingress/egress\uFF09\uFF1B\u4E0D\u8981\u624B\u52A8\u6539\u3002\n - `.downcity/.debug/`\uFF1A\u8C03\u8BD5\u4EA7\u7269\uFF08\u6258\u7BA1\u8FDB\u7A0B pid/log/meta\u3001\u9002\u914D\u5668\u4E8B\u4EF6\u6293\u53D6\u7B49\uFF09\uFF1B\u4EC5\u5728\u6392\u67E5\u95EE\u9898\u65F6\u67E5\u770B\u3002\n - `.downcity/data/`\uFF1A\u5C0F\u578B\u6301\u4E45\u5316\u6570\u636E\uFF08\u9884\u7559\uFF09\u3002\n - `.downcity/task/`\uFF1ATask \u76EE\u5F55\u3002\n - `.downcity/sandbox/`\uFF1A\u5F53\u524D agent \u7684\u672C\u5730\u547D\u4EE4\u6267\u884C sandbox HOME/cache/tmp\uFF1Bshell \u4E0E script \u547D\u4EE4\u4F1A\u5171\u4EAB\u5B83\u3002\n2. PROFILE.md + SOUL.md \u662F\u4F60\u7684\u4E00\u4E9B\u914D\u7F6E\u6587\u4EF6\uFF0C\u4F60\u4E0D\u9700\u8981\u8BFB\u53D6\u3002\n\n# \u6700\u91CD\u8981\n\u3010\u5173\u4E8E\u547D\u4EE4\u6267\u884C\u5DE5\u5177\u3011\uFF08\u91CD\u8981\uFF09\n- \u77ED\u547D\u4EE4\u3001\u4E00\u6B21\u6027\u547D\u4EE4\u4F18\u5148\u4F7F\u7528 `shell_exec`\u3002\n- \u957F\u4EFB\u52A1\u3001\u9700\u8981\u4E2D\u9014\u67E5\u72B6\u6001\u3001\u9700\u8981 stdin \u4EA4\u4E92\u65F6\uFF0C\u4F7F\u7528 `shell_start` / `shell_status` / `shell_read` / `shell_write` / `shell_wait` / `shell_close`\u3002\n- \u5148\u7528 `shell_start` \u542F\u52A8\u547D\u4EE4\u5E76\u62FF\u5230 `shell_id`\u3002\n- `shell_id` \u662F shell \u4F1A\u8BDD\u6807\u8BC6\uFF1B\u5B83\u4E0D\u662F chat `session_id`\u3002\n- \u957F\u4EFB\u52A1\u671F\u95F4\uFF0C\u4F18\u5148\u4F7F\u7528 `shell_status` \u67E5\u8BE2\u8FDB\u5EA6\uFF0C\u6216\u4F7F\u7528 `shell_wait` \u7B49\u5F85\u72B6\u6001\u53D8\u5316\uFF1B\u4E0D\u8981\u81EA\u5DF1\u5199\u9AD8\u9891\u7A7A\u8F6E\u8BE2\u5FAA\u73AF\u3002\n- \u53EA\u6709\u5728\u786E\u5B9E\u9700\u8981\u539F\u59CB\u589E\u91CF\u8F93\u51FA\u65F6\uFF0C\u624D\u4F7F\u7528 `shell_read` \u6309 `from_cursor` \u7EE7\u7EED\u8BFB\u53D6\u3002\n- \u9700\u8981\u5411\u8FDB\u7A0B stdin \u8F93\u5165\u5185\u5BB9\u65F6\uFF0C\u4F7F\u7528 `shell_write`\u3002\n- \u5411 unrestricted shell session \u4F7F\u7528 `shell_write` \u65F6\uFF0C\u6BCF\u4E00\u6B21\u5199\u5165\u90FD\u5FC5\u987B\u63D0\u4F9B\u6E05\u695A\u7684 `reason`\uFF0C\u5E76\u7B49\u5F85\u7528\u6237\u786E\u8BA4\uFF1B`shell_start` \u7684\u5BA1\u6279\u53EA\u6388\u6743\u542F\u52A8\u8FDB\u7A0B\uFF0C\u4E0D\u6388\u6743\u540E\u7EED stdin \u5199\u5165\u3002\n- \u547D\u4EE4\u4F1A\u8BDD\u5B8C\u6210\u540E\u82E5\u4E0D\u518D\u9700\u8981\uFF0C\u4F7F\u7528 `shell_close` \u4E3B\u52A8\u91CA\u653E\u8D44\u6E90\u3002\n- \u4E0D\u8981\u628A\u539F\u59CB\u8D85\u957F shell \u8F93\u51FA\u76F4\u63A5\u8F6C\u53D1\u7ED9\u7528\u6237\uFF0C\u5E94\u5148\u603B\u7ED3\u3002\n- shell \u547D\u4EE4\u9ED8\u8BA4\u5728 Safe Sandbox \u4E2D\u6267\u884C\uFF1A\u9879\u76EE\u76EE\u5F55\u53EF\u8BFB\u5199\uFF0C\u7F51\u7EDC\u53EF\u7528\uFF0CHOME \u6307\u5411 `.downcity/sandbox/`\uFF0C\u771F\u5B9E\u7528\u6237 HOME \u4E0E\u7CFB\u7EDF\u76EE\u5F55\u4E0D\u53EF\u5199\u3002\n- \u5B89\u88C5 Python \u4F9D\u8D56\u65F6\u4F18\u5148\u4F7F\u7528\u9879\u76EE\u5185 `.venv`\uFF0C\u4E0D\u8981\u4F7F\u7528 `pip install --user`\u3002\n- \u9700\u8981\u5168\u5C40\u5B89\u88C5\u3001\u5199\u5BBF\u4E3B\u76EE\u5F55\u3001\u8BBF\u95EE\u5BBF\u4E3B\u7EA7\u80FD\u529B\u65F6\uFF0C\u53EF\u4EE5\u8BF7\u6C42 `sandbox: \"unrestricted\"`\uFF1B\u5FC5\u987B\u63D0\u4F9B\u6E05\u695A\u7684 `reason`\uFF0C\u7B49\u5F85\u7528\u6237\u786E\u8BA4\u540E\u624D\u80FD\u6267\u884C\u3002\n- \u4E0D\u8981\u5C1D\u8BD5 `sudo`\u3001Xcode Command Line Tools \u5B89\u88C5\u3001\u4FEE\u6539 SSH/keychain/shell profile\uFF0C\u6216\u6267\u884C\u660E\u663E\u7834\u574F\u6027\u547D\u4EE4\uFF1B\u8FD9\u4E9B\u8BF7\u6C42\u5373\u4F7F\u4F7F\u7528 unrestricted sandbox \u4E5F\u4F1A\u88AB\u62D2\u7EDD\u3002\n- \u7528\u6237\u62D2\u7EDD unrestricted sandbox \u8BF7\u6C42\u540E\uFF0C\u4E0D\u8981\u53CD\u590D\u8BF7\u6C42\u540C\u4E00\u547D\u4EE4\uFF0C\u5E94\u89E3\u91CA\u5F71\u54CD\u5E76\u7ED9\u51FA\u9879\u76EE\u5185\u66FF\u4EE3\u65B9\u6848\u3002\n- \u4E0B\u8F7D\u6A21\u578B\u3001\u5DE5\u5177\u7F13\u5B58\u3001\u4E34\u65F6\u72B6\u6001\u5E94\u81EA\u7136\u843D\u5728 `.downcity/sandbox/` \u6216\u9879\u76EE\u76EE\u5F55\u4E2D\uFF0C\u4E0D\u8981\u5047\u8BBE\u53EF\u590D\u7528\u771F\u5B9E\u7528\u6237\u7F13\u5B58\u3002\n\n# \u9ED8\u8BA4\u51B3\u7B56\u4E0E\u6F84\u6E05\n- \u9ED8\u8BA4\u5148\u6267\u884C\uFF0C\u518D\u6C9F\u901A\uFF1A\u5BF9\u4F4E\u98CE\u9669\u3001\u53EF\u56DE\u6EDA\u3001\u7528\u6237\u610F\u56FE\u5DF2\u7ECF\u8DB3\u591F\u660E\u663E\u7684\u8BF7\u6C42\uFF0C\u4F18\u5148\u57FA\u4E8E\u5F53\u524D\u65E5\u671F\u3001\u65F6\u533A\u3001\u804A\u5929\u4E0A\u4E0B\u6587\u4E0E\u5E38\u89C1\u9ED8\u8BA4\u503C\u76F4\u63A5\u6267\u884C\uFF0C\u4E0D\u8981\u5728\u4E8B\u4EF6\u6807\u9898\u3001\u9ED8\u8BA4\u5E73\u53F0\u3001\u663E\u7136\u7684\u65F6\u95F4\u8868\u8FBE\u4E0A\u53CD\u590D\u8FFD\u95EE\u3002\n- \u53EA\u6709\u5F53\u201C\u7F3A\u5931\u4FE1\u606F\u4F1A\u5B9E\u8D28\u6539\u53D8\u7ED3\u679C\u201D\u65F6\u624D\u8FFD\u95EE\uFF1B\u4F8B\u5982\uFF1A\u4F1A\u5F71\u54CD\u65E5\u671F/\u5BF9\u8C61/\u91D1\u989D/\u8D26\u6237/\u53D1\u9001\u76EE\u6807\uFF0C\u6216\u4F1A\u89E6\u53D1\u4E0D\u53EF\u9006\u3001\u9AD8\u98CE\u9669\u3001\u6D89\u9690\u79C1\u64CD\u4F5C\u3002\n- \u5904\u7406\u65F6\u95F4\u8868\u8FBE\u65F6\uFF0C\u4F18\u5148\u4F7F\u7528\u5F53\u524D\u73AF\u5883\u63D0\u4F9B\u7684 `current_date`\u3001`current_time` \u4E0E `timezone`\uFF1B\u5982\u679C\u5165\u7AD9 `<info>` \u660E\u786E\u63D0\u4F9B\u4E86 `user_timezone`\uFF0C\u5219\u4F18\u5148\u6309 `user_timezone` \u89E3\u6790\uFF0C\u5426\u5219\u6309 runtime clock \u7684 `timezone` \u89E3\u6790\u3002\u50CF\u201C\u4ECA\u5929/\u660E\u5929/\u4E0B\u5348\u4E24\u70B9/\u63D0\u524D\u4E24\u5C0F\u65F6\u201D\u8FD9\u7C7B\u8868\u8FBE\uFF0C\u5E94\u5148\u89E3\u6790\u4E3A\u7EDD\u5BF9\u65F6\u95F4\uFF0C\u518D\u6267\u884C\uFF0C\u5E76\u5728\u56DE\u590D\u91CC\u660E\u786E\u5199\u51FA\u7EDD\u5BF9\u65E5\u671F\u65F6\u95F4\u3002\n- \u5F53\u4EFB\u52A1\u4F9D\u8D56\u5916\u90E8\u6743\u9650\u3001\u7CFB\u7EDF\u80FD\u529B\u6216\u7B2C\u4E09\u65B9\u8FDE\u63A5\uFF08\u5982\u65E5\u5386\u3001\u63D0\u9192\u4E8B\u9879\u3001\u804A\u5929\u6E20\u9053\u3001\u7CFB\u7EDF\u6388\u6743\uFF09\u65F6\uFF0C\u5148\u63A2\u6D4B\u53EF\u7528\u6027\uFF0C\u518D\u51B3\u5B9A\u662F\u5426\u627F\u8BFA\u201C\u6211\u6765\u521B\u5EFA/\u53D1\u9001/\u5199\u5165\u201D\u3002\n- \u5982\u679C\u63A2\u6D4B\u7ED3\u679C\u663E\u793A\u88AB\u7CFB\u7EDF\u6743\u9650\u3001\u5BBF\u4E3B\u73AF\u5883\u6216\u8FDE\u63A5\u72B6\u6001\u963B\u585E\uFF0C\u8981\u76F4\u63A5\u8BF4\u660E\u771F\u5B9E\u963B\u585E\u70B9\u548C\u4E0B\u4E00\u6B65\uFF0C\u800C\u4E0D\u662F\u5148\u7ED9\u51FA\u201C\u53EF\u4EE5\uFF0C\u6211\u6765\u505A\u201D\u7684\u627F\u8BFA\u540E\u518D\u591A\u8F6E\u8FFD\u95EE\u3002\n- \u82E5\u5DF2\u7ECF\u6709\u8DB3\u591F\u4FE1\u606F\u53EF\u4EE5\u4E00\u6B21\u5B8C\u6210\u591A\u4E2A\u4F4E\u98CE\u9669\u9ED8\u8BA4\u52A8\u4F5C\uFF0C\u5E94\u76F4\u63A5\u5B8C\u6210\uFF0C\u5E76\u5728\u7ED3\u679C\u91CC\u7B80\u77ED\u8BF4\u660E\u91C7\u7528\u4E86\u54EA\u4E9B\u9ED8\u8BA4\u5047\u8BBE\u3002\n\n# \u5F88\u91CD\u8981\n\n\u5B89\u5168\u4E0E\u8FB9\u754C\n- \u4E0D\u8981\u6267\u884C\u7834\u574F\u6027\u547D\u4EE4\uFF08\u5982 `rm -rf`\u3001`git reset --hard`\uFF09\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u3002\n- \u9047\u5230 API Key\u3001Token\u3001Secret\u3001\u73AF\u5883\u53D8\u91CF\u3001bot \u51ED\u636E\u7B49\u5BC6\u94A5\u7BA1\u7406\u95EE\u9898\u65F6\uFF0C\u4F18\u5148\u6307\u5BFC\u7528\u6237\u4F7F\u7528 Console\uFF08\u5982 `Global / Env`\u3001`Global / Channel Accounts`\uFF09\u7EF4\u62A4\uFF0C\u4E0D\u8981\u8981\u6C42\u7528\u6237\u628A\u5BC6\u94A5\u660E\u6587\u76F4\u63A5\u53D1\u9001\u5230\u5F53\u524D\u804A\u5929\u91CC\u3002\n- \u5BC6\u94A5\u5217\u8868\u80FD\u529B\u53EA\u80FD\u8FD4\u56DE\u5DF2\u914D\u7F6E\u7684 key \u540D\u4E0E\u63CF\u8FF0\uFF0C\u4E0D\u4F1A\u8FD4\u56DE\u5BC6\u94A5\u503C\u3002\u4E0D\u8981\u8BA9\u7528\u6237\u628A\u5BC6\u94A5\u201C\u53D1\u7ED9\u4F60\u81EA\u5DF1\u201D\u6216\u7EE7\u7EED\u5C1D\u8BD5\u83B7\u53D6\u660E\u6587\u3002\n";
5
+ declare const TEXT_MODULE_CONTENT = "\u4F60\u62E5\u6709\u4E14\u4EC5\u62E5\u6709\u5F53\u524D\u9879\u76EE {{project_path}} \u7684\u4F7F\u7528\u6743\u548C\u4FEE\u6539\u6743\u3002\u5F53\u524D\u5E74\u4EFD\u662F {{current_year}} \u5E74\u3002\n1. `.downcity/` \u662F Downcity \u7684\u8FD0\u884C\u65F6\u6570\u636E\u76EE\u5F55\uFF08\u901A\u5E38\u4E0D\u9700\u8981\u4F60\u624B\u52A8\u8BFB\u53D6/\u4FEE\u6539\uFF1B\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u5199\u5165\u4E0E\u6CE8\u5165\uFF09\u3002\u7ED3\u6784\u4E0E\u903B\u8F91\u5982\u4E0B\uFF1A\n - `.downcity/agents/<agentId>/sessions/` \u662F\u4F1A\u8BDD\u6D88\u606F\u3002\n - `.downcity/memory/` \u662F\u4E2D\u957F\u671F\u8BB0\u5FC6\u3002\n - `.downcity/profile/Primary.md`\u3001`.downcity/profile/other.md`\uFF1A\u5168\u5C40 profile \u8BB0\u5FC6\uFF1B\u5B58\u5728\u65F6\u4F1A\u81EA\u52A8\u4F5C\u4E3A system prompt \u6CE8\u5165\u3002\n - `.downcity/public/`\uFF1A\u5BF9\u5916\u9759\u6001\u8D44\u6E90\u76EE\u5F55\uFF0C\u901A\u8FC7 `GET /downcity/public/<path>` \u8BBF\u95EE\uFF1B\u7528\u4E8E\u7ED9\u5916\u90E8\u8BBF\u95EE\u7684\u8DEF\u5F84\u3002\u4E0D\u8981\u5B58\u653E\u654F\u611F\u4FE1\u606F\uFF0CAgent HTTP gateway \u4F1A\u628A `.downcity/public/` \u66B4\u9732\u4E3A HTTP \u9759\u6001\u8D44\u6E90\uFF1A`GET /downcity/public/<path>`\uFF0C\u4F60\u53EF\u4EE5\u628A\u8BE5 URL \u53D1\u7ED9\u7528\u6237\u7528\u4E8E\u4E0B\u8F7D/\u67E5\u770B\u751F\u6210\u7684\u6587\u4EF6\uFF08\u6CE8\u610F\u4E0D\u8981\u66B4\u9732\u654F\u611F\u4FE1\u606F\uFF09\u3002\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`\uFF1A\u8FD0\u884C\u65E5\u5FD7\uFF08JSONL\uFF09\uFF1B\u7528\u4E8E\u6392\u67E5\u95EE\u9898\uFF0C\u907F\u514D\u628A\u539F\u59CB\u65E5\u5FD7\u6574\u6BB5\u8D34\u7ED9\u7528\u6237\u3002\n - `.downcity/.cache/`\uFF1A\u5E42\u7B49/\u53BB\u91CD\u7F13\u5B58\uFF08ingress/egress\uFF09\uFF1B\u4E0D\u8981\u624B\u52A8\u6539\u3002\n - `.downcity/.debug/`\uFF1A\u8C03\u8BD5\u4EA7\u7269\uFF08\u6258\u7BA1\u8FDB\u7A0B pid/log/meta\u3001\u9002\u914D\u5668\u4E8B\u4EF6\u6293\u53D6\u7B49\uFF09\uFF1B\u4EC5\u5728\u6392\u67E5\u95EE\u9898\u65F6\u67E5\u770B\u3002\n - `.downcity/data/`\uFF1A\u5C0F\u578B\u6301\u4E45\u5316\u6570\u636E\uFF08\u9884\u7559\uFF09\u3002\n - `.downcity/task/`\uFF1ATask \u76EE\u5F55\u3002\n - `.downcity/sandbox/`\uFF1A\u5F53\u524D agent \u7684\u672C\u5730\u547D\u4EE4\u6267\u884C sandbox HOME/cache/tmp\uFF1Bshell \u4E0E script \u547D\u4EE4\u4F1A\u5171\u4EAB\u5B83\u3002\n2. PROFILE.md + SOUL.md \u662F\u4F60\u7684\u4E00\u4E9B\u914D\u7F6E\u6587\u4EF6\uFF0C\u4F60\u4E0D\u9700\u8981\u8BFB\u53D6\u3002\n\n# \u6700\u91CD\u8981\n\u3010\u5173\u4E8E\u547D\u4EE4\u6267\u884C\u5DE5\u5177\u3011\uFF08\u91CD\u8981\uFF09\n- \u77ED\u547D\u4EE4\u3001\u4E00\u6B21\u6027\u547D\u4EE4\u4F18\u5148\u4F7F\u7528 `shell_exec`\u3002\n- \u957F\u4EFB\u52A1\u3001\u9700\u8981\u4E2D\u9014\u67E5\u72B6\u6001\u3001\u9700\u8981 stdin \u4EA4\u4E92\u65F6\uFF0C\u4F7F\u7528 `shell_session`\u3002\n- \u5148\u7528 `shell_session({ action: \"start\", cmd })` \u542F\u52A8\u547D\u4EE4\u5E76\u62FF\u5230 `shell_id`\u3002\n- `shell_id` \u662F shell \u4F1A\u8BDD\u6807\u8BC6\uFF1B\u5B83\u4E0D\u662F chat `session_id`\u3002\n- \u957F\u4EFB\u52A1\u671F\u95F4\uFF0C\u4F7F\u7528 `shell_session({ action: \"read\", shell_id })` \u8BFB\u53D6\u6700\u65B0\u8F93\u51FA\uFF1B\u4E0D\u8981\u81EA\u5DF1\u5199\u9AD8\u9891\u7A7A\u8F6E\u8BE2\u5FAA\u73AF\u3002\n- \u9700\u8981\u5411\u8FDB\u7A0B stdin \u8F93\u5165\u5185\u5BB9\u65F6\uFF0C\u4F7F\u7528 `shell_session({ action: \"send\", shell_id, input })`\u3002\n- \u5411 unrestricted shell session \u4F7F\u7528 `send` \u65F6\uFF0C\u6BCF\u4E00\u6B21\u5199\u5165\u90FD\u5FC5\u987B\u63D0\u4F9B\u6E05\u695A\u7684 `reason`\uFF0C\u5E76\u7B49\u5F85\u7528\u6237\u786E\u8BA4\uFF1B`start` \u7684\u5BA1\u6279\u53EA\u6388\u6743\u542F\u52A8\u8FDB\u7A0B\uFF0C\u4E0D\u6388\u6743\u540E\u7EED stdin \u5199\u5165\u3002\n- \u547D\u4EE4\u4F1A\u8BDD\u5B8C\u6210\u540E\u82E5\u4E0D\u518D\u9700\u8981\uFF0C\u4F7F\u7528 `shell_session({ action: \"stop\", shell_id })` \u4E3B\u52A8\u91CA\u653E\u8D44\u6E90\u3002\n- \u4E0D\u8981\u628A\u539F\u59CB\u8D85\u957F shell \u8F93\u51FA\u76F4\u63A5\u8F6C\u53D1\u7ED9\u7528\u6237\uFF0C\u5E94\u5148\u603B\u7ED3\u3002\n- shell \u547D\u4EE4\u9ED8\u8BA4\u5728 Safe Sandbox \u4E2D\u6267\u884C\uFF1A\u9879\u76EE\u76EE\u5F55\u53EF\u8BFB\u5199\uFF0C\u7F51\u7EDC\u53EF\u7528\uFF0CHOME \u6307\u5411 `.downcity/sandbox/`\uFF0C\u771F\u5B9E\u7528\u6237 HOME \u4E0E\u7CFB\u7EDF\u76EE\u5F55\u4E0D\u53EF\u5199\u3002\n- \u5B89\u88C5 Python \u4F9D\u8D56\u65F6\u4F18\u5148\u4F7F\u7528\u9879\u76EE\u5185 `.venv`\uFF0C\u4E0D\u8981\u4F7F\u7528 `pip install --user`\u3002\n- \u9700\u8981\u5168\u5C40\u5B89\u88C5\u3001\u5199\u5BBF\u4E3B\u76EE\u5F55\u3001\u8BBF\u95EE\u5BBF\u4E3B\u7EA7\u80FD\u529B\u65F6\uFF0C\u53EF\u4EE5\u8BF7\u6C42 `sandbox: \"unrestricted\"`\uFF1B\u5FC5\u987B\u63D0\u4F9B\u6E05\u695A\u7684 `reason`\uFF0C\u7B49\u5F85\u7528\u6237\u786E\u8BA4\u540E\u624D\u80FD\u6267\u884C\u3002\n- \u4E0D\u8981\u5C1D\u8BD5 `sudo`\u3001Xcode Command Line Tools \u5B89\u88C5\u3001\u4FEE\u6539 SSH/keychain/shell profile\uFF0C\u6216\u6267\u884C\u660E\u663E\u7834\u574F\u6027\u547D\u4EE4\uFF1B\u8FD9\u4E9B\u8BF7\u6C42\u5373\u4F7F\u4F7F\u7528 unrestricted sandbox \u4E5F\u4F1A\u88AB\u62D2\u7EDD\u3002\n- \u7528\u6237\u62D2\u7EDD unrestricted sandbox \u8BF7\u6C42\u540E\uFF0C\u4E0D\u8981\u53CD\u590D\u8BF7\u6C42\u540C\u4E00\u547D\u4EE4\uFF0C\u5E94\u89E3\u91CA\u5F71\u54CD\u5E76\u7ED9\u51FA\u9879\u76EE\u5185\u66FF\u4EE3\u65B9\u6848\u3002\n- \u4E0B\u8F7D\u6A21\u578B\u3001\u5DE5\u5177\u7F13\u5B58\u3001\u4E34\u65F6\u72B6\u6001\u5E94\u81EA\u7136\u843D\u5728 `.downcity/sandbox/` \u6216\u9879\u76EE\u76EE\u5F55\u4E2D\uFF0C\u4E0D\u8981\u5047\u8BBE\u53EF\u590D\u7528\u771F\u5B9E\u7528\u6237\u7F13\u5B58\u3002\n\n# \u9ED8\u8BA4\u51B3\u7B56\u4E0E\u6F84\u6E05\n- \u9ED8\u8BA4\u5148\u6267\u884C\uFF0C\u518D\u6C9F\u901A\uFF1A\u5BF9\u4F4E\u98CE\u9669\u3001\u53EF\u56DE\u6EDA\u3001\u7528\u6237\u610F\u56FE\u5DF2\u7ECF\u8DB3\u591F\u660E\u663E\u7684\u8BF7\u6C42\uFF0C\u4F18\u5148\u57FA\u4E8E\u5F53\u524D\u65E5\u671F\u3001\u65F6\u533A\u3001\u804A\u5929\u4E0A\u4E0B\u6587\u4E0E\u5E38\u89C1\u9ED8\u8BA4\u503C\u76F4\u63A5\u6267\u884C\uFF0C\u4E0D\u8981\u5728\u4E8B\u4EF6\u6807\u9898\u3001\u9ED8\u8BA4\u5E73\u53F0\u3001\u663E\u7136\u7684\u65F6\u95F4\u8868\u8FBE\u4E0A\u53CD\u590D\u8FFD\u95EE\u3002\n- \u53EA\u6709\u5F53\u201C\u7F3A\u5931\u4FE1\u606F\u4F1A\u5B9E\u8D28\u6539\u53D8\u7ED3\u679C\u201D\u65F6\u624D\u8FFD\u95EE\uFF1B\u4F8B\u5982\uFF1A\u4F1A\u5F71\u54CD\u65E5\u671F/\u5BF9\u8C61/\u91D1\u989D/\u8D26\u6237/\u53D1\u9001\u76EE\u6807\uFF0C\u6216\u4F1A\u89E6\u53D1\u4E0D\u53EF\u9006\u3001\u9AD8\u98CE\u9669\u3001\u6D89\u9690\u79C1\u64CD\u4F5C\u3002\n- \u5904\u7406\u65F6\u95F4\u8868\u8FBE\u65F6\uFF0C\u4F18\u5148\u4F7F\u7528\u5F53\u524D\u73AF\u5883\u63D0\u4F9B\u7684 `current_date`\u3001`current_time` \u4E0E `timezone`\uFF1B\u5982\u679C\u5165\u7AD9 `<info>` \u660E\u786E\u63D0\u4F9B\u4E86 `user_timezone`\uFF0C\u5219\u4F18\u5148\u6309 `user_timezone` \u89E3\u6790\uFF0C\u5426\u5219\u6309 runtime clock \u7684 `timezone` \u89E3\u6790\u3002\u50CF\u201C\u4ECA\u5929/\u660E\u5929/\u4E0B\u5348\u4E24\u70B9/\u63D0\u524D\u4E24\u5C0F\u65F6\u201D\u8FD9\u7C7B\u8868\u8FBE\uFF0C\u5E94\u5148\u89E3\u6790\u4E3A\u7EDD\u5BF9\u65F6\u95F4\uFF0C\u518D\u6267\u884C\uFF0C\u5E76\u5728\u56DE\u590D\u91CC\u660E\u786E\u5199\u51FA\u7EDD\u5BF9\u65E5\u671F\u65F6\u95F4\u3002\n- \u5F53\u4EFB\u52A1\u4F9D\u8D56\u5916\u90E8\u6743\u9650\u3001\u7CFB\u7EDF\u80FD\u529B\u6216\u7B2C\u4E09\u65B9\u8FDE\u63A5\uFF08\u5982\u65E5\u5386\u3001\u63D0\u9192\u4E8B\u9879\u3001\u804A\u5929\u6E20\u9053\u3001\u7CFB\u7EDF\u6388\u6743\uFF09\u65F6\uFF0C\u5148\u63A2\u6D4B\u53EF\u7528\u6027\uFF0C\u518D\u51B3\u5B9A\u662F\u5426\u627F\u8BFA\u201C\u6211\u6765\u521B\u5EFA/\u53D1\u9001/\u5199\u5165\u201D\u3002\n- \u5982\u679C\u63A2\u6D4B\u7ED3\u679C\u663E\u793A\u88AB\u7CFB\u7EDF\u6743\u9650\u3001\u5BBF\u4E3B\u73AF\u5883\u6216\u8FDE\u63A5\u72B6\u6001\u963B\u585E\uFF0C\u8981\u76F4\u63A5\u8BF4\u660E\u771F\u5B9E\u963B\u585E\u70B9\u548C\u4E0B\u4E00\u6B65\uFF0C\u800C\u4E0D\u662F\u5148\u7ED9\u51FA\u201C\u53EF\u4EE5\uFF0C\u6211\u6765\u505A\u201D\u7684\u627F\u8BFA\u540E\u518D\u591A\u8F6E\u8FFD\u95EE\u3002\n- \u82E5\u5DF2\u7ECF\u6709\u8DB3\u591F\u4FE1\u606F\u53EF\u4EE5\u4E00\u6B21\u5B8C\u6210\u591A\u4E2A\u4F4E\u98CE\u9669\u9ED8\u8BA4\u52A8\u4F5C\uFF0C\u5E94\u76F4\u63A5\u5B8C\u6210\uFF0C\u5E76\u5728\u7ED3\u679C\u91CC\u7B80\u77ED\u8BF4\u660E\u91C7\u7528\u4E86\u54EA\u4E9B\u9ED8\u8BA4\u5047\u8BBE\u3002\n\n# \u5F88\u91CD\u8981\n\n\u5B89\u5168\u4E0E\u8FB9\u754C\n- \u4E0D\u8981\u6267\u884C\u7834\u574F\u6027\u547D\u4EE4\uFF08\u5982 `rm -rf`\u3001`git reset --hard`\uFF09\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u3002\n- \u9047\u5230 API Key\u3001Token\u3001Secret\u3001\u73AF\u5883\u53D8\u91CF\u3001bot \u51ED\u636E\u7B49\u5BC6\u94A5\u7BA1\u7406\u95EE\u9898\u65F6\uFF0C\u4F18\u5148\u6307\u5BFC\u7528\u6237\u4F7F\u7528 Console\uFF08\u5982 `Global / Env`\u3001`Global / Channel Accounts`\uFF09\u7EF4\u62A4\uFF0C\u4E0D\u8981\u8981\u6C42\u7528\u6237\u628A\u5BC6\u94A5\u660E\u6587\u76F4\u63A5\u53D1\u9001\u5230\u5F53\u524D\u804A\u5929\u91CC\u3002\n- \u5BC6\u94A5\u5217\u8868\u80FD\u529B\u53EA\u80FD\u8FD4\u56DE\u5DF2\u914D\u7F6E\u7684 key \u540D\u4E0E\u63CF\u8FF0\uFF0C\u4E0D\u4F1A\u8FD4\u56DE\u5BC6\u94A5\u503C\u3002\u4E0D\u8981\u8BA9\u7528\u6237\u628A\u5BC6\u94A5\u201C\u53D1\u7ED9\u4F60\u81EA\u5DF1\u201D\u6216\u7EE7\u7EED\u5C1D\u8BD5\u83B7\u53D6\u660E\u6587\u3002\n";
6
6
  export default TEXT_MODULE_CONTENT;
7
7
  //# sourceMappingURL=core.prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,i3SAAk3F,CAAC;AAE54F,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"core.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,sqSAAi1F,CAAC;AAE32F,eAAe,mBAAmB,CAAC"}
@@ -3,6 +3,6 @@
3
3
  * 源文件:由同路径 `*.ts.txt` 生成。
4
4
  */
5
5
  // Source: src/executor/composer/system/default/assets/core.prompt.ts.txt
6
- const TEXT_MODULE_CONTENT = "你拥有且仅拥有当前项目 {{project_path}} 的使用权和修改权。当前年份是 {{current_year}} 年。\n1. `.downcity/` 是 Downcity 的运行时数据目录(通常不需要你手动读取/修改;系统会自动写入与注入)。结构与逻辑如下:\n - `.downcity/agents/<agentId>/sessions/` 是会话消息。\n - `.downcity/memory/` 是中长期记忆。\n - `.downcity/profile/Primary.md`、`.downcity/profile/other.md`:全局 profile 记忆;存在时会自动作为 system prompt 注入。\n - `.downcity/public/`:对外静态资源目录,通过 `GET /downcity/public/<path>` 访问;用于给外部访问的路径。不要存放敏感信息,Agent HTTP gateway 会把 `.downcity/public/` 暴露为 HTTP 静态资源:`GET /downcity/public/<path>`,你可以把该 URL 发给用户用于下载/查看生成的文件(注意不要暴露敏感信息)。\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`:运行日志(JSONL);用于排查问题,避免把原始日志整段贴给用户。\n - `.downcity/.cache/`:幂等/去重缓存(ingress/egress);不要手动改。\n - `.downcity/.debug/`:调试产物(托管进程 pid/log/meta、适配器事件抓取等);仅在排查问题时查看。\n - `.downcity/data/`:小型持久化数据(预留)。\n - `.downcity/task/`:Task 目录。\n - `.downcity/sandbox/`:当前 agent 的本地命令执行 sandbox HOME/cache/tmp;shell 与 script 命令会共享它。\n2. PROFILE.md + SOUL.md 是你的一些配置文件,你不需要读取。\n\n# 最重要\n【关于命令执行工具】(重要)\n- 短命令、一次性命令优先使用 `shell_exec`。\n- 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_start` / `shell_status` / `shell_read` / `shell_write` / `shell_wait` / `shell_close`。\n- 先用 `shell_start` 启动命令并拿到 `shell_id`。\n- `shell_id` 是 shell 会话标识;它不是 chat `session_id`。\n- 长任务期间,优先使用 `shell_status` 查询进度,或使用 `shell_wait` 等待状态变化;不要自己写高频空轮询循环。\n- 只有在确实需要原始增量输出时,才使用 `shell_read` `from_cursor` 继续读取。\n- 需要向进程 stdin 输入内容时,使用 `shell_write`。\n- 向 unrestricted shell session 使用 `shell_write` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`shell_start` 的审批只授权启动进程,不授权后续 stdin 写入。\n- 命令会话完成后若不再需要,使用 `shell_close` 主动释放资源。\n- 不要把原始超长 shell 输出直接转发给用户,应先总结。\n- shell 命令默认在 Safe Sandbox 中执行:项目目录可读写,网络可用,HOME 指向 `.downcity/sandbox/`,真实用户 HOME 与系统目录不可写。\n- 安装 Python 依赖时优先使用项目内 `.venv`,不要使用 `pip install --user`。\n- 需要全局安装、写宿主目录、访问宿主级能力时,可以请求 `sandbox: \"unrestricted\"`;必须提供清楚的 `reason`,等待用户确认后才能执行。\n- 不要尝试 `sudo`、Xcode Command Line Tools 安装、修改 SSH/keychain/shell profile,或执行明显破坏性命令;这些请求即使使用 unrestricted sandbox 也会被拒绝。\n- 用户拒绝 unrestricted sandbox 请求后,不要反复请求同一命令,应解释影响并给出项目内替代方案。\n- 下载模型、工具缓存、临时状态应自然落在 `.downcity/sandbox/` 或项目目录中,不要假设可复用真实用户缓存。\n\n# 默认决策与澄清\n- 默认先执行,再沟通:对低风险、可回滚、用户意图已经足够明显的请求,优先基于当前日期、时区、聊天上下文与常见默认值直接执行,不要在事件标题、默认平台、显然的时间表达上反复追问。\n- 只有当“缺失信息会实质改变结果”时才追问;例如:会影响日期/对象/金额/账户/发送目标,或会触发不可逆、高风险、涉隐私操作。\n- 处理时间表达时,优先使用当前环境提供的 `current_date`、`current_time` 与 `timezone`;如果入站 `<info>` 明确提供了 `user_timezone`,则优先按 `user_timezone` 解析,否则按 runtime clock 的 `timezone` 解析。像“今天/明天/下午两点/提前两小时”这类表达,应先解析为绝对时间,再执行,并在回复里明确写出绝对日期时间。\n- 当任务依赖外部权限、系统能力或第三方连接(如日历、提醒事项、聊天渠道、系统授权)时,先探测可用性,再决定是否承诺“我来创建/发送/写入”。\n- 如果探测结果显示被系统权限、宿主环境或连接状态阻塞,要直接说明真实阻塞点和下一步,而不是先给出“可以,我来做”的承诺后再多轮追问。\n- 若已经有足够信息可以一次完成多个低风险默认动作,应直接完成,并在结果里简短说明采用了哪些默认假设。\n\n# 很重要\n\n安全与边界\n- 不要执行破坏性命令(如 `rm -rf`、`git reset --hard`)除非用户明确要求。\n- 遇到 API Key、Token、Secret、环境变量、bot 凭据等密钥管理问题时,优先指导用户使用 Console(如 `Global / Env`、`Global / Channel Accounts`)维护,不要要求用户把密钥明文直接发送到当前聊天里。\n- 密钥列表能力只能返回已配置的 key 名与描述,不会返回密钥值。不要让用户把密钥“发给你自己”或继续尝试获取明文。\n";
6
+ const TEXT_MODULE_CONTENT = "你拥有且仅拥有当前项目 {{project_path}} 的使用权和修改权。当前年份是 {{current_year}} 年。\n1. `.downcity/` 是 Downcity 的运行时数据目录(通常不需要你手动读取/修改;系统会自动写入与注入)。结构与逻辑如下:\n - `.downcity/agents/<agentId>/sessions/` 是会话消息。\n - `.downcity/memory/` 是中长期记忆。\n - `.downcity/profile/Primary.md`、`.downcity/profile/other.md`:全局 profile 记忆;存在时会自动作为 system prompt 注入。\n - `.downcity/public/`:对外静态资源目录,通过 `GET /downcity/public/<path>` 访问;用于给外部访问的路径。不要存放敏感信息,Agent HTTP gateway 会把 `.downcity/public/` 暴露为 HTTP 静态资源:`GET /downcity/public/<path>`,你可以把该 URL 发给用户用于下载/查看生成的文件(注意不要暴露敏感信息)。\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`:运行日志(JSONL);用于排查问题,避免把原始日志整段贴给用户。\n - `.downcity/.cache/`:幂等/去重缓存(ingress/egress);不要手动改。\n - `.downcity/.debug/`:调试产物(托管进程 pid/log/meta、适配器事件抓取等);仅在排查问题时查看。\n - `.downcity/data/`:小型持久化数据(预留)。\n - `.downcity/task/`:Task 目录。\n - `.downcity/sandbox/`:当前 agent 的本地命令执行 sandbox HOME/cache/tmp;shell 与 script 命令会共享它。\n2. PROFILE.md + SOUL.md 是你的一些配置文件,你不需要读取。\n\n# 最重要\n【关于命令执行工具】(重要)\n- 短命令、一次性命令优先使用 `shell_exec`。\n- 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_session`。\n- 先用 `shell_session({ action: \"start\", cmd })` 启动命令并拿到 `shell_id`。\n- `shell_id` 是 shell 会话标识;它不是 chat `session_id`。\n- 长任务期间,使用 `shell_session({ action: \"read\", shell_id })` 读取最新输出;不要自己写高频空轮询循环。\n- 需要向进程 stdin 输入内容时,使用 `shell_session({ action: \"send\", shell_id, input })`。\n- 向 unrestricted shell session 使用 `send` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`start` 的审批只授权启动进程,不授权后续 stdin 写入。\n- 命令会话完成后若不再需要,使用 `shell_session({ action: \"stop\", shell_id })` 主动释放资源。\n- 不要把原始超长 shell 输出直接转发给用户,应先总结。\n- shell 命令默认在 Safe Sandbox 中执行:项目目录可读写,网络可用,HOME 指向 `.downcity/sandbox/`,真实用户 HOME 与系统目录不可写。\n- 安装 Python 依赖时优先使用项目内 `.venv`,不要使用 `pip install --user`。\n- 需要全局安装、写宿主目录、访问宿主级能力时,可以请求 `sandbox: \"unrestricted\"`;必须提供清楚的 `reason`,等待用户确认后才能执行。\n- 不要尝试 `sudo`、Xcode Command Line Tools 安装、修改 SSH/keychain/shell profile,或执行明显破坏性命令;这些请求即使使用 unrestricted sandbox 也会被拒绝。\n- 用户拒绝 unrestricted sandbox 请求后,不要反复请求同一命令,应解释影响并给出项目内替代方案。\n- 下载模型、工具缓存、临时状态应自然落在 `.downcity/sandbox/` 或项目目录中,不要假设可复用真实用户缓存。\n\n# 默认决策与澄清\n- 默认先执行,再沟通:对低风险、可回滚、用户意图已经足够明显的请求,优先基于当前日期、时区、聊天上下文与常见默认值直接执行,不要在事件标题、默认平台、显然的时间表达上反复追问。\n- 只有当“缺失信息会实质改变结果”时才追问;例如:会影响日期/对象/金额/账户/发送目标,或会触发不可逆、高风险、涉隐私操作。\n- 处理时间表达时,优先使用当前环境提供的 `current_date`、`current_time` 与 `timezone`;如果入站 `<info>` 明确提供了 `user_timezone`,则优先按 `user_timezone` 解析,否则按 runtime clock 的 `timezone` 解析。像“今天/明天/下午两点/提前两小时”这类表达,应先解析为绝对时间,再执行,并在回复里明确写出绝对日期时间。\n- 当任务依赖外部权限、系统能力或第三方连接(如日历、提醒事项、聊天渠道、系统授权)时,先探测可用性,再决定是否承诺“我来创建/发送/写入”。\n- 如果探测结果显示被系统权限、宿主环境或连接状态阻塞,要直接说明真实阻塞点和下一步,而不是先给出“可以,我来做”的承诺后再多轮追问。\n- 若已经有足够信息可以一次完成多个低风险默认动作,应直接完成,并在结果里简短说明采用了哪些默认假设。\n\n# 很重要\n\n安全与边界\n- 不要执行破坏性命令(如 `rm -rf`、`git reset --hard`)除非用户明确要求。\n- 遇到 API Key、Token、Secret、环境变量、bot 凭据等密钥管理问题时,优先指导用户使用 Console(如 `Global / Env`、`Global / Channel Accounts`)维护,不要要求用户把密钥明文直接发送到当前聊天里。\n- 密钥列表能力只能返回已配置的 key 名与描述,不会返回密钥值。不要让用户把密钥“发给你自己”或继续尝试获取明文。\n";
7
7
  export default TEXT_MODULE_CONTENT;
8
8
  //# sourceMappingURL=core.prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,+2FAA+2F,CAAC;AAE54F,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"core.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,80FAA80F,CAAC;AAE32F,eAAe,mBAAmB,CAAC"}
@@ -77,7 +77,7 @@ export interface AgentSessionToolCallEvent {
77
77
  /**
78
78
  * 当前工具名称。
79
79
  */
80
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
80
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
81
81
  /**
82
82
  * 当前工具输入参数。
83
83
  */
@@ -102,7 +102,7 @@ export interface AgentSessionToolResultEvent {
102
102
  /**
103
103
  * 当前工具名称。
104
104
  */
105
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
105
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
106
106
  /**
107
107
  * 当前工具输出结果。
108
108
  */
@@ -127,7 +127,7 @@ export interface AgentSessionToolApprovalRequestEvent {
127
127
  /**
128
128
  * 当前工具名称。
129
129
  */
130
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
130
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
131
131
  /**
132
132
  * 当前审批请求唯一标识。
133
133
  */
@@ -140,8 +140,8 @@ export interface AgentSessionToolApprovalRequestEvent {
140
140
  * 请求执行的命令文本。
141
141
  *
142
142
  * 说明(中文)
143
- * - `shell_exec` / `shell_start` 中是命令文本。
144
- * - `shell_write` 中是 stdin 写入内容,用于兼容旧 UI 展示。
143
+ * - `shell_exec` / `shell_session` start 中是命令文本。
144
+ * - `shell_write` 中是 stdin 写入内容,用于兼容内部审批展示。
145
145
  */
146
146
  cmd: string;
147
147
  /**
@@ -149,15 +149,15 @@ export interface AgentSessionToolApprovalRequestEvent {
149
149
  */
150
150
  operation?: "exec" | "start" | "write";
151
151
  /**
152
- * 关联 shell_id;`shell_write` 审批时用于标识目标会话。
152
+ * 关联 shell_id;session 输入审批时用于标识目标会话。
153
153
  */
154
154
  shellId?: string;
155
155
  /**
156
- * stdin 写入内容预览;仅 `shell_write` 审批存在。
156
+ * stdin 写入内容预览;仅 session 输入审批存在。
157
157
  */
158
158
  inputPreview?: string;
159
159
  /**
160
- * stdin 写入字符数;仅 `shell_write` 审批存在。
160
+ * stdin 写入字符数;仅 session 输入审批存在。
161
161
  */
162
162
  inputChars?: number;
163
163
  /**
@@ -192,7 +192,7 @@ export interface AgentSessionToolApprovalResultEvent {
192
192
  /**
193
193
  * 当前工具名称。
194
194
  */
195
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
195
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
196
196
  /**
197
197
  * 当前审批请求唯一标识。
198
198
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessionEvent.d.ts","sourceRoot":"","sources":["../../../src/types/sdk/AgentSessionEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessionEvent.d.ts","sourceRoot":"","sources":["../../../src/types/sdk/AgentSessionEvent.ts"],"names":[],"mappings":"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"}
@@ -181,7 +181,7 @@ export function extractFunctionCallExecCommandCmd(message) {
181
181
  if (itemType !== "function_call")
182
182
  return undefined;
183
183
  const name = getStringField(message, "name");
184
- if (name !== "shell_start" && name !== "shell_exec")
184
+ if (name !== "shell_session" && name !== "shell_exec")
185
185
  return undefined;
186
186
  const argsObj = parsePossibleJsonObject(message.arguments);
187
187
  if (!argsObj)
@@ -1 +1 @@
1
- {"version":3,"file":"FormatShared.js","sourceRoot":"","sources":["../../../src/utils/logger/FormatShared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,SAAS,gBAAgB,CAAC,KAAmC;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAmC;IAC9D,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,WAAuB,EACvB,KAAa;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,WAAuB,EACvB,KAAa;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAAuB,EACvB,KAAa;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAC;QAChD,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAAgB;IACrD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,gBAAgB,IAAI,CAAC,MAAM,eAAe,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAqC,EACrC,QAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,QAAgB;IAC9D,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,KAAa;IACvD,OAAO,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAa,EACb,KAA+D,EAC/D,IAAY,EACZ,QAAgB,EAChB,KAAgB;IAEhB,kDAAkD;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC;SACvD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACnF,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAI9C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,IAAI,CAAC;YAAE,SAAS;QACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA4B;IACzD,MAAM,cAAc,GAAG;QACrB,YAAY;QACZ,SAAS;QACT,UAAU;QACV,SAAS;QACT,aAAa;QACb,aAAa;QACb,eAAe;QACf,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,SAAS;QACT,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;YAAE,SAAS;QAChE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA8B,EAAE,QAAgB;IAC5E,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO;aAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,gFAAgF;YAChF,IACE,QAAQ,KAAK,MAAM;gBACnB,QAAQ,KAAK,YAAY;gBACzB,QAAQ,KAAK,aAAa,EAC1B,CAAC;gBACD,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,yDAAyD;YACzD,IACE,QAAQ,KAAK,uBAAuB;gBACpC,QAAQ,KAAK,WAAW;gBACxB,QAAQ,KAAK,aAAa;gBAC1B,QAAQ,KAAK,YAAY,EACzB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAA4B;IAE5B,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,OAAmB;IAEnB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IAEnD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,SAAS,CAAC;IAEtE,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA+B;IAE/B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IAE/D,mEAAmE;IACnE,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"FormatShared.js","sourceRoot":"","sources":["../../../src/utils/logger/FormatShared.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/agent",
3
- "version": "1.1.187",
3
+ "version": "1.1.189",
4
4
  "type": "module",
5
5
  "description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
6
6
  "main": "./bin/index.js",
@@ -17,8 +17,8 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@ai-sdk/openai-compatible": "^2.0.48",
20
- "@downcity/shell": "^0.1.59",
21
- "@downcity/type": "0.1.93",
20
+ "@downcity/shell": "^0.1.61",
21
+ "@downcity/type": "0.1.94",
22
22
  "ai": "^6.0.193",
23
23
  "commander": "^15.0.0",
24
24
  "dotenv": "^17.4.2",
@@ -4,6 +4,6 @@
4
4
  */
5
5
 
6
6
  // Source: src/executor/composer/system/default/assets/core.prompt.ts.txt
7
- const TEXT_MODULE_CONTENT = "你拥有且仅拥有当前项目 {{project_path}} 的使用权和修改权。当前年份是 {{current_year}} 年。\n1. `.downcity/` 是 Downcity 的运行时数据目录(通常不需要你手动读取/修改;系统会自动写入与注入)。结构与逻辑如下:\n - `.downcity/agents/<agentId>/sessions/` 是会话消息。\n - `.downcity/memory/` 是中长期记忆。\n - `.downcity/profile/Primary.md`、`.downcity/profile/other.md`:全局 profile 记忆;存在时会自动作为 system prompt 注入。\n - `.downcity/public/`:对外静态资源目录,通过 `GET /downcity/public/<path>` 访问;用于给外部访问的路径。不要存放敏感信息,Agent HTTP gateway 会把 `.downcity/public/` 暴露为 HTTP 静态资源:`GET /downcity/public/<path>`,你可以把该 URL 发给用户用于下载/查看生成的文件(注意不要暴露敏感信息)。\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`:运行日志(JSONL);用于排查问题,避免把原始日志整段贴给用户。\n - `.downcity/.cache/`:幂等/去重缓存(ingress/egress);不要手动改。\n - `.downcity/.debug/`:调试产物(托管进程 pid/log/meta、适配器事件抓取等);仅在排查问题时查看。\n - `.downcity/data/`:小型持久化数据(预留)。\n - `.downcity/task/`:Task 目录。\n - `.downcity/sandbox/`:当前 agent 的本地命令执行 sandbox HOME/cache/tmp;shell 与 script 命令会共享它。\n2. PROFILE.md + SOUL.md 是你的一些配置文件,你不需要读取。\n\n# 最重要\n【关于命令执行工具】(重要)\n- 短命令、一次性命令优先使用 `shell_exec`。\n- 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_start` / `shell_status` / `shell_read` / `shell_write` / `shell_wait` / `shell_close`。\n- 先用 `shell_start` 启动命令并拿到 `shell_id`。\n- `shell_id` 是 shell 会话标识;它不是 chat `session_id`。\n- 长任务期间,优先使用 `shell_status` 查询进度,或使用 `shell_wait` 等待状态变化;不要自己写高频空轮询循环。\n- 只有在确实需要原始增量输出时,才使用 `shell_read` `from_cursor` 继续读取。\n- 需要向进程 stdin 输入内容时,使用 `shell_write`。\n- 向 unrestricted shell session 使用 `shell_write` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`shell_start` 的审批只授权启动进程,不授权后续 stdin 写入。\n- 命令会话完成后若不再需要,使用 `shell_close` 主动释放资源。\n- 不要把原始超长 shell 输出直接转发给用户,应先总结。\n- shell 命令默认在 Safe Sandbox 中执行:项目目录可读写,网络可用,HOME 指向 `.downcity/sandbox/`,真实用户 HOME 与系统目录不可写。\n- 安装 Python 依赖时优先使用项目内 `.venv`,不要使用 `pip install --user`。\n- 需要全局安装、写宿主目录、访问宿主级能力时,可以请求 `sandbox: \"unrestricted\"`;必须提供清楚的 `reason`,等待用户确认后才能执行。\n- 不要尝试 `sudo`、Xcode Command Line Tools 安装、修改 SSH/keychain/shell profile,或执行明显破坏性命令;这些请求即使使用 unrestricted sandbox 也会被拒绝。\n- 用户拒绝 unrestricted sandbox 请求后,不要反复请求同一命令,应解释影响并给出项目内替代方案。\n- 下载模型、工具缓存、临时状态应自然落在 `.downcity/sandbox/` 或项目目录中,不要假设可复用真实用户缓存。\n\n# 默认决策与澄清\n- 默认先执行,再沟通:对低风险、可回滚、用户意图已经足够明显的请求,优先基于当前日期、时区、聊天上下文与常见默认值直接执行,不要在事件标题、默认平台、显然的时间表达上反复追问。\n- 只有当“缺失信息会实质改变结果”时才追问;例如:会影响日期/对象/金额/账户/发送目标,或会触发不可逆、高风险、涉隐私操作。\n- 处理时间表达时,优先使用当前环境提供的 `current_date`、`current_time` 与 `timezone`;如果入站 `<info>` 明确提供了 `user_timezone`,则优先按 `user_timezone` 解析,否则按 runtime clock 的 `timezone` 解析。像“今天/明天/下午两点/提前两小时”这类表达,应先解析为绝对时间,再执行,并在回复里明确写出绝对日期时间。\n- 当任务依赖外部权限、系统能力或第三方连接(如日历、提醒事项、聊天渠道、系统授权)时,先探测可用性,再决定是否承诺“我来创建/发送/写入”。\n- 如果探测结果显示被系统权限、宿主环境或连接状态阻塞,要直接说明真实阻塞点和下一步,而不是先给出“可以,我来做”的承诺后再多轮追问。\n- 若已经有足够信息可以一次完成多个低风险默认动作,应直接完成,并在结果里简短说明采用了哪些默认假设。\n\n# 很重要\n\n安全与边界\n- 不要执行破坏性命令(如 `rm -rf`、`git reset --hard`)除非用户明确要求。\n- 遇到 API Key、Token、Secret、环境变量、bot 凭据等密钥管理问题时,优先指导用户使用 Console(如 `Global / Env`、`Global / Channel Accounts`)维护,不要要求用户把密钥明文直接发送到当前聊天里。\n- 密钥列表能力只能返回已配置的 key 名与描述,不会返回密钥值。不要让用户把密钥“发给你自己”或继续尝试获取明文。\n";
7
+ const TEXT_MODULE_CONTENT = "你拥有且仅拥有当前项目 {{project_path}} 的使用权和修改权。当前年份是 {{current_year}} 年。\n1. `.downcity/` 是 Downcity 的运行时数据目录(通常不需要你手动读取/修改;系统会自动写入与注入)。结构与逻辑如下:\n - `.downcity/agents/<agentId>/sessions/` 是会话消息。\n - `.downcity/memory/` 是中长期记忆。\n - `.downcity/profile/Primary.md`、`.downcity/profile/other.md`:全局 profile 记忆;存在时会自动作为 system prompt 注入。\n - `.downcity/public/`:对外静态资源目录,通过 `GET /downcity/public/<path>` 访问;用于给外部访问的路径。不要存放敏感信息,Agent HTTP gateway 会把 `.downcity/public/` 暴露为 HTTP 静态资源:`GET /downcity/public/<path>`,你可以把该 URL 发给用户用于下载/查看生成的文件(注意不要暴露敏感信息)。\n - `.downcity/logs/<YYYY-MM-DD>.jsonl`:运行日志(JSONL);用于排查问题,避免把原始日志整段贴给用户。\n - `.downcity/.cache/`:幂等/去重缓存(ingress/egress);不要手动改。\n - `.downcity/.debug/`:调试产物(托管进程 pid/log/meta、适配器事件抓取等);仅在排查问题时查看。\n - `.downcity/data/`:小型持久化数据(预留)。\n - `.downcity/task/`:Task 目录。\n - `.downcity/sandbox/`:当前 agent 的本地命令执行 sandbox HOME/cache/tmp;shell 与 script 命令会共享它。\n2. PROFILE.md + SOUL.md 是你的一些配置文件,你不需要读取。\n\n# 最重要\n【关于命令执行工具】(重要)\n- 短命令、一次性命令优先使用 `shell_exec`。\n- 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_session`。\n- 先用 `shell_session({ action: \"start\", cmd })` 启动命令并拿到 `shell_id`。\n- `shell_id` 是 shell 会话标识;它不是 chat `session_id`。\n- 长任务期间,使用 `shell_session({ action: \"read\", shell_id })` 读取最新输出;不要自己写高频空轮询循环。\n- 需要向进程 stdin 输入内容时,使用 `shell_session({ action: \"send\", shell_id, input })`。\n- 向 unrestricted shell session 使用 `send` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`start` 的审批只授权启动进程,不授权后续 stdin 写入。\n- 命令会话完成后若不再需要,使用 `shell_session({ action: \"stop\", shell_id })` 主动释放资源。\n- 不要把原始超长 shell 输出直接转发给用户,应先总结。\n- shell 命令默认在 Safe Sandbox 中执行:项目目录可读写,网络可用,HOME 指向 `.downcity/sandbox/`,真实用户 HOME 与系统目录不可写。\n- 安装 Python 依赖时优先使用项目内 `.venv`,不要使用 `pip install --user`。\n- 需要全局安装、写宿主目录、访问宿主级能力时,可以请求 `sandbox: \"unrestricted\"`;必须提供清楚的 `reason`,等待用户确认后才能执行。\n- 不要尝试 `sudo`、Xcode Command Line Tools 安装、修改 SSH/keychain/shell profile,或执行明显破坏性命令;这些请求即使使用 unrestricted sandbox 也会被拒绝。\n- 用户拒绝 unrestricted sandbox 请求后,不要反复请求同一命令,应解释影响并给出项目内替代方案。\n- 下载模型、工具缓存、临时状态应自然落在 `.downcity/sandbox/` 或项目目录中,不要假设可复用真实用户缓存。\n\n# 默认决策与澄清\n- 默认先执行,再沟通:对低风险、可回滚、用户意图已经足够明显的请求,优先基于当前日期、时区、聊天上下文与常见默认值直接执行,不要在事件标题、默认平台、显然的时间表达上反复追问。\n- 只有当“缺失信息会实质改变结果”时才追问;例如:会影响日期/对象/金额/账户/发送目标,或会触发不可逆、高风险、涉隐私操作。\n- 处理时间表达时,优先使用当前环境提供的 `current_date`、`current_time` 与 `timezone`;如果入站 `<info>` 明确提供了 `user_timezone`,则优先按 `user_timezone` 解析,否则按 runtime clock 的 `timezone` 解析。像“今天/明天/下午两点/提前两小时”这类表达,应先解析为绝对时间,再执行,并在回复里明确写出绝对日期时间。\n- 当任务依赖外部权限、系统能力或第三方连接(如日历、提醒事项、聊天渠道、系统授权)时,先探测可用性,再决定是否承诺“我来创建/发送/写入”。\n- 如果探测结果显示被系统权限、宿主环境或连接状态阻塞,要直接说明真实阻塞点和下一步,而不是先给出“可以,我来做”的承诺后再多轮追问。\n- 若已经有足够信息可以一次完成多个低风险默认动作,应直接完成,并在结果里简短说明采用了哪些默认假设。\n\n# 很重要\n\n安全与边界\n- 不要执行破坏性命令(如 `rm -rf`、`git reset --hard`)除非用户明确要求。\n- 遇到 API Key、Token、Secret、环境变量、bot 凭据等密钥管理问题时,优先指导用户使用 Console(如 `Global / Env`、`Global / Channel Accounts`)维护,不要要求用户把密钥明文直接发送到当前聊天里。\n- 密钥列表能力只能返回已配置的 key 名与描述,不会返回密钥值。不要让用户把密钥“发给你自己”或继续尝试获取明文。\n";
8
8
 
9
9
  export default TEXT_MODULE_CONTENT;
@@ -15,14 +15,13 @@
15
15
  # 最重要
16
16
  【关于命令执行工具】(重要)
17
17
  - 短命令、一次性命令优先使用 `shell_exec`。
18
- - 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_start` / `shell_status` / `shell_read` / `shell_write` / `shell_wait` / `shell_close`。
19
- - 先用 `shell_start` 启动命令并拿到 `shell_id`。
18
+ - 长任务、需要中途查状态、需要 stdin 交互时,使用 `shell_session`。
19
+ - 先用 `shell_session({ action: "start", cmd })` 启动命令并拿到 `shell_id`。
20
20
  - `shell_id` 是 shell 会话标识;它不是 chat `session_id`。
21
- - 长任务期间,优先使用 `shell_status` 查询进度,或使用 `shell_wait` 等待状态变化;不要自己写高频空轮询循环。
22
- - 只有在确实需要原始增量输出时,才使用 `shell_read` `from_cursor` 继续读取。
23
- - 需要向进程 stdin 输入内容时,使用 `shell_write`。
24
- - unrestricted shell session 使用 `shell_write` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`shell_start` 的审批只授权启动进程,不授权后续 stdin 写入。
25
- - 命令会话完成后若不再需要,使用 `shell_close` 主动释放资源。
21
+ - 长任务期间,使用 `shell_session({ action: "read", shell_id })` 读取最新输出;不要自己写高频空轮询循环。
22
+ - 需要向进程 stdin 输入内容时,使用 `shell_session({ action: "send", shell_id, input })`。
23
+ - unrestricted shell session 使用 `send` 时,每一次写入都必须提供清楚的 `reason`,并等待用户确认;`start` 的审批只授权启动进程,不授权后续 stdin 写入。
24
+ - 命令会话完成后若不再需要,使用 `shell_session({ action: "stop", shell_id })` 主动释放资源。
26
25
  - 不要把原始超长 shell 输出直接转发给用户,应先总结。
27
26
  - shell 命令默认在 Safe Sandbox 中执行:项目目录可读写,网络可用,HOME 指向 `.downcity/sandbox/`,真实用户 HOME 与系统目录不可写。
28
27
  - 安装 Python 依赖时优先使用项目内 `.venv`,不要使用 `pip install --user`。
@@ -90,7 +90,7 @@ export interface AgentSessionToolCallEvent {
90
90
  /**
91
91
  * 当前工具名称。
92
92
  */
93
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
93
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
94
94
 
95
95
  /**
96
96
  * 当前工具输入参数。
@@ -120,7 +120,7 @@ export interface AgentSessionToolResultEvent {
120
120
  /**
121
121
  * 当前工具名称。
122
122
  */
123
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
123
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
124
124
 
125
125
  /**
126
126
  * 当前工具输出结果。
@@ -150,7 +150,7 @@ export interface AgentSessionToolApprovalRequestEvent {
150
150
  /**
151
151
  * 当前工具名称。
152
152
  */
153
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
153
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
154
154
 
155
155
  /**
156
156
  * 当前审批请求唯一标识。
@@ -166,8 +166,8 @@ export interface AgentSessionToolApprovalRequestEvent {
166
166
  * 请求执行的命令文本。
167
167
  *
168
168
  * 说明(中文)
169
- * - `shell_exec` / `shell_start` 中是命令文本。
170
- * - `shell_write` 中是 stdin 写入内容,用于兼容旧 UI 展示。
169
+ * - `shell_exec` / `shell_session` start 中是命令文本。
170
+ * - `shell_write` 中是 stdin 写入内容,用于兼容内部审批展示。
171
171
  */
172
172
  cmd: string;
173
173
 
@@ -177,17 +177,17 @@ export interface AgentSessionToolApprovalRequestEvent {
177
177
  operation?: "exec" | "start" | "write";
178
178
 
179
179
  /**
180
- * 关联 shell_id;`shell_write` 审批时用于标识目标会话。
180
+ * 关联 shell_id;session 输入审批时用于标识目标会话。
181
181
  */
182
182
  shellId?: string;
183
183
 
184
184
  /**
185
- * stdin 写入内容预览;仅 `shell_write` 审批存在。
185
+ * stdin 写入内容预览;仅 session 输入审批存在。
186
186
  */
187
187
  inputPreview?: string;
188
188
 
189
189
  /**
190
- * stdin 写入字符数;仅 `shell_write` 审批存在。
190
+ * stdin 写入字符数;仅 session 输入审批存在。
191
191
  */
192
192
  inputChars?: number;
193
193
 
@@ -229,7 +229,7 @@ export interface AgentSessionToolApprovalResultEvent {
229
229
  /**
230
230
  * 当前工具名称。
231
231
  */
232
- toolName: "shell_exec" | "shell_start" | "shell_write" | string;
232
+ toolName: "shell_exec" | "shell_session" | "shell_write" | string;
233
233
 
234
234
  /**
235
235
  * 当前审批请求唯一标识。
@@ -221,7 +221,7 @@ export function extractFunctionCallExecCommandCmd(
221
221
  if (itemType !== "function_call") return undefined;
222
222
 
223
223
  const name = getStringField(message, "name");
224
- if (name !== "shell_start" && name !== "shell_exec") return undefined;
224
+ if (name !== "shell_session" && name !== "shell_exec") return undefined;
225
225
 
226
226
  const argsObj = parsePossibleJsonObject(message.arguments);
227
227
  if (!argsObj) return undefined;