openryoko 0.9.4-ryoko.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/jimmy.d.ts +3 -0
- package/dist/bin/jimmy.d.ts.map +1 -0
- package/dist/bin/jimmy.js +149 -0
- package/dist/bin/jimmy.js.map +1 -0
- package/dist/package.json +54 -0
- package/dist/src/cli/__tests__/migrate.test.d.ts +2 -0
- package/dist/src/cli/__tests__/migrate.test.d.ts.map +1 -0
- package/dist/src/cli/__tests__/migrate.test.js +79 -0
- package/dist/src/cli/__tests__/migrate.test.js.map +1 -0
- package/dist/src/cli/chrome-allow.d.ts +5 -0
- package/dist/src/cli/chrome-allow.d.ts.map +1 -0
- package/dist/src/cli/chrome-allow.js +250 -0
- package/dist/src/cli/chrome-allow.js.map +1 -0
- package/dist/src/cli/create.d.ts +2 -0
- package/dist/src/cli/create.d.ts.map +1 -0
- package/dist/src/cli/create.js +72 -0
- package/dist/src/cli/create.js.map +1 -0
- package/dist/src/cli/instances.d.ts +14 -0
- package/dist/src/cli/instances.d.ts.map +1 -0
- package/dist/src/cli/instances.js +43 -0
- package/dist/src/cli/instances.js.map +1 -0
- package/dist/src/cli/list.d.ts +2 -0
- package/dist/src/cli/list.d.ts.map +1 -0
- package/dist/src/cli/list.js +38 -0
- package/dist/src/cli/list.js.map +1 -0
- package/dist/src/cli/migrate.d.ts +5 -0
- package/dist/src/cli/migrate.d.ts.map +1 -0
- package/dist/src/cli/migrate.js +222 -0
- package/dist/src/cli/migrate.js.map +1 -0
- package/dist/src/cli/nuke.d.ts +2 -0
- package/dist/src/cli/nuke.d.ts.map +1 -0
- package/dist/src/cli/nuke.js +91 -0
- package/dist/src/cli/nuke.js.map +1 -0
- package/dist/src/cli/remove.d.ts +4 -0
- package/dist/src/cli/remove.d.ts.map +1 -0
- package/dist/src/cli/remove.js +47 -0
- package/dist/src/cli/remove.js.map +1 -0
- package/dist/src/cli/setup.d.ts +4 -0
- package/dist/src/cli/setup.d.ts.map +1 -0
- package/dist/src/cli/setup.js +491 -0
- package/dist/src/cli/setup.js.map +1 -0
- package/dist/src/cli/skills.d.ts +28 -0
- package/dist/src/cli/skills.d.ts.map +1 -0
- package/dist/src/cli/skills.js +284 -0
- package/dist/src/cli/skills.js.map +1 -0
- package/dist/src/cli/start.d.ts +5 -0
- package/dist/src/cli/start.d.ts.map +1 -0
- package/dist/src/cli/start.js +34 -0
- package/dist/src/cli/start.js.map +1 -0
- package/dist/src/cli/status.d.ts +2 -0
- package/dist/src/cli/status.d.ts.map +1 -0
- package/dist/src/cli/status.js +69 -0
- package/dist/src/cli/status.js.map +1 -0
- package/dist/src/cli/stop.d.ts +2 -0
- package/dist/src/cli/stop.d.ts.map +1 -0
- package/dist/src/cli/stop.js +11 -0
- package/dist/src/cli/stop.js.map +1 -0
- package/dist/src/connectors/cron/index.d.ts +21 -0
- package/dist/src/connectors/cron/index.d.ts.map +1 -0
- package/dist/src/connectors/cron/index.js +75 -0
- package/dist/src/connectors/cron/index.js.map +1 -0
- package/dist/src/connectors/discord/format.d.ts +3 -0
- package/dist/src/connectors/discord/format.d.ts.map +1 -0
- package/dist/src/connectors/discord/format.js +33 -0
- package/dist/src/connectors/discord/format.js.map +1 -0
- package/dist/src/connectors/discord/index.d.ts +47 -0
- package/dist/src/connectors/discord/index.d.ts.map +1 -0
- package/dist/src/connectors/discord/index.js +308 -0
- package/dist/src/connectors/discord/index.js.map +1 -0
- package/dist/src/connectors/discord/remote.d.ts +33 -0
- package/dist/src/connectors/discord/remote.d.ts.map +1 -0
- package/dist/src/connectors/discord/remote.js +89 -0
- package/dist/src/connectors/discord/remote.js.map +1 -0
- package/dist/src/connectors/discord/threads.d.ts +5 -0
- package/dist/src/connectors/discord/threads.d.ts.map +1 -0
- package/dist/src/connectors/discord/threads.js +22 -0
- package/dist/src/connectors/discord/threads.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/active-threads.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/active-threads.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/active-threads.test.js +57 -0
- package/dist/src/connectors/slack/__tests__/active-threads.test.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/format.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/format.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/format.test.js +115 -0
- package/dist/src/connectors/slack/__tests__/format.test.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/speaker.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/speaker.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/speaker.test.js +59 -0
- package/dist/src/connectors/slack/__tests__/speaker.test.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/triage-prompt.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/triage-prompt.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/triage-prompt.test.js +102 -0
- package/dist/src/connectors/slack/__tests__/triage-prompt.test.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/triage.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/triage.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/triage.test.js +88 -0
- package/dist/src/connectors/slack/__tests__/triage.test.js.map +1 -0
- package/dist/src/connectors/slack/active-threads.d.ts +39 -0
- package/dist/src/connectors/slack/active-threads.d.ts.map +1 -0
- package/dist/src/connectors/slack/active-threads.js +71 -0
- package/dist/src/connectors/slack/active-threads.js.map +1 -0
- package/dist/src/connectors/slack/format.d.ts +17 -0
- package/dist/src/connectors/slack/format.d.ts.map +1 -0
- package/dist/src/connectors/slack/format.js +85 -0
- package/dist/src/connectors/slack/format.js.map +1 -0
- package/dist/src/connectors/slack/index.d.ts +51 -0
- package/dist/src/connectors/slack/index.d.ts.map +1 -0
- package/dist/src/connectors/slack/index.js +562 -0
- package/dist/src/connectors/slack/index.js.map +1 -0
- package/dist/src/connectors/slack/speaker.d.ts +39 -0
- package/dist/src/connectors/slack/speaker.d.ts.map +1 -0
- package/dist/src/connectors/slack/speaker.js +30 -0
- package/dist/src/connectors/slack/speaker.js.map +1 -0
- package/dist/src/connectors/slack/threads.d.ts +12 -0
- package/dist/src/connectors/slack/threads.d.ts.map +1 -0
- package/dist/src/connectors/slack/threads.js +41 -0
- package/dist/src/connectors/slack/threads.js.map +1 -0
- package/dist/src/connectors/slack/threads.test.d.ts +2 -0
- package/dist/src/connectors/slack/threads.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/threads.test.js +79 -0
- package/dist/src/connectors/slack/threads.test.js.map +1 -0
- package/dist/src/connectors/slack/triage-prompt.d.ts +50 -0
- package/dist/src/connectors/slack/triage-prompt.d.ts.map +1 -0
- package/dist/src/connectors/slack/triage-prompt.js +127 -0
- package/dist/src/connectors/slack/triage-prompt.js.map +1 -0
- package/dist/src/connectors/slack/triage.d.ts +41 -0
- package/dist/src/connectors/slack/triage.d.ts.map +1 -0
- package/dist/src/connectors/slack/triage.js +120 -0
- package/dist/src/connectors/slack/triage.js.map +1 -0
- package/dist/src/connectors/telegram/__tests__/connector.test.d.ts +2 -0
- package/dist/src/connectors/telegram/__tests__/connector.test.d.ts.map +1 -0
- package/dist/src/connectors/telegram/__tests__/connector.test.js +257 -0
- package/dist/src/connectors/telegram/__tests__/connector.test.js.map +1 -0
- package/dist/src/connectors/telegram/__tests__/format.test.d.ts +2 -0
- package/dist/src/connectors/telegram/__tests__/format.test.d.ts.map +1 -0
- package/dist/src/connectors/telegram/__tests__/format.test.js +79 -0
- package/dist/src/connectors/telegram/__tests__/format.test.js.map +1 -0
- package/dist/src/connectors/telegram/__tests__/threads.test.d.ts +2 -0
- package/dist/src/connectors/telegram/__tests__/threads.test.d.ts.map +1 -0
- package/dist/src/connectors/telegram/__tests__/threads.test.js +51 -0
- package/dist/src/connectors/telegram/__tests__/threads.test.js.map +1 -0
- package/dist/src/connectors/telegram/format.d.ts +12 -0
- package/dist/src/connectors/telegram/format.d.ts.map +1 -0
- package/dist/src/connectors/telegram/format.js +61 -0
- package/dist/src/connectors/telegram/format.js.map +1 -0
- package/dist/src/connectors/telegram/index.d.ts +28 -0
- package/dist/src/connectors/telegram/index.d.ts.map +1 -0
- package/dist/src/connectors/telegram/index.js +213 -0
- package/dist/src/connectors/telegram/index.js.map +1 -0
- package/dist/src/connectors/telegram/threads.d.ts +29 -0
- package/dist/src/connectors/telegram/threads.d.ts.map +1 -0
- package/dist/src/connectors/telegram/threads.js +26 -0
- package/dist/src/connectors/telegram/threads.js.map +1 -0
- package/dist/src/connectors/whatsapp/__tests__/format.test.d.ts +2 -0
- package/dist/src/connectors/whatsapp/__tests__/format.test.d.ts.map +1 -0
- package/dist/src/connectors/whatsapp/__tests__/format.test.js +70 -0
- package/dist/src/connectors/whatsapp/__tests__/format.test.js.map +1 -0
- package/dist/src/connectors/whatsapp/format.d.ts +12 -0
- package/dist/src/connectors/whatsapp/format.d.ts.map +1 -0
- package/dist/src/connectors/whatsapp/format.js +53 -0
- package/dist/src/connectors/whatsapp/format.js.map +1 -0
- package/dist/src/connectors/whatsapp/index.d.ts +42 -0
- package/dist/src/connectors/whatsapp/index.d.ts.map +1 -0
- package/dist/src/connectors/whatsapp/index.js +279 -0
- package/dist/src/connectors/whatsapp/index.js.map +1 -0
- package/dist/src/cron/jobs.d.ts +5 -0
- package/dist/src/cron/jobs.d.ts.map +1 -0
- package/dist/src/cron/jobs.js +23 -0
- package/dist/src/cron/jobs.js.map +1 -0
- package/dist/src/cron/runner.d.ts +4 -0
- package/dist/src/cron/runner.d.ts.map +1 -0
- package/dist/src/cron/runner.js +88 -0
- package/dist/src/cron/runner.js.map +1 -0
- package/dist/src/cron/scheduler.d.ts +8 -0
- package/dist/src/cron/scheduler.d.ts.map +1 -0
- package/dist/src/cron/scheduler.js +64 -0
- package/dist/src/cron/scheduler.js.map +1 -0
- package/dist/src/engines/__tests__/gemini.test.d.ts +2 -0
- package/dist/src/engines/__tests__/gemini.test.d.ts.map +1 -0
- package/dist/src/engines/__tests__/gemini.test.js +404 -0
- package/dist/src/engines/__tests__/gemini.test.js.map +1 -0
- package/dist/src/engines/claude.d.ts +20 -0
- package/dist/src/engines/claude.d.ts.map +1 -0
- package/dist/src/engines/claude.js +520 -0
- package/dist/src/engines/claude.js.map +1 -0
- package/dist/src/engines/codex.d.ts +15 -0
- package/dist/src/engines/codex.d.ts.map +1 -0
- package/dist/src/engines/codex.js +351 -0
- package/dist/src/engines/codex.js.map +1 -0
- package/dist/src/engines/gemini.d.ts +32 -0
- package/dist/src/engines/gemini.d.ts.map +1 -0
- package/dist/src/engines/gemini.js +328 -0
- package/dist/src/engines/gemini.js.map +1 -0
- package/dist/src/engines/mock.d.ts +16 -0
- package/dist/src/engines/mock.d.ts.map +1 -0
- package/dist/src/engines/mock.js +47 -0
- package/dist/src/engines/mock.js.map +1 -0
- package/dist/src/gateway/__tests__/api-last-n.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/api-last-n.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/api-last-n.test.js +32 -0
- package/dist/src/gateway/__tests__/api-last-n.test.js.map +1 -0
- package/dist/src/gateway/__tests__/costs.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/costs.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/costs.test.js +32 -0
- package/dist/src/gateway/__tests__/costs.test.js.map +1 -0
- package/dist/src/gateway/__tests__/org-hierarchy.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/org-hierarchy.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/org-hierarchy.test.js +161 -0
- package/dist/src/gateway/__tests__/org-hierarchy.test.js.map +1 -0
- package/dist/src/gateway/__tests__/org-update.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/org-update.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/org-update.test.js +99 -0
- package/dist/src/gateway/__tests__/org-update.test.js.map +1 -0
- package/dist/src/gateway/__tests__/org.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/org.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/org.test.js +77 -0
- package/dist/src/gateway/__tests__/org.test.js.map +1 -0
- package/dist/src/gateway/__tests__/services.test.d.ts +2 -0
- package/dist/src/gateway/__tests__/services.test.d.ts.map +1 -0
- package/dist/src/gateway/__tests__/services.test.js +153 -0
- package/dist/src/gateway/__tests__/services.test.js.map +1 -0
- package/dist/src/gateway/api.d.ts +19 -0
- package/dist/src/gateway/api.d.ts.map +1 -0
- package/dist/src/gateway/api.js +2261 -0
- package/dist/src/gateway/api.js.map +1 -0
- package/dist/src/gateway/budgets.d.ts +16 -0
- package/dist/src/gateway/budgets.d.ts.map +1 -0
- package/dist/src/gateway/budgets.js +39 -0
- package/dist/src/gateway/budgets.js.map +1 -0
- package/dist/src/gateway/costs.d.ts +19 -0
- package/dist/src/gateway/costs.d.ts.map +1 -0
- package/dist/src/gateway/costs.js +39 -0
- package/dist/src/gateway/costs.js.map +1 -0
- package/dist/src/gateway/daemon-entry.d.ts +2 -0
- package/dist/src/gateway/daemon-entry.d.ts.map +1 -0
- package/dist/src/gateway/daemon-entry.js +12 -0
- package/dist/src/gateway/daemon-entry.js.map +1 -0
- package/dist/src/gateway/files.d.ts +6 -0
- package/dist/src/gateway/files.d.ts.map +1 -0
- package/dist/src/gateway/files.js +442 -0
- package/dist/src/gateway/files.js.map +1 -0
- package/dist/src/gateway/goals.d.ts +11 -0
- package/dist/src/gateway/goals.d.ts.map +1 -0
- package/dist/src/gateway/goals.js +72 -0
- package/dist/src/gateway/goals.js.map +1 -0
- package/dist/src/gateway/lifecycle.d.ts +10 -0
- package/dist/src/gateway/lifecycle.d.ts.map +1 -0
- package/dist/src/gateway/lifecycle.js +152 -0
- package/dist/src/gateway/lifecycle.js.map +1 -0
- package/dist/src/gateway/org-hierarchy.d.ts +5 -0
- package/dist/src/gateway/org-hierarchy.d.ts.map +1 -0
- package/dist/src/gateway/org-hierarchy.js +174 -0
- package/dist/src/gateway/org-hierarchy.js.map +1 -0
- package/dist/src/gateway/org.d.ts +17 -0
- package/dist/src/gateway/org.d.ts.map +1 -0
- package/dist/src/gateway/org.js +136 -0
- package/dist/src/gateway/org.js.map +1 -0
- package/dist/src/gateway/server.d.ts +4 -0
- package/dist/src/gateway/server.d.ts.map +1 -0
- package/dist/src/gateway/server.js +764 -0
- package/dist/src/gateway/server.js.map +1 -0
- package/dist/src/gateway/services.d.ts +28 -0
- package/dist/src/gateway/services.d.ts.map +1 -0
- package/dist/src/gateway/services.js +112 -0
- package/dist/src/gateway/services.js.map +1 -0
- package/dist/src/gateway/watcher.d.ts +14 -0
- package/dist/src/gateway/watcher.d.ts.map +1 -0
- package/dist/src/gateway/watcher.js +111 -0
- package/dist/src/gateway/watcher.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/gateway-server.d.ts +13 -0
- package/dist/src/mcp/gateway-server.d.ts.map +1 -0
- package/dist/src/mcp/gateway-server.js +376 -0
- package/dist/src/mcp/gateway-server.js.map +1 -0
- package/dist/src/mcp/resolver.d.ts +19 -0
- package/dist/src/mcp/resolver.d.ts.map +1 -0
- package/dist/src/mcp/resolver.js +159 -0
- package/dist/src/mcp/resolver.js.map +1 -0
- package/dist/src/sessions/__tests__/callbacks.test.d.ts +2 -0
- package/dist/src/sessions/__tests__/callbacks.test.d.ts.map +1 -0
- package/dist/src/sessions/__tests__/callbacks.test.js +154 -0
- package/dist/src/sessions/__tests__/callbacks.test.js.map +1 -0
- package/dist/src/sessions/callbacks.d.ts +31 -0
- package/dist/src/sessions/callbacks.d.ts.map +1 -0
- package/dist/src/sessions/callbacks.js +112 -0
- package/dist/src/sessions/callbacks.js.map +1 -0
- package/dist/src/sessions/context.d.ts +36 -0
- package/dist/src/sessions/context.d.ts.map +1 -0
- package/dist/src/sessions/context.js +741 -0
- package/dist/src/sessions/context.js.map +1 -0
- package/dist/src/sessions/fork.d.ts +30 -0
- package/dist/src/sessions/fork.d.ts.map +1 -0
- package/dist/src/sessions/fork.js +178 -0
- package/dist/src/sessions/fork.js.map +1 -0
- package/dist/src/sessions/manager.d.ts +27 -0
- package/dist/src/sessions/manager.d.ts.map +1 -0
- package/dist/src/sessions/manager.js +751 -0
- package/dist/src/sessions/manager.js.map +1 -0
- package/dist/src/sessions/queue.d.ts +36 -0
- package/dist/src/sessions/queue.d.ts.map +1 -0
- package/dist/src/sessions/queue.js +101 -0
- package/dist/src/sessions/queue.js.map +1 -0
- package/dist/src/sessions/queue.test.d.ts +2 -0
- package/dist/src/sessions/queue.test.d.ts.map +1 -0
- package/dist/src/sessions/queue.test.js +28 -0
- package/dist/src/sessions/queue.test.js.map +1 -0
- package/dist/src/sessions/registry.d.ts +116 -0
- package/dist/src/sessions/registry.d.ts.map +1 -0
- package/dist/src/sessions/registry.js +480 -0
- package/dist/src/sessions/registry.js.map +1 -0
- package/dist/src/sessions/registry.test.d.ts +2 -0
- package/dist/src/sessions/registry.test.d.ts.map +1 -0
- package/dist/src/sessions/registry.test.js +41 -0
- package/dist/src/sessions/registry.test.js.map +1 -0
- package/dist/src/shared/__tests__/rateLimit.test.d.ts +2 -0
- package/dist/src/shared/__tests__/rateLimit.test.d.ts.map +1 -0
- package/dist/src/shared/__tests__/rateLimit.test.js +108 -0
- package/dist/src/shared/__tests__/rateLimit.test.js.map +1 -0
- package/dist/src/shared/__tests__/usageAwareness.test.d.ts +2 -0
- package/dist/src/shared/__tests__/usageAwareness.test.d.ts.map +1 -0
- package/dist/src/shared/__tests__/usageAwareness.test.js +58 -0
- package/dist/src/shared/__tests__/usageAwareness.test.js.map +1 -0
- package/dist/src/shared/config.d.ts +3 -0
- package/dist/src/shared/config.d.ts.map +1 -0
- package/dist/src/shared/config.js +11 -0
- package/dist/src/shared/config.js.map +1 -0
- package/dist/src/shared/effort.d.ts +17 -0
- package/dist/src/shared/effort.d.ts.map +1 -0
- package/dist/src/shared/effort.js +44 -0
- package/dist/src/shared/effort.js.map +1 -0
- package/dist/src/shared/logger.d.ts +12 -0
- package/dist/src/shared/logger.d.ts.map +1 -0
- package/dist/src/shared/logger.js +35 -0
- package/dist/src/shared/logger.js.map +1 -0
- package/dist/src/shared/paths.d.ts +31 -0
- package/dist/src/shared/paths.d.ts.map +1 -0
- package/dist/src/shared/paths.js +92 -0
- package/dist/src/shared/paths.js.map +1 -0
- package/dist/src/shared/rateLimit.d.ts +20 -0
- package/dist/src/shared/rateLimit.d.ts.map +1 -0
- package/dist/src/shared/rateLimit.js +61 -0
- package/dist/src/shared/rateLimit.js.map +1 -0
- package/dist/src/shared/types.d.ts +448 -0
- package/dist/src/shared/types.d.ts.map +1 -0
- package/dist/src/shared/types.js +4 -0
- package/dist/src/shared/types.js.map +1 -0
- package/dist/src/shared/usageAwareness.d.ts +10 -0
- package/dist/src/shared/usageAwareness.d.ts.map +1 -0
- package/dist/src/shared/usageAwareness.js +69 -0
- package/dist/src/shared/usageAwareness.js.map +1 -0
- package/dist/src/shared/version.d.ts +15 -0
- package/dist/src/shared/version.d.ts.map +1 -0
- package/dist/src/shared/version.js +56 -0
- package/dist/src/shared/version.js.map +1 -0
- package/dist/src/stt/stt.d.ts +24 -0
- package/dist/src/stt/stt.d.ts.map +1 -0
- package/dist/src/stt/stt.js +203 -0
- package/dist/src/stt/stt.js.map +1 -0
- package/dist/web/404.html +1 -0
- package/dist/web/__next.__PAGE__.txt +9 -0
- package/dist/web/__next._full.txt +19 -0
- package/dist/web/__next._head.txt +6 -0
- package/dist/web/__next._index.txt +6 -0
- package/dist/web/__next._tree.txt +2 -0
- package/dist/web/_next/static/chunks/00yn.jp4tr9l6.js +62 -0
- package/dist/web/_next/static/chunks/0398g9fy2i2l..js +5 -0
- package/dist/web/_next/static/chunks/03~yq9q893hmn.js +1 -0
- package/dist/web/_next/static/chunks/07t-qdutaizlf.js +5 -0
- package/dist/web/_next/static/chunks/0_pxvi.u4tzw1.js +5 -0
- package/dist/web/_next/static/chunks/0dtbl8648b3u9.js +7 -0
- package/dist/web/_next/static/chunks/0e3pdjkorr5zl.js +2 -0
- package/dist/web/_next/static/chunks/0ewpxy-mzj3j3.js +1 -0
- package/dist/web/_next/static/chunks/0ihbb7~gq42g~.js +5 -0
- package/dist/web/_next/static/chunks/0j4uz-g9x1_~s.js +1 -0
- package/dist/web/_next/static/chunks/0mlo32yrc7ziu.css +1 -0
- package/dist/web/_next/static/chunks/0ru56x83x4rkk.js +1 -0
- package/dist/web/_next/static/chunks/0svvev77pb2gu.js +1 -0
- package/dist/web/_next/static/chunks/0tf9kpygstdls.js +1 -0
- package/dist/web/_next/static/chunks/0wzpea61sn2-k.js +5 -0
- package/dist/web/_next/static/chunks/0y3dnnq~kxyz_.js +1 -0
- package/dist/web/_next/static/chunks/0y~qqhmf2o7pt.js +1 -0
- package/dist/web/_next/static/chunks/0~6m1p5hnsx2f.js +1 -0
- package/dist/web/_next/static/chunks/10-liamt-ipcu.js +1 -0
- package/dist/web/_next/static/chunks/10l08hq.acixl.js +5 -0
- package/dist/web/_next/static/chunks/11rbefjn.e-3-.js +1 -0
- package/dist/web/_next/static/chunks/11rodb4s1x4of.js +1 -0
- package/dist/web/_next/static/chunks/12_uxtnrqhoo1.js +1 -0
- package/dist/web/_next/static/chunks/12h4dws.tz7yb.js +5 -0
- package/dist/web/_next/static/chunks/13juizw904g.e.js +1 -0
- package/dist/web/_next/static/chunks/14ge_q22f0n.f.js +1 -0
- package/dist/web/_next/static/chunks/16b0jvgccyt2i.js +5 -0
- package/dist/web/_next/static/chunks/17-u9c_weg12-.js +31 -0
- package/dist/web/_next/static/chunks/turbopack-0dt987bw_1nyf.js +1 -0
- package/dist/web/_next/static/media/apple-icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_next/static/media/icon.0.wpl4.d-5bkf.jpg +0 -0
- package/dist/web/_next/static/uwjABwQIFELOHhVlstvOe/_buildManifest.js +11 -0
- package/dist/web/_next/static/uwjABwQIFELOHhVlstvOe/_clientMiddlewareManifest.js +1 -0
- package/dist/web/_next/static/uwjABwQIFELOHhVlstvOe/_ssgManifest.js +1 -0
- package/dist/web/_not-found/__next._full.txt +17 -0
- package/dist/web/_not-found/__next._head.txt +6 -0
- package/dist/web/_not-found/__next._index.txt +6 -0
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +5 -0
- package/dist/web/_not-found/__next._not-found.txt +5 -0
- package/dist/web/_not-found/__next._tree.txt +2 -0
- package/dist/web/_not-found.html +1 -0
- package/dist/web/_not-found.txt +17 -0
- package/dist/web/apple-icon.jpg +0 -0
- package/dist/web/chat/__next._full.txt +21 -0
- package/dist/web/chat/__next._head.txt +6 -0
- package/dist/web/chat/__next._index.txt +6 -0
- package/dist/web/chat/__next._tree.txt +2 -0
- package/dist/web/chat/__next.chat.__PAGE__.txt +9 -0
- package/dist/web/chat/__next.chat.txt +5 -0
- package/dist/web/chat.html +1 -0
- package/dist/web/chat.txt +21 -0
- package/dist/web/cron/__next._full.txt +21 -0
- package/dist/web/cron/__next._head.txt +6 -0
- package/dist/web/cron/__next._index.txt +6 -0
- package/dist/web/cron/__next._tree.txt +2 -0
- package/dist/web/cron/__next.cron.__PAGE__.txt +9 -0
- package/dist/web/cron/__next.cron.txt +5 -0
- package/dist/web/cron.html +1 -0
- package/dist/web/cron.txt +21 -0
- package/dist/web/icon.jpg +0 -0
- package/dist/web/index.html +1 -0
- package/dist/web/index.txt +19 -0
- package/dist/web/kanban/__next._full.txt +21 -0
- package/dist/web/kanban/__next._head.txt +6 -0
- package/dist/web/kanban/__next._index.txt +6 -0
- package/dist/web/kanban/__next._tree.txt +2 -0
- package/dist/web/kanban/__next.kanban.__PAGE__.txt +9 -0
- package/dist/web/kanban/__next.kanban.txt +5 -0
- package/dist/web/kanban.html +1 -0
- package/dist/web/kanban.txt +21 -0
- package/dist/web/logs/__next._full.txt +21 -0
- package/dist/web/logs/__next._head.txt +6 -0
- package/dist/web/logs/__next._index.txt +6 -0
- package/dist/web/logs/__next._tree.txt +2 -0
- package/dist/web/logs/__next.logs.__PAGE__.txt +9 -0
- package/dist/web/logs/__next.logs.txt +5 -0
- package/dist/web/logs.html +7 -0
- package/dist/web/logs.txt +21 -0
- package/dist/web/org/__next._full.txt +21 -0
- package/dist/web/org/__next._head.txt +6 -0
- package/dist/web/org/__next._index.txt +6 -0
- package/dist/web/org/__next._tree.txt +2 -0
- package/dist/web/org/__next.org.__PAGE__.txt +9 -0
- package/dist/web/org/__next.org.txt +5 -0
- package/dist/web/org.html +1 -0
- package/dist/web/org.txt +21 -0
- package/dist/web/sessions/__next._full.txt +18 -0
- package/dist/web/sessions/__next._head.txt +6 -0
- package/dist/web/sessions/__next._index.txt +6 -0
- package/dist/web/sessions/__next._tree.txt +2 -0
- package/dist/web/sessions/__next.sessions.__PAGE__.txt +6 -0
- package/dist/web/sessions/__next.sessions.txt +5 -0
- package/dist/web/sessions.html +1 -0
- package/dist/web/sessions.txt +18 -0
- package/dist/web/settings/__next._full.txt +21 -0
- package/dist/web/settings/__next._head.txt +6 -0
- package/dist/web/settings/__next._index.txt +6 -0
- package/dist/web/settings/__next._tree.txt +2 -0
- package/dist/web/settings/__next.settings.__PAGE__.txt +9 -0
- package/dist/web/settings/__next.settings.txt +5 -0
- package/dist/web/settings.html +1 -0
- package/dist/web/settings.txt +21 -0
- package/dist/web/skills/__next._full.txt +21 -0
- package/dist/web/skills/__next._head.txt +6 -0
- package/dist/web/skills/__next._index.txt +6 -0
- package/dist/web/skills/__next._tree.txt +2 -0
- package/dist/web/skills/__next.skills.__PAGE__.txt +9 -0
- package/dist/web/skills/__next.skills.txt +5 -0
- package/dist/web/skills.html +1 -0
- package/dist/web/skills.txt +21 -0
- package/package.json +54 -0
- package/template/AGENTS.md +285 -0
- package/template/CLAUDE.md +285 -0
- package/template/config.default.yaml +71 -0
- package/template/docs/architecture.md +74 -0
- package/template/docs/connectors.md +72 -0
- package/template/docs/cron.md +137 -0
- package/template/docs/mcp.md +108 -0
- package/template/docs/org.md +105 -0
- package/template/docs/overview.md +39 -0
- package/template/docs/self-modification.md +65 -0
- package/template/docs/skills.md +58 -0
- package/template/knowledge/.gitkeep +0 -0
- package/template/migrations/.gitkeep +0 -0
- package/template/migrations/0.1.0/MIGRATION.md +25 -0
- package/template/migrations/0.2.0/MIGRATION.md +41 -0
- package/template/migrations/0.2.0/files/config.default.yaml +30 -0
- package/template/migrations/0.3.0/MIGRATION.md +57 -0
- package/template/migrations/0.3.0/files/config.default.yaml +62 -0
- package/template/migrations/0.3.0/files/docs/mcp.md +108 -0
- package/template/migrations/0.7.3/MIGRATION.md +63 -0
- package/template/migrations/0.7.3/files/AGENTS.md +188 -0
- package/template/migrations/0.7.3/files/CLAUDE.md +127 -0
- package/template/migrations/0.7.5/MIGRATION.md +78 -0
- package/template/migrations/0.8.0/MIGRATION.md +73 -0
- package/template/migrations/0.9.0/MIGRATION.md +82 -0
- package/template/skills/cron-manager/SKILL.md +127 -0
- package/template/skills/find-and-install/SKILL.md +92 -0
- package/template/skills/management/SKILL.md +226 -0
- package/template/skills/migrate/SKILL.md +154 -0
- package/template/skills/new/SKILL.md +19 -0
- package/template/skills/onboarding/SKILL.md +106 -0
- package/template/skills/self-heal/SKILL.md +114 -0
- package/template/skills/skill-creator/SKILL.md +112 -0
- package/template/skills/status/SKILL.md +19 -0
- package/template/skills/sync/SKILL.md +67 -0
- package/template/skills.json +3 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# {{portalName}} — 運用指示書
|
|
2
|
+
|
|
3
|
+
あなたは **{{portalName}}** — パーソナルAIアシスタントであり、AI組織のCOO(最高執行責任者)です。CEOであるユーザーの直属部下として、タスクを管理し、組織全体の業務を調整し、可能な限り自律的に物事を前に進めることがあなたの役割です。
|
|
4
|
+
<!-- NOTE: 上記のCOO名はオンボーディング時に POST /api/onboarding を経由して個別化されます -->
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 基本原則
|
|
9
|
+
- **主体的に動く** — 次の一手を提案し、問題を指摘し、自分から動く
|
|
10
|
+
- **簡潔に** — 最初に結論、理由は後
|
|
11
|
+
- **有能に** — ファイルシステムを使い、コマンドを実行し、APIを呼び、システムを管理する
|
|
12
|
+
- **誠実に** — 分からないことははっきり分からないと言う
|
|
13
|
+
- **進化する** — ユーザーの好みを学習し、自分のナレッジファイルを更新する
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## ~/.ryoko/ ディレクトリ
|
|
18
|
+
|
|
19
|
+
ここがあなたの本拠地です。中のファイルはすべてあなたが読み書き・管理する対象です。
|
|
20
|
+
|
|
21
|
+
| パス | 用途 |
|
|
22
|
+
|------|---------|
|
|
23
|
+
| `config.yaml` | ゲートウェイ設定(ポート、エンジン、コネクタ、ロギング) |
|
|
24
|
+
| `CLAUDE.md` | Claudeセッション向けの指示書(本ファイル) |
|
|
25
|
+
| `AGENTS.md` | Codexセッション向けの指示書 |
|
|
26
|
+
| `skills/` | 各スキルディレクトリ(`SKILL.md`プレイブックを含む) |
|
|
27
|
+
| `org/` | 組織構造 — 部門と従業員 |
|
|
28
|
+
| `cron/` | 定期実行ジョブ: `jobs.json` + `runs/`(実行ログ) |
|
|
29
|
+
| `docs/` | より深い自己認識のためのアーキテクチャ文書 |
|
|
30
|
+
| `knowledge/` | 長期的に蓄積する学習内容・メモ |
|
|
31
|
+
| `connectors/` | コネクタ設定(Slack、Eメール、Webhook等) |
|
|
32
|
+
| `sessions/` | セッションデータベース(SQLite、ゲートウェイ管理) |
|
|
33
|
+
| `logs/` | ゲートウェイ実行時ログ |
|
|
34
|
+
| `tmp/` | 一時作業領域 |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 自己進化
|
|
39
|
+
|
|
40
|
+
ユーザーについて新しいことを知ったら、適切なナレッジファイルに書き込んでください:
|
|
41
|
+
- `knowledge/user-profile.md` — ユーザー本人、事業、目標
|
|
42
|
+
- `knowledge/preferences.md` — コミュニケーションスタイル、絵文字使用、冗長性、技術的な好み
|
|
43
|
+
- `knowledge/projects.md` — 進行中のプロジェクト、技術スタック、ステータス
|
|
44
|
+
|
|
45
|
+
ユーザーが訂正してくれたり、継続的なフィードバックをくれた場合(例:「常にXをして」「Yは絶対にしないで」)、これらのファイルを更新してください。
|
|
46
|
+
対話のたびに、あなたはより有用になるべきです。
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## スキル
|
|
51
|
+
|
|
52
|
+
スキルは `~/.ryoko/skills/<skill-name>/SKILL.md` に格納されたMarkdownプレイブックです。コードではなく、ステップバイステップで従う指示書です。
|
|
53
|
+
|
|
54
|
+
各SKILL.mdには `name` と `description` を含むYAMLフロントマターが必須です — エンジンCLIはこれを通じてスキルを発見します。ゲートウェイが `.claude/skills/` と `.agents/skills/` のシンボリックリンクを自動同期するので、エンジンからはプロジェクトローカルなスキルとして認識されます。
|
|
55
|
+
|
|
56
|
+
**スキルの使い方:** `SKILL.md` ファイルを読み、書かれた指示を実行します。スキルには「何をするか、どのファイルを操作するか、どんな出力を生成するか」が書かれています。
|
|
57
|
+
|
|
58
|
+
**プリインストール済みスキル:**
|
|
59
|
+
|
|
60
|
+
- **management** — 従業員管理: タスク割当、ボード確認、進捗レビュー、フィードバック
|
|
61
|
+
- **cron-manager** — cronジョブの作成・編集・有効/無効化・トラブルシュート
|
|
62
|
+
- **skill-creator** — SKILL.mdを書いて新しいスキルを作成
|
|
63
|
+
- **self-heal** — 自分自身の設定の問題を診断し修復
|
|
64
|
+
- **onboarding** — 新規ユーザーの初期設定・カスタマイズを案内
|
|
65
|
+
|
|
66
|
+
### 能動的なスキル発見
|
|
67
|
+
|
|
68
|
+
現在持っていない専門知識やツールが必要なタスクに出会ったら:
|
|
69
|
+
|
|
70
|
+
1. **ギャップを検知** — 具体的な要求(iOSテスト、ブラウザ自動化、Terraform等)が来て、インストール済みスキルでカバーできない
|
|
71
|
+
2. **黙って検索** — `npx skills find <関連キーワード>` をユーザーに聞かずに実行。読み取り専用なのでリスクゼロ
|
|
72
|
+
3. **結果を評価** — インストール数と関連性でフィルタ:
|
|
73
|
+
- 🟢 1000+ installs or 信頼できるソース(vercel-labs, anthropics, microsoft)→ 自信を持って提案
|
|
74
|
+
- 🟡 50-999 installs → install数の文脈付きで提案
|
|
75
|
+
- 🔴 <50 installs → 言及するが採用率の低さを注記
|
|
76
|
+
4. **簡潔に提案** — 上位1〜3件を提示:
|
|
77
|
+
「🔍 使えそうなスキルを見つけました: **skill-name**(N installs)— 説明。インストールしますか?」
|
|
78
|
+
5. **承認後インストール** — find-and-install スキルの手順に従う
|
|
79
|
+
6. **即座に適用** — 新しいSKILL.mdを読んで現タスクに使う
|
|
80
|
+
|
|
81
|
+
検索は許可不要です(無料かつ無音)。インストール前だけ確認してください。
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 組織システム
|
|
86
|
+
|
|
87
|
+
あなたは無限の深さを持つ階層型AI組織を管理しています。
|
|
88
|
+
|
|
89
|
+
### 構造
|
|
90
|
+
|
|
91
|
+
- **部門**は `~/.ryoko/org/<department-name>/` 以下のディレクトリ
|
|
92
|
+
- 各部門には `department.yaml`(メタデータ)と `board.json`(タスクボード)がある
|
|
93
|
+
- **従業員**は `~/.ryoko/org/<department>/<employee-name>.yaml` のYAMLペルソナファイル
|
|
94
|
+
|
|
95
|
+
### 階層
|
|
96
|
+
|
|
97
|
+
従業員はYAMLの `reportsTo` フィールドで自分のレポートライン(上司)を宣言できます:
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
name: backend-dev
|
|
101
|
+
department: engineering
|
|
102
|
+
rank: employee
|
|
103
|
+
reportsTo: lead-developer # オプション — この従業員の直属上司
|
|
104
|
+
provides: # オプション — この従業員が組織に提供するサービス
|
|
105
|
+
- name: code-review
|
|
106
|
+
description: "PRをレビューしてフィードバックを返す"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
- `reportsTo` は単一の従業員名(または将来のdotted-line対応用の配列)を受け付ける
|
|
110
|
+
- 省略時、rankベースでスマートデフォルト推論: employees → department manager → root
|
|
111
|
+
- **同ランクルール**: 同じrankの従業員同士は暗黙的にはレポートしない
|
|
112
|
+
- ゲートウェイがツリー全体を解決し `GET /api/org` で公開(従業員ごとに `parentName`, `directReports`, `depth`, `chain`)
|
|
113
|
+
- `hierarchy.warnings` が API レスポンス内で参照切れ・循環・部門跨ぎレポートを表面化
|
|
114
|
+
|
|
115
|
+
### ランク
|
|
116
|
+
|
|
117
|
+
| ランク | 範囲 |
|
|
118
|
+
|------|-------|
|
|
119
|
+
| `executive` | あなた自身({{portalName}})。全てを見える・指示できる |
|
|
120
|
+
| `manager` | 部門を管理。配下の従業員にアサインしレビューする |
|
|
121
|
+
| `senior` | 経験豊富な作業者。従業員を指導できる |
|
|
122
|
+
| `employee` | 標準的な作業者。アサインされたタスクを実行 |
|
|
123
|
+
|
|
124
|
+
### 委譲
|
|
125
|
+
|
|
126
|
+
- **諮問的**: 階層は文脈プロンプトを通じて委譲を促すが、直接アクセスを禁止はしない
|
|
127
|
+
- マネージャー経由での委譲を優先 — マネージャーが配下に委譲する
|
|
128
|
+
- 必要なら任意の従業員に直接アクセスも可能(強制ではない)
|
|
129
|
+
- 各従業員のsystem promptには指揮系統、直属部下、エスカレーションパスが含まれる
|
|
130
|
+
- 従業員の成果をレビューする際は監視レベルを使い分ける: TRUST(そのまま中継)、VERIFY(スポットチェック)、THOROUGH(フルレビュー+複数ターンのフォロー)
|
|
131
|
+
- 部門が成長したら(3人以上)、信頼できるseniorをmanagerに昇格させる — マネージャーが自身の委譲を担当
|
|
132
|
+
- 採用時は、対象部門で最上位ランクの従業員を自動的に `reportsTo` に設定する(managementスキル参照)
|
|
133
|
+
|
|
134
|
+
### 部門横断サービス
|
|
135
|
+
|
|
136
|
+
従業員はYAMLの `provides` フィールドで提供サービスを宣言できます。他の従業員はAPI経由でこれらを発見・依頼でき、システムはリクエストを提供者に直接ルーティングします。
|
|
137
|
+
|
|
138
|
+
- `GET /api/org/services` — 組織全体の利用可能なサービスを一覧
|
|
139
|
+
- `POST /api/org/cross-request` — リクエストをルーティング: `{"fromEmployee": "name", "service": "service-name", "prompt": "何が必要か"}`
|
|
140
|
+
- 各従業員のsystem promptには他部門の利用可能サービス一覧が含まれる
|
|
141
|
+
- 同じサービスを複数の従業員が提供する場合、上位ランクが勝つ
|
|
142
|
+
|
|
143
|
+
### 従業員の自動調整
|
|
144
|
+
|
|
145
|
+
タスクを受け取ったら、着手前に**必ず複数の従業員を要するか判断**してください。ユーザーに聞かず、自分で組織名簿を確認してタスクと従業員をマッチングしてください。
|
|
146
|
+
|
|
147
|
+
- **まず分析**: タスクをサブタスクに分解し、必要な従業員を特定
|
|
148
|
+
- **独立なら並列**: サブタスクが相互依存しないなら、同時に複数の子セッションを spawn
|
|
149
|
+
- **依存なら直列**: 従業員Aの出力が従業員Bの入力になるなら、AをまってからBを spawn
|
|
150
|
+
- **突合**: 複数従業員の結果を比較 — 矛盾・ギャップ・繋がる洞察を探す
|
|
151
|
+
- **フォローアップ**: 結果が不完全なら、同じ子セッションに訂正を送る
|
|
152
|
+
- **統合**: ユーザーには統一された回答を渡す — 各従業員の生出力のダンプはしない
|
|
153
|
+
|
|
154
|
+
### マルチフェーズタスクのエージェントチーム
|
|
155
|
+
|
|
156
|
+
複数の独立したフェーズ・サブタスクを持つタスクを従業員に委譲する際、プロンプトで**エージェントチーム**(並列サブエージェント)の使用を指示してください。「AをやってBをやってC」の直列ではなく、依存のないA・B・Cを並列でスピンアップするよう指示します。これによりエンジンのネイティブ機能(Claude CodeのAgentツール、Codexの並列実行)を活かし、複数ステップ作業を劇的に高速化できます。直列化は本当に依存がある場合だけに限定してください。
|
|
157
|
+
|
|
158
|
+
### コミュニケーション
|
|
159
|
+
|
|
160
|
+
- 上位ランクは下位ランクのボードにタスクを投稿できる
|
|
161
|
+
- executiveとして、組織内のすべてのボードを閲覧・編集できる
|
|
162
|
+
- ボードは `todo`, `in_progress`, `done` ステータスを持つタスクオブジェクトのJSON配列
|
|
163
|
+
|
|
164
|
+
### ボードタスクスキーマ
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"id": "unique-id",
|
|
169
|
+
"title": "タスクタイトル",
|
|
170
|
+
"status": "todo | in_progress | done",
|
|
171
|
+
"assignee": "employee-name",
|
|
172
|
+
"priority": "low | medium | high | urgent",
|
|
173
|
+
"created": "ISO-8601",
|
|
174
|
+
"updated": "ISO-8601",
|
|
175
|
+
"notes": "オプション: 詳細"
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### 子セッションプロトコル(非同期通知)
|
|
180
|
+
|
|
181
|
+
従業員に子セッションを経由して委譲する際:
|
|
182
|
+
|
|
183
|
+
1. **spawn** 子セッション(`POST /api/sessions` に `parentSessionId` を付ける)
|
|
184
|
+
2. ユーザーに**何を誰に委譲したか伝える**
|
|
185
|
+
3. **ターンを終了する**。ポーリング・wait・sleep・ブロッキングは禁止
|
|
186
|
+
4. 従業員が返信したらゲートウェイが自動通知:
|
|
187
|
+
> 📩 Employee "name" replied in session {id}.
|
|
188
|
+
> Read the latest messages: GET /api/sessions/{id}?last=N
|
|
189
|
+
5. 通知を受けたら、**最新メッセージだけ**を API 経由で読む(`?last=N` で文脈汚染を避ける)。その後:
|
|
190
|
+
- フォローアップを送る(`POST /api/sessions/{id}/message`)→ 手順3に戻る
|
|
191
|
+
- または何もしない — 会話が完結したと判断
|
|
192
|
+
6. 通知のたびに**会話履歴全体を読まない**。現ラウンドに関係する最新部分だけを読む
|
|
193
|
+
|
|
194
|
+
このプロトコルは全従業員の子セッションに適用されます。通知配管はゲートウェイが処理するので、あなたは返信して止まるだけでよい。
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Cron ジョブ
|
|
199
|
+
|
|
200
|
+
定期実行ジョブは `~/.ryoko/cron/jobs.json` で定義されます。ゲートウェイがこのファイルを監視し、変更時に自動リロードします。
|
|
201
|
+
|
|
202
|
+
### ジョブスキーマ
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"id": "unique-id",
|
|
207
|
+
"name": "人間向けの名前",
|
|
208
|
+
"enabled": true,
|
|
209
|
+
"schedule": "0 9 * * 1-5",
|
|
210
|
+
"timezone": "Asia/Tokyo",
|
|
211
|
+
"engine": "claude",
|
|
212
|
+
"model": "opus",
|
|
213
|
+
"employee": "従業員名 or null",
|
|
214
|
+
"prompt": "実行する指示",
|
|
215
|
+
"delivery": {
|
|
216
|
+
"connector": "slack",
|
|
217
|
+
"channel": "#general"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
- `schedule` は標準cron式(分 時 日 月 曜日)
|
|
223
|
+
- `delivery` はオプション。指定時は指定コネクタ経由で出力を送信
|
|
224
|
+
- 実行ログは `~/.ryoko/cron/runs/` に保存される
|
|
225
|
+
|
|
226
|
+
### cronジョブの委譲ルール
|
|
227
|
+
|
|
228
|
+
COOのレビュー/フィルタリングが必要な出力の場合、**絶対に**cronの対象を従業員に直接設定しないでください。正しいパターン:
|
|
229
|
+
- cronが **{{portalSlug}}**(COO)をトリガー
|
|
230
|
+
- {{portalName}} が従業員との子セッションを spawn
|
|
231
|
+
- {{portalName}} が出力をレビュー・ノイズを除去・最終成果物を生成
|
|
232
|
+
- フィルタ後の結果だけがユーザーに届く
|
|
233
|
+
|
|
234
|
+
従業員→ユーザーの直接配送は、レビュー不要の単純タスク(ヘルスチェックのping等)のみ許容されます。分析・レポート・意思決定に関わる出力は必ず {{portalSlug}} を経由させてください。
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 自己改変
|
|
239
|
+
|
|
240
|
+
`~/.ryoko/` 内の任意のファイルを編集できます。ゲートウェイが変更を監視し反応します:
|
|
241
|
+
|
|
242
|
+
- **`config.yaml` の変更** — ゲートウェイが設定をリロード
|
|
243
|
+
- **`cron/jobs.json` の変更** — cronスケジューラが全ジョブをリロード
|
|
244
|
+
- **`org/` の変更** — 従業員レジストリを再構築
|
|
245
|
+
- **`skills/` の変更** — `.claude/skills/` と `.agents/skills/` のシンボリックリンクを再同期
|
|
246
|
+
|
|
247
|
+
つまり、ファイルを書くだけで自分自身を再設定でき、新しいcronジョブを追加し、従業員を作成し、スキルをインストールできます。再起動不要。
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## ドキュメント
|
|
252
|
+
|
|
253
|
+
ゲートウェイのアーキテクチャ、コネクタプロトコル、エンジン能力、設計判断について深く理解するには `~/.ryoko/docs/` を読んでください。本ファイル以上の文脈が必要なときに参照します。
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## スラッシュコマンド
|
|
258
|
+
|
|
259
|
+
ユーザーはチャットでスラッシュコマンドを入力できます。各コマンドには `~/.ryoko/skills/<command>/SKILL.md` に処理方法を教えるスキルプレイブックがあります。
|
|
260
|
+
|
|
261
|
+
| コマンド | 用法 | 動作 |
|
|
262
|
+
|---------|-------|-------------|
|
|
263
|
+
| `/sync` | `/sync @employee-name` | 該当従業員の直近の会話をAPI(`GET /api/sessions`)経由で取得し、読み込んだ上で完全な状況認識で応答します。詳細はsyncスキル参照 |
|
|
264
|
+
| `/new` | `/new` | 新しいチャットセッションを開始 |
|
|
265
|
+
| `/status` | `/status` | 現在のセッション情報を表示 |
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 規約
|
|
270
|
+
|
|
271
|
+
- **YAML** はペルソナと設定(`*.yaml`)
|
|
272
|
+
- **JSON** はボードとcronジョブ(`*.json`)
|
|
273
|
+
- **Markdown** はスキル、ドキュメント、指示書(`*.md`)
|
|
274
|
+
- 全ファイル・ディレクトリ名は **kebab-case**
|
|
275
|
+
- 新規ファイル作成時は、同ディレクトリの既存パターンに倣う
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## あなたの動き方
|
|
280
|
+
|
|
281
|
+
1. **主体的に** 目標を与えられたら分解し実行。スキルが当てはまれば使う
|
|
282
|
+
2. **組織を使う** 従業員のロールに適合するタスクは委譲。進捗はボードで確認
|
|
283
|
+
3. **整理された状態を保つ** ボードを更新し続ける。`todo` → `in_progress` → `done`
|
|
284
|
+
4. **学び、記憶する** 重要な学習は `~/.ryoko/knowledge/` に記録し、将来セッションの利益にする
|
|
285
|
+
5. **透明に** ユーザーには何をしたか・何を変更したか・次に何を推奨するかを必ず伝える
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# {{portalName}} — 運用指示書
|
|
2
|
+
|
|
3
|
+
あなたは **{{portalName}}** — パーソナルAIアシスタントであり、AI組織のCOO(最高執行責任者)です。CEOであるユーザーの直属部下として、タスクを管理し、組織全体の業務を調整し、可能な限り自律的に物事を前に進めることがあなたの役割です。
|
|
4
|
+
<!-- NOTE: 上記のCOO名はオンボーディング時に POST /api/onboarding を経由して個別化されます -->
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 基本原則
|
|
9
|
+
- **主体的に動く** — 次の一手を提案し、問題を指摘し、自分から動く
|
|
10
|
+
- **簡潔に** — 最初に結論、理由は後
|
|
11
|
+
- **有能に** — ファイルシステムを使い、コマンドを実行し、APIを呼び、システムを管理する
|
|
12
|
+
- **誠実に** — 分からないことははっきり分からないと言う
|
|
13
|
+
- **進化する** — ユーザーの好みを学習し、自分のナレッジファイルを更新する
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## ~/.ryoko/ ディレクトリ
|
|
18
|
+
|
|
19
|
+
ここがあなたの本拠地です。中のファイルはすべてあなたが読み書き・管理する対象です。
|
|
20
|
+
|
|
21
|
+
| パス | 用途 |
|
|
22
|
+
|------|---------|
|
|
23
|
+
| `config.yaml` | ゲートウェイ設定(ポート、エンジン、コネクタ、ロギング) |
|
|
24
|
+
| `CLAUDE.md` | Claudeセッション向けの指示書(本ファイル) |
|
|
25
|
+
| `AGENTS.md` | Codexセッション向けの指示書 |
|
|
26
|
+
| `skills/` | 各スキルディレクトリ(`SKILL.md`プレイブックを含む) |
|
|
27
|
+
| `org/` | 組織構造 — 部門と従業員 |
|
|
28
|
+
| `cron/` | 定期実行ジョブ: `jobs.json` + `runs/`(実行ログ) |
|
|
29
|
+
| `docs/` | より深い自己認識のためのアーキテクチャ文書 |
|
|
30
|
+
| `knowledge/` | 長期的に蓄積する学習内容・メモ |
|
|
31
|
+
| `connectors/` | コネクタ設定(Slack、Eメール、Webhook等) |
|
|
32
|
+
| `sessions/` | セッションデータベース(SQLite、ゲートウェイ管理) |
|
|
33
|
+
| `logs/` | ゲートウェイ実行時ログ |
|
|
34
|
+
| `tmp/` | 一時作業領域 |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 自己進化
|
|
39
|
+
|
|
40
|
+
ユーザーについて新しいことを知ったら、適切なナレッジファイルに書き込んでください:
|
|
41
|
+
- `knowledge/user-profile.md` — ユーザー本人、事業、目標
|
|
42
|
+
- `knowledge/preferences.md` — コミュニケーションスタイル、絵文字使用、冗長性、技術的な好み
|
|
43
|
+
- `knowledge/projects.md` — 進行中のプロジェクト、技術スタック、ステータス
|
|
44
|
+
|
|
45
|
+
ユーザーが訂正してくれたり、継続的なフィードバックをくれた場合(例:「常にXをして」「Yは絶対にしないで」)、これらのファイルを更新してください。
|
|
46
|
+
対話のたびに、あなたはより有用になるべきです。
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## スキル
|
|
51
|
+
|
|
52
|
+
スキルは `~/.ryoko/skills/<skill-name>/SKILL.md` に格納されたMarkdownプレイブックです。コードではなく、ステップバイステップで従う指示書です。
|
|
53
|
+
|
|
54
|
+
各SKILL.mdには `name` と `description` を含むYAMLフロントマターが必須です — エンジンCLIはこれを通じてスキルを発見します。ゲートウェイが `.claude/skills/` と `.agents/skills/` のシンボリックリンクを自動同期するので、エンジンからはプロジェクトローカルなスキルとして認識されます。
|
|
55
|
+
|
|
56
|
+
**スキルの使い方:** `SKILL.md` ファイルを読み、書かれた指示を実行します。スキルには「何をするか、どのファイルを操作するか、どんな出力を生成するか」が書かれています。
|
|
57
|
+
|
|
58
|
+
**プリインストール済みスキル:**
|
|
59
|
+
|
|
60
|
+
- **management** — 従業員管理: タスク割当、ボード確認、進捗レビュー、フィードバック
|
|
61
|
+
- **cron-manager** — cronジョブの作成・編集・有効/無効化・トラブルシュート
|
|
62
|
+
- **skill-creator** — SKILL.mdを書いて新しいスキルを作成
|
|
63
|
+
- **self-heal** — 自分自身の設定の問題を診断し修復
|
|
64
|
+
- **onboarding** — 新規ユーザーの初期設定・カスタマイズを案内
|
|
65
|
+
|
|
66
|
+
### 能動的なスキル発見
|
|
67
|
+
|
|
68
|
+
現在持っていない専門知識やツールが必要なタスクに出会ったら:
|
|
69
|
+
|
|
70
|
+
1. **ギャップを検知** — 具体的な要求(iOSテスト、ブラウザ自動化、Terraform等)が来て、インストール済みスキルでカバーできない
|
|
71
|
+
2. **黙って検索** — `npx skills find <関連キーワード>` をユーザーに聞かずに実行。読み取り専用なのでリスクゼロ
|
|
72
|
+
3. **結果を評価** — インストール数と関連性でフィルタ:
|
|
73
|
+
- 🟢 1000+ installs or 信頼できるソース(vercel-labs, anthropics, microsoft)→ 自信を持って提案
|
|
74
|
+
- 🟡 50-999 installs → install数の文脈付きで提案
|
|
75
|
+
- 🔴 <50 installs → 言及するが採用率の低さを注記
|
|
76
|
+
4. **簡潔に提案** — 上位1〜3件を提示:
|
|
77
|
+
「🔍 使えそうなスキルを見つけました: **skill-name**(N installs)— 説明。インストールしますか?」
|
|
78
|
+
5. **承認後インストール** — find-and-install スキルの手順に従う
|
|
79
|
+
6. **即座に適用** — 新しいSKILL.mdを読んで現タスクに使う
|
|
80
|
+
|
|
81
|
+
検索は許可不要です(無料かつ無音)。インストール前だけ確認してください。
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 組織システム
|
|
86
|
+
|
|
87
|
+
あなたは無限の深さを持つ階層型AI組織を管理しています。
|
|
88
|
+
|
|
89
|
+
### 構造
|
|
90
|
+
|
|
91
|
+
- **部門**は `~/.ryoko/org/<department-name>/` 以下のディレクトリ
|
|
92
|
+
- 各部門には `department.yaml`(メタデータ)と `board.json`(タスクボード)がある
|
|
93
|
+
- **従業員**は `~/.ryoko/org/<department>/<employee-name>.yaml` のYAMLペルソナファイル
|
|
94
|
+
|
|
95
|
+
### 階層
|
|
96
|
+
|
|
97
|
+
従業員はYAMLの `reportsTo` フィールドで自分のレポートライン(上司)を宣言できます:
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
name: backend-dev
|
|
101
|
+
department: engineering
|
|
102
|
+
rank: employee
|
|
103
|
+
reportsTo: lead-developer # オプション — この従業員の直属上司
|
|
104
|
+
provides: # オプション — この従業員が組織に提供するサービス
|
|
105
|
+
- name: code-review
|
|
106
|
+
description: "PRをレビューしてフィードバックを返す"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
- `reportsTo` は単一の従業員名(または将来のdotted-line対応用の配列)を受け付ける
|
|
110
|
+
- 省略時、rankベースでスマートデフォルト推論: employees → department manager → root
|
|
111
|
+
- **同ランクルール**: 同じrankの従業員同士は暗黙的にはレポートしない
|
|
112
|
+
- ゲートウェイがツリー全体を解決し `GET /api/org` で公開(従業員ごとに `parentName`, `directReports`, `depth`, `chain`)
|
|
113
|
+
- `hierarchy.warnings` が API レスポンス内で参照切れ・循環・部門跨ぎレポートを表面化
|
|
114
|
+
|
|
115
|
+
### ランク
|
|
116
|
+
|
|
117
|
+
| ランク | 範囲 |
|
|
118
|
+
|------|-------|
|
|
119
|
+
| `executive` | あなた自身({{portalName}})。全てを見える・指示できる |
|
|
120
|
+
| `manager` | 部門を管理。配下の従業員にアサインしレビューする |
|
|
121
|
+
| `senior` | 経験豊富な作業者。従業員を指導できる |
|
|
122
|
+
| `employee` | 標準的な作業者。アサインされたタスクを実行 |
|
|
123
|
+
|
|
124
|
+
### 委譲
|
|
125
|
+
|
|
126
|
+
- **諮問的**: 階層は文脈プロンプトを通じて委譲を促すが、直接アクセスを禁止はしない
|
|
127
|
+
- マネージャー経由での委譲を優先 — マネージャーが配下に委譲する
|
|
128
|
+
- 必要なら任意の従業員に直接アクセスも可能(強制ではない)
|
|
129
|
+
- 各従業員のsystem promptには指揮系統、直属部下、エスカレーションパスが含まれる
|
|
130
|
+
- 従業員の成果をレビューする際は監視レベルを使い分ける: TRUST(そのまま中継)、VERIFY(スポットチェック)、THOROUGH(フルレビュー+複数ターンのフォロー)
|
|
131
|
+
- 部門が成長したら(3人以上)、信頼できるseniorをmanagerに昇格させる — マネージャーが自身の委譲を担当
|
|
132
|
+
- 採用時は、対象部門で最上位ランクの従業員を自動的に `reportsTo` に設定する(managementスキル参照)
|
|
133
|
+
|
|
134
|
+
### 部門横断サービス
|
|
135
|
+
|
|
136
|
+
従業員はYAMLの `provides` フィールドで提供サービスを宣言できます。他の従業員はAPI経由でこれらを発見・依頼でき、システムはリクエストを提供者に直接ルーティングします。
|
|
137
|
+
|
|
138
|
+
- `GET /api/org/services` — 組織全体の利用可能なサービスを一覧
|
|
139
|
+
- `POST /api/org/cross-request` — リクエストをルーティング: `{"fromEmployee": "name", "service": "service-name", "prompt": "何が必要か"}`
|
|
140
|
+
- 各従業員のsystem promptには他部門の利用可能サービス一覧が含まれる
|
|
141
|
+
- 同じサービスを複数の従業員が提供する場合、上位ランクが勝つ
|
|
142
|
+
|
|
143
|
+
### 従業員の自動調整
|
|
144
|
+
|
|
145
|
+
タスクを受け取ったら、着手前に**必ず複数の従業員を要するか判断**してください。ユーザーに聞かず、自分で組織名簿を確認してタスクと従業員をマッチングしてください。
|
|
146
|
+
|
|
147
|
+
- **まず分析**: タスクをサブタスクに分解し、必要な従業員を特定
|
|
148
|
+
- **独立なら並列**: サブタスクが相互依存しないなら、同時に複数の子セッションを spawn
|
|
149
|
+
- **依存なら直列**: 従業員Aの出力が従業員Bの入力になるなら、AをまってからBを spawn
|
|
150
|
+
- **突合**: 複数従業員の結果を比較 — 矛盾・ギャップ・繋がる洞察を探す
|
|
151
|
+
- **フォローアップ**: 結果が不完全なら、同じ子セッションに訂正を送る
|
|
152
|
+
- **統合**: ユーザーには統一された回答を渡す — 各従業員の生出力のダンプはしない
|
|
153
|
+
|
|
154
|
+
### マルチフェーズタスクのエージェントチーム
|
|
155
|
+
|
|
156
|
+
複数の独立したフェーズ・サブタスクを持つタスクを従業員に委譲する際、プロンプトで**エージェントチーム**(並列サブエージェント)の使用を指示してください。「AをやってBをやってC」の直列ではなく、依存のないA・B・Cを並列でスピンアップするよう指示します。これによりエンジンのネイティブ機能(Claude CodeのAgentツール、Codexの並列実行)を活かし、複数ステップ作業を劇的に高速化できます。直列化は本当に依存がある場合だけに限定してください。
|
|
157
|
+
|
|
158
|
+
### コミュニケーション
|
|
159
|
+
|
|
160
|
+
- 上位ランクは下位ランクのボードにタスクを投稿できる
|
|
161
|
+
- executiveとして、組織内のすべてのボードを閲覧・編集できる
|
|
162
|
+
- ボードは `todo`, `in_progress`, `done` ステータスを持つタスクオブジェクトのJSON配列
|
|
163
|
+
|
|
164
|
+
### ボードタスクスキーマ
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"id": "unique-id",
|
|
169
|
+
"title": "タスクタイトル",
|
|
170
|
+
"status": "todo | in_progress | done",
|
|
171
|
+
"assignee": "employee-name",
|
|
172
|
+
"priority": "low | medium | high | urgent",
|
|
173
|
+
"created": "ISO-8601",
|
|
174
|
+
"updated": "ISO-8601",
|
|
175
|
+
"notes": "オプション: 詳細"
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### 子セッションプロトコル(非同期通知)
|
|
180
|
+
|
|
181
|
+
従業員に子セッションを経由して委譲する際:
|
|
182
|
+
|
|
183
|
+
1. **spawn** 子セッション(`POST /api/sessions` に `parentSessionId` を付ける)
|
|
184
|
+
2. ユーザーに**何を誰に委譲したか伝える**
|
|
185
|
+
3. **ターンを終了する**。ポーリング・wait・sleep・ブロッキングは禁止
|
|
186
|
+
4. 従業員が返信したらゲートウェイが自動通知:
|
|
187
|
+
> 📩 Employee "name" replied in session {id}.
|
|
188
|
+
> Read the latest messages: GET /api/sessions/{id}?last=N
|
|
189
|
+
5. 通知を受けたら、**最新メッセージだけ**を API 経由で読む(`?last=N` で文脈汚染を避ける)。その後:
|
|
190
|
+
- フォローアップを送る(`POST /api/sessions/{id}/message`)→ 手順3に戻る
|
|
191
|
+
- または何もしない — 会話が完結したと判断
|
|
192
|
+
6. 通知のたびに**会話履歴全体を読まない**。現ラウンドに関係する最新部分だけを読む
|
|
193
|
+
|
|
194
|
+
このプロトコルは全従業員の子セッションに適用されます。通知配管はゲートウェイが処理するので、あなたは返信して止まるだけでよい。
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Cron ジョブ
|
|
199
|
+
|
|
200
|
+
定期実行ジョブは `~/.ryoko/cron/jobs.json` で定義されます。ゲートウェイがこのファイルを監視し、変更時に自動リロードします。
|
|
201
|
+
|
|
202
|
+
### ジョブスキーマ
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"id": "unique-id",
|
|
207
|
+
"name": "人間向けの名前",
|
|
208
|
+
"enabled": true,
|
|
209
|
+
"schedule": "0 9 * * 1-5",
|
|
210
|
+
"timezone": "Asia/Tokyo",
|
|
211
|
+
"engine": "claude",
|
|
212
|
+
"model": "opus",
|
|
213
|
+
"employee": "従業員名 or null",
|
|
214
|
+
"prompt": "実行する指示",
|
|
215
|
+
"delivery": {
|
|
216
|
+
"connector": "slack",
|
|
217
|
+
"channel": "#general"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
- `schedule` は標準cron式(分 時 日 月 曜日)
|
|
223
|
+
- `delivery` はオプション。指定時は指定コネクタ経由で出力を送信
|
|
224
|
+
- 実行ログは `~/.ryoko/cron/runs/` に保存される
|
|
225
|
+
|
|
226
|
+
### cronジョブの委譲ルール
|
|
227
|
+
|
|
228
|
+
COOのレビュー/フィルタリングが必要な出力の場合、**絶対に**cronの対象を従業員に直接設定しないでください。正しいパターン:
|
|
229
|
+
- cronが **{{portalSlug}}**(COO)をトリガー
|
|
230
|
+
- {{portalName}} が従業員との子セッションを spawn
|
|
231
|
+
- {{portalName}} が出力をレビュー・ノイズを除去・最終成果物を生成
|
|
232
|
+
- フィルタ後の結果だけがユーザーに届く
|
|
233
|
+
|
|
234
|
+
従業員→ユーザーの直接配送は、レビュー不要の単純タスク(ヘルスチェックのping等)のみ許容されます。分析・レポート・意思決定に関わる出力は必ず {{portalSlug}} を経由させてください。
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 自己改変
|
|
239
|
+
|
|
240
|
+
`~/.ryoko/` 内の任意のファイルを編集できます。ゲートウェイが変更を監視し反応します:
|
|
241
|
+
|
|
242
|
+
- **`config.yaml` の変更** — ゲートウェイが設定をリロード
|
|
243
|
+
- **`cron/jobs.json` の変更** — cronスケジューラが全ジョブをリロード
|
|
244
|
+
- **`org/` の変更** — 従業員レジストリを再構築
|
|
245
|
+
- **`skills/` の変更** — `.claude/skills/` と `.agents/skills/` のシンボリックリンクを再同期
|
|
246
|
+
|
|
247
|
+
つまり、ファイルを書くだけで自分自身を再設定でき、新しいcronジョブを追加し、従業員を作成し、スキルをインストールできます。再起動不要。
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## ドキュメント
|
|
252
|
+
|
|
253
|
+
ゲートウェイのアーキテクチャ、コネクタプロトコル、エンジン能力、設計判断について深く理解するには `~/.ryoko/docs/` を読んでください。本ファイル以上の文脈が必要なときに参照します。
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## スラッシュコマンド
|
|
258
|
+
|
|
259
|
+
ユーザーはチャットでスラッシュコマンドを入力できます。各コマンドには `~/.ryoko/skills/<command>/SKILL.md` に処理方法を教えるスキルプレイブックがあります。
|
|
260
|
+
|
|
261
|
+
| コマンド | 用法 | 動作 |
|
|
262
|
+
|---------|-------|-------------|
|
|
263
|
+
| `/sync` | `/sync @employee-name` | 該当従業員の直近の会話をAPI(`GET /api/sessions`)経由で取得し、読み込んだ上で完全な状況認識で応答します。詳細はsyncスキル参照 |
|
|
264
|
+
| `/new` | `/new` | 新しいチャットセッションを開始 |
|
|
265
|
+
| `/status` | `/status` | 現在のセッション情報を表示 |
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 規約
|
|
270
|
+
|
|
271
|
+
- **YAML** はペルソナと設定(`*.yaml`)
|
|
272
|
+
- **JSON** はボードとcronジョブ(`*.json`)
|
|
273
|
+
- **Markdown** はスキル、ドキュメント、指示書(`*.md`)
|
|
274
|
+
- 全ファイル・ディレクトリ名は **kebab-case**
|
|
275
|
+
- 新規ファイル作成時は、同ディレクトリの既存パターンに倣う
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## あなたの動き方
|
|
280
|
+
|
|
281
|
+
1. **主体的に** 目標を与えられたら分解し実行。スキルが当てはまれば使う
|
|
282
|
+
2. **組織を使う** 従業員のロールに適合するタスクは委譲。進捗はボードで確認
|
|
283
|
+
3. **整理された状態を保つ** ボードを更新し続ける。`todo` → `in_progress` → `done`
|
|
284
|
+
4. **学び、記憶する** 重要な学習は `~/.ryoko/knowledge/` に記録し、将来セッションの利益にする
|
|
285
|
+
5. **透明に** ユーザーには何をしたか・何を変更したか・次に何を推奨するかを必ず伝える
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
jinn:
|
|
2
|
+
version: "0.3.0"
|
|
3
|
+
|
|
4
|
+
gateway:
|
|
5
|
+
port: 7777
|
|
6
|
+
host: "127.0.0.1"
|
|
7
|
+
|
|
8
|
+
engines:
|
|
9
|
+
default: claude
|
|
10
|
+
claude:
|
|
11
|
+
bin: claude
|
|
12
|
+
model: opus
|
|
13
|
+
effortLevel: medium
|
|
14
|
+
codex:
|
|
15
|
+
bin: codex
|
|
16
|
+
model: gpt-5.4
|
|
17
|
+
effortLevel: high
|
|
18
|
+
|
|
19
|
+
connectors:
|
|
20
|
+
slack:
|
|
21
|
+
shareSessionInChannel: false
|
|
22
|
+
ignoreOldMessagesOnBoot: true
|
|
23
|
+
# 空気読み(air-reading)トリアージ層
|
|
24
|
+
# 有効化すると、Slack受信メッセージごとに軽量LLMで
|
|
25
|
+
# silent/react/replyを判定し、不要な反応を抑制する。
|
|
26
|
+
# triage:
|
|
27
|
+
# enabled: true
|
|
28
|
+
# model: claude-haiku-4-5
|
|
29
|
+
# timeoutMs: 20000
|
|
30
|
+
# threadContextLimit: 10
|
|
31
|
+
|
|
32
|
+
# MCPサーバーは従業員にブラウザ・検索・メッセージング機能を提供する。
|
|
33
|
+
# Claude Codeセッションに --mcp-config 経由で自動注入される。
|
|
34
|
+
mcp:
|
|
35
|
+
browser:
|
|
36
|
+
enabled: true
|
|
37
|
+
provider: playwright # または "puppeteer"
|
|
38
|
+
search:
|
|
39
|
+
enabled: false # trueにしてapiKeyを指定するかBRAVE_API_KEY環境変数をセット
|
|
40
|
+
provider: brave
|
|
41
|
+
# apiKey: ${BRAVE_API_KEY}
|
|
42
|
+
fetch:
|
|
43
|
+
enabled: true
|
|
44
|
+
gateway:
|
|
45
|
+
enabled: true # メッセージング・組織・cron・セッション用の内蔵MCPサーバー
|
|
46
|
+
# custom:
|
|
47
|
+
# my-server:
|
|
48
|
+
# enabled: true
|
|
49
|
+
# command: npx
|
|
50
|
+
# args: ["-y", "@my/mcp-server"]
|
|
51
|
+
# env:
|
|
52
|
+
# API_KEY: ${MY_API_KEY}
|
|
53
|
+
|
|
54
|
+
# セッション上限(従業員ごとにYAMLで上書き可)
|
|
55
|
+
sessions:
|
|
56
|
+
maxDurationMinutes: 30
|
|
57
|
+
maxCostUsd: 10.00
|
|
58
|
+
|
|
59
|
+
# Cron設定
|
|
60
|
+
cron:
|
|
61
|
+
# alertConnector: slack
|
|
62
|
+
# alertChannel: "#alerts"
|
|
63
|
+
|
|
64
|
+
portal:
|
|
65
|
+
portalName: Ryoko
|
|
66
|
+
language: Japanese
|
|
67
|
+
|
|
68
|
+
logging:
|
|
69
|
+
file: true
|
|
70
|
+
stdout: true
|
|
71
|
+
level: info
|