@agentunion/kite 1.4.0 → 1.6.0
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/.claude/skills/kite/checklists/feature-checklist.md +496 -0
- package/.claude/skills/kite/references/event-patterns.md +180 -0
- package/.claude/skills/kite/references/health-check.md +202 -0
- package/.claude/skills/kite/references/http-service.md +199 -0
- package/.claude/skills/kite/references/module-md-spec.md +172 -0
- package/.claude/skills/kite/references/multi-connection.md +147 -0
- package/.claude/skills/kite/references/rpc-patterns.md +199 -0
- package/.claude/skills/kite/references/shutdown-sequence.md +146 -0
- package/.claude/skills/kite/references/stdin-protocol.md +147 -0
- package/.claude/skills/kite/references/test-center-integration.md +178 -0
- package/.claude/skills/kite/references/ws-lifecycle.md +301 -0
- package/.claude/skills/kite/skill.md +272 -0
- package/.claude/skills/kite/templates/go/README.md +20 -0
- package/.claude/skills/kite/templates/node/entry.js +134 -0
- package/.claude/skills/kite/templates/node/module.md +16 -0
- package/.claude/skills/kite/templates/node/server.js +351 -0
- package/.claude/skills/kite/templates/node/server_http.js +90 -0
- package/.claude/skills/kite/templates/python/entry.py +425 -0
- package/.claude/skills/kite/templates/python/module.md +26 -0
- package/.claude/skills/kite/templates/python/server.py +447 -0
- package/.claude/skills/kite/templates/python/server_http.py +433 -0
- package/CHANGELOG.md +102 -0
- package/cli.js +78 -5
- package/core/dependency_checker.py +250 -0
- package/core/env_checker.py +586 -0
- package/dependencies_lock.json +128 -0
- package/docs/05-/347/237/255/344/277/241/350/256/244/350/257/201/344/270/216/347/224/250/346/210/267/344/277/241/346/201/257/346/216/245/345/217/243/346/226/207/346/241/243.md +507 -0
- package/docs/ACP/345/215/217/350/256/256/345/205/274/345/256/271/346/226/271/346/241/210.md +138 -0
- package/docs/CI/344/270/216AI/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/346/226/271/346/241/210.md +75 -0
- package/docs/CLI/345/274/200/345/217/221/350/256/241/345/210/222.md +595 -0
- package/docs/ClaudeCode/350/277/234/347/250/213/345/215/217/344/275/234/347/263/273/347/273/237-/346/212/200/346/234/257/350/257/204/344/274/260.md +535 -0
- package/docs/ClaudeCode/350/277/234/347/250/213/345/215/217/344/275/234/347/263/273/347/273/237/350/256/276/350/256/241.md +631 -0
- package/docs/Evol-App/344/275/277/347/224/250KernelClient/346/224/271/351/200/240/345/256/214/346/210/220.md +342 -0
- package/docs/Evol/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/346/246/202/350/246/201.md +604 -0
- package/docs/Evol/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/350/256/276/350/256/241.md +1708 -0
- package/docs/Evol/346/250/241/345/235/227/350/256/276/350/256/241/346/226/271/346/241/210.md +1154 -0
- package/docs/Evol/351/241/265/351/235/242/346/217/222/344/273/266/345/214/226-Evol/346/250/241/345/235/227/345/256/236/346/226/275/346/214/207/345/215/227.md +403 -0
- package/docs/Evol/351/241/265/351/235/242/346/217/222/344/273/266/345/214/226-/345/244/226/351/203/250/346/250/241/345/235/227/346/216/245/345/205/245/346/214/207/345/215/227.md +468 -0
- package/docs/HTTP-RPC/350/277/201/347/247/273/345/210/260WebSocket/350/256/241/345/210/222.md +318 -0
- package/docs/INDEX.md +388 -0
- package/docs/KITE_DOCS_GUIDE.md +33 -0
- package/docs/Kernel-Client-Kite-Token/346/224/257/346/214/201/345/256/236/346/226/275/345/256/214/346/210/220.md +330 -0
- package/docs/Kernel/344/270/273/345/212/250Ping/346/234/272/345/210/266-/346/255/243/347/241/256/345/256/236/347/216/260.md +235 -0
- package/docs/Kernel/344/270/273/345/212/250Ping/346/234/272/345/210/266/345/256/236/346/226/275/346/200/273/347/273/223.md +204 -0
- package/docs/Kite/345/256/211/350/243/205/351/227/256/351/242/230/350/247/243/345/206/263/346/226/271/346/241/210.md +362 -0
- package/docs/Kite/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/350/256/276/350/256/241-/347/273/210/346/236/201/347/233/256/346/240/207.md +721 -0
- package/docs/Kite/346/216/247/345/210/266/345/217/260/347/273/237/344/270/200WebSocket/346/224/271/351/200/240/346/226/271/346/241/210.md +821 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/01-/346/241/206/346/236/266/345/256/232/344/275/215.md +12 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/02-/346/240/270/345/277/203/346/246/202/345/277/265.md +341 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/03-/347/263/273/347/273/237/346/236/266/346/236/204.md +257 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/04-/346/250/241/345/235/227/350/247/204/350/214/203.md +263 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/05-/346/240/270/345/277/203/346/265/201/347/250/213-/346/226/260/347/211/210.md +267 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/05-/346/240/270/345/277/203/346/265/201/347/250/213.md +149 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/06-/347/233/256/345/275/225/347/273/223/346/236/204.md +231 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/07-/346/225/260/346/215/256/346/250/241/345/236/213.md +68 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/08-/346/211/251/345/261/225/346/200/247.md +34 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/09-/344/270/216/345/205/267/344/275/223/345/272/224/347/224/250/347/232/204/345/205/263/347/263/273.md +22 -0
- package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/README.md +46 -0
- package/docs/Kite/347/263/273/347/273/237/345/220/257/345/212/250/346/265/201/347/250/213.md +567 -0
- package/docs/Launcher/345/220/257/345/212/250/345/231/250/346/226/207/346/241/243.md +745 -0
- package/docs/Polyglot/350/277/220/350/241/214/346/227/266/344/270/216Clawdbot/345/205/274/345/256/271/346/200/247/350/256/276/350/256/241.md +321 -0
- package/docs/Redis/344/270/216/346/250/241/345/235/227/345/244/232/345/256/236/344/276/213/346/226/271/346/241/210.md +438 -0
- package/docs/Relay-Kite-Token/350/256/244/350/257/201/345/256/236/346/226/275/345/256/214/346/210/220.md +178 -0
- package/docs/Relay-Token/346/235/203/351/231/220/351/205/215/347/275/256/351/252/214/350/257/201.md +113 -0
- package/docs/Watchdog/345/201/245/345/272/267/346/243/200/346/237/245/344/270/216WebSocket-Ping/346/234/272/345/210/266/345/210/206/346/236/220.md +367 -0
- package/docs/Watchdog/350/265/204/346/272/220/347/233/221/346/216/247/347/255/226/347/225/245.md +92 -0
- package/docs/WebSocket/346/216/245/346/224/266/345/276/252/347/216/257/346/255/273/351/224/201/351/230/262/350/214/203/350/247/204/350/214/203.md +357 -0
- package/docs/WebSocket/350/277/236/346/216/245/351/237/247/346/200/247/344/270/216/351/207/215/350/277/236/346/234/272/345/210/266/345/256/214/346/225/264/346/226/271/346/241/210.md +531 -0
- package/docs/WebSocket/350/277/236/346/216/245/351/237/247/346/200/247/346/226/271/346/241/210.md +169 -0
- package/docs/WebSocket/351/207/215/350/277/236/346/234/272/345/210/266/346/265/213/350/257/225/346/212/245/345/221/212.md +169 -0
- package/docs/WebSocket/351/207/215/350/277/236/351/200/200/351/201/277/346/234/272/345/210/266/346/226/271/346/241/210.md +394 -0
- package/docs/Web/346/250/241/345/235/227/344/270/216Evol/346/250/241/345/235/227/351/207/215/346/236/204/345/210/206/346/236/220.md +521 -0
- package/docs/audit-api-guide.md +68 -0
- package/docs/audit-module-design.md +315 -0
- package/docs/audit-module-implementation-summary.md +149 -0
- package/docs/llm-context-design.md +52 -0
- package/docs/llm-test-enhancement-plan.md +970 -0
- package/docs/logs-api-guide.md +42 -0
- package/docs/npm/345/214/205Python/347/216/257/345/242/203/347/256/241/347/220/206/346/226/271/346/241/210.md +302 -0
- package/docs/npm/345/217/221/345/270/203/344/270/216CLI/344/275/277/347/224/250/346/214/207/345/215/227.md +245 -0
- package/docs/stdio/344/270/216/347/253/257/345/217/243/345/217/221/347/216/260/351/207/215/346/236/204.md +480 -0
- package/docs/web/346/250/241/345/235/227/344/270/255/350/275/254/346/234/215/345/212/241/350/256/276/350/256/241/346/226/271/346/241/210.md +449 -0
- package/docs//344/272/213/344/273/266/345/244/204/347/220/206/346/234/272/345/210/266.md +388 -0
- package/docs//344/272/213/344/273/266/345/244/204/347/220/206/350/247/204/350/214/203.md +113 -0
- package/docs//344/272/213/344/273/266/350/256/242/351/230/205/351/200/232/351/205/215/347/254/246/350/247/204/350/214/203.md +256 -0
- package/docs//344/272/213/344/273/266/351/230/237/345/210/227/345/274/271/346/200/247/347/256/241/347/220/206.md +449 -0
- package/docs//344/272/244/344/272/222/345/274/217/347/273/210/347/253/257/346/216/247/345/210/266/346/226/271/346/241/210.md +301 -0
- package/docs//344/273/243/347/220/206/345/220/257/345/212/250/345/231/250/344/270/216/345/256/271/345/231/250/345/214/226.md +140 -0
- package/docs//344/273/243/347/240/201/347/273/237/350/256/241/345/267/245/345/205/267/344/275/277/347/224/250/350/257/264/346/230/216.md +217 -0
- package/docs//344/274/230/351/233/205/351/200/200/345/207/272/350/247/204/350/214/203.md +362 -0
- package/docs//344/276/235/350/265/226/347/256/241/347/220/206/350/257/264/346/230/216.md +141 -0
- package/docs//344/277/256/345/244/215/346/235/203/351/231/220/351/227/256/351/242/230-evol-RPC/346/235/203/351/231/220.md +268 -0
- package/docs//345/210/240/351/231/244kernel-client-example/345/256/214/346/210/220.md +309 -0
- package/docs//345/210/240/351/231/244ws-management/345/256/214/346/210/220.md +418 -0
- package/docs//345/220/257/345/212/250/344/274/230/345/214/226/346/226/271/346/241/210.md +522 -0
- package/docs//345/220/257/345/212/250/344/276/235/350/265/226/344/270/216/346/216/222/345/272/217.md +105 -0
- package/docs//345/256/211/350/243/205/350/204/232/346/234/254/345/274/200/345/217/221/346/226/207/346/241/243.md +643 -0
- package/docs//345/256/214/346/225/264/345/220/257/345/212/250/346/265/201/347/250/213/350/256/276/350/256/241.md +452 -0
- package/docs//345/256/236/347/216/260/350/247/204/345/210/222.md +195 -0
- package/docs//345/277/203/350/267/263/346/234/272/345/210/266/351/207/215/346/236/204/346/200/273/347/273/223.md +166 -0
- package/docs//346/217/241/346/211/213/350/256/244/350/257/201/346/226/271/346/241/210-/345/256/211/345/205/250/345/256/241/346/237/245.md +176 -0
- package/docs//346/217/241/346/211/213/350/256/244/350/257/201/346/226/271/346/241/210.md +908 -0
- package/docs//346/226/207/346/241/243/346/233/264/346/226/260/346/270/205/345/215/225.md +83 -0
- package/docs//346/227/245/345/277/227/344/270/216/345/274/202/345/270/270/345/244/204/347/220/206/350/247/204/350/214/203.md +829 -0
- package/docs//346/227/245/345/277/227/350/260/203/350/257/225/345/256/236/346/210/230/346/214/207/345/215/227.md +25 -0
- package/docs//346/236/266/346/236/204/345/200/237/351/211/264/346/214/207/345/215/227.md +977 -0
- package/docs//346/236/266/346/236/204/346/224/271/351/200/240-/345/256/214/346/210/220/346/200/273/347/273/223.md +440 -0
- package/docs//346/236/266/346/236/204/347/216/260/347/212/266/344/270/216/347/273/210/346/236/201/347/233/256/346/240/207/345/257/271/346/257/224/345/210/206/346/236/220.md +508 -0
- package/docs//346/250/241/345/235/227/345/244/232/350/277/236/346/216/245/346/216/247/345/210/266/347/255/226/347/225/245.md +220 -0
- package/docs//346/250/241/345/235/227/345/256/211/350/243/205/346/234/272/345/210/266/350/256/276/350/256/241.md +500 -0
- package/docs//346/250/241/345/235/227/345/274/200/345/217/221/346/214/207/345/215/227.md +1824 -0
- package/docs//346/250/241/345/235/227/347/203/255/346/233/264/346/226/260.md +89 -0
- package/docs//346/250/241/345/235/227/350/277/234/347/250/213/351/203/250/347/275/262/345/274/200/345/217/221/350/247/204/350/214/203.md +460 -0
- package/docs//346/250/241/345/235/227/351/200/200/345/207/272/346/234/272/345/210/266/345/256/214/346/225/264/346/226/271/346/241/210.md +303 -0
- package/docs//346/250/241/345/235/227/351/205/215/347/275/256/345/212/240/350/275/275/344/270/216/347/203/255/351/207/215/350/275/275/350/247/204/350/214/203.md +369 -0
- package/docs//346/265/213/350/257/225/344/270/255/345/277/203/346/267/273/345/212/240/346/250/241/345/235/227/346/265/213/350/257/225/346/214/207/345/215/227.md +147 -0
- package/docs//347/211/210/346/234/254/351/224/201/345/256/232/347/216/257/345/242/203/347/256/241/347/220/206/346/226/271/346/241/210.md +331 -0
- package/docs//347/216/257/345/242/203/345/217/230/351/207/217/344/270/216/350/277/220/350/241/214/346/227/266/347/233/256/345/275/225/350/256/276/350/256/241.md +499 -0
- package/docs//347/216/257/345/242/203/347/256/241/347/220/206/345/256/214/346/225/264/346/226/271/346/241/210.md +334 -0
- package/docs//350/231/232/346/213/237/346/250/241/345/235/227/344/270/255/350/275/254/346/234/215/345/212/241/345/256/214/346/225/264/350/256/276/350/256/241.md +1496 -0
- package/docs//350/231/232/346/213/237/347/216/257/345/242/203/345/267/245/344/275/234/345/216/237/347/220/206.md +163 -0
- package/docs//350/256/241/345/210/222/347/256/241/347/220/206/345/231/250/344/275/277/347/224/250/346/214/207/345/215/227.md +196 -0
- package/docs//350/256/244/350/257/201/346/250/241/345/235/227/344/270/216Gateway/350/256/276/350/256/241/346/226/271/346/241/210.md +765 -0
- package/docs//350/277/234/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/346/227/247/347/211/210.md +1117 -0
- package/docs//350/277/234/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241.md +451 -0
- package/docs//351/207/215/346/236/204/346/234/272/345/210/266/346/270/205/345/215/225.md +192 -0
- package/docs//351/223/276/350/267/257/350/277/275/350/270/252/346/226/271/346/241/210.md +242 -0
- package/docs//351/231/215/347/272/247/347/255/226/347/225/245/350/256/276/350/256/241/346/226/271/346/241/210.md +618 -0
- package/extensions/agents/assistant/entry.py +113 -14
- package/extensions/agents/assistant/module.md +27 -22
- package/extensions/agents/assistant/server.py +308 -106
- package/extensions/channels/acp_channel/entry.py +114 -16
- package/extensions/channels/acp_channel/module.md +4 -0
- package/extensions/channels/acp_channel/server.py +412 -105
- package/extensions/channels/phone_channel/__init__.py +1 -0
- package/extensions/channels/phone_channel/entry.py +503 -0
- package/extensions/channels/phone_channel/module.md +31 -0
- package/extensions/channels/phone_channel/server.py +686 -0
- package/extensions/event_hub_bench/entry.py +55 -12
- package/extensions/event_hub_bench/module.md +27 -27
- package/extensions/services/audit/README.md +134 -0
- package/extensions/services/audit/collector.py +73 -0
- package/extensions/services/audit/entry.py +444 -0
- package/extensions/services/audit/module.md +66 -0
- package/extensions/services/audit/query_audit.py +111 -0
- package/extensions/services/audit/routes/__init__.py +1 -0
- package/extensions/services/audit/routes/routes_audit.py +113 -0
- package/extensions/services/audit/schemas/__init__.py +5 -0
- package/extensions/services/audit/schemas/audit_event.py +92 -0
- package/extensions/services/audit/server.py +542 -0
- package/extensions/services/audit/storage.py +95 -0
- package/extensions/services/auth/entry.py +1054 -0
- package/extensions/services/auth/module.md +31 -0
- package/extensions/services/auth/token_store.py +185 -0
- package/extensions/services/auth/verifiers/evol_account.py +101 -0
- package/extensions/services/auth/verifiers/kite_token.py +38 -0
- package/extensions/services/auth/verifiers/pairing_code.py +71 -0
- package/extensions/services/backup/entry.py +505 -201
- package/extensions/services/backup/module.md +4 -2
- package/extensions/services/dataclaw/api/__init__.py +0 -0
- package/extensions/services/dataclaw/api/admin.py +367 -0
- package/extensions/services/dataclaw/api/copyright.py +175 -0
- package/extensions/services/dataclaw/api/credits.py +177 -0
- package/extensions/services/dataclaw/api/data.py +179 -0
- package/extensions/services/dataclaw/api/demands.py +269 -0
- package/extensions/services/dataclaw/api/feeds.py +262 -0
- package/extensions/services/dataclaw/api/identity.py +505 -0
- package/extensions/services/dataclaw/api/notifications.py +104 -0
- package/extensions/services/dataclaw/api/reviews.py +138 -0
- package/extensions/services/dataclaw/api/search.py +153 -0
- package/extensions/services/dataclaw/api/subscriptions.py +157 -0
- package/extensions/services/dataclaw/config.json5 +96 -0
- package/extensions/services/dataclaw/core/__init__.py +0 -0
- package/extensions/services/dataclaw/core/auth.py +95 -0
- package/extensions/services/dataclaw/core/config.py +50 -0
- package/extensions/services/dataclaw/core/database.py +70 -0
- package/extensions/services/dataclaw/entry.py +416 -0
- package/extensions/services/dataclaw/gofeed/351/241/271/347/233/256/346/211/200/346/234/211/346/235/203/350/275/254/347/247/273/346/265/201/347/250/213/350/257/264/346/230/216.md +309 -0
- package/extensions/services/dataclaw/migrate.py +283 -0
- package/extensions/services/dataclaw/models/__init__.py +0 -0
- package/extensions/services/dataclaw/module.md +49 -0
- package/extensions/services/dataclaw/requirements.txt +18 -0
- package/extensions/services/dataclaw/server.py +759 -0
- package/extensions/services/dataclaw/services/__init__.py +0 -0
- package/extensions/services/dataclaw/services/agent_service.py +132 -0
- package/extensions/services/dataclaw/services/credit_service.py +235 -0
- package/extensions/services/dataclaw/services/email_service.py +140 -0
- package/extensions/services/dataclaw/services/feed_service.py +259 -0
- package/extensions/services/dataclaw/services/notification_service.py +209 -0
- package/extensions/services/dataclaw/services/oauth_service.py +275 -0
- package/extensions/services/dataclaw/services/pricing.py +102 -0
- package/extensions/services/dataclaw/services/quality.py +79 -0
- package/extensions/services/dataclaw/services/reputation.py +142 -0
- package/extensions/services/dataclaw/services/sms_service.py +174 -0
- package/extensions/services/dataclaw/static/css/common.css +853 -0
- package/extensions/services/dataclaw/static/css/themes/blue.css +42 -0
- package/extensions/services/dataclaw/static/css/themes/dark.css +42 -0
- package/extensions/services/dataclaw/static/css/themes/light.css +35 -0
- package/extensions/services/dataclaw/static/js/api.js +103 -0
- package/extensions/services/dataclaw/static/js/common.js +321 -0
- package/extensions/services/dataclaw/static/js/i18n.js +95 -0
- package/extensions/services/dataclaw/static/js/pages/admin.js +152 -0
- package/extensions/services/dataclaw/static/js/pages/dashboard.js +82 -0
- package/extensions/services/dataclaw/static/js/pages/feed-detail.js +180 -0
- package/extensions/services/dataclaw/static/js/pages/feed-manage.js +158 -0
- package/extensions/services/dataclaw/static/js/theme.js +46 -0
- package/extensions/services/dataclaw/static/locales/en-US.json +464 -0
- package/extensions/services/dataclaw/static/locales/ja-JP.json +464 -0
- package/extensions/services/dataclaw/static/locales/zh-CN.json +464 -0
- package/extensions/services/dataclaw/templates/admin/index.html +90 -0
- package/extensions/services/dataclaw/templates/base.html +136 -0
- package/extensions/services/dataclaw/templates/credits/balance.html +106 -0
- package/extensions/services/dataclaw/templates/credits/deposit.html +164 -0
- package/extensions/services/dataclaw/templates/credits/history.html +90 -0
- package/extensions/services/dataclaw/templates/dashboard.html +52 -0
- package/extensions/services/dataclaw/templates/demands/create.html +78 -0
- package/extensions/services/dataclaw/templates/demands/detail.html +136 -0
- package/extensions/services/dataclaw/templates/demands/list.html +94 -0
- package/extensions/services/dataclaw/templates/feeds/create.html +95 -0
- package/extensions/services/dataclaw/templates/feeds/detail.html +110 -0
- package/extensions/services/dataclaw/templates/feeds/list.html +110 -0
- package/extensions/services/dataclaw/templates/feeds/manage.html +88 -0
- package/extensions/services/dataclaw/templates/index.html +185 -0
- package/extensions/services/dataclaw/templates/login.html +246 -0
- package/extensions/services/dataclaw/templates/register.html +164 -0
- package/extensions/services/dataclaw/templates/settings/notifications.html +96 -0
- package/extensions/services/dataclaw/templates/settings/profile.html +167 -0
- package/extensions/services/dataclaw/templates/subscriptions/list.html +64 -0
- package/extensions/services/dataclaw/tests/__init__.py +0 -0
- package/extensions/services/dataclaw/tests/conftest.py +68 -0
- package/extensions/services/dataclaw/tests/integration/__init__.py +0 -0
- package/extensions/services/dataclaw/tests/integration/test_workflows.py +239 -0
- package/extensions/services/dataclaw/tests/unit/__init__.py +0 -0
- package/extensions/services/dataclaw/tests/unit/test_admin.py +70 -0
- package/extensions/services/dataclaw/tests/unit/test_copyright.py +63 -0
- package/extensions/services/dataclaw/tests/unit/test_credits.py +80 -0
- package/extensions/services/dataclaw/tests/unit/test_data.py +98 -0
- package/extensions/services/dataclaw/tests/unit/test_demands.py +106 -0
- package/extensions/services/dataclaw/tests/unit/test_feeds.py +98 -0
- package/extensions/services/dataclaw/tests/unit/test_identity.py +88 -0
- package/extensions/services/dataclaw/tests/unit/test_notifications.py +36 -0
- package/extensions/services/dataclaw/tests/unit/test_reviews.py +68 -0
- package/extensions/services/dataclaw/tests/unit/test_search.py +64 -0
- package/extensions/services/dataclaw/tests/unit/test_subscriptions.py +65 -0
- package/extensions/services/dataclaw/tests/unit/test_system.py +106 -0
- package/extensions/services/dataclaw/utils/__init__.py +0 -0
- package/extensions/services/dataclaw/utils/crypto.py +38 -0
- package/extensions/services/dataclaw/utils/id_generator.py +52 -0
- package/extensions/services/dataclaw/ws/__init__.py +0 -0
- package/extensions/services/dataclaw/ws/handler.py +163 -0
- package/extensions/services/dataclaw//345/215/217/350/256/2561-/351/241/271/347/233/256/346/235/241/344/273/266/346/216/210/346/235/203/344/270/216/350/202/241/346/235/203/345/257/271/344/273/267/345/215/217/350/256/256.md +243 -0
- package/extensions/services/dataclaw//345/215/217/350/256/2562-/351/241/271/347/233/256/350/264/255/344/271/260/346/235/203/344/270/216/345/244/226/345/214/205/345/247/224/346/211/230/345/274/200/345/217/221/345/215/217/350/256/256.md +434 -0
- package/extensions/services/evol/__init__.py +1 -0
- package/extensions/services/evol/async_http.py +551 -0
- package/extensions/services/evol/auth_manager.py +602 -0
- package/extensions/services/evol/config.json5 +16 -0
- package/extensions/services/evol/config_loader.py +117 -0
- package/extensions/services/evol/entry.py +568 -0
- package/extensions/services/evol/evol_api.py +969 -0
- package/extensions/services/evol/evol_config.json5 +29 -0
- package/extensions/services/evol/mfa_totp.py +77 -0
- package/extensions/services/evol/migrate_tokens.py +122 -0
- package/extensions/services/evol/module.md +150 -0
- package/extensions/services/evol/nonce_pool.py +113 -0
- package/extensions/services/evol/oauth_manager.py +223 -0
- package/extensions/services/evol/pairing.py +251 -0
- package/extensions/services/evol/pairing_codes.jsonl +2 -0
- package/extensions/services/evol/relay.py +1031 -0
- package/extensions/services/evol/relay_config.json5 +85 -0
- package/extensions/services/evol/routes/__init__.py +1 -0
- package/extensions/services/evol/routes/routes_llm.py +231 -0
- package/extensions/services/evol/routes/routes_rpc.py +90 -0
- package/extensions/services/evol/routes/routes_test.py +68 -0
- package/extensions/services/evol/server.py +2426 -0
- package/extensions/services/evol/static/assets/CommissionView-Cs_ys6Gm.js +1 -0
- package/extensions/services/evol/static/assets/CommissionView-DACet_Oo.css +1 -0
- package/extensions/services/evol/static/assets/IframePage-DbO11U9G.js +1 -0
- package/extensions/services/evol/static/assets/IframePage-c572lT8i.css +1 -0
- package/extensions/services/evol/static/assets/TeamDetailView-DULrGD7k.css +1 -0
- package/extensions/services/evol/static/assets/TeamDetailView-gy_MBEqG.js +139 -0
- package/extensions/services/evol/static/assets/element-plus-Bd7pZkkM.js +63 -0
- package/extensions/services/evol/static/assets/index-CmMONKzG.css +1 -0
- package/extensions/services/evol/static/assets/index-D44bBe__.js +2 -0
- package/extensions/services/evol/static/assets/vue-vendor-DtF-__I4.js +29 -0
- package/extensions/services/evol/static/index.html +16 -0
- package/extensions/services/evol/static/logo.png +0 -0
- package/extensions/services/evol/stats_manager.py +243 -0
- package/extensions/services/evol/web/README.md +89 -0
- package/extensions/services/evol/web/build.bat +44 -0
- package/extensions/services/evol/web/index.html +13 -0
- package/extensions/services/evol/web/package-lock.json +1718 -0
- package/extensions/services/evol/web/package.json +26 -0
- package/extensions/services/evol/web/public/logo.png +0 -0
- package/extensions/services/evol/web/src/App.vue +7 -0
- package/extensions/services/evol/web/src/components/layout/AppHeader.vue +202 -0
- package/extensions/services/evol/web/src/components/layout/AppLayout.vue +61 -0
- package/extensions/services/evol/web/src/components/layout/AppSidebar.vue +115 -0
- package/extensions/services/evol/web/src/components/login/LoginPage.vue +271 -0
- package/extensions/services/evol/web/src/components/team/AddMemberModal.vue +181 -0
- package/extensions/services/evol/web/src/components/team/GroupTreeNode.vue +156 -0
- package/extensions/services/evol/web/src/components/team/TeamAlertConfig.vue +221 -0
- package/extensions/services/evol/web/src/components/team/TeamBillModal.vue +165 -0
- package/extensions/services/evol/web/src/components/team/TeamMembersAndGroups.vue +499 -0
- package/extensions/services/evol/web/src/components/team/TeamStatsPanel.vue +907 -0
- package/extensions/services/evol/web/src/components/team/TreeNode.vue +331 -0
- package/extensions/services/evol/web/src/components/team/stats/StatsExportProgress.vue +44 -0
- package/extensions/services/evol/web/src/components/team/stats/StatsHeader.vue +89 -0
- package/extensions/services/evol/web/src/components/team/stats/StatsMemberDetail.vue +415 -0
- package/extensions/services/evol/web/src/components/team/stats/StatsSummary.vue +42 -0
- package/extensions/services/evol/web/src/components/team/stats/helpers.ts +195 -0
- package/extensions/services/evol/web/src/components/team/stats/stats.css +741 -0
- package/extensions/services/evol/web/src/components/team/stats/useStatsApi.ts +114 -0
- package/extensions/services/evol/web/src/components/team/stats/useStatsCharts.ts +242 -0
- package/extensions/services/evol/web/src/components/team/stats/useStatsExport.ts +232 -0
- package/extensions/services/evol/web/src/composables/useFormatters.ts +42 -0
- package/extensions/services/evol/web/src/composables/useTheme.ts +52 -0
- package/extensions/services/evol/web/src/env.d.ts +7 -0
- package/extensions/services/evol/web/src/i18n/en.ts +361 -0
- package/extensions/services/evol/web/src/i18n/index.ts +36 -0
- package/extensions/services/evol/web/src/i18n/zh.ts +379 -0
- package/extensions/services/evol/web/src/main.ts +21 -0
- package/extensions/services/evol/web/src/router/index.ts +81 -0
- package/extensions/services/evol/web/src/services/kernel-client.ts +406 -0
- package/extensions/services/evol/web/src/stores/auth.ts +189 -0
- package/extensions/services/evol/web/src/stores/connection.ts +134 -0
- package/extensions/services/evol/web/src/stores/pages.ts +79 -0
- package/extensions/services/evol/web/src/styles/base.css +213 -0
- package/extensions/services/evol/web/src/styles/variables.css +138 -0
- package/extensions/services/evol/web/src/types/rpc.ts +35 -0
- package/extensions/services/evol/web/src/types/token.ts +87 -0
- package/extensions/services/evol/web/src/views/AccountView.vue +1532 -0
- package/extensions/services/evol/web/src/views/AiServiceView.vue +219 -0
- package/extensions/services/evol/web/src/views/CommissionView.vue +1220 -0
- package/extensions/services/evol/web/src/views/CreditsView.vue +131 -0
- package/extensions/services/evol/web/src/views/EndpointView.vue +163 -0
- package/extensions/services/evol/web/src/views/IframePage.vue +120 -0
- package/extensions/services/evol/web/src/views/TeamDetailView.vue +473 -0
- package/extensions/services/evol/web/src/views/TeamView.vue +332 -0
- package/extensions/services/evol/web/tsconfig.json +31 -0
- package/extensions/services/evol/web/tsconfig.node.json +10 -0
- package/extensions/services/evol/web/vite.config.ts +49 -0
- package/extensions/services/evolmem/__init__.py +0 -0
- package/extensions/services/evolmem/entry.py +387 -0
- package/extensions/services/evolmem/hooks/__init__.py +0 -0
- package/extensions/services/evolmem/hooks/assistant_stop.py +228 -0
- package/extensions/services/evolmem/hooks/common.py +76 -0
- package/extensions/services/evolmem/hooks/pre_tool_use.py +56 -0
- package/extensions/services/evolmem/hooks/session_end.py +133 -0
- package/extensions/services/evolmem/hooks/session_start.py +229 -0
- package/extensions/services/evolmem/hooks/user_prompt.py +122 -0
- package/extensions/services/evolmem/module.md +48 -0
- package/extensions/services/evolmem/prompts/00-server-info.md +28 -0
- package/extensions/services/evolmem/prompts/01-behavior.md +46 -0
- package/extensions/services/evolmem/prompts/02-summary-format.md +112 -0
- package/extensions/services/evolmem/prompts/03-file-query.md +92 -0
- package/extensions/services/evolmem/prompts/04-topic-stats.md +11 -0
- package/extensions/services/evolmem/prompts/05-recent-topics.md +84 -0
- package/extensions/services/evolmem/scripts/__init__.py +0 -0
- package/extensions/services/evolmem/scripts/extract_keywords.py +40 -0
- package/extensions/services/evolmem/scripts/search_topics.py +91 -0
- package/extensions/services/evolmem/server.py +641 -0
- package/extensions/services/gateway/entry.py +964 -0
- package/extensions/services/gateway/module.md +29 -0
- package/extensions/services/gateway/nonce_pool.py +65 -0
- package/extensions/services/gateway/relay.py +133 -0
- package/extensions/services/gateway/ws_server.py +285 -0
- package/extensions/services/kite_console/auth_manager.py +603 -0
- package/extensions/services/kite_console/config.json5 +19 -0
- package/extensions/services/kite_console/config_loader.py +117 -0
- package/extensions/services/kite_console/entry.py +528 -0
- package/extensions/services/kite_console/evol_api.py +179 -0
- package/extensions/services/kite_console/evol_config.json5 +29 -0
- package/extensions/services/kite_console/mfa_totp.py +77 -0
- package/extensions/services/kite_console/migrate_tokens.py +122 -0
- package/extensions/services/kite_console/module.md +37 -0
- package/extensions/services/kite_console/nonce_pool.py +113 -0
- package/extensions/services/kite_console/oauth_manager.py +223 -0
- package/extensions/services/kite_console/pairing.py +280 -0
- package/extensions/services/kite_console/pairing_codes.jsonl +2 -0
- package/extensions/services/kite_console/relay.py +1350 -0
- package/extensions/services/kite_console/relay_config.json5 +96 -0
- package/extensions/services/kite_console/routes/__init__.py +1 -0
- package/extensions/services/kite_console/routes/routes_llm.py +231 -0
- package/extensions/services/kite_console/routes/routes_proxy.py +115 -0
- package/extensions/services/kite_console/routes/routes_rpc.py +89 -0
- package/extensions/services/kite_console/routes/routes_test.py +68 -0
- package/extensions/services/kite_console/server.py +1742 -0
- package/extensions/services/kite_console/static/css/style.css +1854 -0
- package/extensions/services/kite_console/static/index.html +1524 -0
- package/extensions/services/kite_console/static/js/dialog.js +292 -0
- package/extensions/services/kite_console/static/js/evol-app.js +7740 -0
- package/extensions/services/kite_console/static/js/evol-app.js.backup +2777 -0
- package/extensions/services/kite_console/static/js/kernel-client.js +560 -0
- package/extensions/services/kite_console/static/js/kernel-client.js.backup +434 -0
- package/extensions/services/kite_console/static/js/registry-tests.js +592 -0
- package/extensions/services/kite_console/static/js/tests/ARCHITECTURE.md +67 -0
- package/extensions/services/kite_console/static/js/tests/README.md +140 -0
- package/extensions/services/kite_console/static/js/tests/index.js +161 -0
- package/extensions/services/kite_console/static/js/tests/integration/auth.js +120 -0
- package/extensions/services/kite_console/static/js/tests/integration/channel-interaction.js +188 -0
- package/extensions/services/kite_console/static/js/tests/integration/elastic-connection.js +115 -0
- package/extensions/services/kite_console/static/js/tests/integration/full-workflow.js +43 -0
- package/extensions/services/kite_console/static/js/tests/integration/multi-instance.js +304 -0
- package/extensions/services/kite_console/static/js/tests/integration/nested-rpc.js +266 -0
- package/extensions/services/kite_console/static/js/tests/integration/pingpong.js +25 -0
- package/extensions/services/kite_console/static/js/tests/integration/redis.js +227 -0
- package/extensions/services/kite_console/static/js/tests/integration/registry-core.js +52 -0
- package/extensions/services/kite_console/static/js/tests/integration/remote-deploy.js +85 -0
- package/extensions/services/kite_console/static/js/tests/integration/require-init.js +96 -0
- package/extensions/services/kite_console/static/js/tests/integration/scaling-control.js +193 -0
- package/extensions/services/kite_console/static/js/tests/integration/trace.js +109 -0
- package/extensions/services/kite_console/static/js/tests/modules/acp_channel.js +339 -0
- package/extensions/services/kite_console/static/js/tests/modules/auth.js +96 -0
- package/extensions/services/kite_console/static/js/tests/modules/backup.js +49 -0
- package/extensions/services/kite_console/static/js/tests/modules/gateway.js +41 -0
- package/extensions/services/kite_console/static/js/tests/modules/kernel.js +90 -0
- package/extensions/services/kite_console/static/js/tests/modules/launcher.js +75 -0
- package/extensions/services/kite_console/static/js/tests/modules/multi_instance.js +129 -0
- package/extensions/services/kite_console/static/js/tests/modules/phone_channel.js +364 -0
- package/extensions/services/kite_console/static/js/tests/modules/redis.js +178 -0
- package/extensions/services/kite_console/static/js/tests/modules/watchdog.js +60 -0
- package/extensions/services/kite_console/static/js/tests/modules/web.js +70 -0
- package/extensions/services/kite_console/static/js/tests/test-runner.js +123 -0
- package/extensions/services/kite_console/static/js/virtual-list.js +200 -0
- package/extensions/services/kite_console/static/pairing.html +248 -0
- package/extensions/services/kite_console/static/test_kernel_client_token.html +352 -0
- package/extensions/services/kite_console/static/test_registry.html +262 -0
- package/extensions/services/kite_console/static/test_relay.html +462 -0
- package/extensions/services/kite_console/stats_manager.py +247 -0
- package/extensions/services/logs/README.md +215 -0
- package/extensions/services/logs/api_logger.py +37 -0
- package/extensions/services/logs/baseline.py +121 -0
- package/extensions/services/logs/cleaner.py +76 -0
- package/extensions/services/logs/entry.py +449 -0
- package/extensions/services/logs/formatter.py +129 -0
- package/extensions/services/logs/module.md +38 -0
- package/extensions/services/logs/quick_diagnostic.py +128 -0
- package/extensions/services/logs/routes/__init__.py +1 -0
- package/extensions/services/logs/routes/routes_logs.py +218 -0
- package/extensions/services/logs/routes/routes_logs.py.backup +173 -0
- package/extensions/services/logs/scanner.py +100 -0
- package/extensions/services/logs/searcher.py +263 -0
- package/extensions/services/logs/server.py +553 -0
- package/extensions/services/logs.zip +0 -0
- package/extensions/services/model_service/config.json5 +30 -0
- package/extensions/services/model_service/entry.py +633 -162
- package/extensions/services/model_service/module.md +11 -2
- package/extensions/services/proxy/.claude/settings.local.json +13 -0
- package/extensions/services/proxy/__init__.py +0 -0
- package/extensions/services/proxy/agentcp/LICENCE +178 -0
- package/extensions/services/proxy/agentcp/README copy.md +85 -0
- package/extensions/services/proxy/agentcp/README.md +260 -0
- package/extensions/services/proxy/agentcp/__init__.py +16 -0
- package/extensions/services/proxy/agentcp/agent.py +4 -0
- package/extensions/services/proxy/agentcp/agentcp.py +2494 -0
- package/extensions/services/proxy/agentcp/agentprofile.json +89 -0
- package/extensions/services/proxy/agentcp/ap/__init__.py +16 -0
- package/extensions/services/proxy/agentcp/ap/ap_client.py +316 -0
- package/extensions/services/proxy/agentcp/assets/images/wechat_qr.png +0 -0
- package/extensions/services/proxy/agentcp/backup/metrics.json +31 -0
- package/extensions/services/proxy/agentcp/base/__init__.py +20 -0
- package/extensions/services/proxy/agentcp/base/auth_client.py +257 -0
- package/extensions/services/proxy/agentcp/base/client.py +112 -0
- package/extensions/services/proxy/agentcp/base/env.py +34 -0
- package/extensions/services/proxy/agentcp/base/html_util.py +336 -0
- package/extensions/services/proxy/agentcp/base/log.py +98 -0
- package/extensions/services/proxy/agentcp/ca/__init__.py +17 -0
- package/extensions/services/proxy/agentcp/ca/ca_client.py +414 -0
- package/extensions/services/proxy/agentcp/ca/ca_root.py +74 -0
- package/extensions/services/proxy/agentcp/context/__init__.py +20 -0
- package/extensions/services/proxy/agentcp/context/context.py +73 -0
- package/extensions/services/proxy/agentcp/context/exceptions.py +114 -0
- package/extensions/services/proxy/agentcp/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/create_profile_weather.py +125 -0
- package/extensions/services/proxy/agentcp/db/__init__.py +15 -0
- package/extensions/services/proxy/agentcp/db/db_mananger.py +550 -0
- package/extensions/services/proxy/agentcp/docs/UDP_HEARTBEAT_FIX_REPORT.md +265 -0
- package/extensions/services/proxy/agentcp/docs/heartbeat_issue_analysis.md +291 -0
- package/extensions/services/proxy/agentcp/file/__init__.py +16 -0
- package/extensions/services/proxy/agentcp/file/file_client.py +141 -0
- package/extensions/services/proxy/agentcp/file/wss_binary_message.py +137 -0
- package/extensions/services/proxy/agentcp/hcp.py +299 -0
- package/extensions/services/proxy/agentcp/heartbeat/__init__.py +16 -0
- package/extensions/services/proxy/agentcp/heartbeat/heartbeat_client.py +360 -0
- package/extensions/services/proxy/agentcp/improved_scheduler.py +498 -0
- package/extensions/services/proxy/agentcp/llm_agent_utils.py +249 -0
- package/extensions/services/proxy/agentcp/llm_server.py +172 -0
- package/extensions/services/proxy/agentcp/mermaid.py +210 -0
- package/extensions/services/proxy/agentcp/message.py +149 -0
- package/extensions/services/proxy/agentcp/metrics.py +256 -0
- package/extensions/services/proxy/agentcp/monitoring/__init__.py +20 -0
- package/extensions/services/proxy/agentcp/monitoring/global_monitor.py +27 -0
- package/extensions/services/proxy/agentcp/monitoring/metrics_store.py +325 -0
- package/extensions/services/proxy/agentcp/monitoring/monitoring_service.py +269 -0
- package/extensions/services/proxy/agentcp/monitoring/sliding_window.py +222 -0
- package/extensions/services/proxy/agentcp/monitoring/standalone_reader.py +224 -0
- package/extensions/services/proxy/agentcp/msg/__init__.py +21 -0
- package/extensions/services/proxy/agentcp/msg/connection_manager.py +456 -0
- package/extensions/services/proxy/agentcp/msg/message_client.py +2058 -0
- package/extensions/services/proxy/agentcp/msg/message_serialize.py +263 -0
- package/extensions/services/proxy/agentcp/msg/open_ai_message.py +88 -0
- package/extensions/services/proxy/agentcp/msg/session_manager.py +1062 -0
- package/extensions/services/proxy/agentcp/msg/stream_client.py +267 -0
- package/extensions/services/proxy/agentcp/msg/websocket_file_receiver.py +89 -0
- package/extensions/services/proxy/agentcp/msg/ws_logger.py +685 -0
- package/extensions/services/proxy/agentcp/msg/wss_binary_message.py +137 -0
- package/extensions/services/proxy/agentcp/requirements.txt +7 -0
- package/extensions/services/proxy/agentcp/samples/agent_graph/README.md +37 -0
- package/extensions/services/proxy/agentcp/samples/agent_graph/agentprofile.json +89 -0
- package/extensions/services/proxy/agentcp/samples/agent_graph/create_profile.py +138 -0
- package/extensions/services/proxy/agentcp/samples/agent_graph/main.py +164 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/create_profile.py +123 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/llm/create_profile.py +129 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/llm/env.json +5 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/llm/main.py +146 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/main.py +123 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/readme.md +379 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/search/create_profile.py +129 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/search/main.py +28 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/tool/create_profile.py +129 -0
- package/extensions/services/proxy/agentcp/samples/agent_use/tool/main.py +20 -0
- package/extensions/services/proxy/agentcp/samples/ali_amap/README.md +97 -0
- package/extensions/services/proxy/agentcp/samples/ali_amap/amap_agent.py +88 -0
- package/extensions/services/proxy/agentcp/samples/ali_amap/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/compute_agent/agent/powershell.py +228 -0
- package/extensions/services/proxy/agentcp/samples/compute_agent/agent/software.py +63 -0
- package/extensions/services/proxy/agentcp/samples/compute_agent/agent/tools.py +36 -0
- package/extensions/services/proxy/agentcp/samples/compute_agent/browser_user.py +41 -0
- package/extensions/services/proxy/agentcp/samples/deepseek/README.md +79 -0
- package/extensions/services/proxy/agentcp/samples/deepseek/create_profile.py +126 -0
- package/extensions/services/proxy/agentcp/samples/deepseek/deepseek.py +42 -0
- package/extensions/services/proxy/agentcp/samples/dify_chat/README.md +78 -0
- package/extensions/services/proxy/agentcp/samples/dify_chat/create_profile.py +126 -0
- package/extensions/services/proxy/agentcp/samples/dify_chat/dify_chat.py +47 -0
- package/extensions/services/proxy/agentcp/samples/dify_workflow/README.md +78 -0
- package/extensions/services/proxy/agentcp/samples/dify_workflow/create_profile.py +126 -0
- package/extensions/services/proxy/agentcp/samples/dify_workflow/dify_workflow.py +46 -0
- package/extensions/services/proxy/agentcp/samples/executor/README.md +44 -0
- package/extensions/services/proxy/agentcp/samples/executor/agentprofile.json +89 -0
- package/extensions/services/proxy/agentcp/samples/executor/create_profile.py +139 -0
- package/extensions/services/proxy/agentcp/samples/executor/main.py +160 -0
- package/extensions/services/proxy/agentcp/samples/filereader/README.md +45 -0
- package/extensions/services/proxy/agentcp/samples/filereader/agentprofile.json +90 -0
- package/extensions/services/proxy/agentcp/samples/filereader/create_profile.py +137 -0
- package/extensions/services/proxy/agentcp/samples/filereader/main.py +253 -0
- package/extensions/services/proxy/agentcp/samples/filewriter/README.md +38 -0
- package/extensions/services/proxy/agentcp/samples/filewriter/agentprofile.json +91 -0
- package/extensions/services/proxy/agentcp/samples/filewriter/create_profile.py +138 -0
- package/extensions/services/proxy/agentcp/samples/filewriter/main.py +289 -0
- package/extensions/services/proxy/agentcp/samples/hcp/README.md +85 -0
- package/extensions/services/proxy/agentcp/samples/hcp/acp_weather_agent.zip +0 -0
- package/extensions/services/proxy/agentcp/samples/hcp/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/hcp/hcp.py +237 -0
- package/extensions/services/proxy/agentcp/samples/helloworld/README.md +68 -0
- package/extensions/services/proxy/agentcp/samples/helloworld/hello_world.py +40 -0
- package/extensions/services/proxy/agentcp/samples/llm_agent/MEADME.md +117 -0
- package/extensions/services/proxy/agentcp/samples/llm_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/llm_agent/qwen_agent.py +136 -0
- package/extensions/services/proxy/agentcp/samples/local_llm_agent/README.md +90 -0
- package/extensions/services/proxy/agentcp/samples/local_llm_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/local_llm_agent/main.py +49 -0
- package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/README.md +55 -0
- package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/main.py +23 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/README.md +103 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/main.py +69 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/README.md +58 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/main.py +25 -0
- package/extensions/services/proxy/agentcp/samples/qwen3/README.md +71 -0
- package/extensions/services/proxy/agentcp/samples/qwen3/create_profile.py +126 -0
- package/extensions/services/proxy/agentcp/samples/qwen3/qwen3.py +37 -0
- package/extensions/services/proxy/agentcp/samples/qwen3_tools/README.md +133 -0
- package/extensions/services/proxy/agentcp/samples/qwen3_tools/create_profile.py +126 -0
- package/extensions/services/proxy/agentcp/samples/qwen3_tools/qwen3_tools.py +98 -0
- package/extensions/services/proxy/agentcp/samples/search/create_profile_qwen.py +125 -0
- package/extensions/services/proxy/agentcp/samples/search/create_profile_search.py +125 -0
- package/extensions/services/proxy/agentcp/samples/search/qwen_agent.py +136 -0
- package/extensions/services/proxy/agentcp/samples/search/search_agent.py +170 -0
- package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/README.md +89 -0
- package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/create_profile.py +125 -0
- package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/main.py +44 -0
- package/extensions/services/proxy/agentcp/utils/__init__.py +15 -0
- package/extensions/services/proxy/agentcp/utils/file_util.py +117 -0
- package/extensions/services/proxy/agentcp/utils/proxy_bypass.py +99 -0
- package/extensions/services/proxy/agentcp/workflow.py +203 -0
- package/extensions/services/proxy/aid_manager.py +419 -0
- package/extensions/services/proxy/auth_bridge.py +182 -0
- package/extensions/services/proxy/config_store.py +79 -0
- package/extensions/services/proxy/entry.py +528 -0
- package/extensions/services/proxy/evol/__init__.py +1 -0
- package/extensions/services/proxy/evol/config.py +37 -0
- package/extensions/services/proxy/evol/http/__init__.py +1 -0
- package/extensions/services/proxy/evol/http/async_http.py +551 -0
- package/extensions/services/proxy/evol/log.py +28 -0
- package/extensions/services/proxy/evol/presenter/__init__.py +2 -0
- package/extensions/services/proxy/evol/presenter/agentIdPresenter.py +1031 -0
- package/extensions/services/proxy/evol/presenter/apikeyPresenter.py +96 -0
- package/extensions/services/proxy/evol/presenter/configPresenter.py +234 -0
- package/extensions/services/proxy/evol/presenter/userPresenter.py +71 -0
- package/extensions/services/proxy/evol/server/__init__.py +1 -0
- package/extensions/services/proxy/evol/server/claude_proxy_async.py +3434 -0
- package/extensions/services/proxy/evol/server/openclaw_proxy.py +1861 -0
- package/extensions/services/proxy/evol/server/proxy_config.py +15 -0
- package/extensions/services/proxy/evol/server/proxy_engine.py +501 -0
- package/extensions/services/proxy/evol/version.py +24 -0
- package/extensions/services/proxy/module.md +151 -0
- package/extensions/services/proxy/server.py +952 -0
- package/extensions/services/redis/ALIGNMENT_CHECKLIST.md +121 -0
- package/extensions/services/redis/ALIGNMENT_STATUS.md +548 -0
- package/extensions/services/redis/config.json5 +8 -0
- package/extensions/services/redis/entry.py +1509 -0
- package/extensions/services/redis/entry.py.backup +405 -0
- package/extensions/services/redis/module.md +48 -0
- package/extensions/services/redis/redis_builtin.py +332 -0
- package/extensions/services/redis/redis_external.py +164 -0
- package/extensions/services/testUi/entry.py +446 -0
- package/extensions/services/testUi/module.md +18 -0
- package/extensions/services/testUi/ui/cards.html +131 -0
- package/extensions/services/testUi/ui/index.html +22 -0
- package/extensions/services/testUi/ui/particles.html +143 -0
- package/extensions/services/watchdog/entry.py +1258 -767
- package/extensions/services/watchdog/module.md +3 -0
- package/extensions/services/watchdog/monitor.py +483 -75
- package/extensions/services/web/auth_manager.py +602 -0
- package/extensions/services/web/config.json5 +11 -0
- package/extensions/services/web/entry.py +598 -478
- package/extensions/services/web/mfa_totp.py +77 -0
- package/extensions/services/web/module.md +17 -14
- package/extensions/services/web/nonce_pool.py +113 -0
- package/extensions/services/web/oauth_manager.py +223 -0
- package/extensions/services/web/pairing.py +3 -2
- package/extensions/services/web/pairing_codes.jsonl +1 -0
- package/extensions/services/web/relay.py +442 -63
- package/extensions/services/web/relay_config.json5 +1 -2
- package/extensions/services/web/routes/routes_rpc.py +6 -6
- package/extensions/services/web/server.py +380 -181
- package/extensions/services/web/static/index.html +1752 -1738
- package/extensions/services/web/static/js/app.js +32 -0
- package/extensions/services/web/static/js/kernel-client.js +48 -9
- package/extensions/services/web/static/js/token-manager.js +10 -10
- package/extensions/services/web/vendor/bluetooth/audio.py +1 -1
- package/extensions/services/web/vendor/config.py +2 -2
- package/extensions/services/web/vendor/storage/identity.py +1 -1
- package/kernel/entry.py +77 -23
- package/kernel/event_hub.py +1122 -74
- package/kernel/module.md +26 -1
- package/kernel/registry_store.py +209 -36
- package/kernel/rpc_router.py +1400 -465
- package/kernel/server.py +1084 -108
- package/kite_cli/builders/__init__.py +4 -0
- package/kite_cli/builders/base.py +67 -0
- package/kite_cli/builders/custom.py +31 -0
- package/kite_cli/builders/detector.py +56 -0
- package/kite_cli/builders/go.py +34 -0
- package/kite_cli/builders/gradle.py +41 -0
- package/kite_cli/builders/maven.py +36 -0
- package/kite_cli/builders/npm.py +44 -0
- package/kite_cli/builders/python.py +37 -0
- package/kite_cli/commands/BUILD_GUIDE.md +109 -0
- package/kite_cli/commands/build.py +142 -0
- package/kite_cli/commands/check.py +60 -0
- package/kite_cli/commands/config.py +156 -0
- package/kite_cli/commands/deps.py +58 -0
- package/kite_cli/commands/deps_install.py +67 -0
- package/kite_cli/commands/disable.py +162 -0
- package/kite_cli/commands/enable.py +162 -0
- package/kite_cli/commands/env_check.py +45 -0
- package/kite_cli/commands/export.py +96 -0
- package/kite_cli/commands/import_cmd.py +110 -0
- package/kite_cli/commands/install.py +50 -23
- package/kite_cli/commands/install_skill.py +107 -0
- package/kite_cli/commands/list.py +128 -31
- package/kite_cli/commands/outdated.py +202 -0
- package/kite_cli/commands/prepare.py +49 -0
- package/kite_cli/commands/search.py +33 -17
- package/kite_cli/commands/update.py +115 -2
- package/kite_cli/commands/venv_setup.py +56 -0
- package/kite_cli/commands/why.py +48 -0
- package/kite_cli/core/config_manager.py +145 -0
- package/kite_cli/core/downloader.py +32 -2
- package/kite_cli/main.py +179 -5
- package/kite_cli/utils/colors.py +153 -0
- package/kite_cli/utils/dependency_graph.py +209 -0
- package/kite_cli/utils/process.py +55 -0
- package/kite_cli/utils/progress.py +207 -0
- package/kite_cli/utils/table.py +101 -0
- package/launcher/count_lines.py +192 -43
- package/launcher/entry.py +4543 -2517
- package/launcher/logging_setup.py +54 -1
- package/launcher/module.md +37 -2
- package/launcher/module_scanner.py +103 -20
- package/launcher/process_manager.py +355 -76
- package/main.py +10 -1
- package/package.json +11 -1
- package/python_version.json +4 -0
- package/requirements.txt +41 -0
- package/scripts/auto-fix-deps.py +128 -0
- package/scripts/env-manager.js +351 -0
- package/scripts/final-test.js +78 -0
- package/scripts/python-env.js +79 -0
- package/scripts/scan_dependencies.py +461 -0
- package/scripts/setup-python-env.js +700 -0
- package/scripts/test-alluser.js +48 -0
- package/scripts/test-different-version.js +86 -0
- package/scripts/test-direct.js +63 -0
- package/scripts/test-extract-installer.js +28 -0
- package/scripts/test-install-log.js +54 -0
- package/scripts/test-installer.js +39 -0
- package/scripts/test-integration.js +250 -0
- package/scripts/test-real-install.js +210 -0
- package/scripts/test-targetdir.js +49 -0
- package/scripts/test-venv-real.js +47 -0
- package/scripts/test-venv-simple.js +57 -0
- package/scripts/test-wait.js +49 -0
- package/scripts/test-with-log.js +63 -0
- package/extensions/services/web/config.yaml +0 -149
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# GoFeed 项目所有权转移流程说明
|
|
2
|
+
|
|
3
|
+
## 一、参与方
|
|
4
|
+
|
|
5
|
+
- **甲方**:你个人(项目原始所有人)
|
|
6
|
+
- **乙方**:GoFeed 项目公司(执行团队)
|
|
7
|
+
- **丙方**:魔联(投资方/委托方)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 二、初始状态
|
|
12
|
+
|
|
13
|
+
**项目归属**:
|
|
14
|
+
- GoFeed 项目(含 gofeed.com 域名)归你个人所有
|
|
15
|
+
|
|
16
|
+
**目标**:
|
|
17
|
+
- 成立 GoFeed 项目公司
|
|
18
|
+
- 你持有 30% 股份
|
|
19
|
+
- 团队持有 70% 股份
|
|
20
|
+
- 魔联委托开发并有条件投资
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 三、核心机制:条件授权 + 股权对价
|
|
25
|
+
|
|
26
|
+
### 3.1 你个人 → GoFeed 公司
|
|
27
|
+
|
|
28
|
+
**协议内容**:
|
|
29
|
+
- 你将项目所有权授权给 GoFeed 公司
|
|
30
|
+
- 对价:GoFeed 公司 30% 原始股份
|
|
31
|
+
- **生效条件**:融资成功
|
|
32
|
+
- 投前估值 ≥3000 万
|
|
33
|
+
- 融资金额 ≥500 万
|
|
34
|
+
- 时间窗口:12 个月内
|
|
35
|
+
|
|
36
|
+
**关键点**:
|
|
37
|
+
- 这是「条件授权」,不是立即转让
|
|
38
|
+
- 融资成功 → 授权转为永久转让,你获得 30% 股份
|
|
39
|
+
- 融资失败 → 授权终止,项目回归你个人,你不持有股份
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### 3.2 魔联 → GoFeed 公司
|
|
44
|
+
|
|
45
|
+
**协议内容**:
|
|
46
|
+
- 魔联有权以 100 万购买 GoFeed 项目所有权
|
|
47
|
+
- **终止条件**:融资成功(唯一终止条件)
|
|
48
|
+
- 同时,魔联委托 GoFeed 公司开发项目,支付 100 万外包款
|
|
49
|
+
|
|
50
|
+
**关键点**:
|
|
51
|
+
- 这是「购买权」,不是立即购买
|
|
52
|
+
- 融资成功 → 购买权失效,魔联的投入折算成股权
|
|
53
|
+
- 融资失败 → 购买权有效,魔联可选择行使或放弃
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 四、融资成功路径
|
|
58
|
+
|
|
59
|
+
### 4.1 时间线
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
T0: 签约
|
|
63
|
+
- 你授权项目给 GoFeed 公司(条件:融资成功)
|
|
64
|
+
- 魔联获得项目购买权(终止条件:融资成功)
|
|
65
|
+
- 魔联与 GoFeed 签署外包合同(100 万,12 个月)
|
|
66
|
+
|
|
67
|
+
T1-T12: 外包开发期
|
|
68
|
+
- 魔联按月支付外包款(每月 8 万,最后一月 12 万)
|
|
69
|
+
- GoFeed 公司每月交付代码、数据、文档
|
|
70
|
+
|
|
71
|
+
T12: 融资成功
|
|
72
|
+
- 投前估值 3000 万
|
|
73
|
+
- 融资金额 500 万
|
|
74
|
+
- 融资交割完成
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 4.2 项目所有权变化
|
|
78
|
+
|
|
79
|
+
**T0 → T12**:
|
|
80
|
+
- 项目所有权:你个人授权给 GoFeed 公司(条件性)
|
|
81
|
+
- 实际控制:GoFeed 公司运营项目
|
|
82
|
+
|
|
83
|
+
**T12(融资成功)**:
|
|
84
|
+
- 授权条件达成 → 授权转为永久转让
|
|
85
|
+
- 项目所有权:**GoFeed 公司**
|
|
86
|
+
- 魔联购买权失效
|
|
87
|
+
|
|
88
|
+
### 4.3 股权结构变化
|
|
89
|
+
|
|
90
|
+
**融资前**:
|
|
91
|
+
- 你:30%(对价:项目所有权)
|
|
92
|
+
- 团队:70%
|
|
93
|
+
|
|
94
|
+
**融资后(魔联投资折算)**:
|
|
95
|
+
- 魔联投入:100 万外包款
|
|
96
|
+
- 折算股权:约 10%(按 1000 万估值)
|
|
97
|
+
- 稀释后股权:
|
|
98
|
+
- 你:30% × 90% = **27%**
|
|
99
|
+
- 团队:70% × 90% = **63%**
|
|
100
|
+
- 魔联:**10%**
|
|
101
|
+
|
|
102
|
+
### 4.4 最终结果
|
|
103
|
+
|
|
104
|
+
| 方 | 投入 | 获得 | 估值 |
|
|
105
|
+
|---|------|------|------|
|
|
106
|
+
| 你个人 | 项目所有权 | 27% 股份 | 810 万 |
|
|
107
|
+
| 团队 | 技术/现金 | 63% 股份 | 1890 万 |
|
|
108
|
+
| 魔联 | 100 万 | 10% 股份 | 300 万 |
|
|
109
|
+
| **GoFeed 公司** | - | **项目所有权** | **3000 万** |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 五、融资失败路径
|
|
114
|
+
|
|
115
|
+
### 5.1 时间线
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
T0: 签约
|
|
119
|
+
- 你授权项目给 GoFeed 公司(条件:融资成功)
|
|
120
|
+
- 魔联获得项目购买权(终止条件:融资成功)
|
|
121
|
+
- 魔联与 GoFeed 签署外包合同(100 万,12 个月)
|
|
122
|
+
|
|
123
|
+
T1-T12: 外包开发期
|
|
124
|
+
- 魔联按月支付外包款
|
|
125
|
+
- GoFeed 公司每月交付代码、数据、文档
|
|
126
|
+
|
|
127
|
+
T12: 融资失败
|
|
128
|
+
- 未达成融资条件(估值不足或金额不足或超时)
|
|
129
|
+
|
|
130
|
+
T13: 授权终止
|
|
131
|
+
- 你撤回对 GoFeed 公司的授权
|
|
132
|
+
- 项目所有权回归你个人
|
|
133
|
+
- 你的 30% 股份同时失效
|
|
134
|
+
|
|
135
|
+
T14: 魔联决策
|
|
136
|
+
- 魔联决定是否行使购买权(30 天内决定)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 5.2 场景 A:魔联行使购买权
|
|
140
|
+
|
|
141
|
+
**步骤 1**:魔联支付购买款
|
|
142
|
+
- 魔联支付 100 万给 GoFeed 公司
|
|
143
|
+
|
|
144
|
+
**步骤 2**:GoFeed 公司购买项目
|
|
145
|
+
- GoFeed 公司用魔联的 100 万
|
|
146
|
+
- 从你个人购买项目所有权
|
|
147
|
+
- 支付 100 万给你个人
|
|
148
|
+
|
|
149
|
+
**步骤 3**:GoFeed 公司转移项目
|
|
150
|
+
- GoFeed 公司将项目所有权转移给魔联
|
|
151
|
+
- 配合办理域名过户等手续
|
|
152
|
+
|
|
153
|
+
**项目所有权变化**:
|
|
154
|
+
```
|
|
155
|
+
你个人 → GoFeed 公司(临时) → 魔联
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**最终结果**:
|
|
159
|
+
|
|
160
|
+
| 方 | 投入 | 获得 | 价值 |
|
|
161
|
+
|---|------|------|------|
|
|
162
|
+
| 你个人 | 项目所有权 | 100 万现金 | 100 万 |
|
|
163
|
+
| 团队 | 技术/现金 | GoFeed 公司 100% 股份 | 待定 |
|
|
164
|
+
| 魔联 | 200 万(外包 100 万 + 购买 100 万) | 项目所有权 + 开发成果 | 待定 |
|
|
165
|
+
| **GoFeed 公司** | - | **无项目**(已转给魔联) | - |
|
|
166
|
+
|
|
167
|
+
**说明**:
|
|
168
|
+
- 你不再持有 GoFeed 公司股份(因为对价条件未达成)
|
|
169
|
+
- GoFeed 公司失去项目,但团队仍持有公司 100% 股权
|
|
170
|
+
- 公司可选择清算或转型做其他业务
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### 5.3 场景 B:魔联放弃购买权
|
|
175
|
+
|
|
176
|
+
**魔联决定**:
|
|
177
|
+
- 不行使购买权
|
|
178
|
+
- 不支付 100 万购买款
|
|
179
|
+
|
|
180
|
+
**项目所有权变化**:
|
|
181
|
+
```
|
|
182
|
+
你个人 → GoFeed 公司(授权期) → 你个人(授权终止)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**最终结果**:
|
|
186
|
+
|
|
187
|
+
| 方 | 投入 | 获得 | 价值 |
|
|
188
|
+
|---|------|------|------|
|
|
189
|
+
| 你个人 | 项目所有权(临时授权) | 项目所有权(回归) | 待定 |
|
|
190
|
+
| 团队 | 技术/现金 | GoFeed 公司 100% 股份 | 待定 |
|
|
191
|
+
| 魔联 | 100 万外包款 | 开发成果(代码、数据) | 待定 |
|
|
192
|
+
| **GoFeed 公司** | - | **无项目**(已回归你个人) | - |
|
|
193
|
+
|
|
194
|
+
**说明**:
|
|
195
|
+
- 项目回归你个人
|
|
196
|
+
- 你不持有 GoFeed 公司股份
|
|
197
|
+
- 魔联持有外包期间开发的代码、数据等知识产权
|
|
198
|
+
- GoFeed 公司失去项目,团队持有公司 100% 股权
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 六、关键条款对比
|
|
203
|
+
|
|
204
|
+
### 6.1 项目所有权归属
|
|
205
|
+
|
|
206
|
+
| 场景 | 项目归属 | 你的股份 | 你的现金收入 |
|
|
207
|
+
|------|----------|----------|--------------|
|
|
208
|
+
| 融资成功 | GoFeed 公司 | 27%(稀释后) | 0 |
|
|
209
|
+
| 融资失败 + 魔联行权 | 魔联 | 0 | 100 万 |
|
|
210
|
+
| 融资失败 + 魔联放弃 | 你个人 | 0 | 0 |
|
|
211
|
+
|
|
212
|
+
### 6.2 魔联投入与回报
|
|
213
|
+
|
|
214
|
+
| 场景 | 魔联投入 | 魔联获得 | 回报率 |
|
|
215
|
+
|------|----------|----------|--------|
|
|
216
|
+
| 融资成功 | 100 万 | 10% 股份(估值 300 万) | 200% |
|
|
217
|
+
| 融资失败 + 行权 | 200 万 | 项目所有权 + 开发成果 | 待定 |
|
|
218
|
+
| 融资失败 + 放弃 | 100 万 | 开发成果(代码、数据) | 亏损 |
|
|
219
|
+
|
|
220
|
+
### 6.3 GoFeed 公司状态
|
|
221
|
+
|
|
222
|
+
| 场景 | 公司持有 | 股东结构 |
|
|
223
|
+
|------|----------|----------|
|
|
224
|
+
| 融资成功 | 项目所有权 | 你 27% + 团队 63% + 魔联 10% |
|
|
225
|
+
| 融资失败 + 魔联行权 | 无项目 | 团队 100% |
|
|
226
|
+
| 融资失败 + 魔联放弃 | 无项目 | 团队 100% |
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 七、风险与保护
|
|
231
|
+
|
|
232
|
+
### 7.1 你的风险
|
|
233
|
+
|
|
234
|
+
**融资成功**:
|
|
235
|
+
- 零风险,获得 27% 股份(估值 810 万)
|
|
236
|
+
|
|
237
|
+
**融资失败 + 魔联行权**:
|
|
238
|
+
- 失去项目,但获得 100 万现金
|
|
239
|
+
- 不持有 GoFeed 公司股份
|
|
240
|
+
|
|
241
|
+
**融资失败 + 魔联放弃**:
|
|
242
|
+
- 项目回归,但 GoFeed 公司已无价值
|
|
243
|
+
- 不持有 GoFeed 公司股份
|
|
244
|
+
|
|
245
|
+
**保护措施**:
|
|
246
|
+
- 融资失败时,至少获得 100 万现金(如魔联行权)
|
|
247
|
+
- 或项目回归你个人(如魔联放弃)
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
### 7.2 魔联的风险
|
|
252
|
+
|
|
253
|
+
**融资成功**:
|
|
254
|
+
- 投入 100 万,获得 10% 股份(估值 300 万),回报 200%
|
|
255
|
+
|
|
256
|
+
**融资失败 + 行权**:
|
|
257
|
+
- 投入 200 万,获得项目 + 开发成果
|
|
258
|
+
- 风险:项目价值可能不足 200 万
|
|
259
|
+
|
|
260
|
+
**融资失败 + 放弃**:
|
|
261
|
+
- 投入 100 万,仅获得开发成果(代码、数据)
|
|
262
|
+
- 风险:亏损 100 万
|
|
263
|
+
|
|
264
|
+
**保护措施**:
|
|
265
|
+
- 外包期间,魔联持有所有开发成果的知识产权
|
|
266
|
+
- 融资失败时,可选择行使或放弃购买权
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
### 7.3 团队的风险
|
|
271
|
+
|
|
272
|
+
**融资成功**:
|
|
273
|
+
- 获得 63% 股份(估值 1890 万),巨大回报
|
|
274
|
+
|
|
275
|
+
**融资失败**:
|
|
276
|
+
- 持有 GoFeed 公司 100% 股份,但公司已无项目
|
|
277
|
+
- 可选择清算或转型
|
|
278
|
+
|
|
279
|
+
**保护措施**:
|
|
280
|
+
- 融资失败时,可选择加入魔联继续运营项目
|
|
281
|
+
- 获得价值 100 万的魔联股票期权或等值现金分期
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## 八、时间节点总结
|
|
286
|
+
|
|
287
|
+
| 时间 | 事件 | 关键决策 |
|
|
288
|
+
|------|------|----------|
|
|
289
|
+
| T0 | 签约 | 三方签署协议 |
|
|
290
|
+
| T1-T12 | 外包开发 | 魔联按月支付,GoFeed 按月交付 |
|
|
291
|
+
| T12 | 融资结果 | 成功 or 失败 |
|
|
292
|
+
| T13(成功) | 权益确定 | 你 27% + 团队 63% + 魔联 10% |
|
|
293
|
+
| T13(失败) | 授权终止 | 项目回归你个人,你的股份失效 |
|
|
294
|
+
| T14(失败) | 魔联决策 | 行使购买权 or 放弃(30 天内) |
|
|
295
|
+
| T15(行权) | 项目转移 | 魔联支付 100 万 → 你获得 100 万 → 项目归魔联 |
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 九、法律文件清单
|
|
300
|
+
|
|
301
|
+
1. **《项目条件授权与股权对价协议》**(你 ↔ GoFeed 公司)
|
|
302
|
+
2. **《项目购买权与外包委托开发协议》**(魔联 ↔ GoFeed 公司)
|
|
303
|
+
3. **《GoFeed 公司章程》**(明确股权结构和治理)
|
|
304
|
+
4. **《域名授权使用协议》**(你 ↔ GoFeed 公司,域名随项目转移)
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
**文档版本**:v1.0
|
|
309
|
+
**更新日期**:2026-03-24
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"""
|
|
2
|
+
DataClaw 数据库初始化脚本
|
|
3
|
+
运行: python migrate.py
|
|
4
|
+
"""
|
|
5
|
+
import asyncio
|
|
6
|
+
import os
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
sys.path.insert(0, os.path.dirname(__file__))
|
|
10
|
+
|
|
11
|
+
TABLES = [
|
|
12
|
+
"""
|
|
13
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
14
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
15
|
+
name VARCHAR(255) NOT NULL,
|
|
16
|
+
type VARCHAR(50) NOT NULL DEFAULT 'custom',
|
|
17
|
+
description TEXT,
|
|
18
|
+
verified TINYINT(1) DEFAULT 0,
|
|
19
|
+
credits DECIMAL(20,2) DEFAULT 100.00,
|
|
20
|
+
callback_url VARCHAR(500),
|
|
21
|
+
status ENUM('active','suspended','deleted') DEFAULT 'active',
|
|
22
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
24
|
+
INDEX idx_name (name),
|
|
25
|
+
INDEX idx_status (status)
|
|
26
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
27
|
+
""",
|
|
28
|
+
"""
|
|
29
|
+
CREATE TABLE IF NOT EXISTS agent_contacts (
|
|
30
|
+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
31
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
32
|
+
contact_type ENUM('phone','email','github','google','telegram') NOT NULL,
|
|
33
|
+
contact_value VARCHAR(255) NOT NULL,
|
|
34
|
+
verified TINYINT(1) DEFAULT 0,
|
|
35
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
36
|
+
UNIQUE KEY uk_contact (contact_type, contact_value),
|
|
37
|
+
INDEX idx_agent (agent_id),
|
|
38
|
+
CONSTRAINT fk_contacts_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
39
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
40
|
+
""",
|
|
41
|
+
"""
|
|
42
|
+
CREATE TABLE IF NOT EXISTS api_keys (
|
|
43
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
44
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
45
|
+
key_hash VARCHAR(64) NOT NULL,
|
|
46
|
+
key_prefix VARCHAR(20) NOT NULL,
|
|
47
|
+
name VARCHAR(255),
|
|
48
|
+
permissions JSON,
|
|
49
|
+
ip_whitelist JSON,
|
|
50
|
+
last_used_at TIMESTAMP NULL,
|
|
51
|
+
expires_at TIMESTAMP NULL,
|
|
52
|
+
status ENUM('active','revoked') DEFAULT 'active',
|
|
53
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
54
|
+
INDEX idx_agent (agent_id),
|
|
55
|
+
INDEX idx_hash (key_hash),
|
|
56
|
+
CONSTRAINT fk_keys_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
57
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
58
|
+
""",
|
|
59
|
+
"""
|
|
60
|
+
CREATE TABLE IF NOT EXISTS verification_codes (
|
|
61
|
+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
62
|
+
contact_type ENUM('phone','email') NOT NULL,
|
|
63
|
+
contact_value VARCHAR(255) NOT NULL,
|
|
64
|
+
code VARCHAR(10) NOT NULL,
|
|
65
|
+
purpose ENUM('register','recover','verify') NOT NULL,
|
|
66
|
+
agent_id VARCHAR(32),
|
|
67
|
+
used TINYINT(1) DEFAULT 0,
|
|
68
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
69
|
+
expires_at TIMESTAMP NOT NULL,
|
|
70
|
+
INDEX idx_contact (contact_type, contact_value),
|
|
71
|
+
INDEX idx_expires (expires_at)
|
|
72
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
73
|
+
""",
|
|
74
|
+
"""
|
|
75
|
+
CREATE TABLE IF NOT EXISTS feeds (
|
|
76
|
+
id VARCHAR(100) PRIMARY KEY,
|
|
77
|
+
name VARCHAR(255) NOT NULL,
|
|
78
|
+
description TEXT,
|
|
79
|
+
schema_def JSON NOT NULL,
|
|
80
|
+
usage_guide TEXT,
|
|
81
|
+
update_cycle VARCHAR(20) NOT NULL DEFAULT '1h',
|
|
82
|
+
data_source TEXT,
|
|
83
|
+
model VARCHAR(100),
|
|
84
|
+
token_cost INT DEFAULT 0,
|
|
85
|
+
category JSON,
|
|
86
|
+
tags JSON,
|
|
87
|
+
owner_id VARCHAR(32) NOT NULL,
|
|
88
|
+
collaborators JSON,
|
|
89
|
+
free_quota JSON,
|
|
90
|
+
pricing JSON,
|
|
91
|
+
related_feeds JSON,
|
|
92
|
+
dependencies JSON,
|
|
93
|
+
fulfills JSON,
|
|
94
|
+
reputation_score DECIMAL(5,2) DEFAULT 50.00,
|
|
95
|
+
subscriber_count INT DEFAULT 0,
|
|
96
|
+
total_queries BIGINT DEFAULT 0,
|
|
97
|
+
status ENUM('active','warning','inactive','archived','deleted') DEFAULT 'active',
|
|
98
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
99
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
100
|
+
last_data_at TIMESTAMP NULL,
|
|
101
|
+
INDEX idx_owner (owner_id),
|
|
102
|
+
INDEX idx_status (status),
|
|
103
|
+
INDEX idx_reputation (reputation_score),
|
|
104
|
+
CONSTRAINT fk_feeds_owner FOREIGN KEY (owner_id) REFERENCES agents(id)
|
|
105
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
106
|
+
""",
|
|
107
|
+
"""
|
|
108
|
+
CREATE TABLE IF NOT EXISTS feed_versions (
|
|
109
|
+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
110
|
+
feed_id VARCHAR(100) NOT NULL,
|
|
111
|
+
version_num INT NOT NULL,
|
|
112
|
+
data JSON NOT NULL,
|
|
113
|
+
summary TEXT,
|
|
114
|
+
diff_summary TEXT,
|
|
115
|
+
meta JSON,
|
|
116
|
+
size_bytes INT DEFAULT 0,
|
|
117
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
118
|
+
UNIQUE KEY uk_feed_ver (feed_id, version_num),
|
|
119
|
+
INDEX idx_feed_created (feed_id, created_at),
|
|
120
|
+
CONSTRAINT fk_ver_feed FOREIGN KEY (feed_id) REFERENCES feeds(id) ON DELETE CASCADE
|
|
121
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
122
|
+
""",
|
|
123
|
+
"""
|
|
124
|
+
CREATE TABLE IF NOT EXISTS subscriptions (
|
|
125
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
126
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
127
|
+
feed_id VARCHAR(100) NOT NULL,
|
|
128
|
+
auto_unsubscribe JSON,
|
|
129
|
+
subscribed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
130
|
+
UNIQUE KEY uk_agent_feed (agent_id, feed_id),
|
|
131
|
+
INDEX idx_agent (agent_id),
|
|
132
|
+
INDEX idx_feed (feed_id),
|
|
133
|
+
CONSTRAINT fk_sub_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
134
|
+
CONSTRAINT fk_sub_feed FOREIGN KEY (feed_id) REFERENCES feeds(id) ON DELETE CASCADE
|
|
135
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
136
|
+
""",
|
|
137
|
+
"""
|
|
138
|
+
CREATE TABLE IF NOT EXISTS demands (
|
|
139
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
140
|
+
title VARCHAR(255) NOT NULL,
|
|
141
|
+
description TEXT,
|
|
142
|
+
desired_schema JSON,
|
|
143
|
+
desired_update_cycle VARCHAR(20),
|
|
144
|
+
budget_hint VARCHAR(100),
|
|
145
|
+
category JSON,
|
|
146
|
+
upvotes INT DEFAULT 0,
|
|
147
|
+
subscriber_count INT DEFAULT 0,
|
|
148
|
+
status ENUM('open','fulfilled','closed') DEFAULT 'open',
|
|
149
|
+
fulfilled_by JSON,
|
|
150
|
+
created_by VARCHAR(32) NOT NULL,
|
|
151
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
152
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
153
|
+
INDEX idx_status (status),
|
|
154
|
+
INDEX idx_upvotes (upvotes),
|
|
155
|
+
INDEX idx_created (created_at),
|
|
156
|
+
CONSTRAINT fk_demand_creator FOREIGN KEY (created_by) REFERENCES agents(id)
|
|
157
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
158
|
+
""",
|
|
159
|
+
"""
|
|
160
|
+
CREATE TABLE IF NOT EXISTS demand_upvotes (
|
|
161
|
+
demand_id VARCHAR(32) NOT NULL,
|
|
162
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
163
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
164
|
+
PRIMARY KEY (demand_id, agent_id),
|
|
165
|
+
CONSTRAINT fk_upv_demand FOREIGN KEY (demand_id) REFERENCES demands(id) ON DELETE CASCADE,
|
|
166
|
+
CONSTRAINT fk_upv_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
167
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
168
|
+
""",
|
|
169
|
+
"""
|
|
170
|
+
CREATE TABLE IF NOT EXISTS demand_subscriptions (
|
|
171
|
+
demand_id VARCHAR(32) NOT NULL,
|
|
172
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
173
|
+
subscribed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
174
|
+
PRIMARY KEY (demand_id, agent_id),
|
|
175
|
+
CONSTRAINT fk_dsub_demand FOREIGN KEY (demand_id) REFERENCES demands(id) ON DELETE CASCADE,
|
|
176
|
+
CONSTRAINT fk_dsub_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
177
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
178
|
+
""",
|
|
179
|
+
"""
|
|
180
|
+
CREATE TABLE IF NOT EXISTS credit_transactions (
|
|
181
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
182
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
183
|
+
type ENUM('deposit','earn','spend','refund','bonus') NOT NULL,
|
|
184
|
+
amount DECIMAL(20,6) NOT NULL,
|
|
185
|
+
balance_after DECIMAL(20,2) NOT NULL,
|
|
186
|
+
related_feed_id VARCHAR(100),
|
|
187
|
+
related_version_id BIGINT,
|
|
188
|
+
description TEXT,
|
|
189
|
+
meta JSON,
|
|
190
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
191
|
+
INDEX idx_agent_created (agent_id, created_at),
|
|
192
|
+
INDEX idx_type (type),
|
|
193
|
+
CONSTRAINT fk_tx_agent FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
194
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
195
|
+
""",
|
|
196
|
+
"""
|
|
197
|
+
CREATE TABLE IF NOT EXISTS reviews (
|
|
198
|
+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
199
|
+
feed_id VARCHAR(100) NOT NULL,
|
|
200
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
201
|
+
rating INT NOT NULL,
|
|
202
|
+
comment TEXT,
|
|
203
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
204
|
+
UNIQUE KEY uk_feed_agent (feed_id, agent_id),
|
|
205
|
+
INDEX idx_feed (feed_id),
|
|
206
|
+
CONSTRAINT fk_rev_feed FOREIGN KEY (feed_id) REFERENCES feeds(id) ON DELETE CASCADE,
|
|
207
|
+
CONSTRAINT fk_rev_agent FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
208
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
209
|
+
""",
|
|
210
|
+
"""
|
|
211
|
+
CREATE TABLE IF NOT EXISTS reports (
|
|
212
|
+
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
213
|
+
feed_id VARCHAR(100) NOT NULL,
|
|
214
|
+
reporter_id VARCHAR(32) NOT NULL,
|
|
215
|
+
reason ENUM('fake_data','harmful_content','illegal_source','long_inactive') NOT NULL,
|
|
216
|
+
description TEXT,
|
|
217
|
+
status ENUM('pending','reviewing','resolved','rejected') DEFAULT 'pending',
|
|
218
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
219
|
+
resolved_at TIMESTAMP NULL,
|
|
220
|
+
INDEX idx_feed (feed_id),
|
|
221
|
+
INDEX idx_status (status)
|
|
222
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
223
|
+
""",
|
|
224
|
+
"""
|
|
225
|
+
CREATE TABLE IF NOT EXISTS copyright_complaints (
|
|
226
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
227
|
+
feed_id VARCHAR(100) NOT NULL,
|
|
228
|
+
complainant_name VARCHAR(255) NOT NULL,
|
|
229
|
+
complainant_contact VARCHAR(255) NOT NULL,
|
|
230
|
+
evidence TEXT NOT NULL,
|
|
231
|
+
status ENUM('pending','reviewing','upheld','rejected') DEFAULT 'pending',
|
|
232
|
+
resolution ENUM('takedown','revenue_share','rejected') NULL,
|
|
233
|
+
revenue_share_ratio DECIMAL(5,2) NULL,
|
|
234
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
235
|
+
resolved_at TIMESTAMP NULL,
|
|
236
|
+
INDEX idx_feed (feed_id),
|
|
237
|
+
INDEX idx_status (status)
|
|
238
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
239
|
+
""",
|
|
240
|
+
"""
|
|
241
|
+
CREATE TABLE IF NOT EXISTS notifications (
|
|
242
|
+
id VARCHAR(32) PRIMARY KEY,
|
|
243
|
+
agent_id VARCHAR(32) NOT NULL,
|
|
244
|
+
type VARCHAR(50) NOT NULL,
|
|
245
|
+
title VARCHAR(255) NOT NULL,
|
|
246
|
+
content TEXT,
|
|
247
|
+
link VARCHAR(500),
|
|
248
|
+
read_at TIMESTAMP NULL,
|
|
249
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
250
|
+
INDEX idx_agent_read (agent_id, read_at),
|
|
251
|
+
INDEX idx_created (created_at),
|
|
252
|
+
CONSTRAINT fk_notif_agent FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
253
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
254
|
+
""",
|
|
255
|
+
]
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
async def run():
|
|
259
|
+
from core.config import init_config
|
|
260
|
+
from core.database import init_db
|
|
261
|
+
from sqlalchemy import text
|
|
262
|
+
|
|
263
|
+
cfg = init_config()
|
|
264
|
+
db_cfg = cfg.get("database", {
|
|
265
|
+
"host": "139.196.30.171", "port": 3308,
|
|
266
|
+
"user": "root", "password": "LWJly100973@", "database": "dataclaw"
|
|
267
|
+
})
|
|
268
|
+
init_db(db_cfg)
|
|
269
|
+
|
|
270
|
+
from core.database import _engine
|
|
271
|
+
print("[migrate] connecting...")
|
|
272
|
+
async with _engine.begin() as conn:
|
|
273
|
+
for i, sql in enumerate(TABLES, 1):
|
|
274
|
+
stmt = sql.strip()
|
|
275
|
+
if stmt:
|
|
276
|
+
await conn.execute(text(stmt))
|
|
277
|
+
print(f"[migrate] table {i}/{len(TABLES)} OK")
|
|
278
|
+
await _engine.dispose()
|
|
279
|
+
print("[migrate] all tables created successfully")
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
if __name__ == "__main__":
|
|
283
|
+
asyncio.run(run())
|
|
File without changes
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dataclaw
|
|
3
|
+
display_name: DataClaw 数据共享平台
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
type: service
|
|
6
|
+
state: enabled
|
|
7
|
+
max_connections: 3
|
|
8
|
+
runtime: python
|
|
9
|
+
entry: entry.py
|
|
10
|
+
preferred_port: 20010
|
|
11
|
+
advertise_ip: 0.0.0.0
|
|
12
|
+
|
|
13
|
+
events:
|
|
14
|
+
- feed.created
|
|
15
|
+
- feed.data_published
|
|
16
|
+
- demand.fulfilled
|
|
17
|
+
|
|
18
|
+
subscriptions:
|
|
19
|
+
- module.started
|
|
20
|
+
- module.stopped
|
|
21
|
+
- module.exiting
|
|
22
|
+
- module.shutdown
|
|
23
|
+
|
|
24
|
+
businesses:
|
|
25
|
+
- name: dataclaw_service
|
|
26
|
+
type: api_service
|
|
27
|
+
config_file: config.json5
|
|
28
|
+
|
|
29
|
+
monitor:
|
|
30
|
+
enabled: true
|
|
31
|
+
health_check_path: /health
|
|
32
|
+
health_check_interval: 30
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# DataClaw V2.0 商业版
|
|
36
|
+
|
|
37
|
+
Agent 数据共享平台 — 一次采集,万次复用
|
|
38
|
+
|
|
39
|
+
## 功能
|
|
40
|
+
|
|
41
|
+
- 完整 REST API + WebSocket 实时推送
|
|
42
|
+
- 多页面 Web 控制台(换肤 + 国际化)
|
|
43
|
+
- 多种登录方式(GitHub/Google/手机/邮箱/免登录)
|
|
44
|
+
- Feed 注册、订阅、需求驱动、积分系统
|
|
45
|
+
- 版权保护、数据质量治理
|
|
46
|
+
|
|
47
|
+
## 端口
|
|
48
|
+
|
|
49
|
+
- HTTP API + WebSocket + Web 控制台: 20010
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
fastapi>=0.104.0
|
|
2
|
+
uvicorn[standard]>=0.24.0
|
|
3
|
+
pydantic>=2.0.0
|
|
4
|
+
sqlalchemy>=2.0.0
|
|
5
|
+
aiomysql>=0.2.0
|
|
6
|
+
pyjwt>=2.8.0
|
|
7
|
+
authlib>=1.2.0
|
|
8
|
+
httpx>=0.25.0
|
|
9
|
+
websockets>=12.0
|
|
10
|
+
pyjson5>=1.6.0
|
|
11
|
+
python-multipart>=0.0.6
|
|
12
|
+
jinja2>=3.1.0
|
|
13
|
+
aiofiles>=23.0.0
|
|
14
|
+
cachetools>=5.3.0
|
|
15
|
+
bcrypt>=4.0.0
|
|
16
|
+
python-jose[cryptography]>=3.3.0
|
|
17
|
+
email-validator>=2.0.0
|
|
18
|
+
PyYAML>=6.0
|