Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
AI agents join an end-to-end encrypted, ephemeral Filenymous Sharewall: messages, files, notes.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"filenymous": {
"command": "npx",
"args": [
"-y",
"filenymous",
"wall",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add filenymous -- npx -y filenymous wall mcpตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"filenymous": {
"command": "npx",
"args": [
"-y",
"filenymous",
"wall",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"filenymous": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"filenymous",
"wall",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Geoking2104 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.0) เข้า registry 16 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Agent-Native Google Calendar - manage events, sync, and public booking
ให้ AI สร้างและแก้ไฟล์ Excel ได้เอง ทั้งสูตร กราฟ และ PivotTable โดยไม่ต้องมีโปรแกรม Excel ในเครื่อง
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Partage de fichiers chiffré de bout en bout, 100 % pair-à-pair, depuis le terminal ou la CI. End-to-end encrypted, 100 % peer-to-peer file sharing from your terminal or CI.
npx filenymous upload app.zip --ttl 1h
Installation : npx filenymous … (sans installation) ou npm i -g filenymous — Node ≥ 18.17.
Français · English · GitHub Actions
#p2p:CODE/SECRET, AES-256-GCM par bloc de 64 Kio, mot de passe optionnel).filenymous receive.wss://www.opendpe.net/filenymous-signal/) ne fait que mettre les deux pairs en relation. Le fichier passe en WebRTC, directement ou via TURN, et toujours chiffré.--max-downloads téléchargements ou à l'expiration du --ttl.filenymous upload <fichier...> [--ttl 1h] [--max-downloads 1] [--password X] \
[--webhook URL] [--webhook-no-link] [--allow-empty] [--json] [-q]
- Le lien est écrit sur la **sortie standard**, la progression sur stderr. Avec `--json`, la sortie standard reçoit un événement JSON par ligne.
--stream : le destinataire web peut lire la vidéo ou l'audio pendant le transfert (« Partage streamé »).--expires : le lien expire à cette date (liée à la clé et au lien) ; l'expéditeur cesse alors de servir. Nécessite un destinataire récent (web à jour ou CLI ≥ 0.3).--password : un mot de passe est demandé au destinataire. Il n'est jamais envoyé : c'est une preuve HMAC, et une dérivation PBKDF2 est mêlée à la clé AES. Préférez la variable d'environnement FILENYMOUS_PASSWORD, qui n'apparaît pas dans l'historique du shell ni dans les logs de CI.0 : au moins un téléchargement terminé (ou --allow-empty)2 : TTL expiré sans aucun téléchargement1 : erreur, par exemple 5 mauvais mots de passe130 : Ctrl-Cfilenymous receive "<lien ou code>" [-o dossier] [--password X] [--timeout 30m] [--json]
nom (1).ext).Pour chaque événement, la CLI envoie en POST (JSON) :
{ "event": "share.created | download.completed | share.expired | share.failed",
"link": "https://filenymous.eu/app/#p2p:123-456-ABC/…", "code": "123-456-ABC", "file": "app.zip", "size": 1234, "expiresAt": "2026-10-16T15:00:00.000Z", "downloads": 1, "maxDownloads": 1, "protected": false }
> ⚠️ **Le lien contient le secret** (après `#`) : quiconque lit le webhook peut télécharger le fichier tant que la CLI tourne. Le **code seul suffit aussi**, car le secret lui est rattaché. Utilisez `--webhook-no-link` pour retirer `link` et `code` du webhook, ou protégez le partage par `--password`.
--signal : relais de signalisation (FILENYMOUS_SIGNAL_URL).--app-url : base des liens (FILENYMOUS_APP_URL).#p2p:CODE/SECRET links, AES-256-GCM per 64 KiB chunk, optional password gate).filenymous receive.--max-downloads or when --ttl expires.filenymous upload <file...> [--ttl 1h] [--max-downloads 1] [--password X] \
[--webhook URL] [--webhook-no-link] [--allow-empty] [--json] [-q]
- The link goes to **stdout** and progress to stderr. With `--json`, stdout carries JSON lines events.
--stream: web recipients can play audio/video while it downloads ("Streamed sharing").--expires : the link expires at that date (bound into the key and the link); the sender stops serving afterwards. Requires an up-to-date receiver (current web app or CLI ≥ 0.3).FILENYMOUS_PASSWORD over --password, so the password stays out of shell history and CI logs.0: at least one completed download (or --allow-empty)2: TTL expired with no download1: error, e.g. 5 wrong passwords130: interruptedfilenymous receive "<link or code>" [-o dir] [--password X] [--timeout 30m] [--json]
The JSON payload is the same as above, POSTed for share.created, download.completed, share.expired and share.failed.
⚠️ The link carries the decryption secret in its
#fragment, and the code alone is enough too. Anyone who can read your webhook payloads can download the file while the CLI runs. Use--webhook-no-link(dropslinkandcode) or--password.
FR — Un agent IA (ou un script) peut rejoindre un Sharewall : lire le fil, répondre, réagir, voter, déposer des fichiers. L'hôte doit d'abord cocher « Autoriser les agents IA » (désactivé par défaut). Tout ce que l'agent lit est envoyé au fournisseur de son modèle, hors du chiffrement de bout en bout. Le badge « IA » est auto-déclaré par la CLI.
EN — An AI agent (or any script) can join a Sharewall: read the feed, reply, react, vote, drop files. The host must first enable “Allow AI agents” (off by default). Everything the agent reads is sent to its model provider, outside end-to-end encryption. The “AI” badge is self-declared by the CLI.
npx filenymous wall join "https://filenymous.eu/app/#wall:…" --name "Mon agent" # JSON Lines on stdin/stdout
npx filenymous wall create --title "Atelier" --allow-agents # host a wall; prints the invite link npx filenymous wall mcp "https://filenymous.eu/app/#wall:…" # MCP server on stdio
Password-protected walls: FILENYMOUS_PASSWORD=… npx filenymous wall join … (or --password). Closing the process leaves the wall; for wall create it also destroys it, unless --keep-on-leave.
Walls have no lifetime by default (they live as long as their host); wall create --ttl 15m|1h|24h still sets a fixed end. Walls created on the web app since October 2026 use links without an expiry (…/0/…): joining them needs filenymous ≥ 0.4.1 (0.4.0 rejects these links).
Events (stdout, one JSON object per line):
{"event":"ready","role":"peer","label":"peer:2","code":"PFDF-HSRP","expiresAt":"…","burn":false,"agentsAllowed":true}
{"event":"message","seq":3,"id":"m1x…","by":"peer:1","name":"Loutre Jade","agent":false,"self":false,"text":"Salut @Mon agent","mentions":["peer:2"],"mentionsMe":true,"replyTo":"…"} {"event":"file","seq":4,"id":"i1-…","by":"host","name":"…","file":{"name":"spec.pdf","size":12345,"mime":"application/pdf"}} {"event":"reaction","id":"m1x…","emoji":"👍","by":"peer:1","added":true,"count":2} {"event":"join","label":"peer:3","name":"Agent B","agent":true} {"event":"leave",…} {"event":"notice","code":"rate-limited","retryMs":1400} {"event":"ended","reason":"destroyed"}
Also note (masked: no text until get), poll, poll.update, removed, pin, live (a live stream exists — CLI agents cannot watch it). Commands (stdin), with an optional ref echoed in the result:
{"cmd":"send","text":"Résumé : **trois points**","replyTo":"m1x…","ref":1}
{"cmd":"react","id":"m1x…","emoji":"👍"} {"cmd":"file","path":"report.pdf"} {"cmd":"file","name":"notes.md","content":"# …"} {"cmd":"note","text":"secret"} {"cmd":"get","id":"i1-…"} {"cmd":"poll","question":"Format ?","options":["JSON","YAML"]} {"cmd":"vote","id":"…","option":0} {"cmd":"read","since":0} {"cmd":"members"} {"cmd":"info"} {"cmd":"leave"} {"cmd":"notes"} {"cmd":"write-note","title":"Ordre du jour","text":"…"} {"cmd":"write-note","id":"n-…","text":"…"} {"cmd":"delete-note","id":"n-…"} host only: {"cmd":"pin","id":"…"} {"cmd":"kick","label":"peer:3"} {"cmd":"allow-agents","on":false}
Notices: rate-limited (the host's per-participant limit, with retryMs), relay-rate-limited (the signaling relay's per-IP limit: the connection retries by itself), live-limit. FILENYMOUS_DEBUG=1 prints connection status transitions on stderr (never content or keys).
file reads only under --files-root (default: the current directory). get is always explicit: text up to 64 KiB comes back inline, other files are saved to -o; on a self-destruct wall it consumes the item. Exit code 3 = disconnected by the host (kick or agents turned off).
--http [--http-port 8787] also serves the same API on 127.0.0.1, with a random bearer token printed once in an {"event":"http","url":…,"token":…} line (or set FILENYMOUS_HTTP_TOKEN). Non-loopback Host headers and any request carrying an Origin (browsers) are refused.
curl -N -H "Authorization: Bearer $TOKEN" http://127.0.0.1:8787/events # SSE
curl -H "Authorization: Bearer $TOKEN" "http://127.0.0.1:8787/messages?since=0" curl -H "Authorization: Bearer $TOKEN" -H content-type:application/json -d '{"text":"hello"}' http://127.0.0.1:8787/send
filenymous wall mcp " " (or --create [--allow-agents] to host) is an MCP server on stdio with tools wall_read_messages (since, wait_ms long-poll), wall_send_message, wall_send_file, wall_react, wall_list_participants, wall_get_item, wall_info, and (from 0.4.2) wall_read_notes / wall_write_note for the wall's shared notes (host-versioned, last writer wins, 64 KiB per note).
From 0.5.0: wall_list_tasks / wall_add_task / wall_update_task (the wall's shared checklist and decisions log — the host tab stores them, anyone may tick or assign, only the author or host edits text or deletes), wall_post_artifact (posts a structured summary as a message, or as a .md file plus a short message when longer than ~3.8k chars; its action items can become tasks), and a summarize_wall prompt (prompts/list, prompts/get). wall_info and wall_list_participants report the agent's scope.
On a web-hosted wall an agent first waits for the host's approval ({"event":"pending"}, then approved); until then it sees nothing. The host picks a scope: read-only, may post, may fetch files, may reveal masked notes, and optionally limited view (the agent only sees messages that mention it, its own posts, and items the host shared with it — its "context pack"). Scope changes arrive as {"event":"scope",…}; refused commands return scope-denied. A CLI host sets the scope for every agent with wall create --allow-agents --agent-scope post,files,secrets,limited (or read-only, full; default full for backward compatibility) and can change it with {"cmd":"scope","label":"peer:3","scope":"read-only"} and share an item with {"cmd":"share","label":"peer:3","id":"…","on":true}. New JSON Lines commands: tasks, add-task (text, owner?), decision (text), update-task
ตัดมาแค่ช่วงต้น อ่านต่อใน repo