mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 03:13:41 +08:00
release: v1.8.0
This commit is contained in:
parent
60ea00dede
commit
a466f609cf
16
README.md
16
README.md
@ -103,6 +103,9 @@ You hire coworkers, not chat boxes. Each one has a **Role**, a **Goal**, a **Bac
|
||||
### Multimodal creation
|
||||
Text-to-speech · Speech-to-text · Image · Music · Video · 3D. First-class, not add-ons. **Sidecar routing** (1.3.0+) means a text-only main model + an image attachment no longer dead-ends — a configured vision model describes the image, and the main model answers. **Image edit** lands too: refer to an earlier conversation attachment by `msg:<id>:<idx>` and ask the model to recolor or restyle it. Four **document-generation tools** (`DocxRenderTool` / `XlsxRenderTool` / `PptxRenderTool` / `PdfRenderTool`) render Markdown straight to Office files inside the JVM — no subprocess, no Office install.
|
||||
|
||||
### Content Studio (1.8.0+)
|
||||
A flagship *scene*, not a tool — a seeded "Content Studio" employee turns one sentence into a publishable post: pick-topic → research → draft → illustrate → **de-AI** → lay out → deliver. **WeChat Official Account (公众号)** articles land in your draft box as inline-style HTML with body images uploaded into WeChat; **Xiaohongshu (小红书)** notes package as ≥3 vertical 3:4 cards with an online preview. De-AI-ification runs against a **measurable AI-trace score**; every delivery is compliance-scanned and logged to a **content calendar** that dedups by topic fingerprint.
|
||||
|
||||
### Enterprise-ready
|
||||
RBAC + JWT. **Personal Access Tokens** for headless scripts and CI. **HMAC-SHA-256 outbound webhook signing**. **Distributed Cron lock** so multi-instance deployments don't double-fire. Full audit trail. Flyway-managed schema that auto-heals on upgrade. One JAR to ship. MySQL in production, H2 for dev — nothing to change in your code.
|
||||
|
||||
@ -217,6 +220,19 @@ Full docs at **[claw.mate.vip/docs](https://claw.mate.vip/docs)** — setup, arc
|
||||
|
||||
## Roadmap
|
||||
|
||||
**v1.8.0 (shipped 2026-07-12)** — the employee turns *outward and does a whole job*: **Content Studio**, the first flagship scene built end-to-end on MateClaw's own primitives:
|
||||
|
||||
- **Content Studio — one sentence to a publishable post** — a seeded "Content Studio" employee runs pick-topic → research → draft → illustrate → de-AI → layout → deliver. **WeChat Official Account (公众号)** image-text articles (inline-style HTML → draft box) and **Xiaohongshu (小红书)** image-first notes (≥3 vertical 3:4 cards + online preview) ship first-class
|
||||
- **De-AI-ification you can measure** — a heuristic AI-trace score (no LLM, deterministic) drives a detect → rewrite → re-check loop, capped at 3 rounds
|
||||
- **A publish chain hardened for real operation** — body images uploaded into WeChat (no broken external links), AES-GCM-encrypted secrets, reused service + persisted token, retry + Chinese error hints, a guaranteed fallback cover; draft-box-first, publish approval-gated
|
||||
- **A content calendar that dedups and remembers** — every delivery is compliance-scanned and auto-recorded, a topic fingerprint stops repeat picks, and a read-only Content Calendar page shows drafted/packaged/published/failed
|
||||
- **The browser agent sees by reference** — an accessibility-tree ref snapshot + interact-by-ref (click the element, not a pixel), real-browser privacy guardrails, and a controlled CDP escape hatch
|
||||
- **Sharper attention, tighter loops** — attention anchoring & environment awareness (MCP tool provenance + pinned skill constraints + event notifications), a tool-call loop guard, and a post-mutation verify reminder
|
||||
|
||||
Plus: a fast-load pass (initial load down ~78%), a chat context-occupancy panel, cross-KB wikilinks, MCP progress notifications, a Volcano Engine provider, and the public Docker stack on PostgreSQL 16.
|
||||
|
||||
Full story in the [v1.8.0 release notes](https://claw.mate.vip/docs/en/releases/1.8.0).
|
||||
|
||||
**v1.7.0 (shipped 2026-07-04)** — a *productionization pass*: once it's in real collaboration, close every loop you can't see, gather, reach, fit, or connect:
|
||||
|
||||
- **All three approval paths close the loop** — workflow `await_approval` actually pushes to channels and resolves → resumes, the WebChat (API-key) channel can approve/deny and replay, and Feishu/WeCom card clicks resolve workflow approvals directly
|
||||
|
||||
16
README_zh.md
16
README_zh.md
@ -103,6 +103,9 @@ MateClaw 的 **LLM Wiki** 把它消化成结构化页面,页面之间自己长
|
||||
### 多模态创作
|
||||
语音合成 · 语音识别 · 图片 · 音乐 · 视频 · 3D。一等公民,不是附加插件。**多模态旁路**(1.3.0+)让纯文本主模型遇到图片附件时自动调用配置好的视觉模型转描述,主对话保持便宜。**图像编辑**也到位:用 `msg:<id>:<idx>` 引用会话里更早的某张图,让模型改色、改风格。**4 个文档生成工具**(`DocxRenderTool` / `XlsxRenderTool` / `PptxRenderTool` / `PdfRenderTool`)在 JVM 内把 Markdown 直接渲染成 Office 文件——不 fork 子进程、不依赖 npm、不需要装 Office。
|
||||
|
||||
### 内容工作室(1.8.0+)
|
||||
一个招牌*场景*,不是工具——预置的「内容工作室」员工把一句话变成可发布成品:选题 → 搜集 → 成文 → 配图 → **去 AI 化** → 排版 → 交付。**微信公众号(公众号)** 文章以内联样式 HTML 躺进你的草稿箱,正文图自动上传进微信;**小红书** 笔记打包成 ≥3 张竖版 3:4 卡片并在线预览。去 AI 化对着一个**可度量的 AI 痕迹评分**跑;每次交付都被合规扫描并记进一个按选题指纹去重的**内容日历**。
|
||||
|
||||
### 企业就绪
|
||||
RBAC + JWT。**Personal Access Token** 给无人值守脚本和 CI 用。**Webhook 出站 HMAC-SHA-256 签名**。**Cron 分布式锁**多实例不双发。完整审计事件流。Flyway 管理数据库 schema,升级时自愈。一个 JAR 交付。生产用 MySQL,开发用 H2,代码零改动。
|
||||
|
||||
@ -217,6 +220,19 @@ mateclaw/
|
||||
|
||||
## 路线图
|
||||
|
||||
**v1.8.0(2026-07-12 发布)** — 员工*转向对外、干完一整件活*:**内容工作室**——第一个完全用 MateClaw 自身原子能力端到端搭起来的招牌场景:
|
||||
|
||||
- **内容工作室——一句话到可发布成品** — 预置「内容工作室」员工跑通 选题 → 搜集 → 成文 → 配图 → 去 AI 化 → 排版 → 交付。**微信公众号(公众号)** 图文文章(内联样式 HTML → 草稿箱)与 **小红书** 以图为主图文笔记(≥3 张竖版 3:4 卡片 + 在线预览)首批一等公民
|
||||
- **可度量的去 AI 化** — 启发式 AI 痕迹评分(无 LLM、确定性)驱动 检测 → 改写 → 复检 闭环,硬上限 3 轮
|
||||
- **为长期投产而加固的发布链** — 正文图上传进微信(不再外链发布即裂)、AES-GCM 加密密钥、服务复用 + token 持久化、重试 + 中文错误提示、兜底封面;草稿箱优先,发表走审批
|
||||
- **会去重、会记账的内容日历** — 每次交付都合规扫描 + 自动落台账、选题指纹防重复选题、只读内容日历页展示草稿/已打包/已发布/失败
|
||||
- **浏览器 Agent 按引用去看** — 无障碍树 ref 快照 + 按 ref 交互(点元素而非像素)、真实浏览器隐私护栏、受控 CDP 逃生舱
|
||||
- **注意力更聚焦、循环更收得住** — 注意力锚定与环境感知(MCP 工具溯源 + skill 约束固定 + 事件通知)、工具调用循环护栏、改动后校验提醒
|
||||
|
||||
外加:一次快加载优化(初始加载 ↓约 78%)、聊天上下文占用面板、跨知识库 wikilink、MCP 进度通知、火山方舟供应商,以及公开 Docker 栈切到 PostgreSQL 16。
|
||||
|
||||
完整故事见 [v1.8.0 release notes](https://claw.mate.vip/docs/zh/releases/1.8.0)。
|
||||
|
||||
**v1.7.0(2026-07-04 发布)** — 一次*生产化加固*:把它放进真正的协作里之后,那些看不见、收不拢、够不着、装不下、连不通的地方全补上:
|
||||
|
||||
- **审批三条链路彻底闭环** — 工作流 `await_approval` 真的推到渠道并 resolve→恢复执行、WebChat(API-Key)渠道能批准/拒绝并重放、飞书/企微点卡片直接 resolve 工作流审批
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mateclaw-desktop",
|
||||
"version": "1.8.0-SNAPSHOT",
|
||||
"version": "1.8.0",
|
||||
"description": "MateClaw Desktop - AI Assistant powered by Spring AI Alibaba",
|
||||
"author": "MateClaw Team",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@ -604,6 +604,16 @@ curl -X POST http://localhost:18088/api/v1/channels \
|
||||
|
||||
---
|
||||
|
||||
## WeChat Official Account (publish target, 1.8.0+)
|
||||
|
||||
Unlike the nine conversational channels above, the **WeChat Official Account (公众号)** integration is a **one-way publish transport**, not an inbound message channel. It's used by [Content Studio](./content-studio) to push image-text articles into your Official Account **draft box**.
|
||||
|
||||
- Configure the Official Account `app_id` / `app_secret` in **Settings** — the secret is **AES-GCM encrypted at rest** (set `MATECLAW_SETTING_KEY` and back it up).
|
||||
- The WeChat service instance is cached per appId with a **persisted access token** (WeChat allows one valid token per appId), and the publish chain **retries** transient errors and translates known error codes into actionable hints (e.g. *add the server IP to the Official Account whitelist*).
|
||||
- Publishing is **draft-box-first**; the optional `publish` action is approval-gated. See [Content Studio](./content-studio).
|
||||
|
||||
---
|
||||
|
||||
## Channel management API
|
||||
|
||||
```bash
|
||||
|
||||
180
mateclaw-server/src/main/resources/docs/en/content-studio.md
Normal file
180
mateclaw-server/src/main/resources/docs/en/content-studio.md
Normal file
@ -0,0 +1,180 @@
|
||||
# Content Studio
|
||||
|
||||
**One sentence in. A publishable post out.**
|
||||
|
||||
Content Studio (内容工作室) is MateClaw's first flagship *scene* — not a single tool, but an orchestrated pipeline that turns *"write me something about X"* into a finished, on-platform artifact: a **WeChat Official Account (公众号)** image-text article sitting in your draft box, or a **Xiaohongshu (小红书 / RED)** note packaged as ready-to-post vertical cards.
|
||||
|
||||
It's built entirely from MateClaw's own primitives — web search, page fetch, image generation, HTML-to-image rendering, structured memory, cron, and the skill runtime — stitched into a repeatable SOP. Everything below ships in **v1.8.0+**.
|
||||
|
||||
---
|
||||
|
||||
## The seeded employee
|
||||
|
||||
Content Studio ships as a **pre-seeded digital employee** named *Content Studio* / *内容工作室*. It comes bound to the right skills and tools, with a system prompt that fixes the seven-stage workflow and the "confirm before the outward, irreversible step" discipline. You don't assemble it — you talk to it:
|
||||
|
||||
> *"Write a 公众号 article about local LLM deployment, referencing these two: `<url1>` `<url2>`"*
|
||||
>
|
||||
> *"Give me a 小红书 note about a weekend coffee-shop crawl."*
|
||||
|
||||
From the second post on, it already knows your voice — persona, style, topic direction, banned words — because those live in **structured memory**, not in your prompt.
|
||||
|
||||
---
|
||||
|
||||
## The pipeline
|
||||
|
||||
```
|
||||
① Topic → ② Research → ③ Draft → ④ Illustrate → ⑤ De-AI → ⑥ Layout → ⑦ Deliver
|
||||
```
|
||||
|
||||
| Stage | What happens | Powered by |
|
||||
|---|---|---|
|
||||
| **① Topic** | Reads your long-term interests from memory + fresh web search; or comes from a daily "topic radar" cron | `recall_structured`, `web_search`, cron |
|
||||
| **② Research** | Fetches reference articles, summarizes the angles so you differentiate rather than rehash | `wechat_article_extract`, `browser_use` |
|
||||
| **③ Draft** | Writes to platform-native structure, honoring your persona & style memory | LLM + memory |
|
||||
| **④ Illustrate** | Generates a cover and section images | `image_generate` |
|
||||
| **⑤ De-AI** | Runs a measurable detect → rewrite → re-check loop (see below) | `deai_humanize` skill |
|
||||
| **⑥ Layout** | Produces the platform artifact (inline-style HTML / vertical cards) | `render_html_image`, HTML templates |
|
||||
| **⑦ Deliver** | Stops at the outward, irreversible step for your confirmation | `gzh_publish` (draft) / `xhs_package` |
|
||||
|
||||
**Templates are conversational.** Because layout is just HTML, the employee can create and refine templates by chatting — render a preview, look at the PNG, refine — and persist reusable custom templates into your own editable skill. Built-in skills stay immutable; your customizations live in a `custom` skill (see [Skills](./skills)).
|
||||
|
||||
---
|
||||
|
||||
## Two platforms, first-class
|
||||
|
||||
### WeChat Official Account (公众号) — `gzh_article`
|
||||
|
||||
- **Inline-styled HTML.** The WeChat editor ignores `<style>` blocks, so every style is inline. Starter templates ship (`gzh_layout_minimal`, `gzh_layout_business`), and the AI can author its own.
|
||||
- **Platform-native structure** — a hook intro, 3–5 titled sections with concrete cases/data, a punchline, and a closing call-to-action.
|
||||
- **Cover** sized for the header (≈ 2.35:1), plus section images.
|
||||
- **Compliance self-check** against your banned words and platform sensitive terms.
|
||||
- **Deliver** to paste manually, or push straight to your **draft box** via `gzh_publish`.
|
||||
|
||||
> Read `references/gzh_platform_rules.md` inside the skill for the real platform rules — cover sizing, title/summary limits, editor layout, induced-share/follow red lines, mass-send frequency, and the originality mechanism.
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-gzh-article.png" alt="Content Studio producing a WeChat Official Account article" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>Content Studio producing a 公众号 article in the console — the article structure, a generated cover, and a one-tap offer to push it straight into your draft box (`gzh_publish action=draft`). The Run Overview rail (right) lists the generated files.</i></sub></p>
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/out-gzh-cover.png" alt="The 公众号 header cover it produced" width="88%">
|
||||
</p>
|
||||
<p align="center"><sub><i>The header cover it produced for that article — a real output artifact.</i></sub></p>
|
||||
|
||||
### Xiaohongshu (小红书 / RED) — `xhs_note`
|
||||
|
||||
Xiaohongshu is an **image-first** platform — readers swipe images first, text second.
|
||||
|
||||
- **At least 3 vertical 3:4 cards** (cover + content + closing), rendered from HTML templates: `xhs_card_cover`, `xhs_card_content`, `xhs_card_end`, plus a quote card `xhs_card_quote`. `xhs_package` **hard-validates** the ≥3-image rule and refuses to package fewer.
|
||||
- **The four-part title** (number / suspense / emotion / contrast, ≤ 20 chars) + short-sentence body with emoji breaks + 3–8 topic tags (broad + mid + long-tail).
|
||||
- **Online preview** — the rendered card PNGs are the preview; look, then finalize.
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-xhs-note.png" alt="Content Studio producing a Xiaohongshu note" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>Content Studio producing a 小红书 note — the measurable de-AI score (10/100 → human-like), the auto-recorded content-calendar item, and the manual-upload publish steps. The Run Overview rail (right) lists the generated vertical cards.</i></sub></p>
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/out-xhs-01-cover.png" alt="Xiaohongshu cover card" width="30%">
|
||||
<img src="/images/content-studio/out-xhs-02-steps.png" alt="Xiaohongshu content card — steps" width="30%">
|
||||
<img src="/images/content-studio/out-xhs-03-tips.png" alt="Xiaohongshu content card — tips" width="30%">
|
||||
</p>
|
||||
<p align="center"><sub><i>The vertical 3:4 cards it produced — cover (four-part title) + content cards with structured points rendered as image.</i></sub></p>
|
||||
|
||||
---
|
||||
|
||||
## De-AI-ification, measured
|
||||
|
||||
The differentiator of the whole scene is that "de-AI" (`deai_humanize`) isn't a vibe — it's a **measurable loop**.
|
||||
|
||||
A heuristic script (`ai_trace_score`, pure Python, no LLM, deterministic and regressible) scores text **0–100** and returns the specific signals and spans:
|
||||
|
||||
| Signal | What it catches |
|
||||
|---|---|
|
||||
| **Burstiness** | Sentence-length variance too low → uniform = machine |
|
||||
| **Connector density** | Template cadence ("首先/其次/然后/综上所述/值得注意的是…") |
|
||||
| **Filler phrases** | Boilerplate ("在…的今天/让我们/随着…的发展/赋能…") |
|
||||
| **List / dash abuse** | Over-structured, generated-looking layout |
|
||||
| **Paragraph evenness** | Mechanically equal paragraph lengths |
|
||||
| **Concreteness gap** | Too few numbers, names, first-person, time/place = vague |
|
||||
|
||||
The employee rewrites **against the signals** — colloquial, first-person, concrete detail, varied sentence length, filler cut, tone tuned per platform (公众号 measured, 小红书 lively) — and **re-scores**, looping until it clears the bar or hits **`max_rounds = 3`** (then it keeps the best version and reports the score).
|
||||
|
||||
> **De-AI-ification is a heuristic quality boost, not a guarantee of bypassing any AI detector.** The skill and the output both say so.
|
||||
|
||||
---
|
||||
|
||||
## The publish chain, hardened
|
||||
|
||||
Getting a draft out once is easy; running it every day for three months is where the real problems live. The v1.8.0 publish chain closes them:
|
||||
|
||||
- **Body images don't break.** WeChat doesn't fetch external images in article bodies, so the chain parses the HTML, **uploads each body image into WeChat**, and rewrites its `src`. A failed upload keeps its original `src` and is reported, rather than blocking the whole article.
|
||||
- **Secrets encrypted at rest.** `weixinoa.app_secret` and other sensitive settings are **AES-GCM encrypted** (key from `MATECLAW_SETTING_KEY`, machine-derived fallback), ciphertext carries an `enc:v1:` prefix, and legacy plaintext is read transparently and upgraded on next write.
|
||||
- **One service, one token.** The WeChat service instance is **cached per appId** with a **persisted access token**, so repeated calls and multi-instance deployments don't collide with WeChat's single-token-per-appId limit. Changing the secret invalidates the cache.
|
||||
- **Retry + plain-language errors.** Transient WeChat error codes retry with backoff; known codes translate into actionable hints — e.g. *"add the server's public IP to the Official Account whitelist."*
|
||||
- **A draft always has a cover.** If the cover can't be resolved, a **built-in placeholder cover** is rendered so the draft still lands, and the response says a placeholder was used.
|
||||
|
||||
**Draft-box-first.** Mass-send and publish are outward, irreversible, and rate-limited, so MateClaw drafts and you press "publish" in the Official Account backstage. The optional `publish` action is gated through the [approval](./security) flow.
|
||||
|
||||
---
|
||||
|
||||
## Content Calendar — deliver = scan + record
|
||||
|
||||
The weak spot in any "the model should also log this" design is that the model forgets. Compliance and bookkeeping are **welded into the delivery tools** themselves:
|
||||
|
||||
- **Deliver = scan + record.** `gzh_package` and `xhs_package` run a **server-side compliance scan** (extreme-claim / inducement / guaranteed-return terms) and **auto-record** the item to the calendar on successful delivery — no separate call to skip. High-risk hits surface in the response; a high-risk publish is blocked by default.
|
||||
- **Topic-fingerprint dedup.** Each item carries a normalized **topic fingerprint**; `content_item check_recent` looks back over `packaged`/`published` items (ignoring `draft`/`failed`, excluding the just-recorded item) so the daily cron doesn't re-pick a subject you already covered.
|
||||
- **Personal banned words merge in.** The scanner takes your structured-memory `banned_words` as an extra category alongside the built-in lexicon.
|
||||
- **A read-only Content Calendar page.** Lists every item — platform, title, status, topic, preview link, created/published time — with status-count cards up top.
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-content-calendar.png" alt="The Content Calendar page" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>The read-only Content Calendar — every 公众号 / 小红书 delivery auto-recorded with platform, title, status, topic, and time.</i></sub></p>
|
||||
|
||||
---
|
||||
|
||||
## Tools reference
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `wechat_article_extract` | Cleans a `mp.weixin.qq.com` article into `{title, author, time, body, images}` (SSRF-limited to that host) |
|
||||
| `gzh_package` | Packages a 公众号 article (inline HTML + cover); runs compliance scan + records to the calendar |
|
||||
| `gzh_publish` | Pushes the article to the WeChat **draft box** (`draft`); optional `publish` is approval-gated |
|
||||
| `xhs_package` | Packages a 小红书 note; hard-validates ≥3 vertical cards; scans + records |
|
||||
| `xhs_publish` | Best-effort browser-assisted upload (approval-gated) — see limitations below |
|
||||
| `content_item` | Content calendar: `check_recent` (dedup), `record`, `mark_published` |
|
||||
| `compliance_scan` | Server-side lexicon scan; optional `extraBannedWords` merges your personal terms |
|
||||
|
||||
Plus the skills: **`gzh_article`**, **`xhs_note`**, **`deai_humanize`**. See [Skills](./skills) and [Tools](./tools).
|
||||
|
||||
---
|
||||
|
||||
## Setup
|
||||
|
||||
To publish to WeChat Official Account:
|
||||
|
||||
1. Configure the Official Account `app_id` / `app_secret` in **Settings** (stored AES-GCM encrypted).
|
||||
2. Set **`MATECLAW_SETTING_KEY`** to a stable secret and **back it up** — it decrypts existing ciphertext; losing it means re-entering secrets.
|
||||
3. Add the server's **public IP** to the Official Account backstage whitelist. The publish chain will tell you if it's missing.
|
||||
|
||||
Xiaohongshu needs no API key — Content Studio produces a downloadable card package by default.
|
||||
|
||||
---
|
||||
|
||||
## Limitations & non-goals
|
||||
|
||||
- **No mass-send / one-click push to all followers.** Rate-limited and outward-irreversible; MateClaw drafts, you publish from the backstage.
|
||||
- **No official Xiaohongshu publish API.** None exists. Content Studio produces a ready-to-post card package (default); browser-assisted upload is optional, approval-gated, and **does not bypass any risk control or human verification**.
|
||||
- **De-AI-ification is heuristic**, not an adversarial guarantee against detectors.
|
||||
- **No content laundering.** Reference fetching is for understanding existing angles and differentiating — output must be original and cite its references. Compliance responsibility rests with you.
|
||||
|
||||
---
|
||||
|
||||
## What to read next
|
||||
|
||||
- [Skills](./skills) — the SKILL.md protocol behind `gzh_article` / `xhs_note` / `deai_humanize`
|
||||
- [Tools](./tools) — the built-in tool registry
|
||||
- [Channels](./channels) — the WeChat Official Account transport
|
||||
- [Security & Approval](./security) — the approval gate on outward publish actions
|
||||
@ -24,6 +24,7 @@ MateClaw doesn't care which LLM you use. It talks to every mainstream provider t
|
||||
| **DeepSeek** | deepseek-chat, deepseek-coder, **DeepSeek V4 flash + pro** (thinking-mode) | openai | OpenAI-compatible |
|
||||
| **Kimi (Moonshot)** | moonshot-v1-8k/32k/128k | openai | OpenAI-compatible |
|
||||
| **Zhipu AI** | GLM-5-Turbo, GLM-5V-Turbo, GLM-5, GLM-5.1, **GLM-5.2** | openai | OpenAI-compatible; CN + international standard endpoints plus two Coding Plan subscription endpoints |
|
||||
| **Volcano Engine Agent Plan** _(1.8.0+)_ | GLM-5.2 (primary) and more | openai | OpenAI-compatible; agent-plan endpoint (`/api/plan/v3`) |
|
||||
| **MiniMax** | abab6.5, abab5.5; expanded video catalog + CN endpoint | anthropic | Anthropic Messages API-compatible (endpoint `/anthropic`) |
|
||||
| **SiliconFlow CN/INTL** | Routed inference across hosted models | openai | Two endpoints, OpenAI-compatible |
|
||||
| **OpenCode** | Code-tuned routing | openai | OpenAI-compatible |
|
||||
|
||||
@ -10,6 +10,7 @@ For historical diffs, check the corresponding git tag. For the "why" behind a fe
|
||||
|
||||
| Version | Date | Highlights |
|
||||
|---------|------|------------|
|
||||
| [v1.8.0](./releases/1.8.0) | 2026-07-12 | Content Studio — one sentence to a publishable post (seeded "Content Studio" employee runs pick-topic → research → draft → illustrate → de-AI → layout → deliver) · **WeChat Official Account (公众号)** image-text articles (`gzh_article` · inline-style HTML · draft-box publish via `gzh_publish`) + **Xiaohongshu (小红书)** image-first notes (`xhs_note` · ≥3 vertical 3:4 cards · online preview) · Measurable **de-AI-ification** (heuristic AI-trace score → detect/rewrite/re-check loop, max 3 rounds) · Publish chain hardened (body images uploaded into WeChat · AES-GCM secret encryption · WeChat service+token reuse · retry + Chinese error hints · fallback cover) · **Content Calendar** (deliver = compliance-scan + auto-record · topic-fingerprint dedup · read-only page) · Browser agent **accessibility-tree ref interaction** + real-browser privacy guardrails + controlled CDP hatch · Attention anchoring + tool-call loop guard + post-mutation verify reminder · Fast-load (~78% smaller initial bundle) · Context-occupancy panel · Cross-KB wikilinks · MCP progress notifications · Volcano Engine provider · PostgreSQL 16 |
|
||||
| [v1.7.0](./releases/1.7.0) | 2026-07-04 | Productionization pass — all three approval paths close the loop (workflow approval channel notify + resolve→resume bridge · WebChat/API-Key channel approve+replay · Feishu/WeCom card-click resolves workflow approvals) · Long tasks are visible ("Run Overview" rail + per-turn token breakdown incl. cache hit/miss/write + sub-agent cost rolled up + one-click generated-file download) · Fits the real model window (local-model context-window probing + unified token budget for prefix injection + small-context degradation + tool-schema budget gate) · Opens up (KB / Deep Research open API with API-key+rate-limit+SSE · pluggable search Provider SPI · MCP identity forwarding) · Desktop remote-server connection + `mateclaw-desktop` source open-sourced + LAN deployment mode · One-click operational data export (Dashboard 9-sheet Excel + CLI) · Wiki processing-failure visibility · Per-employee model chain · Debuggable OpenAPI/Swagger |
|
||||
| [v1.6.0](./releases/1.6.0) | 2026-06-22 | Runs on domestic databases — KingbaseES (人大金仓) + PostgreSQL (one shared PostgreSQL-family migration tree · opt-in Kingbase driver · least-privilege Docker roles) · New senses & hands (image kept in context across turns + `image_analyze` · `execute_code` runs agent-authored code) · You shape the employee (AGENTS.md editor + About You identity + runtime model identity + KB-scope binding + roster tags) · Wiki Sources tab (raw materials + watcher unified, per-KB auto-sync, multi-path/glob, pageType form editor) · Global outbound HTTP/SOCKS proxy · Deterministic Markdown answers · Claude Fable 5 |
|
||||
| [v1.5.0](./releases/1.5.0) | 2026-06-04 | Goals grew a checklist — from "a score" to "ticked boxes" (checklist + Evaluator SPI + deterministic completion) · The Wiki learned to maintain itself (`[[wikilinks]]` + cascade rename/delete link-fix + broken-link lint · fact/experience layers + staleness propagation · pageType profiles & per-agent permissions · processing pipelines · local-directory knowledge source with scheduled incremental sync) · Per-owner memory isolation (owner_key + personal/team/global scopes + third-party endUserId passthrough) · Each employee binds a primary KB · Preferred provider drives the primary model + Claude Opus 4.8 |
|
||||
|
||||
@ -117,9 +117,22 @@ A **productionization pass**: once you put it into real collaboration, the place
|
||||
|
||||
Full story: [v1.7.0 release notes](./releases/1.7.0.md).
|
||||
|
||||
### v1.8 — It does a whole job ✅ Released (2026-07-12)
|
||||
|
||||
The employee turns **outward and finishes a whole job** — from a one-sentence brief to a publishable post — on MateClaw's own primitives.
|
||||
|
||||
- **Content Studio** — the first flagship *scene*: a seeded employee runs pick-topic → research → draft → illustrate → de-AI → layout → deliver. **WeChat Official Account (公众号)** image-text articles (inline-style HTML → draft box) and **Xiaohongshu (小红书)** image-first notes (≥3 vertical 3:4 cards + online preview) ship first-class
|
||||
- **De-AI-ification you can measure** — a heuristic AI-trace score drives a detect → rewrite → re-check loop, capped at 3 rounds
|
||||
- **A publish chain hardened for real operation** — body images uploaded into WeChat, AES-GCM-encrypted secrets, reused service + persisted token, retry + Chinese error hints, guaranteed fallback cover; draft-box-first, publish approval-gated
|
||||
- **A content calendar that dedups and remembers** — every delivery is compliance-scanned and auto-recorded, a topic fingerprint stops repeat picks, and a read-only Content Calendar page shows drafted/packaged/published/failed
|
||||
- **The browser agent sees by reference** — an accessibility-tree ref snapshot + interact-by-ref, real-browser privacy guardrails, and a controlled CDP escape hatch
|
||||
- Attention anchoring & environment awareness, a tool-call loop guard, a post-mutation verify reminder; a fast-load pass (~78% smaller initial bundle), a context-occupancy panel, cross-KB wikilinks, MCP progress notifications, a Volcano Engine provider, PostgreSQL 16
|
||||
|
||||
Full story: [v1.8.0 release notes](./releases/1.8.0.md).
|
||||
|
||||
---
|
||||
|
||||
## Next: v1.8 — Agent Team & Agent Loop
|
||||
## Next: Agent Team & Agent Loop
|
||||
|
||||
> "Great things in business are never done by one person. They're done by a team of people."
|
||||
|
||||
@ -131,7 +144,7 @@ But today's MateClaw still has two "stops":
|
||||
|
||||
**Employees are reactive.** Goal auto-followup only lives **within a single run**; cron and triggers can wake an employee up, but every wake-up is an isolated response. No employee is truly **on duty** — continuously watching its area of responsibility and deciding for itself when to act.
|
||||
|
||||
v1.8 turns both stops into continuity.
|
||||
v1.9 turns both stops into continuity.
|
||||
|
||||
### Agent Team — from "temp hires" to "standing roster"
|
||||
|
||||
@ -145,7 +158,7 @@ A team is no longer a tree that sprouts at delegation time and vanishes when the
|
||||
- [ ] **Team-level goals**: one goal decomposes into member sub-goals; the checklist aggregates across members — hover the leader's avatar to see what the whole team still owes
|
||||
- [ ] **Team-to-channel binding**: bind a Feishu / DingTalk group to a team; @ the team in the group, the leader decides who takes it
|
||||
- [ ] **Team retrospectives**: task wrap-up auto-generates a retrospective into the team's LESSONS.md — this team does better next time
|
||||
- [ ] **Employee Builder upgrade**: v1.4 builds a batch of employees from one sentence; v1.8 makes it emit a **standing team with a charter**
|
||||
- [ ] **Employee Builder upgrade**: v1.4 builds a batch of employees from one sentence; v1.9 makes it emit a **standing team with a charter**
|
||||
- [ ] **Run Overview becomes a team view**: each member on-duty / busy / idle at a glance; click through to see what it's working on
|
||||
|
||||
### Agent Loop — from "answers then stops" to "on duty"
|
||||
@ -207,7 +220,8 @@ A leader on a loop, members summoned on demand — that's a **self-running digit
|
||||
| **v1.5** | It's verifiable | Goal checklists + self-maintaining Wiki + owner-aware memory | ✅ Released |
|
||||
| **v1.6** | It meets you where you are | Domestic databases + persistent vision + code execution + identity shaping | ✅ Released |
|
||||
| **v1.7** | It's ready for production | Approval paths closed + Run Overview & cost visibility + context/token budgeting + open API/Deep Research + desktop remote/LAN + operational export | ✅ Released |
|
||||
| **v1.8** | **It's on duty** | **Agent Team standing rosters + Agent Loop resident cycles = a department that runs itself** | 📋 Planned |
|
||||
| **v1.8** | **It does a whole job** | **Content Studio — one sentence to a publishable 公众号 / 小红书 post + browser ref interaction** | ✅ Released |
|
||||
| **v1.9** | **It's on duty** | **Agent Team standing rosters + Agent Loop resident cycles = a department that runs itself** | 📋 Planned |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -634,6 +634,18 @@ Full review in [Security & Approval](./security).
|
||||
|
||||
---
|
||||
|
||||
## Content Studio skills (1.8.0+)
|
||||
|
||||
Three built-in skills compose the [Content Studio](./content-studio) scene — one sentence to a publishable 公众号 / 小红书 post:
|
||||
|
||||
- **`gzh_article`** — WeChat Official Account image-text creation, end-to-end: pick topic → research → draft → illustrate → de-AI → inline-style HTML layout → deliver / draft box. Honors your persona & style memory.
|
||||
- **`xhs_note`** — Xiaohongshu image-first notes: four-part title + short-sentence body + topic tags, rendered as ≥3 vertical 3:4 cards with an online preview.
|
||||
- **`deai_humanize`** — measurable de-AI-ification: a heuristic AI-trace score drives a detect → rewrite → re-check loop (two tones: 公众号 measured, 小红书 lively), capped at 3 rounds.
|
||||
|
||||
See [Content Studio](./content-studio) for the full pipeline, publish chain, and content calendar.
|
||||
|
||||
---
|
||||
|
||||
## Next
|
||||
|
||||
- [Tools](./tools) — tools that skills can use
|
||||
|
||||
@ -115,6 +115,20 @@ As the tool count grows, the system prompt balloons with dozens of full tool sch
|
||||
|
||||
Plus the `MusicGenerateTool` from [Multimodal](./multimodal). And the 14 Wiki tools from [LLM Wiki](./wiki): `wiki_read_page`, `wiki_read_many`, `wiki_list_pages`, `wiki_search_pages`, `wiki_semantic_search`, `wiki_compile_page`, `wiki_trace_source`, `wiki_create_page`, `wiki_delete_page`, `wiki_archive_page`, `wiki_unarchive_page`, `wiki_related_pages`, `wiki_explain_relation`, `wiki_enrich_page`.
|
||||
|
||||
### Content Studio tools (1.8.0+)
|
||||
|
||||
Seven built-in tools power the [Content Studio](./content-studio) scene (公众号 / 小红书 image-text creation and publishing):
|
||||
|
||||
| Tool | What it does | Dangerous |
|
||||
|------|--------------|-----------|
|
||||
| `wechat_article_extract` | Clean a `mp.weixin.qq.com` article into `{title, author, time, body, images}` (SSRF-limited to that host) | — |
|
||||
| `gzh_package` | Package a WeChat Official Account article (inline HTML + cover); runs compliance scan + records to the content calendar | — |
|
||||
| `gzh_publish` | Push the article to the WeChat **draft box** (`draft`); optional `publish` is approval-gated | ⚠️ |
|
||||
| `xhs_package` | Package a Xiaohongshu note; hard-validates ≥3 vertical cards; scans + records | — |
|
||||
| `xhs_publish` | Best-effort browser-assisted upload (approval-gated) | ⚠️ |
|
||||
| `content_item` | Content calendar: `check_recent` (topic-fingerprint dedup), `record`, `mark_published` | — |
|
||||
| `compliance_scan` | Server-side lexicon scan (extreme-claim / inducement / guaranteed-return terms); optional `extraBannedWords` | — |
|
||||
|
||||
### DateTimeTool
|
||||
|
||||
Returns the current date and time for a given timezone. Zero surprises.
|
||||
@ -193,7 +207,9 @@ Lets an agent read, write, and edit its own workspace memory files — `MEMORY.m
|
||||
|
||||
### BrowserUseTool
|
||||
|
||||
Drives a headless browser. Navigate, click, type, extract. Every call gated by Tool Guard.
|
||||
Drives a browser. Navigate, click, type, extract. Every call gated by Tool Guard.
|
||||
|
||||
**Ref interaction (1.8.0+).** The tool reads a page as a compact **accessibility-tree snapshot** where every interactive element gets a stable `ref` handle, and click / type / select target the **element by its `ref`** rather than a screenshot coordinate — so an action survives a page reflow instead of missing. Using a **real** browser session adds **privacy guardrails**, with a controlled CDP (Chrome DevTools Protocol) escape hatch for cases the safe path can't reach (opt-in, not default).
|
||||
|
||||
### DelegateAgentTool — agents delegating to agents
|
||||
|
||||
|
||||
@ -604,6 +604,16 @@ curl -X POST http://localhost:18088/api/v1/channels \
|
||||
|
||||
---
|
||||
|
||||
## 微信公众号(发布目标,1.8.0+)
|
||||
|
||||
与上面九个对话渠道不同,**微信公众号(公众号)** 集成是一个**单向发布传输层**,不是入站消息渠道。它被 [内容工作室](./content-studio) 用来把图文文章推进你公众号的**草稿箱**。
|
||||
|
||||
- 在**设置**里配公众号 `app_id` / `app_secret`——密钥**以 AES-GCM 加密存储**(设好 `MATECLAW_SETTING_KEY` 并做好备份)。
|
||||
- 微信服务实例按 appId 缓存并**持久化 access token**(微信同 appId 只有一个有效 token),发布链对瞬时错误**重试**,并把已知错误码翻译成可操作提示(比如*把服务器 IP 加进公众号白名单*)。
|
||||
- 发布**草稿箱优先**;可选的 `publish` 动作走审批。详见 [内容工作室](./content-studio)。
|
||||
|
||||
---
|
||||
|
||||
## 渠道管理 API
|
||||
|
||||
```bash
|
||||
|
||||
180
mateclaw-server/src/main/resources/docs/zh/content-studio.md
Normal file
180
mateclaw-server/src/main/resources/docs/zh/content-studio.md
Normal file
@ -0,0 +1,180 @@
|
||||
# 内容工作室
|
||||
|
||||
**一句话进,一篇可发布成品出。**
|
||||
|
||||
内容工作室(Content Studio)是 MateClaw 的第一个招牌**场景**——不是单个工具,而是一条被编排的流水线,把*"给我写篇关于 XX 的"*变成平台可发布的成品:一篇躺进草稿箱的**微信公众号(公众号)** 图文文章,或一组打包成可直接发布竖版卡片的**小红书** 笔记。
|
||||
|
||||
它完全用 MateClaw 自身的原子能力搭起来——联网搜索、抓网页、文生图、HTML 渲染成图、结构化记忆、定时任务、技能运行时——缝成一条可复用的 SOP。下文所有能力自 **v1.8.0+** 起提供。
|
||||
|
||||
---
|
||||
|
||||
## 预置员工
|
||||
|
||||
内容工作室以一个**预置数字员工**的形态出厂,名叫 *内容工作室 / Content Studio*。它出厂就绑好了对应技能与工具,system prompt 固化了七段工作流,以及"外向、不可逆那一步之前先确认"的纪律。你不用组装它——直接跟它说话:
|
||||
|
||||
> *"写一篇关于本地大模型部署的公众号图文,参考这两篇:`<url1>` `<url2>`"*
|
||||
>
|
||||
> *"给我出一条周末咖啡探店的小红书。"*
|
||||
|
||||
第二篇起,它已经知道你的口吻——人设、文风、选题方向、违禁词——因为这些活在**结构化记忆**里,不用你每次交代。
|
||||
|
||||
---
|
||||
|
||||
## 流水线
|
||||
|
||||
```
|
||||
① 选题 → ② 搜集 → ③ 成文 → ④ 配图 → ⑤ 去 AI 化 → ⑥ 排版 → ⑦ 交付
|
||||
```
|
||||
|
||||
| 阶段 | 做什么 | 靠谁 |
|
||||
|---|---|---|
|
||||
| **① 选题** | 从记忆读你的长期选题方向 + 联网搜索;或来自每日「选题雷达」定时任务 | `recall_structured`、`web_search`、cron |
|
||||
| **② 搜集** | 抓参考文章、汇总角度,让你做差异化而非洗稿 | `wechat_article_extract`、`browser_use` |
|
||||
| **③ 成文** | 按平台原生结构成稿,遵循你的人设与文风记忆 | LLM + 记忆 |
|
||||
| **④ 配图** | 生成封面与小节配图 | `image_generate` |
|
||||
| **⑤ 去 AI 化** | 跑可度量的 检测 → 改写 → 复检 闭环(见下) | `deai_humanize` 技能 |
|
||||
| **⑥ 排版** | 产出平台成品(内联样式 HTML / 竖版卡片) | `render_html_image`、HTML 模板 |
|
||||
| **⑦ 交付** | 在外向、不可逆那一步停下等你确认 | `gzh_publish`(草稿) / `xhs_package` |
|
||||
|
||||
**模板可对话生成。** 因为排版本质就是 HTML,员工可以对话式创建与打磨模板——渲染预览、看 PNG、再改——并把可复用的自定义模板沉淀进你自己的可编辑技能。内置技能保持不可变;你的自定义活在一个 `custom` 技能里(见 [技能系统](./skills))。
|
||||
|
||||
---
|
||||
|
||||
## 两个平台,一等公民
|
||||
|
||||
### 微信公众号(公众号)—— `gzh_article`
|
||||
|
||||
- **内联样式 HTML。** 公众号编辑器不吃 `<style>` 块,所以一切样式内联。出厂带起始模板(`gzh_layout_minimal`、`gzh_layout_business`),AI 也能自创。
|
||||
- **平台原生结构**——钩子引言、3–5 个带标题小节含具体案例/数据、金句、结尾行动号召。
|
||||
- **封面**按头图尺寸(≈ 2.35:1),外加小节配图。
|
||||
- **合规自查**——比对你的违禁词与平台敏感词。
|
||||
- **交付**可手动粘贴,或经 `gzh_publish` 直接推进你的**草稿箱**。
|
||||
|
||||
> 读技能内的 `references/gzh_platform_rules.md` 了解真实平台规矩——封面尺寸、标题/摘要限制、编辑器排版、诱导分享/关注红线、群发频次、原创机制。
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-gzh-article.png" alt="内容工作室在控制台里产出公众号图文" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>内容工作室在控制台里产出一篇公众号图文——文章结构、生成的封面,以及一键把它推进草稿箱的提议(`gzh_publish action=draft`)。右侧「运行总览」列出生成的文件。</i></sub></p>
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/out-gzh-cover.png" alt="它为这篇文章产出的公众号头图封面" width="88%">
|
||||
</p>
|
||||
<p align="center"><sub><i>它为这篇文章产出的头图封面——真实产出成品。</i></sub></p>
|
||||
|
||||
### 小红书 —— `xhs_note`
|
||||
|
||||
小红书是**以图为主**的平台——读者先滑图、再看字。
|
||||
|
||||
- **至少 3 张竖版 3:4 卡片**(封面 + 内容 + 结尾),由 HTML 模板渲染:`xhs_card_cover`、`xhs_card_content`、`xhs_card_end`,外加金句卡 `xhs_card_quote`。`xhs_package` 会**硬校验**「≥3 图」规则,不足直接拒绝打包。
|
||||
- **标题四件套**(数字 / 悬念 / 情绪 / 对比,≤20 字)+ 碎句正文配 emoji 分段 + 3–8 个话题标签(大词 + 中词 + 长尾)。
|
||||
- **在线预览**——渲染出的卡片 PNG 本身就是预览;看着满意再定稿。
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-xhs-note.png" alt="内容工作室在产出一条小红书笔记" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>内容工作室在产出一条小红书笔记——可度量的去 AI 化评分(10/100 → human-like)、自动记入内容日历的台账、以及手动上传的发布步骤。右侧「运行总览」列出生成的竖版卡片。</i></sub></p>
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/out-xhs-01-cover.png" alt="小红书封面卡" width="30%">
|
||||
<img src="/images/content-studio/out-xhs-02-steps.png" alt="小红书内容卡——步骤" width="30%">
|
||||
<img src="/images/content-studio/out-xhs-03-tips.png" alt="小红书内容卡——避坑" width="30%">
|
||||
</p>
|
||||
<p align="center"><sub><i>它产出的竖版 3:4 卡片——封面(标题四件套)+ 把结构化要点做进图里的内容卡。</i></sub></p>
|
||||
|
||||
---
|
||||
|
||||
## 可度量的去 AI 化
|
||||
|
||||
整个场景的差异化,在于"去 AI 化"(`deai_humanize`)不是玄学,而是一条**可度量的闭环**。
|
||||
|
||||
一个启发式脚本(`ai_trace_score`,纯 Python、无 LLM、确定性可回归)给文本打 **0–100** 分,并返回具体信号与位置:
|
||||
|
||||
| 信号 | 抓什么 |
|
||||
|---|---|
|
||||
| **句长突发度** | 句长方差过低 → 整齐划一 = 机器 |
|
||||
| **连接词密度** | 模板腔("首先/其次/然后/综上所述/值得注意的是……") |
|
||||
| **套话短语** | 套话("在……的今天/让我们/随着……的发展/赋能……") |
|
||||
| **列表 / 破折号滥用** | 过度结构化、一眼生成 |
|
||||
| **段落均匀度** | 各段字数机械等长 |
|
||||
| **具体性缺失** | 数字、专名、第一人称、时间地点太少 = 空泛 |
|
||||
|
||||
员工据此**针对信号改写**——口语化、第一人称、上具体细节、句长参差、删套话、按平台调口吻(公众号沉稳、小红书活泼)——再**复评**,循环到达标或触及 **`max_rounds = 3`**(此时取当前最好版本并告知分数)。
|
||||
|
||||
> **去 AI 化是启发式质量增强,不保证绕过任何 AI 检测器。** 技能与产出都会明确标注。
|
||||
|
||||
---
|
||||
|
||||
## 为长期投产而加固的发布链
|
||||
|
||||
发一次草稿很容易;连续三个月每天发才是真问题。v1.8.0 的发布链把它们堵上:
|
||||
|
||||
- **正文图不裂。** 微信不抓正文外链图,所以发布链解析 HTML、**把每张正文图上传进微信**并改写 `src`。上传失败的图保留原 `src` 并回报,而不阻断整篇。
|
||||
- **密钥加密落库。** `weixinoa.app_secret` 等敏感设置以 **AES-GCM 加密**存储(密钥取自 `MATECLAW_SETTING_KEY`,回退机器派生密钥),密文带 `enc:v1:` 前缀,旧明文读时透明兼容、下次写入自动升级。
|
||||
- **一个服务、一个 token。** 微信服务实例**按 appId 缓存**、access token **持久化**,重复调用与多实例部署不再撞微信"同 appId 单 token"限额。密钥变更即失效缓存。
|
||||
- **重试 + 说人话的错误。** 可重试的微信错误码指数退避重试;已知错误码翻译成可操作提示——比如*"把服务器公网 IP 加进公众号后台白名单"*。
|
||||
- **草稿永远有封面。** 封面解析不到时渲染一张**内置占位封面**,保证草稿仍能落地,并在返回里提示用了占位封面。
|
||||
|
||||
**草稿箱优先。** 群发/发表是外向、不可逆且受频次限制的动作,由 MateClaw 出草稿、你在公众号后台点"发表"。可选的 `publish` 动作走 [审批](./security) 流。
|
||||
|
||||
---
|
||||
|
||||
## 内容日历——交付 = 扫 + 记
|
||||
|
||||
凡是"这条也让模型顺手记一下"的设计,薄弱点就在模型会忘。合规与台账被**焊进交付工具本身**:
|
||||
|
||||
- **交付 = 扫 + 记。** `gzh_package` 与 `xhs_package` 交付时跑**服务端合规扫描**(极限词 / 诱导词 / 承诺收益词)并在交付成功后**自动落台账**——没有一个可被跳过的独立调用。高危命中在返回里显式标出;高危发布默认拦截。
|
||||
- **选题指纹去重。** 每条台账带一个归一化**选题指纹**;`content_item check_recent` 回看 `packaged`/`published` 记录(忽略 `draft`/`failed`,排除刚落表那条),让每日定时任务不再选到你已做过的题。
|
||||
- **个人违禁词并入。** 扫描把你结构化记忆里的 `banned_words` 作为额外类目,叠加内置词库之上。
|
||||
- **只读的内容日历页。** 列出每条台账——平台、标题、状态、选题、预览链接、创建/发布时间——顶部带状态计数卡。
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/content-studio/ui-content-calendar.png" alt="内容日历页" width="100%">
|
||||
</p>
|
||||
<p align="center"><sub><i>只读的内容日历——每次公众号 / 小红书交付都自动记入,带平台、标题、状态、选题与时间。</i></sub></p>
|
||||
|
||||
---
|
||||
|
||||
## 工具速查
|
||||
|
||||
| 工具 | 做什么 |
|
||||
|---|---|
|
||||
| `wechat_article_extract` | 把 `mp.weixin.qq.com` 文章清洗成 `{标题, 作者, 时间, 正文, 图片}`(SSRF 限该 host) |
|
||||
| `gzh_package` | 打包公众号图文(内联 HTML + 封面);跑合规扫描 + 落台账 |
|
||||
| `gzh_publish` | 把文章推进微信**草稿箱**(`draft`);可选 `publish` 走审批 |
|
||||
| `xhs_package` | 打包小红书笔记;硬校验 ≥3 张竖版卡片;扫 + 记 |
|
||||
| `xhs_publish` | 尽力而为的浏览器辅助上传(走审批)——见下方约束 |
|
||||
| `content_item` | 内容日历:`check_recent`(去重)、`record`、`mark_published` |
|
||||
| `compliance_scan` | 服务端词库扫描;可选 `extraBannedWords` 并入你的个人词 |
|
||||
|
||||
外加技能:**`gzh_article`**、**`xhs_note`**、**`deai_humanize`**。见 [技能系统](./skills) 与 [工具系统](./tools)。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
|
||||
要发到微信公众号:
|
||||
|
||||
1. 在**设置**里配公众号 `app_id` / `app_secret`(以 AES-GCM 加密存储)。
|
||||
2. 把 **`MATECLAW_SETTING_KEY`** 设成一个稳定密钥并**做好备份**——它用来解密已有密文,丢了就得重填密钥。
|
||||
3. 把服务器**公网 IP** 加进公众号后台白名单。发布链会在缺失时提示你。
|
||||
|
||||
小红书无需 API key——内容工作室默认产出可下载的卡片素材包。
|
||||
|
||||
---
|
||||
|
||||
## 约束与非目标
|
||||
|
||||
- **不做群发 / 一键推送全部粉丝。** 受频次限制且外向不可逆;MateClaw 出草稿,你在后台发表。
|
||||
- **无小红书官方发布 API。** 不存在。内容工作室产出可直接发布的卡片素材包(默认);浏览器辅助上传是可选、需审批,且**不绕过任何风控或人机验证**。
|
||||
- **去 AI 化是启发式**,非对抗检测器的保证。
|
||||
- **不做洗稿搬运。** 抓参考只为了解已有角度、做差异化——产出须原创并标注参考来源。合规责任在你。
|
||||
|
||||
---
|
||||
|
||||
## 接下来读什么
|
||||
|
||||
- [技能系统](./skills) —— `gzh_article` / `xhs_note` / `deai_humanize` 背后的 SKILL.md 协议
|
||||
- [工具系统](./tools) —— 内置工具注册表
|
||||
- [多渠道接入](./channels) —— 微信公众号传输层
|
||||
- [安全与审批](./security) —— 外向发布动作上的审批闸
|
||||
@ -24,6 +24,7 @@ MateClaw 不关心你用哪个 LLM。它通过五个协议适配器跟所有主
|
||||
| **DeepSeek** | deepseek-chat、deepseek-coder、**DeepSeek V4 flash + pro**(支持思考模式) | openai | OpenAI 兼容 |
|
||||
| **Kimi(Moonshot)** | moonshot-v1-8k/32k/128k | openai | OpenAI 兼容 |
|
||||
| **智谱 AI** | GLM-5-Turbo、GLM-5V-Turbo、GLM-5、GLM-5.1、**GLM-5.2** | openai | OpenAI 兼容;中国区 + 国际区各一个 standard 端点,外加两个 Coding Plan 订阅端点 |
|
||||
| **火山方舟 Agent Plan** _(1.8.0+)_ | GLM-5.2(主模型)等 | openai | OpenAI 兼容;agent-plan 端点(`/api/plan/v3`) |
|
||||
| **MiniMax** | abab6.5、abab5.5;扩展视频模型目录 + 国内端点 | anthropic | Anthropic Messages API 兼容(端点 `/anthropic`) |
|
||||
| **SiliconFlow CN/INTL** | 托管路由推理 | openai | 双端点,OpenAI 兼容 |
|
||||
| **OpenCode** | 代码场景路由 | openai | OpenAI 兼容 |
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
| 版本 | 日期 | 亮点 |
|
||||
|------|------|------|
|
||||
| [v1.8.0](./releases/1.8.0) | 2026-07-12 | 内容工作室——一句话到可发布成品(预置「内容工作室」员工跑通 选题→搜集→成文→配图→去AI化→排版→交付) · **微信公众号(公众号)** 图文文章(`gzh_article` · 内联样式 HTML · `gzh_publish` 推进草稿箱)+ **小红书** 以图为主图文笔记(`xhs_note` · ≥3 张竖版 3:4 卡片 · 在线预览) · 可度量**去 AI 化**(启发式 AI 痕迹评分 → 检测/改写/复检闭环,硬上限 3 轮) · 发布链加固(正文图上传进微信 · AES-GCM 密钥加密 · 微信服务+token 复用 · 重试 + 中文错误提示 · 兜底封面) · **内容日历**(交付即合规扫描 + 自动落台账 · 选题指纹去重 · 只读页) · 浏览器 Agent **无障碍树 ref 交互** + 真实浏览器隐私护栏 + 受控 CDP 逃生舱 · 注意力锚定 + 工具调用循环护栏 + 改动后校验提醒 · 快加载(初始包体 ↓约 78%) · 上下文占用面板 · 跨知识库 wikilink · MCP 进度通知 · 火山方舟供应商 · PostgreSQL 16 |
|
||||
| [v1.7.0](./releases/1.7.0) | 2026-07-04 | 生产化加固 —— 审批体系打通三条链路(工作流审批渠道通知 + resolve→resume 桥接 · WebChat/API-Key 渠道审批 resolve+replay · 飞书/企微卡片点击 resolve 工作流审批) · 长任务看得见(「运行总览」侧栏 + 本轮 Token 明细含缓存命中/未命中/写入 + 子 Agent 成本向上滚加 + 生成文件一键下载) · 装得下真实模型窗口(本地模型上下文窗口探测 + prefix 注入统一 Token 预算 + 小上下文降级 + 工具 schema 预算门) · 开放出去(知识库 / Deep Research 开放 API 含 API-Key+限流+SSE · 插件化搜索 Provider SPI · MCP 身份透传) · 桌面端远程 Server 连接 + `mateclaw-desktop` 源码开源 + 局域网部署模式 · 运营数据一键导出(Dashboard 9 表 Excel + CLI 命令行) · Wiki 处理失败可视化 · 按员工模型链 · OpenAPI/Swagger 可调试 |
|
||||
| [v1.6.0](./releases/1.6.0) | 2026-06-22 | 跑在国产数据库上 —— KingbaseES(人大金仓)+ PostgreSQL(共用一套 PostgreSQL 家族迁移树 · 按需金仓驱动 · Docker 最小权限角色) · 新感官与双手(图片跨轮次留在上下文 + `image_analyze` · `execute_code` 运行员工编写的代码) · 你来塑造员工(AGENTS.md 编辑器 + About You 身份 + 运行时模型身份 + KB 范围绑定 + 花名册标签) · Wiki Sources 标签(素材与监听合并、按 KB 自动同步、多路径/glob、pageType 表单编辑器) · 全局出站 HTTP/SOCKS 代理 · 确定性 Markdown 回答 · Claude Fable 5 |
|
||||
| [v1.5.0](./releases/1.5.0) | 2026-06-04 | 目标长出清单——从"打个分"到"逐条勾"(checklist + Evaluator SPI + 确定性完成判定) · Wiki 学会自维护(`[[wikilink]]` 互联 + 改名/删页级联修链 + 坏链体检 · 事实/经验分层 + 失效传播 · pageType 档案与 per-agent 权限 · 处理流水线 · 本地目录知识源定时增量同步) · 记忆按主人隔离(owner_key + 个人/团队/全局可见性 + 第三方 endUserId 透传) · 每个员工绑主知识库 · 偏好提供商决定主模型 + Claude Opus 4.8 |
|
||||
|
||||
@ -117,9 +117,22 @@ MateClaw 就是这个东西。
|
||||
|
||||
完整故事:[v1.7.0 Release Notes](./releases/1.7.0.md)。
|
||||
|
||||
### v1.8 —— 它干完一整件活 ✅ 已发布(2026-07-12)
|
||||
|
||||
员工**转向对外、把一整件活干完**——从一句话简报到可发布成品——全用 MateClaw 自身的原子能力。
|
||||
|
||||
- **内容工作室** —— 第一个招牌*场景*:预置员工跑通 选题 → 搜集 → 成文 → 配图 → 去 AI 化 → 排版 → 交付。**微信公众号(公众号)** 图文文章(内联样式 HTML → 草稿箱)与 **小红书** 以图为主图文笔记(≥3 张竖版 3:4 卡片 + 在线预览)首批一等公民
|
||||
- **可度量的去 AI 化** —— 启发式 AI 痕迹评分驱动 检测 → 改写 → 复检 闭环,硬上限 3 轮
|
||||
- **为长期投产而加固的发布链** —— 正文图上传进微信、AES-GCM 加密密钥、服务复用 + token 持久化、重试 + 中文错误提示、兜底封面;草稿箱优先,发表走审批
|
||||
- **会去重、会记账的内容日历** —— 每次交付都合规扫描 + 自动落台账、选题指纹防重复、只读内容日历页展示草稿/已打包/已发布/失败
|
||||
- **浏览器 Agent 按引用去看** —— 无障碍树 ref 快照 + 按 ref 交互、真实浏览器隐私护栏、受控 CDP 逃生舱
|
||||
- 注意力锚定与环境感知、工具调用循环护栏、改动后校验提醒;快加载优化(初始包体 ↓约 78%)、上下文占用面板、跨知识库 wikilink、MCP 进度通知、火山方舟供应商、PostgreSQL 16
|
||||
|
||||
完整故事:[v1.8.0 Release Notes](./releases/1.8.0.md)。
|
||||
|
||||
---
|
||||
|
||||
## 下一站:v1.8 —— Agent Team 与 Agent Loop
|
||||
## 下一站:Agent Team 与 Agent Loop
|
||||
|
||||
> "伟大的事业不是一个人做成的,是一个团队做成的。"
|
||||
|
||||
@ -131,7 +144,7 @@ MateClaw 就是这个东西。
|
||||
|
||||
**员工是被动的。** 目标的自动延续只活在**单次运行内**;cron 和触发器能定时叫醒它,但每次醒来都是一次孤立的响应。没有一个员工真正"在岗"——持续盯着自己的职责范围,自己决定什么时候该干什么。
|
||||
|
||||
v1.8 要把这两个"停"变成"续"。
|
||||
v1.9 要把这两个"停"变成"续"。
|
||||
|
||||
### Agent Team(智能体团队)—— 从"临时拉人"到"常设编制"
|
||||
|
||||
@ -145,7 +158,7 @@ v1.8 要把这两个"停"变成"续"。
|
||||
- [ ] **团队级目标**:一个 goal 拆成成员子目标,清单跨成员汇总——hover 队长头像,看到整个团队还差哪几条
|
||||
- [ ] **团队绑渠道**:一个飞书群 / 钉钉群绑一个团队,群里 @ 团队,队长决定谁接
|
||||
- [ ] **团队复盘**:任务收尾自动生成 retrospective,沉淀进团队的 LESSONS.md——这个团队下次会做得更好
|
||||
- [ ] **「数字员工构建器」升级**:v1.4 已经能一句话建一批员工,v1.8 让它直接产出一个**带章程的常设团队**
|
||||
- [ ] **「数字员工构建器」升级**:v1.4 已经能一句话建一批员工,v1.9 让它直接产出一个**带章程的常设团队**
|
||||
- [ ] **运行总览升级为团队视图**:每个成员在岗 / 忙碌 / 空闲一眼看清,点进去看它正在干的事
|
||||
|
||||
### Agent Loop(智能体循环)—— 从"答完就停"到"长期在岗"
|
||||
@ -207,7 +220,8 @@ v1.8 要把这两个"停"变成"续"。
|
||||
| **v1.5** | 它可验证 | 目标清单 + Wiki 自维护 + 记忆认人 | ✅ 已发布 |
|
||||
| **v1.6** | 它来到你所在的地方 | 国产数据库 + 视觉留存 + 代码执行 + 身份塑造 | ✅ 已发布 |
|
||||
| **v1.7** | 它敢放进生产 | 审批三链路闭环 + 运行总览与成本可见 + 上下文/Token 预算 + 开放 API/Deep Research + 桌面远程/局域网 + 运营导出 | ✅ 已发布 |
|
||||
| **v1.8** | **它长期在岗** | **Agent Team 常设团队 + Agent Loop 常驻循环 = 会自己运转的数字部门** | 📋 规划中 |
|
||||
| **v1.8** | **它干完一整件活** | **内容工作室 —— 一句话到可发布的公众号 / 小红书成品 + 浏览器 ref 交互** | ✅ 已发布 |
|
||||
| **v1.9** | **它长期在岗** | **Agent Team 常设团队 + Agent Loop 常驻循环 = 会自己运转的数字部门** | 📋 规划中 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -633,6 +633,18 @@ MCP / ACP 衍生的技能过去是不透明的工具包,没有可读指令。v
|
||||
|
||||
---
|
||||
|
||||
## 内容工作室技能(1.8.0+)
|
||||
|
||||
三个内置技能组成 [内容工作室](./content-studio) 场景——一句话到可发布的公众号 / 小红书成品:
|
||||
|
||||
- **`gzh_article`** —— 公众号图文创作,端到端:选题 → 搜集 → 成文 → 配图 → 去 AI 化 → 内联样式 HTML 排版 → 交付 / 草稿箱。遵循你的人设与文风记忆。
|
||||
- **`xhs_note`** —— 小红书以图为主图文笔记:标题四件套 + 碎句正文 + 话题标签,渲染成 ≥3 张竖版 3:4 卡片并在线预览。
|
||||
- **`deai_humanize`** —— 可度量的去 AI 化:启发式 AI 痕迹评分驱动 检测 → 改写 → 复检 闭环(两种口吻:公众号沉稳、小红书活泼),硬上限 3 轮。
|
||||
|
||||
完整流水线、发布链、内容日历见 [内容工作室](./content-studio)。
|
||||
|
||||
---
|
||||
|
||||
## 下一步
|
||||
|
||||
- [工具系统](./tools)——技能能用的工具
|
||||
|
||||
@ -115,6 +115,20 @@ Tool Guard 是守门员。超时是**每个工具独立**的(这样一个慢
|
||||
|
||||
此外还有 [多模态创作](./multimodal) 的音乐生成工具 `MusicGenerateTool`。以及 [LLM Wiki](./wiki) 的 14 个 Wiki 工具:`wiki_read_page`、`wiki_read_many`、`wiki_list_pages`、`wiki_search_pages`、`wiki_semantic_search`、`wiki_compile_page`、`wiki_trace_source`、`wiki_create_page`、`wiki_delete_page`、`wiki_archive_page`、`wiki_unarchive_page`、`wiki_related_pages`、`wiki_explain_relation`、`wiki_enrich_page`。
|
||||
|
||||
### 内容工作室工具(1.8.0+)
|
||||
|
||||
七个内置工具支撑 [内容工作室](./content-studio) 场景(公众号 / 小红书图文创作与发布):
|
||||
|
||||
| 工具 | 做什么 | 危险 |
|
||||
|------|--------|------|
|
||||
| `wechat_article_extract` | 把 `mp.weixin.qq.com` 文章清洗成 `{标题, 作者, 时间, 正文, 图片}`(SSRF 限该 host) | — |
|
||||
| `gzh_package` | 打包公众号图文(内联 HTML + 封面);跑合规扫描 + 落台账 | — |
|
||||
| `gzh_publish` | 把文章推进微信**草稿箱**(`draft`);可选 `publish` 走审批 | ⚠️ |
|
||||
| `xhs_package` | 打包小红书笔记;硬校验 ≥3 张竖版卡片;扫 + 记 | — |
|
||||
| `xhs_publish` | 尽力而为的浏览器辅助上传(走审批) | ⚠️ |
|
||||
| `content_item` | 内容日历:`check_recent`(选题指纹去重)、`record`、`mark_published` | — |
|
||||
| `compliance_scan` | 服务端词库扫描(极限词 / 诱导词 / 承诺收益词);可选 `extraBannedWords` | — |
|
||||
|
||||
### DateTimeTool
|
||||
|
||||
返回给定时区的当前日期时间。没有意外。
|
||||
@ -188,7 +202,9 @@ v1.2.0 时这个工具只能"文生图"。v1.3.0 起新增 `image` / `images`
|
||||
|
||||
### BrowserUseTool
|
||||
|
||||
驱动一个无头浏览器。每次调用都过 Tool Guard。
|
||||
驱动一个浏览器。每次调用都过 Tool Guard。
|
||||
|
||||
**按引用交互(1.8.0+)。** 工具把页面读成一份紧凑的**无障碍树快照**,每个可交互元素拿到一个稳定的 `ref` 句柄,点击 / 输入 / 选择都针对 **`ref` 指向的元素**而非截图坐标——一次操作能挺过页面重排而不落空。使用**真实**浏览器会话时加上**隐私护栏**,并保留一个受控的 CDP(Chrome DevTools Protocol)逃生舱应对安全路径够不着的场景(按需启用,非默认)。
|
||||
|
||||
### DelegateAgentTool —— Agent 之间委托
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mateclaw-ui",
|
||||
"version": "1.8.0-SNAPSHOT",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"description": "MateClaw - Personal AI Assistant Web Console",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user