35 Commits
Author SHA1 Message Date
zhongqin ec8192a263 feat: redesign llm gateway price model 2026-09-11 17:30:56 +08:00
zhongqin 47354ca846 feat(agent): MCP client (stdio + streamable-HTTP JSON mode) with per-server timeout & response cap 2026-09-04 19:04:47 +08:00
zhongqin 9910956023 feat(agent): memory tiers — pinned protection + selective consolidation to Core 2026-09-04 16:37:17 +08:00
zhongqin f1432fb957 feat(agent): context windowing — model-window budget, whole-turn LLM fold, canonical context:summary row, manual compact, reactive overflow fallback, expose cache_read/write usage (OpenAI/DeepSeek) + mini-epoch rebuild attribution; add cache & epoch smoke scripts 2026-09-04 14:38:30 +08:00
zhongqin a4b83e0dc2 feat(agent): memory tiers — heuristic importance + zeroclaw budget eviction, per-turn hygiene. transcript context window — fold oldest turns to LLM summary (meta.ctx, default off) 2026-09-04 11:21:28 +08:00
zhongqin 39b8d139ee feat(agent): gated run_shell with deny-list policy + sandboxed run_code polish , managed file tools over VirtualFs (tenant workspace) 2026-09-04 09:46:51 +08:00
zhongqin d4da1084cb feat(agent): skills pipeline — import CLI, PATCH agent, skill__tool composed, search_posts, turn observability & broadcast 2026-09-04 07:49:26 +08:00
zhongqin abcf299d50 feat: add skills system 2026-09-04 06:19:24 +08:00
zhongqin 55c7ccca13 feat: improve agent detail 2026-09-03 23:56:21 +08:00
zhongqin 8b23d42205 feat: agent SSE turns w/ cancellation, prompt versioning, worker agent_run
- handler: id paths now Path<String>+parse_id (encoded Snowflake ids),
  /turns streams SSE and cancels the run when the client disconnects
  (CancelOnDrop -> CancellationToken); events via try_send/send (no blocking)
- service: AgentService wires CancellationToken; per-assistant usage,
  turn:meta carries system_hash + prompt_version; cancelled stop_reason
- prompt: versioned template registry (v1) + assemble() -> stable
  SHA-256 hash (version+model+text+tools); unit tests
- worker: agent_run job handler (cron/flow-triggered headless turns,
  EventBus ai.turn.* broadcast); HandlerDeps gains emitter
- tests/smoke: ai_service_smoke asserts system_hash stability; add
  scripts/ai_http_smoke.sh real-model HTTP SSE smoke
2026-09-03 23:43:19 +08:00
zhongqin e9be2e5c14 feat: improve integration Infrastructure, add more channels telegram discord 2026-09-02 07:13:04 +08:00
zhongqin 8c4dd94823 feat: improve chat app 2026-09-01 23:07:36 +08:00
zhongqin 26122b24d6 feat: improve app bundle 2026-08-30 16:58:55 +08:00
zhongqin 55c738f4e1 feat: integration verification layer — hmac encoding + wechat-aes decrypt verify,
pipeline _headers injection for mapping (GitHub/Stripe header idempotency keys)
2026-08-29 18:23:41 +08:00
zhongqin 7eefc2e912 feat: integration feishu + dingtalk long-connection via generic pb-frame/dispatch + pre_connect + oauth-cc (real-world verified) 2026-08-29 07:37:01 +08:00
zhongqin 9cb1f47a40 feat: auto replace inegration 2026-08-28 22:16:53 +08:00
zhongqin 291920559b test: add smoke integration 2026-08-28 19:25:24 +08:00
zhongqin be1738d29f refactor(types): type-driven SnowflakeId & Price across all layers
Both wire-format concerns are now enforced by the type system via serde,
eliminating manual conversions at every layer:

SnowflakeId (id encryption on the wire):
- All DTO id fields use SnowflakeId instead of String; serialization emits
  encode_id (cipher+base62 under ID_ENCODING), deserialization accepts both
  forms and rejects garbage with 400
- Services/models pass SnowflakeId through; parse_id only remains at
  untyped boundaries (Path<String>/Query/batch ids)
- utoipa PartialSchema/ToSchema impls added; reader ecommerce permissions
  seeded (cart/orders/product_comments/favorites) across all 3 schemas
- reserved_usernames site option (data-driven, 4-128 charset validation)

Price (money wire format is yuan):
- New Price type (sqlx-transparent over i64 cents) with yuan serde,
  arithmetic ops, checked helpers, DbBigint coercion for CRUD macros
- Models/commands/DTOs across product/variant/cart/order/payment/coupon/
  wallet/shipping/favorites all use Price; arithmetic stays integer cents
- Admin submits yuan, storefront formatPrice only adds the currency symbol
- Fix coupon Fixed-discount semantics (discount capped at order amount)

AGENTS.md documents both conventions.
2026-08-19 13:48:27 +08:00
zhongqin 15db0fa2d1 chore(release-sdk): expect main as local branch 2026-08-18 20:23:25 +08:00
zhongqin d6620f904f update readme 2026-08-17 20:40:04 +08:00
zhongqin 66dc90fc36 feat: add content-types backup scripts, update user remvoe logic 2026-08-13 23:00:06 +08:00
zhongqin b1535c0fee improve github workflows 2026-08-11 19:27:18 +08:00
zhongqin 89a60240f4 feat: update export types 2026-08-11 15:46:51 +08:00
zhongqin fbd50d7232 fix: resolve test error 2026-08-11 07:22:34 +08:00
zhongqin ef236d9f1c feat: improve content tyeps medis and blob field 2026-08-04 15:02:46 +08:00
zhongqin db361f262c feat: improve mcp structure 2026-08-03 09:49:45 +08:00
zhongqin d2b49505fb feat: refactoring project directory structure using workspace 2026-08-02 21:57:59 +08:00
zhongqin 22ba37db74 major update, product posts payment and detail improve 2026-06-10 05:38:45 +08:00
zhongqin da8f1a4df5 improve ci workflow 2026-05-23 08:36:41 +08:00
zhongqin 8245df8747 optimize the release process 2026-05-23 00:36:39 +08:00
zhongqin 6bca73f06d extreme performance optimization 2026-05-05 20:59:45 +08:00
zhongqin 33a553c329 change the project to official name 2026-05-04 00:27:51 +08:00
zhongqin 93e8680550 update plugin sdk 2026-05-03 16:23:37 +08:00
zhongqin 581fe34f63 improve plugin sdk 2026-05-03 16:13:03 +08:00
zhongqin f7b8163fce performance optimization and wasm plugin refactor 2026-04-20 15:39:06 +08:00