@emergentmethods/asknews-cli 0.1.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.
Files changed (38) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +121 -0
  3. package/dist/bin.js +12287 -0
  4. package/dist/bin.js.map +7 -0
  5. package/package.json +79 -0
  6. package/scripts/postinstall.mjs +26 -0
  7. package/skills/asknews-cli/SKILL.md +94 -0
  8. package/skills/asknews-cli/references/commands/alerts.md +135 -0
  9. package/skills/asknews-cli/references/commands/api-alerts.md +186 -0
  10. package/skills/asknews-cli/references/commands/api-analytics.md +31 -0
  11. package/skills/asknews-cli/references/commands/api-autofilter.md +31 -0
  12. package/skills/asknews-cli/references/commands/api-byok.md +72 -0
  13. package/skills/asknews-cli/references/commands/api-charts.md +28 -0
  14. package/skills/asknews-cli/references/commands/api-chat.md +108 -0
  15. package/skills/asknews-cli/references/commands/api-distribution.md +46 -0
  16. package/skills/asknews-cli/references/commands/api-forecast.md +44 -0
  17. package/skills/asknews-cli/references/commands/api-graph.md +41 -0
  18. package/skills/asknews-cli/references/commands/api-index-urls.md +32 -0
  19. package/skills/asknews-cli/references/commands/api-news.md +164 -0
  20. package/skills/asknews-cli/references/commands/api-newsletters.md +236 -0
  21. package/skills/asknews-cli/references/commands/api-ping.md +19 -0
  22. package/skills/asknews-cli/references/commands/api-profile.md +27 -0
  23. package/skills/asknews-cli/references/commands/api-reddit.md +34 -0
  24. package/skills/asknews-cli/references/commands/api-stories.md +75 -0
  25. package/skills/asknews-cli/references/commands/api-websearch.md +37 -0
  26. package/skills/asknews-cli/references/commands/api-wiki.md +33 -0
  27. package/skills/asknews-cli/references/commands/api.md +52 -0
  28. package/skills/asknews-cli/references/commands/auth.md +50 -0
  29. package/skills/asknews-cli/references/commands/cli.md +31 -0
  30. package/skills/asknews-cli/references/commands/index.md +41 -0
  31. package/skills/asknews-cli/references/commands/news.md +89 -0
  32. package/skills/asknews-cli/references/commands/reddit.md +38 -0
  33. package/skills/asknews-cli/references/commands/request.md +34 -0
  34. package/skills/asknews-cli/references/commands/research.md +73 -0
  35. package/skills/asknews-cli/references/commands/stories.md +74 -0
  36. package/skills/asknews-cli/references/commands/web.md +40 -0
  37. package/skills/asknews-cli/references/commands/wiki.md +39 -0
  38. package/skills/asknews-cli/references/task-recipes.md +164 -0
@@ -0,0 +1,89 @@
1
+ # news
2
+
3
+ Search and inspect AskNews articles
4
+
5
+ ## Commands
6
+
7
+ ### `asknews news search [query]`
8
+
9
+ Search enriched real-time or historical news
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `[query]` | natural-language or keyword query Default: `""`. |
16
+
17
+ **Options:**
18
+
19
+ | Option | Description |
20
+ | --- | --- |
21
+ | `-n, --limit <number>` | alias for --n-articles Default: `"10"`. |
22
+ | `--start-timestamp <value>` | Timestamp to start search from [query, string, optional] |
23
+ | `--end-timestamp <value>` | Timestamp to end search at [query, string, optional] |
24
+ | `--time-filter <value>` | Control which date type to filter on. 'crawl_date' is the date the article was crawled, 'pub_date' is the date the article was published. [query, string, optional, default: "crawl_date"] Choices: crawl_date, pub_date. |
25
+ | `--return-type <value>` | Type of return value. 'string' means that the return is prompt-optimized and ready to be immediately injected into any prompt. 'dicts' means that the return is a structured dictionary, containing additional metadata (like a classic news api). Can be 'string' or 'dicts', or 'both'. 'string' guarantees the lowest-latency response 'dicts' requires more I/O, therefore increases latency (very slightly, depending on your network connection). [query, string, optional, default: "dicts"] Choices: string, dicts, both. |
26
+ | `--historical [boolean]` | Search on archive of historical news. Defaults to False, meaning that the search will only look through the most recent news (48 hours) [query, boolean, optional, default: false] |
27
+ | `--method <value>` | Method to use for searching. 'nl' means Natural Language, which is a string that can be any phrase, keyword, question, or paragraph that will be used for semantic search on the news. 'kw' means Keyword, which can also be any keyword(s), phrase, or paragraph, however the search is a direct keyword search on the database. 'both' means both methods will be used and results will be ranked according to IRR. 'both' may reduce latency by 10 pct in exchange for improved accuracy. [query, string, optional, default: "kw"] Choices: nl, kw, both. |
28
+ | `--similarity-score-threshold <value>` | Similarity score threshold to determine which articles to return. Lower means less similar results are allowed. [query, number, optional, default: 0.5] |
29
+ | `--offset <value>` | Offset for pagination. The n_articles is your page size, while your offset is the number of articles to skip to get to your page of interest. For example, if you want to get page 3 for n_article page size of 10, you would set offset to 20. [query, string, optional, default: 0] |
30
+ | `--categories <value>` | Categories of news to filter on [query, array<string>, optional] |
31
+ | `--doc-start-delimiter <value>` | Document start delimiter for string return. [query, string, optional, default: "<doc>"] |
32
+ | `--doc-end-delimiter <value>` | Document end delimiter for string return. [query, string, optional, default: "</doc>"] |
33
+ | `--provocative <value>` | Filter articles based on how provocative they are deemed based on the use of provocative language and emotional vocabulary. [query, string, optional] Choices: unknown, low, medium, high, all. |
34
+ | `--reporting-voice <value>` | Type of reporting voice to filer by. [query, string, optional] |
35
+ | `--domain-url <value>` | filter by domain url of interest. This can be a single domain or a list of domains. For example, 'npr.org' or ['nature.com', 'npr.org'] [query, string, optional] |
36
+ | `--bad-domain-url <value>` | blacklist of domains that must be excluded from resultsThis can be a single domain url or a list of domain urls. [query, string, optional] |
37
+ | `--page-rank <value>` | Maximum allowed page rank for returned articles. [query, string, optional] |
38
+ | `--diversify-sources [boolean]` | Ensure that the return set of articles are selected from diverse sources. This adds latency to the search, but attempts to balance the representation of sources by country and source origins. In summary, a net is cast around your search, then the diversity of sources is analyzed, and your final result matches the large net diversity distribution. This means that your search accuracy is reduced, but you gain more diverse perspectives. [query, boolean, optional, default: false] |
39
+ | `--strategy <value>` | Strategy to use for searching. 'latest news' automatically setsmethod='nl', historical=False, and looks within the past 24 hours. 'news knowledge' automatically sets method='kw', historical=True, and looks within the past 60 days. 'news knowledge' will increase latency due to the larger search space in the archive. Use 'default' if you want to control start_timestamp, end_timestamp, historical, and method. [query, string, optional, default: "default"] Choices: latest news, news knowledge, default. |
40
+ | `--hours-back <value>` | Can be set to easily control the look back on the search. This is the same as controlling the 'start_timestamp' parameter. The difference is that this is not a timestamp, it is the number of hours back to look from the current time. Defaults to 24 hours. [query, integer, optional, default: 24] |
41
+ | `--string-guarantee <value>` | If defined, the search will only occur on articles that contain strings in this list. [query, string, optional] |
42
+ | `--string-guarantee-op <value>` | Operator to use for string guarantee list. [query, string, optional, default: "AND"] Choices: AND, OR. |
43
+ | `--reverse-string-guarantee <value>` | If defined, the search will only occur on articles that do not contain strings in this list. [query, string, optional] |
44
+ | `--entity-guarantee <value>` | Entity guarantee to filter by. This is a list of strings, where each string includes entity type and entity value separated by a colon. The first element is the entity type and the second element is the entity value. For example ['Location:Paris', 'Person:John'] [query, string, optional] |
45
+ | `--reverse-entity-guarantee <value>` | Reverse entity guarantee to filter by. This is a list of strings, where each string includes entity type and entity value separated by a colon. The first element is the entity type and the second element is the entity value. For example ['Location:Paris', 'Person:John'] [query, string, optional] |
46
+ | `--entity-guarantee-op <value>` | Operator to use for entity guarantee list. [query, string, optional, default: "OR"] Choices: AND, OR. |
47
+ | `--return-graphs [boolean]` | Return graphs for the articles. Only available to Analyst tier and above. [query, boolean, optional, default: false] |
48
+ | `--return-geo [boolean]` | Return GeoCoordinates associated with locations discussed inside the articles. Only available to Analyst tier and above. [query, boolean, optional, default: false] |
49
+ | `--languages <value>` | Languages to filter by. This is the two-letter 'set 1' of the ISO 639-1 standard. For example: English is 'en'. [query, string, optional] |
50
+ | `--countries <value>` | Source countries to filter by (this is only for the publisher location, not the locations mentioned in articles. For Locations mentioned in articles, refer to entity_guarantee), countries must be the two-letter ISO country codeFor example: United States is 'US', France is 'FR', Sweden is 'SE'. [query, string, optional] |
51
+ | `--countries-blacklist <value>` | Source countries to blacklist from search (this is only for the publisher location, not the locations mentioned in articles. For Locations mentioned in articles, refer to reverse_entity_guarantee), countries must be the two-letter ISO country codeFor example: United States is 'US', France is 'FR', Sweden is 'SE'. [query, string, optional] |
52
+ | `--continents <value>` | Continents to filter by. [query, string, optional] |
53
+ | `--sentiment <value>` | Sentiment to filter articles by. [query, string, optional] |
54
+ | `--premium [boolean]` | Include premium sources. [query, boolean, optional, default: false] |
55
+ | `--authors <value>` | Authors to filter articles by. [query, string, optional] |
56
+ | `--try-cache <value>` | Enable response caching with the specified TTL. When a cached response is returned, usage is charged at 0.25x the normal rate. Valid values: '1h' (1 hour), '6h' (6 hours), '12h' (12 hours), '24h' (24 hours), '3d' (3 days), '7d' (7 days). [query, string, optional] |
57
+ | `--geo-lat <value>` | Latitude for geo-radius filter. Must be provided together with geo_lon and geo_radius. Filters articles whose coordinates fall within the specified circle. [query, string, optional] |
58
+ | `--geo-lon <value>` | Longitude for geo-radius filter. Must be provided together with geo_lat and geo_radius. [query, string, optional] |
59
+ | `--geo-radius <value>` | Radius in meters for geo-radius filter. Must be provided together with geo_lat and geo_lon. [query, string, optional] |
60
+ | `--geo-polygon <value>` | JSON string defining a polygon for geo filtering. Must contain an 'exterior' key with a list of {lon, lat} points. The first and last point must be the same. Optionally include 'interiors' as a list of rings (each a list of {lon, lat} points) to exclude areas. Example: {"exterior": [{"lon": -70, "lat": -70}, {"lon": 60, "lat": -70}, {"lon": 60, "lat": 60}, {"lon": -70, "lat": 60}, {"lon": -70, "lat": -70}]} [query, string, optional] |
61
+
62
+ **Examples:**
63
+
64
+ ```bash
65
+ asknews news search "latest AI policy" --limit 5
66
+ asknews news search "semiconductor policy" --strategy "news knowledge" --output json
67
+ ```
68
+
69
+ ### `asknews news get <article-id>`
70
+
71
+ Get an article by ID
72
+
73
+ **Arguments:**
74
+
75
+ | Argument | Description |
76
+ | --- | --- |
77
+ | `<article-id>` | AskNews article UUID |
78
+
79
+ **Examples:**
80
+
81
+ ```bash
82
+ asknews news get ARTICLE_ID --output json
83
+ ```
84
+
85
+ ## Global options
86
+
87
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
88
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
89
+ are written to stderr.
@@ -0,0 +1,38 @@
1
+ # reddit
2
+
3
+ Search Reddit threads
4
+
5
+ ## Commands
6
+
7
+ ### `asknews reddit <query>`
8
+
9
+ Search Reddit threads
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `<query>` | Reddit search query |
16
+
17
+ **Options:**
18
+
19
+ | Option | Description |
20
+ | --- | --- |
21
+ | `-n, --limit <number>` | alias for --n-threads Default: `"10"`. |
22
+ | `--method <value>` | The search method. Can be 'nl' or 'kw'. If 'nl', then the query will be used as a natural language query. If 'kw', then the query will be used as a direct keyword query. [query, string, optional, default: "kw"] Choices: nl, kw. |
23
+ | `--deep [boolean]` | Deep means that AskNews goes directly to Reddit, searches live, summarizes the threads live, and returns structured data for you. Deep=False means that AskNews looks in its existing database of Reddit threads and returns the most similar threads [query, boolean, optional, default: false] |
24
+ | `--return-type <value>` | The return type. Can be 'dicts', 'string', or 'both'. [query, string, optional, default: "string"] Choices: dicts, string, both. |
25
+ | `--time-filter <value>` | The time filter. [query, string, optional, default: "day"] Choices: hour, day, week, month, year, all. |
26
+ | `--sort <value>` | The sort order. [query, string, optional, default: "relevance"] Choices: relevance, hot, top, new, comments. |
27
+
28
+ **Examples:**
29
+
30
+ ```bash
31
+ asknews reddit "consumer reactions" --output json
32
+ ```
33
+
34
+ ## Global options
35
+
36
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
37
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
38
+ are written to stderr.
@@ -0,0 +1,34 @@
1
+ # request
2
+
3
+ Make an authenticated request to an API path
4
+
5
+ ## Commands
6
+
7
+ ### `asknews request <method> <path>`
8
+
9
+ Make an authenticated request to an API path
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `<method>` | HTTP method |
16
+ | `<path>` | path relative to the configured /v1 base URL |
17
+
18
+ **Options:**
19
+
20
+ | Option | Description |
21
+ | --- | --- |
22
+ | `--body <json-or-file>` | JSON body or @file.json |
23
+
24
+ **Examples:**
25
+
26
+ ```bash
27
+ asknews request GET /profiles/me --output json
28
+ ```
29
+
30
+ ## Global options
31
+
32
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
33
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
34
+ are written to stderr.
@@ -0,0 +1,73 @@
1
+ # research
2
+
3
+ Run DeepNews research
4
+
5
+ ## Commands
6
+
7
+ ### `asknews research [query]`
8
+
9
+ Run DeepNews research
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `[query]` | research task or question |
16
+
17
+ **Options:**
18
+
19
+ | Option | Description |
20
+ | --- | --- |
21
+ | `--model <value>` | The model to use for DeepNews research. Defaults to claude-sonnet-4-6. [body, string\|null, optional, default: "claude-sonnet-4-6"] Choices: o1-mini, o1, o3-mini, o3, gpt-4o-mini, gpt-4o, gpt-4.1-2025-04-14, gpt-5-mini, gpt-5, command-nightly, claude-3-5-sonnet-20240620, claude-3-5-sonnet-latest, claude-3-7-sonnet-latest, claude-3-7-sonnet-20250219, claude-3-7-sonnet-nothinking, claude-sonnet-4-20250514, claude-opus-4-20250514, claude-sonnet-4-5-20250929, claude-opus-4-5-20251101, claude-sonnet-4-6, claude-opus-4-6, claude-fable-5, deepseek, deepseek-basic, deepseek-r1-0528, meta-llama/Meta-Llama-3-8B-Instruct, meta-llama/Meta-Llama-3.1-405B-Instruct, meta-llama/Meta-Llama-3.3-70B-Instruct, meta-llama/Llama-4-Maverick-17B-128E-Instruct, gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-pro-preview-03-25, gemini-3-pro, gemini-3.1-pro, gemini-3-flash, gemini-3.5-flash, open-source-best, kimi-k2p5. |
22
+ | `--filter-params <value>` | Filter parameters to apply to the AskNews search within DeepNews. [body, object\|null, optional] |
23
+ | `--search-depth <value>` | The search depth for deep research. Higher values mean more thorough research. [body, integer, optional, min: 1, max: 190, default: 2] |
24
+ | `--max-depth <value>` | The maximum research depth allowed. [body, integer, optional, min: 1, max: 200, default: 6] |
25
+ | `--sources <value>` | Which data sources DeepNews should use. Can be a single source or a list. Available sources are: asknews, google, graph, wiki, x, reddit, charts, email, full_text_discovery [body, string\|array, optional, default: "asknews", allowed: asknews\|google\|graph\|wiki\|x\|reddit\|charts\|email\|full_text_discovery] |
26
+ | `--inline-citations <value>` | How to format inline citations in the response. Defaults to: markdown_link. Available options: markdown_link, numbered, none [body, string, optional, default: "markdown_link"] Choices: markdown_link, numbered, none. |
27
+ | `--start-citation-number <value>` | Starting number for inline citations. Offsets fetched source citation keys. Useful if you are providing the agent outside sources with numbered citation keys. [body, integer, optional, default: 1] |
28
+ | `--return-sources [boolean]` | Whether return a list of sources used by the agent. [body, boolean, optional, default: true] |
29
+ | `--only-cited-sources [boolean]` | Whether to return only of sources that are cited/referenced in the generated response content. [body, boolean, optional, default: true] |
30
+ | `--append-references [boolean]` | Whether to append a 'Cited Articles' section at the end of the response. [body, boolean, optional, default: true] |
31
+ | `--journalist-mode [boolean]` | Whether to use journalist mode for more factual reporting. [body, boolean, optional, default: true] |
32
+ | `--conversational-awareness [boolean]` | Whether to use conversational awareness. [body, boolean, optional, default: true] |
33
+ | `--include-entities [boolean]` | Whether to provide extracted entities to the agent. [body, boolean, optional, default: true] |
34
+ | `--include-graphs [boolean]` | Whether to provide knowledge graphs to the agent [body, boolean, optional, default: false] |
35
+ | `--include-coordinates [boolean]` | Whether to provide geo coordinates to the agent. [body, boolean, optional, default: false] |
36
+ | `--asknews-watermark [boolean]` | Append 'Generated by AskNews AI' watermark [body, boolean, optional, default: true] |
37
+ | `--stream [boolean]` | Whether to stream the response as server-sent events. [body, boolean, optional, default: false] |
38
+ | `--stop <value>` | Sequence(s) where the model will stop generating further tokens. [body, string\|array\|null, optional] |
39
+ | `--temperature <value>` | The temperature of the DeepNews agent model. Controls randomness in the output. Higher values (e.g., 1.0) make output more random, lower values (e.g., 0.1) make it more deterministic. [body, number, optional, default: 0.9] |
40
+ | `--top-p <value>` | Nucleus sampling parameter. Only tokens with cumulative probability up to top_p are considered. [body, number, optional, default: 1] |
41
+ | `--n <value>` | Number of completions to generate. [body, integer, optional, default: 1] |
42
+ | `--max-tokens <value>` | Maximum number of tokens to generate in the response. [body, integer, optional, default: 9999] |
43
+ | `--presence-penalty <value>` | Penalizes new tokens based on whether they appear in the text so far, encouraging new topics. [body, integer, optional, default: 0] |
44
+ | `--frequency-penalty <value>` | Penalizes new tokens based on their frequency in the text so far, reducing repetition. [body, integer, optional, default: 0] |
45
+ | `--user <value>` | A unique identifier for the end-user, useful for tracking and abuse detection. [body, string\|null, optional] |
46
+ | `--thread-id <value>` | ID of an existing thread to continue the conversation. [body, string\|null, optional] |
47
+ | `--max-parallel-tool-calls <value>` | Maximum number of parallel tool calls (e.g., searches) the agent can make during generation. Higher values may speed up responses, but may reduce on-the-fly adaptivity. [body, integer, optional, min: 1, max: 4, default: 1] |
48
+ | `--engine <value>` | The engine to use for the DeepNews agent. 'v1' is deprecated while 'v1.5' is our next-generation research agent with access to more tools, better contextual understanding, and improved reasoning capabilities.'v1.5' streams thinking and tool use using tags <think> </think>, <tool_a> </tool_a> Meanwhile, 'v2.0' is the same underlying agent as 'v1.5', but the thinking and tool use chunks are typed content_block_delta's streamed between content_block_start and content_block_stop events, mimicking Anthropic's approach to streaming tool use/thinking events. [body, string, optional, default: "v1.5"] Choices: v1, v1.5, v2.0. |
49
+ | `--enable-source-pruning [boolean]` | Whether to enable source pruning, which removes sources that are deemed irrelevant to the final response. This can help reduce noise in the sources and improve the quality of the response, but may also remove some relevant sources if not used carefully. [body, boolean, optional, default: false] |
50
+ | `--cutoff-datetime <value>` | The knowledge cutoff datetime for the agent prompt and all tool calls. [body, string\|null, optional] |
51
+
52
+ **Examples:**
53
+
54
+ ```bash
55
+ asknews research "Compare current AI regulation proposals" --output json
56
+ asknews research "Summarize policy reactions" --stream true --output jsonl
57
+ ```
58
+
59
+ ### `asknews research models`
60
+
61
+ List DeepNews models available to the authenticated account
62
+
63
+ **Examples:**
64
+
65
+ ```bash
66
+ asknews research models --output json
67
+ ```
68
+
69
+ ## Global options
70
+
71
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
72
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
73
+ are written to stderr.
@@ -0,0 +1,74 @@
1
+ # stories
2
+
3
+ Search and inspect news stories
4
+
5
+ ## Commands
6
+
7
+ ### `asknews stories list`
8
+
9
+ List or search stories
10
+
11
+ **Options:**
12
+
13
+ | Option | Description |
14
+ | --- | --- |
15
+ | `-q, --query <query>` | story search query |
16
+ | `-n, --limit <number>` | number of stories Default: `"10"`. |
17
+ | `--hours-back <hours>` | convenience alias for --start-timestamp |
18
+ | `--categories <value>` | Categories to use for filtering the stories search [query, array<string>, optional, default: []] |
19
+ | `--uuids <value>` | A list of UUIDs to retrieve. [query, array<string>, optional, default: []] |
20
+ | `--start-timestamp <value>` | Start timestamp to filter results on. [query, string, optional] |
21
+ | `--end-timestamp <value>` | End timestamp to filter results on. [query, string, optional] |
22
+ | `--sort-by <value>` | Which type of sorting to perform. published: Sort by published date. coverage: Sort by coverage. sentiment: Sort by sentiment. relevance: Sort by relevance of similarity score/ranking. [query, string, optional] |
23
+ | `--sort-type <value>` | Whether to sort results in ascending or descending order. [query, string, optional] |
24
+ | `--continent <value>` | Continents to filter by. [query, string, optional] |
25
+ | `--offset <value>` | Offset to use [query, string, optional, default: 0] |
26
+ | `--expand-updates [boolean]` | Whether to expand updates [query, boolean, optional, default: false] |
27
+ | `--max-updates <value>` | Max updates to use [query, integer, optional, default: 2] |
28
+ | `--max-articles <value>` | Max articles to use per update [query, integer, optional, default: 5] |
29
+ | `--method <value>` | Method to use for query, 'nl' means natural language, and will run a semantic search on the stories database. 'kw' means keyword, and will search by keyword on the stories database. 'both' means that both methods will be used and results will be ranked according to IRR. [query, string, optional, default: "kw"] Choices: nl, kw, both. |
30
+ | `--obj-type <value>` | Object type to filter by, can be a list with 'story' and/or 'story_update' [query, array<string>, optional, default: ["story"]] |
31
+ | `--reddit <value>` | Whether or not to include Reddit analysiswhere the integer indicates the number of threadsto include in the response. 0 is default. Requirespaid plan to access. [query, integer, optional, default: 0] |
32
+ | `--citation-method <value>` | Method to use for citation filtering. [query, string, optional, default: "brackets"] Choices: brackets, urls, none. |
33
+ | `--similarity-score-threshold <value>` | Similarity score threshold to use when using query [query, number, optional, default: 0.75] |
34
+ | `--provocative <value>` | Filter stories based on how provocative the underlying articles are deemed based on the use of provocative language and emotional vocabulary. [query, string, optional, default: "all"] Choices: unknown, low, medium, high, all. |
35
+ | `--strategy <value>` | Strategy to use for automatically controlling the search. 'default' is the default strategy, which follows all filters faithfully. 'topstories' aims to give a diverse look at top news stories that are relevant to the current filter combination.'topstories_categories' aims to give the top stories for each category. 'topstories_continents' aims to give the top stories for each continent. [query, string, optional, default: "default"] Choices: default, topstories, topstories_categories, topstories_continents. |
36
+
37
+ **Examples:**
38
+
39
+ ```bash
40
+ asknews stories list --query "European elections" --limit 5 --output json
41
+ ```
42
+
43
+ ### `asknews stories get <story-id>`
44
+
45
+ Get a story or story update
46
+
47
+ **Arguments:**
48
+
49
+ | Argument | Description |
50
+ | --- | --- |
51
+ | `<story-id>` | story or update UUID |
52
+
53
+ **Options:**
54
+
55
+ | Option | Description |
56
+ | --- | --- |
57
+ | `--expand-updates [boolean]` | Whether to expand updates [query, boolean, optional, default: true] |
58
+ | `--max-updates <value>` | Max number of updates to include in the story object [query, integer, optional, default: 10] |
59
+ | `--max-articles <value>` | Max articles to include per update [query, integer, optional, default: 25] |
60
+ | `--reddit <value>` | Whether to include Reddit analysis [query, integer, optional, default: 0] |
61
+ | `--citation-method <value>` | Method to use for citation filtering. [query, string, optional, default: "brackets"] Choices: brackets, urls, none. |
62
+ | `--condense-auxillary-updates [boolean]` | When requesting a particular story update, you can expand the assocaited updates by settined max_updates to the total you would like to get. If you want those updates to by condensed for reduced latency, you can set condense_auxillary_updates to 'False'. [query, boolean, optional, default: true] |
63
+
64
+ **Examples:**
65
+
66
+ ```bash
67
+ asknews stories get STORY_ID --output json
68
+ ```
69
+
70
+ ## Global options
71
+
72
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
73
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
74
+ are written to stderr.
@@ -0,0 +1,40 @@
1
+ # web
2
+
3
+ Search the live web
4
+
5
+ ## Commands
6
+
7
+ ### `asknews web <query>`
8
+
9
+ Search the live web
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `<query>` | web search query |
16
+
17
+ **Options:**
18
+
19
+ | Option | Description |
20
+ | --- | --- |
21
+ | `--hours-back <hours>` | compatibility alias for --lookback |
22
+ | `--lookback <value>` | Number of hours back to allow the websearch to look. Defaults to All time [query, string, optional] |
23
+ | `--start-datetime <value>` | Earliest acceptable publication datetime for results. For v1, acts like the existing lookback filter. [query, string, optional] |
24
+ | `--end-datetime <value>` | Latest acceptable publication datetime for results. [query, string, optional] |
25
+ | `--engine <value>` | Search engine version to use for live websearch results. [query, string, optional, default: "v1"] Choices: v1, v1.5. |
26
+ | `--domains <value>` | A list of domains to search. [query, string, optional] |
27
+ | `--strict [boolean]` | If true, the websearch will only return results that have a known publication date and are within the lookback period. [query, boolean, optional, default: false] |
28
+ | `--offset <value>` | The number of results to offset for followup queries. [query, string, optional, default: 0] |
29
+
30
+ **Examples:**
31
+
32
+ ```bash
33
+ asknews web "recent central bank statements" --output json
34
+ ```
35
+
36
+ ## Global options
37
+
38
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
39
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
40
+ are written to stderr.
@@ -0,0 +1,39 @@
1
+ # wiki
2
+
3
+ Search Wikipedia
4
+
5
+ ## Commands
6
+
7
+ ### `asknews wiki <query>`
8
+
9
+ Search Wikipedia
10
+
11
+ **Arguments:**
12
+
13
+ | Argument | Description |
14
+ | --- | --- |
15
+ | `<query>` | Wikipedia search query |
16
+
17
+ **Options:**
18
+
19
+ | Option | Description |
20
+ | --- | --- |
21
+ | `-n, --limit <number>` | alias for --n-documents Default: `"10"`. |
22
+ | `--neighbor-chunks <value>` | Number of neighbor chunks to attach and return. If 0, then no neighbor chunks will be returned. [query, string, optional, default: 1] |
23
+ | `--full-articles <value>` | If true, then full articles will be returned. If false, then only chunks and their neighbors will be returned. Beware that returning full articles increases data size which increases token usage downstream. [query, string, optional, default: false] |
24
+ | `--hybrid-search <value>` | If true, then hybrid search will be used. If false, then only vector search will be used. [query, string, optional, default: false] |
25
+ | `--string-guarantee <value>` | List of strings that must be present in the results. If empty, then no string guarantee will be applied. [query, string, optional] |
26
+ | `--diversify <value>` | Diversity factor for MMR re-ranking. 0.0 means no diversity (pure relevance), 1.0 means full diversity. [query, string, optional, default: 0] |
27
+ | `--include-main-section <value>` | If true, then the main section of the article will be included at the start of each chunk's content. If false, then only the chunk content will be returned. Useful because the main section often contains important context. [query, string, optional, default: false] |
28
+
29
+ **Examples:**
30
+
31
+ ```bash
32
+ asknews wiki "semiconductor lithography" --output json
33
+ ```
34
+
35
+ ## Global options
36
+
37
+ All commands support `--output human|table|json|jsonl|yaml`, `--json`, API/auth URL
38
+ overrides, request timeout, and color control. Result data is written to stdout; diagnostics
39
+ are written to stderr.
@@ -0,0 +1,164 @@
1
+ # AskNews task recipes
2
+
3
+ Load only the section relevant to the current task. Confirm advanced flags with the installed
4
+ command's `--help` because OpenAPI-derived options can evolve.
5
+
6
+ ## Article retrieval
7
+
8
+ Start with structured, narrow retrieval:
9
+
10
+ ```bash
11
+ asknews news search "query" --limit 5 --output json
12
+ ```
13
+
14
+ For recent coverage:
15
+
16
+ ```bash
17
+ asknews news search "query" \
18
+ --strategy "latest news" \
19
+ --hours-back 24 \
20
+ --limit 5 \
21
+ --output json
22
+ ```
23
+
24
+ For broader historical context:
25
+
26
+ ```bash
27
+ asknews news search "query" \
28
+ --strategy "news knowledge" \
29
+ --limit 10 \
30
+ --output json
31
+ ```
32
+
33
+ Use `--method nl` for conceptual questions, `--method kw` for exact names/phrases, and `--method
34
+ both` when recall matters. Use `--diversify-sources true` when the request calls for varied
35
+ perspectives. Apply date, language, country, domain, entity, or string filters only when justified
36
+ by the task; inspect `asknews news search --help` for exact syntax and current enums.
37
+
38
+ When answering from articles:
39
+
40
+ - Prefer publication date over crawl date when discussing chronology.
41
+ - Do not treat multiple syndicated copies as independent confirmation.
42
+ - Preserve URLs and source names for citations.
43
+ - State the search window when freshness matters.
44
+
45
+ ## Stories and event tracking
46
+
47
+ Use stories for event-level context:
48
+
49
+ ```bash
50
+ asknews stories list --query "event" --limit 5 --output json
51
+ asknews stories get STORY_ID --output json
52
+ ```
53
+
54
+ Start from the list, choose the relevant story by title/summary/date, then fetch details only when
55
+ updates or underlying context are needed. Use `--sort-by relevance` for a query and time/coverage
56
+ sorting for broad monitoring. Confirm sort values with `asknews stories list --help`.
57
+
58
+ Do not confuse a story update timestamp with the publication time of every underlying article.
59
+
60
+ ## DeepNews research
61
+
62
+ Use DeepNews for analysis or synthesis, not as the default retrieval mechanism:
63
+
64
+ ```bash
65
+ asknews research "question" --output json
66
+ ```
67
+
68
+ Discover models available to the current account rather than assuming access:
69
+
70
+ ```bash
71
+ asknews research models --output json
72
+ ```
73
+
74
+ Select multiple sources with repeated options:
75
+
76
+ ```bash
77
+ asknews research "Compare current policy reactions" \
78
+ --sources asknews \
79
+ --sources reddit \
80
+ --return-sources true \
81
+ --output json
82
+ ```
83
+
84
+ For incremental processing:
85
+
86
+ ```bash
87
+ asknews research "question" --stream true --output jsonl
88
+ ```
89
+
90
+ Keep default depth for an initial answer. Increase search/depth parameters only when the user wants
91
+ more exhaustive research and accepts the added time/cost. Preserve returned citations. Do not claim
92
+ that model-generated synthesis is itself a primary source.
93
+
94
+ ## Web, Reddit, and Wikipedia
95
+
96
+ ```bash
97
+ asknews web "query" --output json
98
+ asknews reddit "query" --output json
99
+ asknews wiki "query" --output json
100
+ ```
101
+
102
+ Use web for live non-news pages, Reddit for community discussion, and Wikipedia for background.
103
+ Label community claims as opinions or reports unless independently verified. For current factual
104
+ claims, prefer corroboration from article search or primary sources returned by the tool.
105
+
106
+ ## Generated API operations
107
+
108
+ Discover rather than memorize:
109
+
110
+ ```bash
111
+ asknews api list --output json
112
+ asknews api list --tag TAG --output json
113
+ asknews api list --safety read-only --output json
114
+ asknews api GROUP OPERATION --help
115
+ ```
116
+
117
+ Then invoke the generated command using documented flags:
118
+
119
+ ```bash
120
+ asknews api news search-news \
121
+ --query "query" \
122
+ --n-articles 5 \
123
+ --output json
124
+ ```
125
+
126
+ For a request body, prefer schema-derived body flags. Use `--body @file.json` when the body is
127
+ complex and already exists as a reviewed file. Do not create a credential-bearing body file.
128
+
129
+ Use `asknews request METHOD PATH` only if `api list` confirms there is no suitable generated
130
+ operation. Keep paths relative to the configured `/v1` API base.
131
+
132
+ ## Alerts and other mutations
133
+
134
+ Listing or inspecting existing resources is read-only:
135
+
136
+ ```bash
137
+ asknews alerts list --output json
138
+ ```
139
+
140
+ Before any create/update/delete/run/send operation:
141
+
142
+ 1. Run its `--help`.
143
+ 2. Determine whether it is mutating or high-cost.
144
+ 3. Show the user the target, material parameters, and effect.
145
+ 4. Obtain clear authorization.
146
+ 5. Execute once with structured output and the required `--yes`.
147
+ 6. Report the returned resource ID/status without exposing credentials.
148
+
149
+ If the outcome is ambiguous after a timeout, inspect the resource before retrying. Blind retries can
150
+ duplicate resources or charges.
151
+
152
+ ## Reporting results
153
+
154
+ For factual research, include:
155
+
156
+ - the answer or synthesis;
157
+ - the exact time window when relevant;
158
+ - source names and links/citations;
159
+ - material disagreement or uncertainty;
160
+ - whether the result came from retrieval, a story cluster, community discussion, or DeepNews
161
+ synthesis.
162
+
163
+ Avoid presenting the current date as the article date, treating relevance order as chronology, or
164
+ claiming completeness from a small result limit.