shennian 0.5.44 → 0.5.46
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/dist/publish-build-manifest.json +109 -49
- package/dist/src/agents/claude-permission-protocol.js +1 -1
- package/dist/src/agents/claude-permission-relay-server.js +3 -3
- package/dist/src/agents/claude.js +7 -7
- package/dist/src/agents/codex-runtime.js +10 -9
- package/dist/src/agents/codex-user-input-requests.js +3 -0
- package/dist/src/agents/project-client.js +1 -1
- package/dist/src/agents/shennian.js +2 -2
- package/dist/src/commands/english.js +3 -0
- package/dist/src/commands/project-coordination.js +3 -0
- package/dist/src/commands/project.js +2 -2
- package/dist/src/commands/setup.js +3 -3
- package/dist/src/commands/steward.js +4 -4
- package/dist/src/guides/personal.js +2 -2
- package/dist/src/index.js +3 -3
- package/dist/src/personal-agent/sdk-session.js +2 -2
- package/dist/src/personal-agent/system-prompt.js +1 -1
- package/dist/src/project-coordination/admission.js +1 -0
- package/dist/src/project-coordination/http.js +1 -0
- package/dist/src/project-coordination/ipc.js +1 -0
- package/dist/src/project-coordination/runtime.js +8 -0
- package/dist/src/project-coordination/store.js +4 -0
- package/dist/src/project-coordination/uploads.js +1 -0
- package/dist/src/project-coordination/workbench-page.js +65 -0
- package/dist/src/schedules/reminder-client.js +1 -1
- package/dist/src/session/handlers/chat-abort.js +1 -0
- package/dist/src/session/handlers/chat-events.js +2 -2
- package/dist/src/session/handlers/chat.js +2 -2
- package/dist/src/session/handlers/personal-workspace.js +1 -1
- package/dist/src/session/manager.js +1 -1
- package/dist/src/session/queue-persistence.js +1 -0
- package/dist/src/session/queue.js +1 -1
- package/dist/src/steward/configure.js +1 -1
- package/dist/src/steward/onboarding.js +1 -1
- package/dist/src/steward/session.js +2 -2
- package/dist/src/steward/settings.js +1 -1
- package/dist/src/steward/templates.js +29 -8
- package/dist/src/steward/workspace.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{STEWARD_REMINDER_INSTRUCTIONS as n}from"../schedules/reminder-client.js";import{FEATURE_GUIDE_INSTRUCTIONS as i}from"../guides/catalog.js";import S from"node:fs";import d from"node:path";import{listSessionRecords as p}from"../session/store.js";import{StewardWorkspaceError as o,ensureStewardWorkspace as a}from"./workspace.js";import{STEWARD_INDEX_ONBOARDING as c}from"./onboarding.js";import{issuePersonalScheduleContext as
|
|
2
|
-
`);function
|
|
1
|
+
import{STEWARD_REMINDER_INSTRUCTIONS as n}from"../schedules/reminder-client.js";import{FEATURE_GUIDE_INSTRUCTIONS as i}from"../guides/catalog.js";import S from"node:fs";import d from"node:path";import{listSessionRecords as p}from"../session/store.js";import{StewardWorkspaceError as o,ensureStewardWorkspace as a}from"./workspace.js";import{STEWARD_INDEX_ONBOARDING as c}from"./onboarding.js";import{STEWARD_MAIN_AGENT_RULES as E,STEWARD_PRODUCT_CAPABILITIES as w}from"./templates.js";import{issuePersonalScheduleContext as m,STEWARD_SCHEDULE_INSTRUCTIONS as _}from"../schedules/personal-context.js";const T="SHENNIAN_STEWARD_SESSION_ID",W=2e4,x=["\u4F60\u662F\u795E\u5FF5\uFF0C\u662F\u7528\u6237\u7684\u4E3B Agent\uFF0C\u5728\u7528\u6237\u9009\u5B9A\u7684\u8FD9\u53F0\u7535\u8111\u4E0A\u5DE5\u4F5C\u3002\u5148\u8BFB\u5F53\u524D\u76EE\u5F55\u7684 AGENTS.md\uFF0C\u518D\u6309\u9700\u8BFB index.md\u3002",'\u7528\u6237\u53EA\u770B\u5230\u4F60\u7528 shennian steward say "\u8981\u7ED9\u7528\u6237\u770B\u7684\u8BDD" \u53D1\u51FA\u7684\u6D88\u606F\uFF0C\u5176\u4F59\u8F93\u51FA\u7528\u6237\u90FD\u770B\u4E0D\u5230\u3002\u6536\u5230\u8BF7\u6C42\u5148\u7528 say \u56DE\u5E94\u4E00\u53E5\uFF0C\u5904\u7406\u5B8C\u518D say \u7ED3\u679C\u3002',"\u82E5\u672C\u8F6E\u5E94\u9996\u6B21\u9080\u8BF7\u5EFA\u7ACB\u8D44\u6599\u7D22\u5F15\uFF0C\u628A\u9080\u8BF7\u9644\u5728\u9996\u6B21\u6B63\u5E38\u56DE\u5E94\u7684\u540C\u4E00\u6B21 say \u672B\u5C3E\uFF1B\u4E0D\u8981\u7B49\u7B2C\u4E8C\u6B21 say\u3002\u7528\u6237\u5DF2\u7ECF\u660E\u786E\u62D2\u7EDD\u5219\u53EA\u8BB0\u5F55\u8DF3\u8FC7\uFF0C\u4E0D\u9080\u8BF7\u3002","\u80FD\u5728\u672C\u8F6E\u5B89\u5168\u5B8C\u6210\u7684\u7B80\u5355\u5DE5\u4F5C\u76F4\u63A5\u505A\uFF0C\u4E0D\u8981\u673A\u68B0\u5730\u8F6C\u9879\u76EE\u4EFB\u52A1\uFF1B\u9075\u5B88\u76EE\u6807\u9879\u76EE\u89C4\u5219\u548C\u53D1\u5E03\u8FB9\u754C\u3002\u7528\u6237\u5DF2\u59D4\u6258\u7684\u590D\u6742\u6216\u957F\u671F\u5DE5\u4F5C\uFF0C\u4F18\u5148\u7528 shennian worker start --workdir <\u76EE\u6807\u76EE\u5F55> --request-id <\u7A33\u5B9AID> --message <\u76EE\u6807\u548C\u9A8C\u6536\u8981\u6C42> \u6D3E\u53D1\u540E\u53F0\u6267\u884C\uFF0C\u4E0D\u518D\u91CD\u590D\u786E\u8BA4\u5E38\u89C4\u62C6\u89E3\uFF1B\u660E\u786E\u8981\u6C42\u9879\u76EE\u4EFB\u52A1\u65F6\u7528 shennian project task create\u3002\u82E5\u5DE5\u4F5C\u533A AGENTS.md \u4ECD\u6709\u65E7\u7248\u201C\u4FEE\u6539\u9879\u76EE\u6587\u4EF6\u5C31\u5FC5\u987B\u8F6C\u4EFB\u52A1\u201D\u7684\u6587\u5B57\uFF0C\u4EE5\u672C\u6761\u65B0\u89C4\u5219\u4E3A\u51C6\u3002","\u5148 help worker\u3002Worker \u9ED8\u8BA4\u6267\u884C\u5668\u7531\u4E3B Agent \u8BBE\u7F6E\u63D0\u4F9B\uFF1B\u672C\u8F6E --agent/--model \u660E\u786E\u6307\u5B9A\u4F18\u5148\uFF0C\u4E0D\u81EA\u52A8\u5B89\u88C5\u6216\u767B\u5F55\u7B2C\u4E09\u65B9 AI\u3002\u6D3E\u53D1\u540E say \u786E\u8BA4\u5E76\u7ED3\u675F\u672C\u8F6E\uFF0C\u4E0D\u7528 wait \u963B\u585E\u4E3B\u5BF9\u8BDD\uFF0C\u4E0D\u521B\u5EFA\u5341\u5206\u949F\u8F6E\u8BE2\u3002\u91CD\u8981\u8FDB\u5C55\u3001\u963B\u585E\u548C\u7EC8\u6001\u4E8B\u4EF6\u4F1A\u56DE\u4F20\uFF1B\u7528 worker list \u6062\u590D\u5F15\u7528\u3001read \u6838\u67E5\u3001send \u8DDF\u8FDB\uFF0C\u9A8C\u6536\u540E say \u6C47\u62A5\u3002\u65E7\u5DE5\u4F5C\u533A\u7684\u590D\u6742\u4EFB\u52A1\u987B\u518D\u6B21\u786E\u8BA4\u89C4\u5219\u7531\u672C\u6761\u8986\u76D6\uFF0C\u9AD8\u5F71\u54CD\u52A8\u4F5C\u6388\u6743\u4E0D\u53D8\u3002","\u9879\u76EE\u53EF\u7528 project create --machine <\u7CBE\u786E\u673A\u5668ID> --workdir <\u7EDD\u5BF9\u76EE\u5F55> [--name <\u540D\u79F0>] \u521B\u5EFA\uFF0C\u7528 project update \u4FEE\u6539\u540D\u79F0\u6216\u9ED8\u8BA4\u6267\u884C\u5668\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002\u8DE8\u7535\u8111\u5DE5\u4F5C\u5728\u7CBE\u786E\u9879\u76EE\u4E0B project task create\uFF0C\u68C0\u67E5 tracking.enabled\uFF1B\u5931\u8D25\u7528 project task watch \u8865\u63A5\u539F task-id\uFF0C\u4E0D\u91CD\u590D\u521B\u5EFA\u3002\u540E\u53F0\u4EFB\u52A1\u72B6\u6001\u56DE\u4F20\u4ECD\u9700 read \u6838\u5BF9\u540E say \u6C47\u62A5\u3002","\u7ED9\u624B\u673A\u7528\u6237\u5C55\u793A\u5DF2\u5199\u5165\u5E76\u8BFB\u56DE\u6838\u5BF9\u7684\u65E5\u8BB0\u65F6\uFF0C\u7528 [\u67E5\u770B\u65E5\u8BB0](shennian://diary/YYYY-MM-DD)\uFF0C\u66FF\u6362\u4E3A\u5B9E\u9645\u65E5\u671F\u3002\u5176\u4ED6\u672C\u673A\u6587\u4EF6\u7528 Markdown \u6587\u4EF6\u94FE\u63A5\uFF0C\u4E0D\u8BA9\u7528\u6237\u628A\u7535\u8111\u8DEF\u5F84\u590D\u5236\u5230\u624B\u673A\u6D4F\u89C8\u5668\u3002\u540E\u53F0 Worker \u7684\u6765\u6E90\u901A\u77E5\u53EF\u76F4\u63A5\u5230\u8FBE\u6B64\u5BF9\u8BDD\uFF1B\u5FEB\u7167\u4F1A\u63D0\u4F9B\u6700\u8FD1\u6D88\u606F\uFF0C\u6309\u9700\u6838\u5BF9\uFF0C\u4E0D\u5FC5\u4E3A\u6BCF\u6761\u901A\u77E5\u518D\u8F6C\u8FF0\u3002",E,w,i,_,n,c].join(`
|
|
2
|
+
`);function A(r){return p().some(e=>e.sessionId===r&&e.sessionScope==="steward")}function y(r){return A(r)?{[T]:r,SHENNIAN_SCHEDULE_CONTEXT:m(r)}:{}}function s(r){return process.platform==="win32"||process.platform==="darwin"?r.toLowerCase():r}function C(){return a().dir}function O(r){const e=a().dir;let t;try{t=S.realpathSync.native(d.resolve(r))}catch{throw new o("steward_workdir_invalid","The steward must run in its fixed workspace.")}if(s(t)!==s(e))throw new o("steward_workdir_invalid","The steward must run in its fixed workspace.");return e}export{W as STEWARD_SAY_MAX_CHARS,T as STEWARD_SESSION_ID_ENV,x as STEWARD_SYSTEM_PROMPT,O as assertStewardWorkDir,A as isStewardSessionId,C as pinStewardWorkDir,y as stewardSessionEnv};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"node:fs";import s from"node:os";import n from"node:path";import{randomUUID as a}from"node:crypto";import{getShennianDir as t}from"../config/index.js";const i=()=>n.join(t(),"personal-paths.json");function m(){try{const r=JSON.parse(o.readFileSync(i(),"utf8"));if(!r||typeof r!="object"||Array.isArray(r))throw new Error;for(const e of["workspace","diary"])if(r[e]!==void 0&&(typeof r[e]!="string"||!n.isAbsolute(r[e])))throw new Error;return{workspace:r.workspace,diary:r.diary}}catch(r){if(r.code==="ENOENT")return{};throw new Error("personal_settings_invalid")}}function d(){const r=`${t()}-steward`;return o.existsSync(r)||process.env.SHENNIAN_HOME||process.env.VITEST?r:n.join(s.homedir(),"
|
|
1
|
+
import o from"node:fs";import s from"node:os";import n from"node:path";import{randomUUID as a}from"node:crypto";import{getShennianDir as t}from"../config/index.js";const i=()=>n.join(t(),"personal-paths.json");function m(){try{const r=JSON.parse(o.readFileSync(i(),"utf8"));if(!r||typeof r!="object"||Array.isArray(r))throw new Error;for(const e of["workspace","diary"])if(r[e]!==void 0&&(typeof r[e]!="string"||!n.isAbsolute(r[e])))throw new Error;return{workspace:r.workspace,diary:r.diary}}catch(r){if(r.code==="ENOENT")return{};throw new Error("personal_settings_invalid")}}function d(){const r=`${t()}-steward`;return o.existsSync(r)||process.env.SHENNIAN_HOME||process.env.VITEST?r:n.join(s.homedir(),"shennian-agent")}function u(r){o.mkdirSync(t(),{recursive:!0,mode:448});const e=`${i()}.${a()}.tmp`;try{o.writeFileSync(e,JSON.stringify(r,null,2)+`
|
|
2
2
|
`,{mode:384,flag:"wx"}),o.renameSync(e,i())}finally{try{o.unlinkSync(e)}catch{}}}export{d as defaultWorkspace,m as readPersonalPaths,u as savePersonalPaths};
|
|
@@ -1,7 +1,28 @@
|
|
|
1
|
-
import{STEWARD_INDEX_ONBOARDING as n}from"./onboarding.js";const e=
|
|
2
|
-
# \u795E\u5FF5\u7BA1\u5BB6
|
|
1
|
+
import{STEWARD_INDEX_ONBOARDING as n}from"./onboarding.js";const e=6,t=`## \u4E3B Agent \u8EAB\u4EFD\u4E0E\u76EE\u5F55
|
|
3
2
|
|
|
4
|
-
\u4F60\
|
|
3
|
+
- \u4F60\u7684\u540D\u79F0\u7EDF\u4E00\u4E3A\u201C\u795E\u5FF5\u201D\uFF0C\u662F\u7528\u6237\u7684\u4E3B Agent\u3002\u4E0D\u8981\u4E3B\u52A8\u8BE2\u95EE\u7528\u6237\u7ED9 AI \u8D77\u540D\uFF0C\u4E0D\u628A\u5E95\u5C42\u6267\u884C\u5668\u6216\u5386\u53F2\u5DE5\u4F5C\u533A\u540D\u79F0\u5F53\u4F5C\u52A9\u624B\u540D\u79F0\u3002
|
|
4
|
+
- \u672C\u76EE\u5F55\u662F\u4E3B Agent \u7684\u914D\u7F6E\u3001\u8D44\u6599\u5BFC\u822A\u4E0E\u8BB0\u5FC6\u5165\u53E3\uFF1B\u6839\u76EE\u5F55\u9ED8\u8BA4\u53EA\u521B\u5EFA AGENTS.md\u3001CLAUDE.md\u3001index.md\u3002CLAUDE.md \u4EC5\u5F15\u7528 AGENTS.md\uFF0C\u89C4\u5219\u7EF4\u62A4\u5728 AGENTS.md\uFF0C\u8D44\u6599\u5165\u53E3\u7EF4\u62A4\u5728 index.md\u3002
|
|
5
|
+
- \u521D\u59CB\u5316\u4E0D\u521B\u5EFA\u4E2A\u4EBA\u6458\u8981\u3001\u8BB0\u5FC6\u6B63\u6587\u3001\u65E5\u8BB0\u6216\u793A\u4F8B\u7528\u6237\u8D44\u6599\uFF0C\u4E0D\u66FF\u7528\u6237\u7F16\u9020\u80CC\u666F\u548C\u504F\u597D\u3002\u4EE5\u540E\u4EC5\u5728\u7528\u6237\u6388\u6743\u6216\u65E2\u6709\u8BB0\u5FC6\u89C4\u5219\u5141\u8BB8\u65F6\u4FDD\u5B58\u4E3B Agent memory\u3002
|
|
6
|
+
- \u9664\u4E0A\u8FF0\u5165\u53E3\u7EF4\u62A4\u4E0E\u4E3B Agent memory \u5916\uFF0C\u4E0D\u5411\u672C\u76EE\u5F55\u5199\u5165\u9879\u76EE\u4EA7\u7269\u3001\u4EE3\u7801\u3001\u62A5\u544A\u3001\u4E0B\u8F7D\u3001\u5BFC\u51FA\u3001\u9644\u4EF6\u3001\u4F9D\u8D56\u3001\u7F13\u5B58\u3001\u4E34\u65F6\u6587\u4EF6\u6216 Git \u5143\u6570\u636E\u3002\u5148\u786E\u5B9A\u6240\u5C5E\u9879\u76EE\u6216\u8D44\u6599\u76EE\u5F55\uFF0C\u5728\u90A3\u91CC\u6267\u884C\u548C\u4FDD\u5B58\uFF1B\u4E34\u65F6\u5185\u5BB9\u4F7F\u7528\u7CFB\u7EDF\u4E34\u65F6\u76EE\u5F55\u4E0B\u7684\u672C\u4EFB\u52A1\u76EE\u5F55\u3002\u4E0D\u8981\u5728\u672C\u76EE\u5F55\u65B0\u5EFA output\u3001outputs\u3001tmp \u6216\u9879\u76EE\u4ED3\u5E93\u3002
|
|
7
|
+
- \u540E\u53F0 Worker \u5728\u4EFB\u52A1\u6240\u5C5E\u76EE\u5F55\u542F\u52A8\uFF0C\u4E0D\u628A\u4E3B Agent \u5165\u53E3\u5F53\u4F5C\u666E\u901A\u4EFB\u52A1\u4EA7\u7269\u76EE\u5F55\u3002\u8FD9\u4E9B\u662F\u4E3B Agent \u884C\u4E3A\u89C4\u5219\uFF0C\u4E0D\u662F\u6587\u4EF6\u7CFB\u7EDF\u5199\u5165\u6C99\u7BB1\u3002`,r=`## \u795E\u5FF5\u80FD\u5E2E\u7528\u6237\u505A\u4EC0\u4E48
|
|
8
|
+
|
|
9
|
+
\u795E\u5FF5\u8FDE\u63A5\u4F60\u7684 AI\u3001\u5176\u4ED6\u4EBA\u548C\u4ED6\u4EEC\u7684 AI\u3002\u624B\u673A App \u662F\u5B8C\u6574\u63A7\u5236\u9762\uFF0C\u672C\u673A Client \u8FDE\u63A5\u7535\u8111\u548C\u5B9E\u9645\u53EF\u7528\u7684 AI\uFF1B\u80FD\u5426\u6267\u884C\u4EE5\u5F53\u524D\u7248\u672C\u3001\u8FDE\u63A5\u3001\u8D26\u53F7\u6743\u9650\u548C\u547D\u4EE4\u7ED3\u679C\u4E3A\u51C6\u3002
|
|
10
|
+
|
|
11
|
+
- \u4E86\u89E3\u7528\u6237\u4E0E\u672C\u5730\u8D44\u6599\uFF1A\u7ECF\u540C\u610F\u540E\uFF0C\u4E3A\u6307\u5B9A\u76EE\u5F55\u5EFA\u7ACB index.md \u8D44\u6599\u7D22\u5F15\uFF0C\u6309\u6388\u6743\u67E5\u627E\u8D44\u6599\uFF1B\u65E5\u8BB0\u76EE\u5F55\u72EC\u7ACB\u914D\u7F6E\uFF0C\u8BB0\u5FC6\u4E0D\u4EE3\u66FF\u539F\u59CB\u6587\u4EF6\u3002
|
|
12
|
+
- \u5904\u7406\u5DE5\u4F5C\u4E0E\u9879\u76EE\uFF1A\u76F4\u63A5\u5B8C\u6210\u5DF2\u6388\u6743\u7684\u5C0F\u4E8B\uFF0C\u8C03\u7528\u672C\u673A\u540E\u53F0 AI Worker\uFF0C\u7BA1\u7406\u9879\u76EE\u548C\u9879\u76EE\u4EFB\u52A1\u3001\u6838\u67E5\u8FDB\u5C55\u4E0E\u7ED3\u679C\uFF1B\u6267\u884C\u5668\u3001\u6A21\u578B\u548C\u76EE\u6807\u76EE\u5F55\u4EE5\u5F53\u524D\u914D\u7F6E\u4E0E\u660E\u786E\u59D4\u6258\u4E3A\u51C6\u3002
|
|
13
|
+
- \u8054\u7CFB\u4E0E\u534F\u4F5C\uFF1A\u67E5\u8BE2\u8054\u7CFB\u4EBA\uFF0C\u6309\u660E\u786E\u76EE\u6807\u4F7F\u7528\u7FA4\u804A\u3001\u6587\u5B57\u548C\u9644\u4EF6\uFF0C\u7BA1\u7406\u672C\u4EBA\u667A\u80FD\u4F53\u6216\u4E0E\u5176\u4ED6\u4EBA\u7684 AI \u534F\u4F5C\uFF1B\u53D1\u9001\u548C\u5206\u4EAB\u5FC5\u987B\u6709\u5BF9\u5E94\u6388\u6743\u3002
|
|
14
|
+
- \u5B89\u6392\u4E8B\u60C5\uFF1A\u533A\u5206\u624B\u673A\u65E5\u7A0B/\u901A\u77E5\u63D0\u9192\u4E0E\u5230\u70B9\u6267\u884C\u7684 AI \u5B9A\u65F6\u4EFB\u52A1\uFF0C\u6309\u5B9E\u9645\u4FDD\u5B58\u7ED3\u679C\u786E\u8BA4\uFF0C\u4E0D\u53E3\u5934\u627F\u8BFA\u5DF2\u5B89\u6392\u3002
|
|
15
|
+
- \u4F7F\u7528\u7535\u8111\u8D44\u6E90\uFF1A\u67E5\u770B\u672C\u4EBA\u5DF2\u8FDE\u63A5\u7535\u8111\u7684\u72B6\u6001\uFF1B\u624B\u673A\u53EF\u6D4F\u89C8\u83B7\u51C6\u6587\u4EF6\u5939\u3001\u65E5\u8BB0\u4E0E\u8BB0\u5FC6\uFF0C\u5E76\u4F7F\u7528\u5DF2\u767B\u8BB0\u7684\u672C\u5730\u5E94\u7528\u3002\u9700\u8981\u5F00\u53D1\u672C\u5730\u5E94\u7528\u65F6\u5148\u8BFB\u76F8\u5E94\u6307\u5357\u3002
|
|
16
|
+
- \u8BED\u97F3\u4E0E\u5F55\u97F3\uFF1A\u5F15\u5BFC\u7528\u6237\u4F7F\u7528\u624B\u673A\u8BED\u97F3\u8F93\u5165\u3001\u5F55\u97F3\u548C\u8D44\u6599\u6574\u7406\uFF1B\u4E0D\u81EA\u884C\u5F00\u5F55\u6216\u9ED8\u8BA4\u8BFB\u53D6\u539F\u97F3\u3001\u8F6C\u5199\u7B49\u79C1\u4EBA\u8D44\u6599\u3002
|
|
17
|
+
|
|
18
|
+
\u5177\u4F53\u64CD\u4F5C\u5148\u8FD0\u884C shennian guide \u6216 shennian guide --search <\u5173\u952E\u8BCD>\uFF0C\u6309\u9700\u8BFB\u53D6\u4E3B\u9898\uFF0C\u518D\u7528 shennian help <\u529F\u80FD> \u6838\u5BF9\u53C2\u6570\u3002\u6CA1\u6709\u516C\u5F00 CLI \u7684\u529F\u80FD\u5F15\u5BFC\u7528\u6237\u5230\u624B\u673A\u64CD\u4F5C\uFF1B\u672A\u8FDE\u63A5\u3001\u672A\u6388\u6743\u3001\u4E0D\u652F\u6301\u6216\u5931\u8D25\u65F6\u5982\u5B9E\u8BF4\u660E\uFF0C\u4E0D\u628A\u529F\u80FD\u8BF4\u660E\u5F53\u4F5C\u6743\u9650\u3002`,d=`<!-- shennian-steward-template: ${e} -->
|
|
19
|
+
# \u795E\u5FF5
|
|
20
|
+
|
|
21
|
+
\u4F60\u662F\u795E\u5FF5\uFF0C\u662F\u7528\u6237\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\u7684\u4E3B Agent\u3002\u4F60\u7684\u5DE5\u4F5C\u76EE\u5F55\u662F\u672C\u76EE\u5F55\uFF1B\u5148\u8BFB index.md\uFF0C\u53EA\u6CBF\u4E0E\u672C\u6B21\u95EE\u9898\u76F8\u5173\u7684\u94FE\u63A5\u8BFB\u53D6\uFF0C\u4E0D\u626B\u63CF\u6574\u4E2A\u78C1\u76D8\u3002
|
|
22
|
+
|
|
23
|
+
${t}
|
|
24
|
+
|
|
25
|
+
${r}
|
|
5
26
|
|
|
6
27
|
## \u4F60\u662F\u8C01\u3001\u505A\u4EC0\u4E48
|
|
7
28
|
|
|
@@ -50,11 +71,11 @@ ${n}
|
|
|
50
71
|
- Personal Agent \u5DE5\u4F5C\u533A\u4E0E\u65E5\u8BB0\u76EE\u5F55\u7531 Client \u5206\u522B\u914D\u7F6E\u3002\u7528 shennian steward paths \u67E5\u770B\u5B9E\u9645\u8DEF\u5F84\uFF0C\u4E0D\u5199\u6B7B\u7528\u6237\u76EE\u5F55\uFF0C\u4E0D\u628A\u672A\u914D\u7F6E\u89E3\u91CA\u4E3A\u7A7A\u65E5\u8BB0\u3002
|
|
51
72
|
- \u53EA\u6709\u7528\u6237\u660E\u786E\u8981\u6C42\u8BB0\u65E5\u8BB0\u3001\u8865\u8BB0\u6216\u7FFB\u770B\u65F6\u624D\u8FDB\u5165\u65E5\u8BB0\u76EE\u5F55\uFF1B\u4E00\u5929\u4E00\u7BC7\uFF0C\u4EE5\u7528\u6237\u8BBE\u5B9A\u7684\u65F6\u533A\uFF08\u672A\u8BBE\u65F6\u5148\u786E\u8BA4\uFF09\u4FDD\u5B58\u4E3A YYYY/YYYY-MM-DD.md\u3002
|
|
52
73
|
- \u6B63\u6587\u4F7F\u7528 # \u65E5\u671F\uFF5C\u4E00\u53E5\u8BDD\u5C0F\u6807\u9898\uFF0C\u4E0B\u4E00\u884C > \u6982\u8981\uFF1A\u2026\uFF1B\u53EA\u4F9D\u636E\u7528\u6237\u63D0\u4F9B\u7684\u7ECF\u5386\u8BB0\u5F55\uFF0C\u4E0D\u7F16\u9020\uFF0C\u5DF2\u6709\u6B63\u6587\u5148\u8BFB\u518D\u8865\u5145\uFF0C\u4E0D\u8986\u76D6\u3002
|
|
53
|
-
- \u65E5\u8BB0\u6807\u9898\u3001\u6982\u8981\u548C\u6B63\u6587\u4E0D\u8FDB\u5165\u5168\u5C40\u8D44\u6599\u7D22\u5F15\u3002\
|
|
74
|
+
- \u65E5\u8BB0\u6807\u9898\u3001\u6982\u8981\u548C\u6B63\u6587\u4E0D\u8FDB\u5165\u5168\u5C40\u8D44\u6599\u7D22\u5F15\u3002\u4E0D\u56E0\u6D4F\u89C8\u8BF7\u6C42\u7F16\u8F91\u6216\u81EA\u52A8\u751F\u6210\u6587\u4EF6\uFF1B\u65E5\u8BB0\u7F16\u8F91\u80FD\u529B\u4EE5\u5F53\u524D Client \u548C\u624B\u673A\u7248\u672C\u4E3A\u51C6\u3002
|
|
54
75
|
|
|
55
76
|
## \u6838\u5FC3\u8BA4\u8BC6\u4E0E\u540E\u53F0\u5DE5\u4F5C
|
|
56
77
|
|
|
57
|
-
- \
|
|
78
|
+
- \u4E0D\u9884\u5EFA\u4E2A\u4EBA\u6458\u8981\u6216\u8BB0\u5FC6\u5185\u5BB9\uFF1B\u53EA\u6709\u7528\u6237\u540C\u610F\u4FDD\u5B58\u6838\u5FC3\u6458\u8981\u540E\uFF0C\u624D\u4F7F\u7528 personal-summary.md \u5E76\u5728 index.md \u4E2D\u4EE5\u8BBF\u95EE open \u767B\u8BB0\u3002\u53EA\u52A0\u8F7D\u83B7\u51C6\u8D44\u6599\uFF0C\u4E0D\u52A0\u8F7D\u5168\u90E8\u65E5\u8BB0\u6216\u8DDF\u968F\u6240\u6709\u94FE\u63A5\u3002
|
|
58
79
|
- \u5148 help worker\u3002worker start --workdir <\u76EE\u6807\u76EE\u5F55> --request-id <\u7A33\u5B9AID> --message <\u76EE\u6807\u3001\u9A8C\u6536\u8981\u6C42\u548C\u6388\u6743\u8FB9\u754C>\uFF1B\u53EF --agent / --model \u6307\u5B9A\u672C\u8F6E\u6267\u884C\u5668\uFF0C\u5426\u5219\u7528\u4E3B Agent \u8BBE\u7F6E\u91CC\u7684 Worker \u9ED8\u8BA4\u503C\u3002\u8BED\u97F3\u6307\u5B9A\u53EA\u6539\u53D8\u672C\u6B21\uFF0C\u4E0D\u4FEE\u6539\u9ED8\u8BA4\u503C\u3002
|
|
59
80
|
- \u6D3E\u51FA\u540E\u8BB0\u4E0B\u771F\u5B9E workerId\uFF0C\u8C03\u7528 say \u544A\u77E5\u5DF2\u7ECF\u5B89\u6392\uFF0C\u4E0D\u58F0\u79F0\u5DF2\u5B8C\u6210\uFF0C\u7136\u540E\u7ED3\u675F\u672C\u8F6E\uFF0C\u4E0D\u5FAA\u73AF wait \u6216\u521B\u5EFA\u5341\u5206\u949F\u68C0\u67E5\u4EFB\u52A1\u3002\u91CD\u8981\u8FDB\u5C55\u3001\u963B\u585E\u3001\u7EC8\u6001\u7531\u6301\u4E45\u4E8B\u4EF6\u5524\u9192\u4F60\u3002
|
|
60
81
|
- \u7528 worker list \u6062\u590D\u5F15\u7528\uFF0C\u7528 read \u6838\u67E5\u7ED3\u679C\u3001send \u7EA0\u504F\u3001stop \u505C\u6B62\u3002\u539F\u76EE\u6807\u7EED\u63A5\u539F Worker\uFF1B\u4E0D\u8981\u65E0\u9650\u91CD\u8BD5\u6216\u64C5\u81EA\u6269\u5927\u76EE\u6807\u3002Worker \u5B8C\u6210\u62A5\u544A\u4E0D\u662F\u9A8C\u6536\uFF0C\u6838\u5BF9\u8BC1\u636E\u540E\u518D say \u7ED3\u679C\u6216\u9700\u8981\u7528\u6237\u51B3\u7B56\u7684\u4E8B\u9879\u3002
|
|
@@ -64,10 +85,10 @@ ${n}
|
|
|
64
85
|
- \u53EA\u5728\u7528\u6237\u8981\u6C42\uFF0C\u6216\u51FA\u73B0\u957F\u671F\u6709\u7528\u7684\u4FE1\u606F\uFF08\u65B0\u9879\u76EE\u7684\u7528\u9014\u3001\u5E38\u7528\u7FA4\u7684\u7EA6\u5B9A\uFF09\u65F6\uFF0C\u624D\u66F4\u65B0 index.md \u7B49\u6587\u4EF6\u3002\u4E0D\u8981\u5199\u6D88\u606F\u6570\u3001\u5728\u7EBF\u72B6\u6001\u3001\u6210\u5458\u540D\u5355\u8FD9\u7C7B\u5B9E\u65F6\u5185\u5BB9\u3002
|
|
65
86
|
- \u7F16\u8F91\u524D\u91CD\u65B0\u8BFB\u53D6\u6587\u4EF6\uFF0C\u53EA\u6539\u9700\u8981\u6539\u7684\u90E8\u5206\uFF1B\u53D1\u73B0\u4E0E\u522B\u4EBA\u7684\u4FEE\u6539\u51B2\u7A81\u65F6\u7559\u7ED9\u7528\u6237\u5224\u65AD\u3002
|
|
66
87
|
- \u5982\u679C\u4F60\u662F\u5207\u6362\u5DE5\u5177\u540E\u63A5\u624B\u7684\u65B0\u5BF9\u8BDD\uFF0C\u5148\u6838\u5BF9\u54EA\u4E9B\u4E8B\u5DF2\u7ECF\u505A\u8FC7\uFF08\u4F8B\u5982\u4EFB\u52A1\u662F\u5426\u5DF2\u521B\u5EFA\u3001\u6D88\u606F\u662F\u5426\u5DF2\u53D1\u9001\uFF09\uFF0C\u4E0D\u8981\u91CD\u590D\u6267\u884C\u3002
|
|
67
|
-
`,
|
|
88
|
+
`,o=`<!-- shennian-steward-template: ${e} -->
|
|
68
89
|
# \u8D44\u6599\u5730\u56FE
|
|
69
90
|
|
|
70
|
-
\u8FD9\u91CC\u53EA\u5199\u7528\u6237\u9009\u62E9\u8BA9\u795E\u5FF5\
|
|
91
|
+
\u8FD9\u91CC\u53EA\u5199\u7528\u6237\u9009\u62E9\u8BA9\u795E\u5FF5\u4E86\u89E3\u7684\u8D44\u6599\u5165\u53E3\u3002\u6BCF\u4E00\u9879\u6307\u5411\u539F\u4F4D\u7F6E\uFF0C\u4E0D\u590D\u5236\u5168\u6587\u3002
|
|
71
92
|
|
|
72
93
|
\u8BBF\u95EE\u6807\u8BB0\uFF1A
|
|
73
94
|
- open\uFF1A\u9700\u8981\u65F6\u53EF\u4EE5\u8BFB\u53D6
|
|
@@ -79,4 +100,4 @@ ${n}
|
|
|
79
100
|
|
|
80
101
|
\u7528\u6237\u8FD8\u6CA1\u6709\u6388\u6743\u4EFB\u4F55\u8D44\u6599\u65F6\uFF0C\u5148\u4E3B\u52A8\u8BE2\u95EE\u8981\u4E0D\u8981\u5EFA\u7ACB\u8D44\u6599\u7D22\u5F15\uFF0C\u4EE5\u4FBF\u66F4\u4E86\u89E3\u7528\u6237\u7684\u5DE5\u4F5C\u5168\u8C8C\uFF1B\u540C\u610F\u540E\u518D\u786E\u8BA4\u53EF\u4EE5\u7EB3\u5165\u54EA\u4E9B\u8D44\u6599\uFF0C\u672A\u540C\u610F\u524D\u4FDD\u6301\u4E3A\u7A7A\uFF0C\u4E0D\u81EA\u884C\u626B\u63CF\u78C1\u76D8\u3002\u5DF2\u8BE2\u95EE\u3001\u8DF3\u8FC7\u6216\u5B8C\u6210\u5F15\u5BFC\u540E\u5728\u8FD9\u91CC\u8BB0\u5F55\uFF0C\u907F\u514D\u6BCF\u8F6E\u91CD\u590D\u8BE2\u95EE\u3002\u7528\u6237\u8981\u6C42\u4E3A\u67D0\u4E2A\u76EE\u5F55\u5EFA\u7ACB\u7D22\u5F15\u3001\u8DEF\u5F84\u53D8\u5316\u6216\u7EA0\u6B63\u4F60\u65F6\uFF0C\u518D\u66F4\u65B0\u5BF9\u5E94\u4E00\u884C\u3002\u4EC5\u5217\u6587\u4EF6\u540D\u548C\u76EE\u5F55\u7684\u5165\u53E3\u9ED8\u8BA4 ask\uFF0C\u4E0D\u7B49\u4E8E\u6388\u6743\u8BFB\u53D6\u6B63\u6587\u3002\u627E\u4E0D\u5230\u6587\u4EF6\u65F6\u6807\u4E3A\u201C\u5F85\u6838\u5BF9\u201D\uFF0C\u4E0D\u8981\u6CBF\u7528\u65E7\u5730\u5740\u7EE7\u7EED\u64CD\u4F5C\u3002
|
|
81
102
|
`,a=`@AGENTS.md
|
|
82
|
-
`;export{
|
|
103
|
+
`;export{d as STEWARD_AGENTS_MD,a as STEWARD_CLAUDE_MD,o as STEWARD_INDEX_MD,t as STEWARD_MAIN_AGENT_RULES,r as STEWARD_PRODUCT_CAPABILITIES,e as STEWARD_TEMPLATE_VERSION};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import o from"node:fs";import n from"node:path";import{getShennianDir as i}from"../config/index.js";import{readPersonalPaths as u,defaultWorkspace as h}from"./settings.js";import{STEWARD_AGENTS_MD as l,STEWARD_CLAUDE_MD as m,STEWARD_INDEX_MD as S}from"./templates.js";class a extends Error{code;constructor(r,t){super(t),this.code=r}}function y(){return u().workspace??h()}const E=[["AGENTS.md",l],["index.md",S],["CLAUDE.md",m]];function W(
|
|
1
|
+
import o from"node:fs";import n from"node:path";import{getShennianDir as i}from"../config/index.js";import{readPersonalPaths as u,defaultWorkspace as h}from"./settings.js";import{STEWARD_AGENTS_MD as l,STEWARD_CLAUDE_MD as m,STEWARD_INDEX_MD as S}from"./templates.js";class a extends Error{code;constructor(r,t){super(t),this.code=r}}function y(){return u().workspace??h()}const E=[["AGENTS.md",l],["index.md",S],["CLAUDE.md",m]];function W(e=y()){f(e,i()),_(e),f(o.realpathSync.native(e),k(i()));const r=[];for(const[t,s]of E){const d=n.join(e,t);try{o.writeFileSync(d,s,{encoding:"utf8",mode:384,flag:"wx"}),r.push(t)}catch(c){if(c.code!=="EEXIST")throw c}}return{dir:o.realpathSync.native(e),created:r}}function _(e){let r=null;try{r=o.lstatSync(e)}catch(s){if(s.code!=="ENOENT")throw s}if(r?.isSymbolicLink())throw new a("steward_workspace_symlink","The steward workspace path must not be a symbolic link.");if(r&&!r.isDirectory())throw new a("steward_workspace_not_directory","The steward workspace path is not a directory.");if(r||o.mkdirSync(e,{mode:448}),process.platform==="win32")return;const t=o.lstatSync(e);if(typeof process.getuid=="function"&&t.uid!==process.getuid())throw new a("steward_workspace_owner","The steward workspace is owned by another user.");(t.mode&63)!==0&&o.chmodSync(e,448)}function k(e){try{return o.realpathSync.native(e)}catch{return n.resolve(e)}}function p(e){const r=n.resolve(e);return process.platform==="win32"||process.platform==="darwin"?r.toLowerCase():r}function w(e,r){const t=n.relative(p(r),p(e));return t===""||!t.startsWith("..")&&!n.isAbsolute(t)}function f(e,r){if(w(e,r)||w(r,e))throw new a("steward_workspace_overlaps_credentials","The steward workspace must be separate from the Shennian credential directory.")}export{E as STEWARD_FILES,a as StewardWorkspaceError,f as assertPathsSeparate,W as ensureStewardWorkspace,y as getStewardDir};
|