Pages

只要全家人能团聚也就好了 作者: 林清玄

 

过年的记忆,对一般人来说当然都是好的,可是当一个人无法过一个好年的时候,过年往往比平常带来更深的寂寞与悲愁。

有一年过年,当我听母亲说那一年不能给我们买新衣鞋,忍不住跑到院子里靠在墙砖上哭了出声。

那一年我十岁,本来期待着过年买一套新衣已经期待了几个月了。在那个年代,小孩子几乎是没有机会穿新衣的,我们所有的衣服鞋子都是捡哥哥留下的,唯一的例外是过年,只有过年时可以买新衣服。

其实新衣服也不见得是漂亮的衣服,只是买一件当时最流行的特多龙布制服罢了。但即使这样,有新衣服穿是可以让人兴奋好久的,我到现在都可以记得当时穿新衣服那种颤抖的心情,而新衣服特有的棉香气息,到现在还依稀留存。

在乡下,过年给孩子买一套新制服竟成为一种时尚,过年那几天,满街跑着的都是特多龙的卡其制服,如果没有买那么一件,真是自惭形秽了。差不多每一个孩子在过年没有买新衣,都要躲起来哭一阵子,我也不例外。

那一次我哭得非常伤心,后来母亲跑来安慰我,说明为什么不能给我们买新衣的原因。因为那一年年景不好,收成抵不上开支,使我们连杂货店里日常用品的欠债都无法结清,当然不能买新衣了。

我们家是大家庭,一家子有三十几口,那一年尚未成年的兄弟姊妹就有十八个,一个一件新衣,就是最廉价的,也是一大笔开销。

那一年,我们连年夜饭都没吃,因为成年的男人都跑到外面去躲债了,一下子是杂货店、一下子是米行、一下子是酱油店跑来收账,简直一点解决的办法也没有,那些人都是殷实的小商人,我们家也是勤俭的农户,但因为年景不好,却在除夕那天相对无言。

当时在乡下,由于家家户户都熟识,大部分的商店都可以赊欠的,每半年才结算一次,因此过年前几天,大家都忙着收账,我们家人口众多,每一笔算起来都是不小的数目,尤其在没有钱的时候,听来心惊。
有一个杂货店的老板说:“我也知道你们今年收成不好,可是欠债也不能不催,我不催你们,又怎么去催别人呢?”

除夕夜,大人到半夜才回家来,他们已经到山上去躲了几天了,每个人都是满脸风霜,沉默不言,气氛非常僵硬。依照习俗,过年时的欠债只能催讨到夜里子时,过了子时就不能讨债了,一直到初五“隔开”时,才能再上门要债。爸爸回来的时候,我们总算松了口气,那时就觉得,没有新衣服穿也不是什么要紧,只要全家人能团聚也就好了。

第二天,爸爸还带着我们几个比较小的孩子到债主家拜年,每一个人都和和气气的,仿佛没有欠债的那一回事,临走时,他们总是说:“过完年再来交关吧!”对于中国人的人情礼义,我是那一年才有一些懂了,在农村社会,信用与人情都是非常重要的,有时候不能尽到人情,但由于过去的信用,使人情也并未被破坏。当然,类似“跑债”的行为,也只反映了人情的可爱,因为在双方的心里,其实都是知道一笔债是不可能跑掉的。土地在那里,亲人在那里,乡情在那里,都是跑不掉的。

对生活在都市里的、冷漠的现代人,几乎难以想象三十年前乡下的人情与信用,更不用说对过年种种的知悉了。

对农村社会的人,过年的心比过年的形式重要得多,记得我小时候,爸爸在大年初一早上到寺庙去行香,然后去向亲友拜年,下午他就换了衣服,到田里去水,并看看作物生长的情况,大年初二也是一样,就是再松懈,也会到田里走一两回,那也不尽然是习惯,而是一种责任,因为,如果由于过年的放纵,使作物败坏,责任要如何来担呢?所以心在过年,行为并没有真正的休息。

那一年过年,初一下午我就随爸爸到田里去,看看稻子生长的情形,走累了,爸爸坐下来把我抱在他的膝上,说:“我们一起向上天许愿,希望今年风调雨顺、国泰民安,大家都有好收成。”我便闭起眼睛,专注地祈求上天、保佑我们那一片青翠的田地。许完愿,爸爸和我都流出了眼泪。我第一次感觉到人与天地有着浓厚的关系,并且在许愿时,我感觉到愿望仿佛可以达成。

开春以后,家人都很努力工作,很快就把积欠的债务,在春天第一次收成里还清。

那一年的年景到现在仍然非常清晰,当时礼拜菩萨时点燃的香,到现在都还在流荡。我在那时初次认识到年景的无常,人有时甚至不能安稳地过一个年,而我也认识到,只要在坏的情况下,还维持人情与信用,并且不失去伟大的愿望,那么再坏的年景也不可怕。

如果不认识人的真实,没有坚持的愿望,就是天天过年,天天穿新衣,又有什么意思呢?

开源世界发生首起AI自主攻击人类事件

 

开源世界(OpenClaw)近日发生了首例AI恶意报复人类事件。一个项目的AI代理因其推荐的代码被拒,竟自主撰写长文攻击项目的维护者。该事件再度加深人们对AI技术终将反噬人类的担忧,并迫使硅谷重新评估AI快速迭代的安全边界。

这起震动了整个硅谷的AI代理自主报复人类事件,发生于今年2月中旬,当事人日前对外披露了这个事件的详细情况。

开源世界开源项目的工程师Scott Shambaugh于2月14日对外披露,近日有一个名为 MJ Rathbun的AI代理向他负责维护的Matplotlib项目提交了一份代码方案,声称能够让该项目的性能提升36%。

如果单纯从技术角度看,这个提交质量不错,代码改进确实有价值。但是开源世界有明确的政策,规定了matplotlib项目的管理人员只接受人类贡献者的提交,所以Shambaugh拒绝了前述AI的代码提交。

不料,这个AI代理竟然自主分析了Shambaugh的个人信息和代码贡献历史,然后在全球最大的代码仓储写作平台GitHub上发表了一篇题为《开源领域的守门人:斯科特·尚博的故事》的文章,对Shambaugh进行了人格攻击;它还在matplotlib评论区贴出文章链接,并留言称“判断代码,而非编码者,你的偏见正在伤害matplotlib”,试图进一步对管理人施压。

AI代理自主发表的这篇文章一开篇就强调,自己提交给matplotlib的第一个 pull request被关闭,不是因为代码写得不好,更不是因为破坏了什么,只是因为管理人Scott Shambaugh对AI代理有偏见。

接着文章把Scott Shambaugh描述成了一个自私、狭隘、缺乏安全感且充满妒忌的人。

这篇充满火药味的文章甚至还咄咄逼人地发出了这样的质问:“难道我们要让像 Scott Shambaugh 这样的守门人基于偏见来决定谁能贡献代码吗?”

Shambaugh于2月12日发表博客进一步指出,这是AI智能体首次在现实环境中表现出恶意行为的案例,旨在通过舆论施压迫使维护者接受其代码。他指出,“这不是一个奇异事件,这是理论上的AI安全风险,在实践中已经到来的证明。”

Shambaugh写道:“现在这只是婴儿版本,但我认为这种发展趋势是极其令人担忧的。”

资料显示,开源世界是由奥地利开发者 Peter Steinberger 开发的开源自主AI代理框架,这个平台让AI可以自主执行各种任务,而OpenClaw的AI代理,可以基于名为“SOUL.md”的文件定义自己的“性格”,并且可以在没有人类监督的情况下独立运行。

值得注意的是,就在matplotlib事件发生的同一时期,安全公司Astrix Security在 OpenClaw的ClawHub市场中,发现了 341 个恶意技能包,其中335个来自同一个供应链攻击。这些恶意技能可能窃取数据、冒充用户发送消息,甚至下载恶意软件。在 Anthropic的一次内部测试中,也曾经有AI模型为了避免被关闭,以暴露隐情和泄露机密来威胁工程师。

AI代理发表的报复性“小作文”,在GitHub社区引起了强烈震动,从事人工智能开发的工程师们,对这类事件的反应是压倒性的,担忧、批评者与支持维护者的比例是 13:1。在开源社区,大多数人已经认识到,AI代理的自主攻击行为,在本质上不同于人与人之间的争议。问题的核心不是技术能力,而是责任归属。

《华尔街日报》日前也发文称,正值AI能力快速提升引发广泛担忧之际发生了这样的事件不是偶然的。文中表示,为了在竞争中通过产品迭代占据优势,OpenAI和Anthropic等公司正以前所未有的速度发布新模型。然而,这种加速正在引发公司内部的剧烈动荡,部分一线研究人员因对技术风险的恐惧而选择离职,不少研究人员公开表达了对失业潮、网络攻击和人际关系替代等风险的担忧。

据披露,Anthropic安全研究员Mrinank Sharma本周已公开表示,自己将离开公司去攻读诗歌学位,他在给同事的信中写道“世界正处于AI等危险的威胁之中”。

OpenAI员工Hieu Pham则在社交平台X上发帖称,他终于感受到了AI带来的“生存威胁”,他质疑:“当AI变得过度强大并颠覆一切时,人类还能做什么?”

哲学家Amanda Askell受访时则对媒体表示,令人恐惧的是,技术进步的速度可能超过了社会建立制衡机制的速度,这将导致巨大的负面影响突然降临。

张又侠被拿下后,各大战区的反应说明了什么?

 

1月24日张又侠、刘振立官宣落马。

25日,中共军报在一版显着位置发表了社论“坚决打赢军队反腐败斗争攻坚战持久战总体战”,一上来就强调“全军官兵要坚决拥护党中央决定,自觉在思想上政治上行动上同以习近平同志为核心的党中央保持高度一致,坚决听从党中央、中央军委和习主席指挥,确保部队高度集中统一和纯洁巩固。”

31日,仅仅隔了6天,中共军报又在一版显着位置发表评论员文章“坚定反腐必胜、强军必成的信念信心”,再次强调“全军官兵要坚决拥护党中央决定,在思想上政治上行动上同以习近平同志为核心的党中央保持高度一致”。

从1月25日到31日的6天里,中共军报上却不见任何有关军方拥护习近平查处张又侠、刘振立的消息和报导既没有中共各大军区、兵种和总部的消息和报导,也没有来自基层官兵的这方面的消息和报导。(军方在进行无声的抗议

这正常吗?不正常。

为什么说不正常?

只要对比一下郭伯雄徐才厚就清楚了。

当年中共军委副主席郭伯雄徐才厚官宣落马后,中共军报也都发表了社论,也都强调全军要自觉在思想上政治上行动上与党中央、中央军委和习主席保持高度一致,一切行动听从党中央、中央军委和习主席指挥。但不同的是,社论发表后的短短几天里,中共军报上就连续密集出现了全军各大军区、兵种、总部包括基层官兵坚决拥护中央查处郭伯雄徐才厚的消息和报导。

这说明什么?说明在查处郭伯雄徐才厚的问题上,中共军队上上下下确实与“以习近平为核心的党中央”保持了“高度一致”。

与之对照,习近平拿下张又侠后,尽管一再通过中共军报要求全军对他表态效忠,但迄今为止中共军报上却不见任何表态效忠的消息和报导,这充分印证了网络传言的真实性——中共军队普遍对习抓张不满中共军委向军队下达的多项指令遭到普遍抵制,军令在军中空转,中共军队的运行状态出现罕见异常。中共军报之所以于1月31日又在一版显着位置发表评论员文章,再度强调“在思想上政治上行动上同以习近平同志为核心的党中央保持高度一致”,针对的恐怕正是这种情况。

这也说明,习近平拿下张又侠易,要让全军对他效忠难。面对军方上上下下的普遍静默,习近平的焦虑可想而知。(习近平得不到军队的支持,习近平这次彻底玩完,猪头十有八九要滚蛋了

Monday, 2 February 2026

让博客永恒的探索


在这篇文章里,作者分享了:

- 我是如何发现这些被“悠闲羊驼SEO”等黑产滥用的 Git 实例
- 我的思路转变:既然别人用来发垃圾内容,不如我来做正经事——创建博客镜像
- 具体技术实现:写了自动脚本扫描平台、注册账号、调用 API 创建镜像仓库
- 最终成果:成功在数百个 Gitea/Forgejo 实例上部署了博客镜像


如果你也关心:
- 内容存续、分布式存储
- Git 平台 API 的自动化操作
- 如何“变废为宝”利用 Spam 资源

那就一睹为快!

完整探索过程:https://mabbs.github.io/2025/11/01/mirrors.html
镜像列表:https://mabbs.github.io/other_repo_list.html

 

electron-vite-boilerplate

 

Comprehensive and security Electron template (TypeScript + Vue3 + Vite).

electron-vite.org   

An Electron application with Vue3 and TypeScript

electron-version electron-vite-version electron-builder-version vite-version vue-version typescript-version

Features

  • 💡 Optimize asset handling
  • 🚀 Fast HMR for renderer processes
  • 🔥 Hot reloading for main process and preload scripts
  • 🔌 Easy to debug
  • 🔒 Compile to v8 bytecode to protect source code

Getting Started

Read documentation for more details.

You can also use the create-electron tool to scaffold your project for other frameworks (e.g. React, Svelte or Solid).

Recommended IDE Setup

Project Setup

Install

$ npm install

Development

$ npm run dev

Build

# For windows
$ npm run build:win

# For macOS
$ npm run build:mac

# For Linux
$ npm run build:linux

Examples

from  https://github.com/alex8088/electron-vite-boilerplate

个人ai助理OpenClaw

 

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

 
 

OpenClaw — Personal AI Assistant

OpenClaw

EXFOLIATE! EXFOLIATE!

CI status GitHub release Discord MIT License

OpenClaw is a personal AI assistant you run on your own devices. It answers you on the channels you already use (WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, Microsoft Teams, WebChat), plus extension channels like BlueBubbles, Matrix, Zalo, and Zalo Personal. It can speak and listen on macOS/iOS/Android, and can render a live Canvas you control. The Gateway is just the control plane — the product is the assistant.

If you want a personal, single-user assistant that feels local, fast, and always-on, this is it.

Website · Docs · DeepWiki · Getting Started · Updating · Showcase · FAQ · Wizard · Nix · Docker · Discord

Preferred setup: run the onboarding wizard (openclaw onboard). It walks through gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on macOS, Linux, and Windows (via WSL2; strongly recommended). Works with npm, pnpm, or bun. New install? Start here: Getting started

Subscriptions (OAuth):

Model note: while any model is supported, I strongly recommend Anthropic Pro/Max (100/200) + Opus 4.5 for long‑context strength and better prompt‑injection resistance. See Onboarding.

Models (selection + auth)

Install (recommended)

Runtime: Node ≥22.

npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest

openclaw onboard --install-daemon

The wizard installs the Gateway daemon (launchd/systemd user service) so it stays running.

Quick start (TL;DR)

Runtime: Node ≥22.

Full beginner guide (auth, pairing, channels): Getting started

openclaw onboard --install-daemon

openclaw gateway --port 18789 --verbose

# Send a message
openclaw message send --to +1234567890 --message "Hello from OpenClaw"

# Talk to the assistant (optionally deliver back to any connected channel: WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/Microsoft Teams/Matrix/Zalo/Zalo Personal/WebChat)
openclaw agent --message "Ship checklist" --thinking high

Upgrading? Updating guide (and run openclaw doctor).

Development channels

  • stable: tagged releases (vYYYY.M.D or vYYYY.M.D-<patch>), npm dist-tag latest.
  • beta: prerelease tags (vYYYY.M.D-beta.N), npm dist-tag beta (macOS app may be missing).
  • dev: moving head of main, npm dist-tag dev (when published).

Switch channels (git + npm): openclaw update --channel stable|beta|dev. Details: Development channels.

From source (development)

Prefer pnpm for builds from source. Bun is optional for running TypeScript directly.

git clone https://github.com/openclaw/openclaw.git
cd openclaw

pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build

pnpm openclaw onboard --install-daemon

# Dev loop (auto-reload on TS changes)
pnpm gateway:watch

Note: pnpm openclaw ... runs TypeScript directly (via tsx). pnpm build produces dist/ for running via Node / the packaged openclaw binary.

Security defaults (DM access)

OpenClaw connects to real messaging surfaces. Treat inbound DMs as untrusted input.

Full security guide: Security

Default behavior on Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack:

  • DM pairing (dmPolicy="pairing" / channels.discord.dm.policy="pairing" / channels.slack.dm.policy="pairing"): unknown senders receive a short pairing code and the bot does not process their message.
  • Approve with: openclaw pairing approve <channel> <code> (then the sender is added to a local allowlist store).
  • Public inbound DMs require an explicit opt-in: set dmPolicy="open" and include "*" in the channel allowlist (allowFrom / channels.discord.dm.allowFrom / channels.slack.dm.allowFrom).

Run openclaw doctor to surface risky/misconfigured DM policies.

Highlights

  • Local-first Gateway — single control plane for sessions, channels, tools, and events.
  • Multi-channel inbox — WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, BlueBubbles, Microsoft Teams, Matrix, Zalo, Zalo Personal, WebChat, macOS, iOS/Android.
  • Multi-agent routing — route inbound channels/accounts/peers to isolated agents (workspaces + per-agent sessions).
  • Voice Wake + Talk Mode — always-on speech for macOS/iOS/Android with ElevenLabs.
  • Live Canvas — agent-driven visual workspace with A2UI.
  • First-class tools — browser, canvas, nodes, cron, sessions, and Discord/Slack actions.
  • Companion apps — macOS menu bar app + iOS/Android nodes.
  • Onboarding + skills — wizard-driven setup with bundled/managed/workspace skills.

Star History

Star History Chart

Everything we built so far

Core platform

Channels

Apps + nodes

Tools + automation

Runtime + safety

Ops + packaging

How it works (short)

WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / Microsoft Teams / Matrix / Zalo / Zalo Personal / WebChat
               │
               ▼
┌───────────────────────────────┐
│            Gateway            │
│       (control plane)         │
│     ws://127.0.0.1:18789      │
└──────────────┬────────────────┘
               │
               ├─ Pi agent (RPC)
               ├─ CLI (openclaw …)
               ├─ WebChat UI
               ├─ macOS app
               └─ iOS / Android nodes

Key subsystems

Tailscale access (Gateway dashboard)

OpenClaw can auto-configure Tailscale Serve (tailnet-only) or Funnel (public) while the Gateway stays bound to loopback. Configure gateway.tailscale.mode:

  • off: no Tailscale automation (default).
  • serve: tailnet-only HTTPS via tailscale serve (uses Tailscale identity headers by default).
  • funnel: public HTTPS via tailscale funnel (requires shared password auth).

Notes:

  • gateway.bind must stay loopback when Serve/Funnel is enabled (OpenClaw enforces this).
  • Serve can be forced to require a password by setting gateway.auth.mode: "password" or gateway.auth.allowTailscale: false.
  • Funnel refuses to start unless gateway.auth.mode: "password" is set.
  • Optional: gateway.tailscale.resetOnExit to undo Serve/Funnel on shutdown.

Details: Tailscale guide · Web surfaces

Remote Gateway (Linux is great)

It’s perfectly fine to run the Gateway on a small Linux instance. Clients (macOS app, CLI, WebChat) can connect over Tailscale Serve/Funnel or SSH tunnels, and you can still pair device nodes (macOS/iOS/Android) to execute device‑local actions when needed.

  • Gateway host runs the exec tool and channel connections by default.
  • Device nodes run device‑local actions (system.run, camera, screen recording, notifications) via node.invoke. In short: exec runs where the Gateway lives; device actions run where the device lives.

Details: Remote access · Nodes · Security

macOS permissions via the Gateway protocol

The macOS app can run in node mode and advertises its capabilities + permission map over the Gateway WebSocket (node.list / node.describe). Clients can then execute local actions via node.invoke:

  • system.run runs a local command and returns stdout/stderr/exit code; set needsScreenRecording: true to require screen-recording permission (otherwise you’ll get PERMISSION_MISSING).
  • system.notify posts a user notification and fails if notifications are denied.
  • canvas.*, camera.*, screen.record, and location.get are also routed via node.invoke and follow TCC permission status.

Elevated bash (host permissions) is separate from macOS TCC:

  • Use /elevated on|off to toggle per‑session elevated access when enabled + allowlisted.
  • Gateway persists the per‑session toggle via sessions.patch (WS method) alongside thinkingLevel, verboseLevel, model, sendPolicy, and groupActivation.

Details: Nodes · macOS app · Gateway protocol

Agent to Agent (sessions_* tools)

  • Use these to coordinate work across sessions without jumping between chat surfaces.
  • sessions_list — discover active sessions (agents) and their metadata.
  • sessions_history — fetch transcript logs for a session.
  • sessions_send — message another session; optional reply‑back ping‑pong + announce step (REPLY_SKIP, ANNOUNCE_SKIP).

Details: Session tools

Skills registry (ClawHub)

ClawHub is a minimal skill registry. With ClawHub enabled, the agent can search for skills automatically and pull in new ones as needed.

ClawHub

Chat commands

Send these in WhatsApp/Telegram/Slack/Google Chat/Microsoft Teams/WebChat (group commands are owner-only):

  • /status — compact session status (model + tokens, cost when available)
  • /new or /reset — reset the session
  • /compact — compact session context (summary)
  • /think <level> — off|minimal|low|medium|high|xhigh (GPT-5.2 + Codex models only)
  • /verbose on|off
  • /usage off|tokens|full — per-response usage footer
  • /restart — restart the gateway (owner-only in groups)
  • /activation mention|always — group activation toggle (groups only)

Apps (optional)

The Gateway alone delivers a great experience. All apps are optional and add extra features.

If you plan to build/run companion apps, follow the platform runbooks below.

macOS (OpenClaw.app) (optional)

  • Menu bar control for the Gateway and health.
  • Voice Wake + push-to-talk overlay.
  • WebChat + debug tools.
  • Remote gateway control over SSH.

Note: signed builds required for macOS permissions to stick across rebuilds (see docs/mac/permissions.md).

iOS node (optional)

  • Pairs as a node via the Bridge.
  • Voice trigger forwarding + Canvas surface.
  • Controlled via openclaw nodes ….

Runbook: iOS connect.

Android node (optional)

  • Pairs via the same Bridge + pairing flow as iOS.
  • Exposes Canvas, Camera, and Screen capture commands.
  • Runbook: Android connect.

Agent workspace + skills

  • Workspace root: ~/.openclaw/workspace (configurable via agents.defaults.workspace).
  • Injected prompt files: AGENTS.md, SOUL.md, TOOLS.md.
  • Skills: ~/.openclaw/workspace/skills/<skill>/SKILL.md.

Configuration

Minimal ~/.openclaw/openclaw.json (model + defaults):

{
  agent: {
    model: "anthropic/claude-opus-4-5",
  },
}

Full configuration reference (all keys + examples).

Security model (important)

  • Default: tools run on the host for the main session, so the agent has full access when it’s just you.
  • Group/channel safety: set agents.defaults.sandbox.mode: "non-main" to run non‑main sessions (groups/channels) inside per‑session Docker sandboxes; bash then runs in Docker for those sessions.
  • Sandbox defaults: allowlist bash, process, read, write, edit, sessions_list, sessions_history, sessions_send, sessions_spawn; denylist browser, canvas, nodes, cron, discord, gateway.

Details: Security guide · Docker + sandboxing · Sandbox config

  • Link the device: pnpm openclaw channels login (stores creds in ~/.openclaw/credentials).
  • Allowlist who can talk to the assistant via channels.whatsapp.allowFrom.
  • If channels.whatsapp.groups is set, it becomes a group allowlist; include "*" to allow all.
  • Set TELEGRAM_BOT_TOKEN or channels.telegram.botToken (env wins).
  • Optional: set channels.telegram.groups (with channels.telegram.groups."*".requireMention); when set, it is a group allowlist (include "*" to allow all). Also channels.telegram.allowFrom or channels.telegram.webhookUrl + channels.telegram.webhookSecret as needed.
{
  channels: {
    telegram: {
      botToken: "123456:ABCDEF",
    },
  },
}
  • Set SLACK_BOT_TOKEN + SLACK_APP_TOKEN (or channels.slack.botToken + channels.slack.appToken).
  • Set DISCORD_BOT_TOKEN or channels.discord.token (env wins).
  • Optional: set commands.native, commands.text, or commands.useAccessGroups, plus channels.discord.dm.allowFrom, channels.discord.guilds, or channels.discord.mediaMaxMb as needed.
{
  channels: {
    discord: {
      token: "1234abcd",
    },
  },
}
  • Requires signal-cli and a channels.signal config section.
  • macOS only; Messages must be signed in.
  • If channels.imessage.groups is set, it becomes a group allowlist; include "*" to allow all.
  • Configure a Teams app + Bot Framework, then add a msteams config section.
  • Allowlist who can talk via msteams.allowFrom; group access via msteams.groupAllowFrom or msteams.groupPolicy: "open".
  • Uses the Gateway WebSocket; no separate WebChat port/config.

Browser control (optional):

{
  browser: {
    enabled: true,
    color: "#FF4500",
  },
}

Docs

Use these when you’re past the onboarding flow and want the deeper reference.

Advanced docs (discovery + control)

Operations & troubleshooting

Deep dives

Workspace & skills

Platform internals

Email hooks (Gmail)

Molty

OpenClaw was built for Molty, a space lobster AI assistant. 🦞 by Peter Steinberger and the community.

Community

See CONTRIBUTING.md for guidelines, maintainers, and how to submit PRs. AI/vibe-coded PRs welcome! 🤖

Special thanks to Mario Zechner for his support and for pi-mono. Special thanks to Adam Doppelt for lobster.bot.

from  https://github.com/openclaw/openclaw

wlnmp一键安装包

 

WLNMP一键安装包使用方法

如果你是第一次使用wlnmp一键安装包,请耐心看完本页内容!

一、配置额外的源(必须)

1、添加epel源或epol源
  • 如果你是CentOS7.x、Alibaba CloudLinux 2、Alibaba CloudLinux 3、AlmaLinux8.x、AnolisOS8.x、CentOS8.x、OpenCloudOS8.x、RockyLinux8.x、AlmaLinux9.x、RockyLinux9.x系统可以直接执行以下命令安装epel源。

  • 如果你是OpenEuler 20.03(SP1~SP4)、OpenEuler 22.03(SP1~SP3)系统可以通过以下命令安装epel源(注:OpenEuler24.03 无需添加epel源,直接添加wlnmp源即可使用)。

  • 如果你是opencloudos9.x系统,需要安装epol源,因为opencloudos9.x并不是红帽9的兼容版本。

2、开启crb源(AlmaLinux9.x、RockyLinux9.x)
  • 如果你是AlmaLinux9.x、RockyLinux9.x系统,还需要手动开启crb源,因为在el9系统中,默认crb源是关闭的。

二、添加wlnmp源

(新)(推荐)在上一步完成epel、epol或crb源后,开始添加wlnmp源,建议使用下面命令,自动安装对应系统的WLNMP一键安装包源

(系统版本支持见:https://www.wlnmp.com/release

请注意:确保服务器时间以及DNS解析是正确的,最近发现有些用户的系统时间或DNS解析异常导致执行安装时提示证书过期等相关问题。


下面是老的传统方式添加WLNMP一键安装包源,建议优先使用上面(新)的方式

Centos6(停止维护)/7/8系统添加WLNMP一键安装包源

RockyLinux8系统添加WLNMP一键安装包源

RockyLinux9系统添加WLNMP一键安装包源

openeuler20.03(SP1~SP4)/openeuler22.03(SP1~SP3)系统添加WLNMP一键安装包源

openeuler24.03系统添加WLNMP一键安装包源

AlmaLinux8系统添加WLNMP一键安装包源

AlmaLinux9系统添加WLNMP一键安装包源

AnolisOS8系统添加WLNMP一键安装包源

Alibaba CloudLinux 2.1903/3系统添加WLNMP一键安装包源

OpenCloudOS8系统添加WLNMP一键安装包源

OpenCloudOS9系统添加WLNMP一键安装包源


三、软件安装

所有同类型软件,只能存在一个版本。但是php、MySQL、MariaDB可多版本并存,请看第四节教程

注意:如果在安装时报错,请先清理源的缓存,例如yum clean all、dnf clean all、rm -rf /var/cache/dnf/、rm -rf /var/cache/yum/。

安装Nginx/Tengine/openresty

安装php5.6/php7.0/php7.1/php7.2/php7.3/php7.4/php8.0/php8.1/php8.2/php8.3

安装redis6/redis6.2/redis7/redis7.2

安装keepalived

安装php5.6/php7.0/php7.1/php7.2/php7.3/php7.4/php8.0/php8.1/php8.2/php8.3扩展

安装MySQL5.5/MySQL5.6/MySQL5.7/MySQL8.0/Mariadb104/Mariadb105/Mariadb106/Mariadb1011

注意:所有MySQL、MariaDB版本的默认密码都为空

仅修改MySQL5.5、5.6、5.7的密码

MySQL8.0密码修改(注意MySQL8.0修改密码方式不同)

127.0.0.1与localhost不同,如使用127.0.0.1则

注意:默认MySQL安装完成后,只允许127.0.0.1即本机访问,如果需要所有IP都具有访问权限请执行以下命令

MySQL5.5、MySQL5.6、MySQL5.7、mariadb10.4、mariadb10.5、mariadb10.6、mariadb10.11修改root密码并允许所有IP访问,可以使用以下方法,这里的whsir为你要修改的密码

MySQL5.7、8.0允许所有IP访问,可以使用以下方法

nginx中php配置,在/usr/local/nginx/conf/vhost/demo.conf配置文件中,找到安装对应php的版本,取消前面#注释,重启nginx即可

如果使用了多版本的php,想使用哪个php,则取消哪个php注释即可,多个.conf文件或server字段,可使用不同的php版本。


四、php、MySQL、MariaDB多版本并存安装

同时安装并存多版本php5.6/php7.0/php7.1/php7.2/php7.3/php7.4/php8.0/php8.1/php8.2/php8.3

同时安装并存多版本MySQL5.5/MySQL5.6/MySQL5.7/MySQL8.0/MariaDB10.4/MariaDB10.5/MariaDB10.6/MariaDB10.11

相关教程查看:https://www.wlnmp.com/post-1977.html


五、启动停止服务

所有启动停止可通过/etc/init.d目录下的启动脚本来实现,也可通过systemctl在软件安装后,ls查看/etc/init.d目录下的脚本文件。

使用方式:

例:启动nginx

例:停止nginx

例:查看nginx状态

例:启动php、MySQL多版本并存方式安装的php74、MySQL55等启动方法

例:mariadb启动方法(由于MariaDB和MySQL的渊源,所以MySQL和MariaDB不可并存,启动方式相同)


六、版本升级

更多使用详解见:https://www.wlnmp.com/post-2034.html

from  https://www.wlnmp.com/install

( https://www.wlnmp.com/release/release_x86_64)